Your SlideShare is downloading. ×
0
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Glusterfs: un filesystem altamente versatile

275

Published on

Presentazione introduttiva a GlusterFS fatta al LinuxDay 2013 a Ferrara

Presentazione introduttiva a GlusterFS fatta al LinuxDay 2013 a Ferrara

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
275
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 12. Elasticità Espandere un volume ● – gluster peer probe (server) – gluster volume add-brick (vol) (server:nuovobrick) – gluster volume rebalance (vol) fix-layout start Ridurre un volume ● 1. gluster volume remove-brick (vol) (srv:brick) start 2. gluster volume remove-brick (vol) (srv:brick) status; 3. ...aspettare... ; repeat 2 until ready 4. gluster volume remove-brick (vol) (srv:brick) commit 5. gluster volume rebalance (vol) fix-layout start 2013  
  • 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 Ferrara LUG, Linuxday 2013
  • 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 Ferrara LUG, Linuxday 2013
  • 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  
  • 18. Qualche numero Accesso da macchina virtuale KVM ● – NFS su connessione 10 GbE – Test: Bonnie++ Version 1.96 Concurrency Machine KVM gl-nfs Latency ------Sequential Output------ --Sequential Input- --Random1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP 8G 1495 98 247834 38 10098us 4661 178ms 600s 2013   2 3473 99 447219 35 60477us 11641us /sec %CP 1476 186 4547ms
  • 19. GRAZIE PER L'ATTENZIONE Gluster community http://gluster.org Domande? 2013 Ferrara LUG, Linuxday 2013

×