© 2011 CustomSol 1 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011 GlusterFS Storage für die Cloud Thomas Halinka CustomSol
© 2011 CustomSol 1 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFSStorage für die Cloud
Thomas HalinkaCustomSol
© 2011 CustomSol 2 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Agenda
Warm-Up Cloud Kurze Geschichte
NFS DRBD (daisy-Chain) SAN
GlusterFS
© 2011 CustomSol 3 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Agenda
Warm-Up Cloud Kurze Geschichte
NFS DRBD (daisy-Chain) SAN
GlusterFS
© 2011 CustomSol 4 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Warm-Up – Who am I
OpenSource-Evangelist OpenQRM-Core-Team Consultant Trainer (ClusterFS/XEN/Cloud) Buchautor (XEN)
© 2011 CustomSol 5 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Warm-Up – Wer sind sie?
Wer sind sie? Wer gehört eher zu
Entwicklung Betrieb Management
Wer setzt ein? Cloud NAS DRBD SAN ClusterFS
© 2011 CustomSol 6 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Warm-Up – Wer sind sie?
Wer hat Spitzenlasten über 10GBit pro Sekunde?
Wer betreibt Cluster > 50 Knoten? Wer hat schon mal zu einem Open-Source-
Projekt beigetragen? Patch, Doku, Problemanalyse
Wer ist Projektmitglied bei einem OpenSource-Projekt?
© 2011 CustomSol 7 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Agenda
Warm-Up Cloud Kurze Geschichte einer Cloud
NFS DRBD (-Daisy-Chain) SAN
GlusterFS
© 2011 CustomSol 8 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Warm-Up – Cloud
SAAS PAAS IAAS XAAS
→ Speicher?!
© 2011 CustomSol 9 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Agenda
Warm-Up Cloud Kurze Geschichte einer Cloud
NFS DRBD (-Daisy-Chain) SAN
GlusterFS
© 2011 CustomSol 10 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - NFS
Aufbau für Pilotbetrieb Zentraler NFS HA-VMs Live-Migration Work-Load-Balancing
© 2011 CustomSol 11 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - NFS
Probleme: Performance Skalierbarkeit SPOF > 10 Subdir + Files < 100kb ….
→ Nicht geeignet für Produktion
© 2011 CustomSol 12 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - NFS
© 2011 CustomSol 13 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - DRBD(-Daisy-Chain)
Redundanter NFS Kein SPOF
→ Skaliert aber nicht :(
© 2011 CustomSol 14 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - DRBD(-Daisy-Chain)
© 2011 CustomSol 15 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - DRBD-Daisy-Chain
DRBD-Daisy-Chain ResA on NodeA und NodeB ResB on NodeB und NodeC ResC on NodeC und NodeA
Mehrere Redundante NFS Kein SPOF Skalierbarkeit
© 2011 CustomSol 16 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - DRBD-Daisy-Chain
Problem: Manageability
© 2011 CustomSol 17 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - DRBD-Daisy-Chain
© 2011 CustomSol 18 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - SAN
Ersatz von NAS durch SAN SAN skaliert
© 2011 CustomSol 19 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - SAN
Problem: Preis
Anschaffung Replikation Snapshots ...
Vendor-Lockin Admin Man-in-the-Middle (Betriebsrisiko)
Bsp: Strato 3 Tage offline wegen FS-Error
© 2011 CustomSol 20 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - SAN
© 2011 CustomSol 21 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - Fazit
→ Alle Lösungen mangelhaft
© 2011 CustomSol 22 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Eine kleine Geschichte - Fazit
Auswege/Lösungen?!
© 2011 CustomSol 23 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
Agenda
Warm-Up Kurze Geschichte
NFS DRBD (daisy-Chain) SAN
Cloud GlusterFS
© 2011 CustomSol 24 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS - Einführung
Verteiltes Cluster-Filesystem FUSE-Basiert Skalierbarkeit
Mehrere PetaByte >1000 Client
© 2011 CustomSol 25 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS - Features
Skalierbarkeit Mehrere PetaByte >1000 Client
Performance (~30 Nodes) > 18 Gbit/s >1.000.000 IOPs
Betriebsmodi Standalone Distributed Replicated
© 2011 CustomSol 26 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS - Features
Distributed replicated Striped
Storage-Subsystem beliebig Backend-FS beliebig Healing Locking Quota
© 2011 CustomSol 27 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Standalone
© 2011 CustomSol 28 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Replicated (RAID 1)
© 2011 CustomSol 29 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Replicated Distributed (RAID X0)
© 2011 CustomSol 30 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Striped (RAID 0)
© 2011 CustomSol 31 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Striped (RAID 0)
Tolle Performance Keine Redundanz per GlusterFS
© 2011 CustomSol 32 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Architektur | Striped (RAID 0)
Linux-Baukastenprinzip: DRBD-Unterbau
© 2011 CustomSol 33 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Storage-Subsystem
Alles!
Lokal Storage SAN DRBD
→ Flexibilität
© 2011 CustomSol 34 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Backend-FS
Alles!
EXT3 EXT4 XFS ZFS (Solaris BTRFS …. → Flexibilität
© 2011 CustomSol 35 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Healing
Background SelfHealing Checksum-Based On-The-Fly (FileOpen) Generation Numbers
© 2011 CustomSol 36 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Quota
volume quota
type features/quota
option min-free-disk-limit 90% ; percent of filesystem usage limit
option refresh-interval 300s ; 20s is the default
option disk-usage-limit 100G ; usage limit in bytes
subvolumes <x>
end-volume
© 2011 CustomSol 37 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Locking
POSIX-konform fnctl() Flock()
Benötigt dringend „patched FUSE“
© 2011 CustomSol 38 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – FUSE (patched)
höhere IO BufferSize erhöht IO Performance
Erweiterung um flock() SystemCall. Erweiterung von FUSE um Locking-Funktionalität
Nutzung von O_DIRECT bei open()
(http://ftp.zresearch.com/pub/gluster/glusterfs/fuse/).
© 2011 CustomSol 39 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Installation:
modprobe fuse
apt-get install udev libibverbs1 glusterfs-XYZ
© 2011 CustomSol 40 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Konfiguration
Server: /etc/glusterfs/glusterfsd.vol
Client: /etc/glusterfs/glusterfs.vol
© 2011 CustomSol 41 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Logfiles
Server: /var/log/glusterfs/etc-glusterfs-glusterfsd.vol.log
Client (der Name des Logfiles richtet sich nach dem
Mountpoint): /var/log/glusterfs/data.log
© 2011 CustomSol 42 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Administration
Server: /etc/init.d/glusterfsd [start|stop|restart]
Keine dynamische Konfiguration, der Server muß also durchgestartet werden. Das funktioniert problemlos und die Clients machen automatisch einen Reconnect(timeout=1800s).
Client: mount -t glusterfs -o _netdev,noatime
/etc/glusterfs/glusterfs.vol /data
© 2011 CustomSol 43 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Cronjobs
FS-Caches aufräumen. Siehe auch http://bugs.gluster.com/cgi-
bin/bugzilla3/show_bug.cgi?id=545 :
/etc/cron.d/drop_fs_caches (sync; echo 3 >/proc/sys/vm/drop_caches)
© 2011 CustomSol 44 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Statistik io-stats-Translators generiert Server-Statistiken
volume iostats
type debug/io-stats
subvolumes posix
end-volume Die Statistik wird durch das Setzen eines Attributes über
einen mit dem Server verbundenen Client ausgelöst, aber in das Logfile des Servers geschrieben!
setfattr -n io-stats-dump <client mount-point>
© 2011 CustomSol 45 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Debugging
Use
'option trace on'
NICHT in Produktion! Performance!!!
© 2011 CustomSol 46 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Cronjobs
FS-Caches aufräumen. Siehe auch http://bugs.gluster.com/cgi-
bin/bugzilla3/show_bug.cgi?id=545 :
/etc/cron.d/drop_fs_caches (sync; echo 3 >/proc/sys/vm/drop_caches)
© 2011 CustomSol 47 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Usage
Logfiles
Server: /var/log/glusterfs/etc-glusterfs-glusterfsd.vol.log
Client (der Name des Logfiles richtet sich nach dem
Mountpoint): /var/log/glusterfs/data.log
© 2011 CustomSol 48 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – FUSE vs Performance
Beispiel:
GlusterFS (standalone) vs NFS
Performance besser als NFS-Kernel-Space-Daemon!
100 Clients – 10Gbit-Link NFS: ~ 6 Gbit/s GlusterFS: ~8,7 Gbit/s
© 2011 CustomSol 49 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Enterprise-Hints
GlusterFS-Client verbindet sich mit einem Port <=1023/TCP mit dem Server
→ Firewalling
See: <glusterfs-src-dir>/xlators/protocol/client/src/client-
protocol.h: #define CLIENT_PORT_CEILING 1023
© 2011 CustomSol 50 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Enterprise-Hints
Remove Translators 'quickread' 'Statprefetch'
Else random-IO über das komlette FS!!!
© 2011 CustomSol 51 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Enterprise-Usage
Mehrere PB (aktuell ~5) Mehrere Tausende Clients (> 6000) Bandwith (~28 Gbit/s) Throughput (~ 2.000.000 IOP/s)
© 2011 CustomSol 52 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Fazit
Absolut Enterprise-Ready Performance Skalierbarkeit Redundanz
GPL v3 Kommerzieller Support optional
30 Tage+ Free Trial
© 2011 CustomSol 53 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Community
Developer-Liste:[email protected]
Archiv aller Releases unterhttp://www.gluster.org/download/gluster-source-code/
Fehlerberichte an die Liste oderhttp://bugs.gluster.com
Dokumentationhttp://gluster.com/community/documentation
© 2011 CustomSol 54 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Community
Build von Releases:
Source Tarball vom FTP-Server oder git-Snapshot (ggf. aktuelle Fixes)
http://ftp.gluster.com/pub/gluster/glusterfs/qa-releases/
http://git.gluster.com/?p=glusterfs.git;a=summary
cd ~/glusterfs-<version>
./autogen.sh
./configure --prefix=/usr --disable-ibverbs
dh_make --createorig -b && debuild
© 2011 CustomSol 55 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Alternativen
Hadoop DFS MogileFS CloudStore (Kosmos) Tahoe Ceph (RDB) Starfish Sheepdog ... und unzählige mehr
© 2011 CustomSol 56 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Diskussion
Fragen?
© 2011 CustomSol 57 GlusterFS – Thomas Halinka – OSDC 2011 – 06.04.2011
GlusterFS – Kontakt
Wie können wir Ihnen helfen? So erreichen Sie uns:
[email protected] [email protected] www.customsol.de 07642 - 9180210