gluster.community.day.2013

50
Bricks and Translators: GlusterFS as SWIFT replacement in OpenStack Dr. Udo Seidel Linux-Strategy @ Amadeus

Upload: udo-seidel

Post on 15-Jan-2015

1.507 views

Category:

Travel


0 download

DESCRIPTION

Presentation on GlusterFS and Openstack given at the Gluster Community Days in Stockholm. Edinburgh, London 2013

TRANSCRIPT

Page 1: Gluster.community.day.2013

Bricks and Translators: GlusterFS as SWIFT replacement in OpenStack

Dr. Udo SeidelLinux-Strategy @ Amadeus

Page 2: Gluster.community.day.2013

GlusterFS Day London 2013

Agenda

● Introduction● High level overview● Storage inside● Team up with OpenStack● Summary

Page 3: Gluster.community.day.2013

GlusterFS Day London 2013

Introduction

Page 4: Gluster.community.day.2013

GlusterFS Day London 2013

Me ;-)

● Teacher of mathematics & physics● PhD in experimental physics● Started with Linux in 1996● Linux/UNIX trainer● Solution engineer in HPC and CAx environment● Head of the Linux Strategy team @Amadeus

Page 5: Gluster.community.day.2013

GlusterFS Day London 2013

Page 6: Gluster.community.day.2013

GlusterFS Day London 2013

Distributed Storage Systems

● 'Recent' attention on distributed storage● Cloud hype● Big Data

● See also ● CEPH● XtreemFS● FhGFS● ...

Page 7: Gluster.community.day.2013

GlusterFS Day London 2013

Distributed storage: Paradigm changes

● Block -> Object● Central -> Distributed

● Few -> Many● Big -> Small

● Server <-> Storage

Page 8: Gluster.community.day.2013

GlusterFS Day London 2013

Distributed storage – Now what?!?

● Several implementations● Different functions● Support models● Storage vendors initiatives● Relation to Linux distributions

Here and now ==> GlusterFS

Page 9: Gluster.community.day.2013

GlusterFS Day London 2013

High level overview

Page 10: Gluster.community.day.2013

GlusterFS Day London 2013

History

● Gluster founded in 2005● Gluster = GNU + cluster● Acquisition by Red Hat in 2011● Community project

● 3.2 in 2011● 3.3 in 2012● 3.4 in 2013

● Commercial product: RedHat Storage Server

Page 11: Gluster.community.day.2013

GlusterFS Day London 2013

The Client

● Native● 'speaks' GLUSTERFS● Not part of the Linux Kernel● FUSE-based

● NFS● Normal NFS client stack

● libgfapi (since 3.4)

Page 12: Gluster.community.day.2013

GlusterFS Day London 2013

The Server

● Data● Bricks● Translators● Volumes -> exported/served to the client

● Meta-Data● No dedicated instance● Distributed hashing approach

Page 13: Gluster.community.day.2013

GlusterFS Day London 2013

The 'traditional' picture

Page 14: Gluster.community.day.2013

GlusterFS Day London 2013

Storage inside

Page 15: Gluster.community.day.2013

GlusterFS Day London 2013

The Brick● Trust each other● Interconnect

● TCP/IP and/or RDMA/Infiniband

● Dedicated file systems on GlusterFS server● XFS recommended, EXT4 works too● Extended attributes a must

● Two main processes/daemons● glusterd and glusterfsd

Page 16: Gluster.community.day.2013

GlusterFS Day London 2013

The Translator

● One per purpose● Replication● POSIX● Quota● I/O behaviour● ...

● Chained -> brick graph● Technically: configuration

Page 17: Gluster.community.day.2013

GlusterFS Day London 2013

The Volume

● Service unit● Layer of configuration

● distributed, replicated, striped, ...● NFS● Cache● Permissions● ....

Page 18: Gluster.community.day.2013

GlusterFS Day London 2013

The Distributed Volume

Page 19: Gluster.community.day.2013

GlusterFS Day London 2013

The Replicated Volume

Page 20: Gluster.community.day.2013

GlusterFS Day London 2013

The Distributed-Replicated Volume

Page 21: Gluster.community.day.2013

GlusterFS Day London 2013

And more ...

● Striped● Striped-Distributed● Striped-Replicate● ....

Page 22: Gluster.community.day.2013

GlusterFS Day London 2013

Meta Data

● 2 kinds● More of local file system style● Related to distributed nature

● Some stored in backend file system ● Permissions● Time stamps● Distribution/replication

● Some calculated on the fly● Brick location

Page 23: Gluster.community.day.2013

GlusterFS Day London 2013

Elastic Hash Algorithm

● Based on file names & paths● Name space divided● Full brick handled via relinking● Stored in extended attributes● Client needs to know topology

Page 24: Gluster.community.day.2013

GlusterFS Day London 2013

Distributed Hash Tables

Page 25: Gluster.community.day.2013

GlusterFS Day London 2013

Self-Healing

● On demand vs. Scheduled● File based● Based on extended attributes● Split-brain

● Quorum function● Sometimes: manual intervention

Page 26: Gluster.community.day.2013

GlusterFS Day London 2013

Geo replication

● Asynchronous● Based on rsync/ssh● Master-Slave ● If needed: cascading ● One way street● Clocks in sync!● Coming: Parallel GeoRep

Page 27: Gluster.community.day.2013

GlusterFS Day London 2013

From files to objects

● Introduced with version 3.3● Hard links with some hierarchy

● Re-uses GFID (inode number)

● UFO● Unified File and Object● Combination with RESTful API● S3 and Swift compatible

Page 28: Gluster.community.day.2013

GlusterFS Day London 2013

Operations:Growth, shrinkage .. failures

● A Must!● Easy● Rebalance!● Backup?!?● Order of servers important

Page 29: Gluster.community.day.2013

GlusterFS Day London 2013

What else ...?

● Encryption :-|● Compression :-(● Snapshots :-(● Hadoop connector :-)● Locking granularity :-|● File system statistics :-)● Monitoring :-(

Page 30: Gluster.community.day.2013

GlusterFS Day London 2013

Team up with OpenStack

Page 31: Gluster.community.day.2013

GlusterFS Day London 2013

OpenStack

● Infrastructure as as Service (IaaS)● 'Opensource version' of AWS :-)● New versions every 6 months

● Previous (2013.1.3) is called Grizzly● Current (2013.1.4) is called Havana

● Managed by Openstack Foundation

Page 32: Gluster.community.day.2013

GlusterFS Day London 2013

OpenStack Architecture

Page 33: Gluster.community.day.2013

GlusterFS Day London 2013

OpenStack Components

● Keystone - identity● Glance – image● Nova - compute● Cinder – block storage● Swift – object storage● Quantum - network● Horizon - dashboard

Page 34: Gluster.community.day.2013

GlusterFS Day London 2013

About Swift

● Replace Amazon S3● Scalable ● Redundant

● Openstack object store● Proxy● Object ● Container ● Account● Auth

Page 35: Gluster.community.day.2013

GlusterFS Day London 2013

Why GlusterFS in the first place?

● Scale out storage● HA + self healing● Easy integration on O/S level● Already exposed to similar workloads

Page 36: Gluster.community.day.2013

GlusterFS Day London 2013

Replacing Swift – a story in 3 acts

● Sneaking in● Step in and throw out● Teaming up

Page 37: Gluster.community.day.2013

GlusterFS Day London 2013

Replacing Swift – the 'lazy' way

● Before 3.3● Just mounting● Works for Glance too ...● ... and even for Cinder

Page 38: Gluster.community.day.2013

GlusterFS Day London 2013

Replacing Swift – the next version

● With 3.3● Changes to Swift code● UFO (Unified File and Object)● Mainly proxy server● Helper tools● Meta data -> Extended attributes ● One volume per tenant

Page 39: Gluster.community.day.2013

GlusterFS Day London 2013

Replacing Swift – limitations

● Dependent on Swift release● Missing/late new development● Packaging

Page 40: Gluster.community.day.2013

GlusterFS Day London 2013

Replacing Swift – Gone!

● Since 3.4 and Grizzly● RedHat big player in Openstack● UFO renamed to G4O

Page 41: Gluster.community.day.2013

GlusterFS Day London 2013

And Cinder?

● Block Storage (since Folsom)● Integration similar to Swift

● Mounting

OR● Since Grizzly & GlusterFS 3.4:

– /etc/cinder/cinder.conf

– /etc/cinder/shares.conf– Still fuse mounted volume

Page 42: Gluster.community.day.2013

GlusterFS Day London 2013

What else?

● Storage for VM images (Glance)● 'Lazy' mode -> one volume● Better way with future versions

● NAS type

Page 43: Gluster.community.day.2013

GlusterFS Day London 2013

New with Havana release

● Glance can point to Cinder interface● Disk space savings

● Cinder can use libgfapi● Performance

● Nova integration via libgfapi● Performance● QEMU assisted snapshotting

Page 44: Gluster.community.day.2013

GlusterFS Day London 2013

Down the road

● Manila● OpenStack's shared FS service● Different possible frontends

● Savanna● Elastic Hadoop on OpenStack● Analytics as a Service

Page 45: Gluster.community.day.2013

GlusterFS Day London 2013

Reviewed: Why GlusterFS?

● Previous arguments still valid● One way to cover different

storage entities● Modular usage● Separation of duties possible● Co-location with other/foreign

workloads

Page 46: Gluster.community.day.2013

GlusterFS Day London 2013

Summary

Page 47: Gluster.community.day.2013

GlusterFS Day London 2013

Take aways

● Thin distributed file system layer● Modular architecture● Operationally ready● Good integration in Openstack● Active development and community

Page 48: Gluster.community.day.2013

GlusterFS Day London 2013

References

● http://www.gluster.org● http://www.sxc.hu (pictures)

Page 49: Gluster.community.day.2013

GlusterFS Day London 2013

Thank you!

Page 50: Gluster.community.day.2013

GlusterFS Day London 2013

Bricks and Translators:GlusterFS as SWIFT replacement in OpenStack

Dr. Udo SeidelLinux-Strategy @ Amadeus