Una presentazione introduttiva su Glusterfs, presentata al LinuxDay 2013 organizzato dal FerraraLUG
1 of 19
Downloaded 10 times
More Related Content
Glusterfs: un filesystem altamente versatile
1. GlusterFS: un file system parallelo
altamente versatile
Ivan Rossi
ivan@biodec.com
2013
2. Mi presento
BioDec S.r.l. 竪 una societ di informatica che, fin dalla
fondazione (2003), ha scelto di usare esclusivamente
software libero o open-source.
Tutte le attivit aziendali sono gestite senza usare
prodotti proprietari
Desktop e portatili
Private cloud
Networking & intranet
Filesystem distribuito.
Dettagli: http://www.biodec.com
2013
FerraraLUG,Linuxday2013
3. La richiesta
Ivan, ci serve una cartella condivisa
(Tutto qua? Perch竪 mi chiami? Usa ... )
...da 40 Terabytes
(Vabb辿, allora 竪 meglio se ci penso un attimo)
2013
4. La soluzione canonica
Un SAN PVnRT
I dischi costano molto
una cifra ridicola
Cinque anni di vita
la migrazione dati ...
Quante licenze???
Un monolite
Si 竪 (gi) rotto pure lui
Molte valgono anche per un NAS
Sibilla basato su ZeFinalFS
2013
5. La soluzione eretica
Uno storage cluster
(software-defined storage*)
Aggregando diversi
server con un filesystem
distribuito posso creare
un NAS virtuale
Componenti standard
e/o non proprietari
(ndt. costa meno)
Scalabile
Maggiore resistenza
all'obsolescenza
*buzzword compliance
2013
6. La reazione
L'hanno presa bene
a) Ma cos'竪 questa strana roba?
b) Te sei matto!! Sta roba qui non la usa nessuno!!!
Aziende
Google, Yahoo, Amazon (le solite)
Ricerca
CERN, NCAR, EMBL, EBI (li hanno inventati)
Altri pericolosi sovversivi
Biblioteca Nazionale, Banca d'Italia
2013
7. Il candidato
GlusterFS
un file system distribuito
TCP/IP (10 GbE rocks!) o Infiniband
Alternative:
Ceph, Lustre, XtreemFS, MooseFS
scalabile ed elastico
http://gluster.org
http://gluster.org
esistono installazioni multi-petabytes
竪 possibile sia espandere che ridurre un
filesystem GlusterFS,
(竪 molto pi湛 semplice espandere)
Software libero
Supporto commerciale: RedHat (RHAS)
2013
FerraraLUG,Linuxday2013
8. GlusterFS features
File system Posix
Supporto ACL e quota
Esportabile nativamente, NFSv3, CIFS (con samba)
Peer-to-peer
Fault-tolerance (opportunamente configurato)
High availability (export nativo, CTDB)
Self-healing
Installazione molto semplice e veloce
Poi quando vuoi ottimizzare il tutto, un p嘆 meno
2013
FerraraLUG,Linuxday2013
9. Alcuni dettagli
Architettura a plugins
Componenti
Peers: componenti del cluster (glusterfs-server)
Brick: filesystem locale su cui opera GlusterFS
Translator: componente sw che opera su brick o
subvolume, e genera un subvolume con particolari
propriet.
Distribute, replicate, stripe: speciali translator che
generano configurazioni simil-RAID
Volume: il risultato finale, uno share glusterfs
2013
FerraraLUG,Linuxday2013
10. Semplice da installare
Procurarsi un paio di server
installarci glusterfs-server e far partire glusterfsd
Preparare filesystems per i brick (XFS)
Creare un trusted pool dei server
Usate i pacchetti di gluster.org (no distribuzioni)
gluster peer probe (numero.ip.del.server)
Creare un volume gluster
gluster volume create gv1 srv1.my.net:/export/brick1
srv2.my.net:/export/brick1
gluster volume start gv1; gluster volume info
Montare il filesystem distribuito
Usando NFS o il client nativo
2013
FerraraLUG,Linuxday2013
11. RAID-like
gluster volume create (vol) replica (n) stripe (m)
transport (tcp,rdma) server1:brick1 server2:brick2
Distribute
I files creati vengono scritti interamente su uno dei brick
Il default (replica 0 stripe 0)
Nessuna forma di ridondanza (JBOD ma bilanciato)
Replicate
I files vengono replicati interamente su diversi bricks
simile a un RAID1 (un insieme di RAID1 bilanciati)
Stripe
I files venfono spezzati in m stripes su m bricks
2013
FerraraLUG,Linuxday2013
13. Peer-to-Peer
Nessun metadata server
I metadati sono immagazzinati negli extended
attributes del file system (xfs -i 512 raccomandato)
Localizzazione files deterministica (hashing)
Uso intensivo di caching lato client
Tutti i peer sono server Gluster & NFSv3
Non solo i peer che forniscono i bricks
Previsto anche CIFS nativo (v3.5?)
Accesso client
Il client nativo fornisce fault-tolerance e load-balancing
Il client NFS no, se non si usano sistemi esterni.
2013
FerraraLUG,Linuxday2013
14. NFS server disponibile e bilanciato: CTDB
CTDB (Cluster temporary DB) 竪 un progetto Samba
Andrew Tridgell (samba, rsync)
CTDB assicua la consistenza di dati e locks TDB
Molto veloce e leggero
CTDB dispone di High-Aavilability features
node monitoring,
node failover,
IP takeover
http://ctdb.samba.org
http://ctdb.samba.org
Accoppiato con un rrDNS ci permette di bilanciare e
rendere fault-tolerant le connessioni NFS ai peers
2013
FerraraLUG,Linuxday2013
15. Una nota di realismo
Con hardware scadente non si va fortissimo
La velocit sar funzione del componente pi湛 scadente
(come sempre!) che 竪 il networking nel 90% dei casi.
Le performance degradano molto con grandi numeri
di files piccoli
Anche una directory con 10.00 files flat 竪 un problema
traffico metadati
Peak performance richiede ottimizzazioni al kernel
Soprattutto con client nativo e replica
Deadline scheduler, TCP stacks
Nondimeno su 10 GbE, c'竪 chi ha fatto 800 MB/sec
2013
16. L'area scratch
Elaborazione dati (grossi data set bioinformatici)
In produzione da 4 anni
Evoluta nel tempo
Mai perso dei dati, nonostante il progetto
Il sistema
2x server Xeon (4 core) di 4 anni fa
2x GbE bonding
6x 2 TB HD (Raid-6)
GlusterFS 3.2
Semplice distribute (16 TB)
Accesso via client nativo
2013
17. La cartella condivisa
Due server
12 core Xeon E5
16x HD 3 TB (RAID)
2x GbE NIC bonding (user's clients)
1x 10 GbE NIC (data + KVM clients)
GlusterFS
Versione 3.4.x
Distribute + replica 2
Bricks su LVM
Acceduto via NFS (TCDB + round-robin DNS)
2013