SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
GlusterFS: un file system parallelo
altamente versatile
Ivan Rossi
ivan@biodec.com

2013
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
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

 
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

 
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

 
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

 
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
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
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
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
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
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

 
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
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
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

 
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

 
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

 
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
GRAZIE PER L'ATTENZIONE
Gluster community
http://gluster.org

Domande?

2013

Ferrara LUG, Linuxday 2013

Contenu connexe

Tendances

Docker - virtualizzazione leggera
Docker - virtualizzazione leggeraDocker - virtualizzazione leggera
Docker - virtualizzazione leggeraRoberto Polli
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS Imola Informatica
 
introduzione_a_pfSense
introduzione_a_pfSenseintroduzione_a_pfSense
introduzione_a_pfSenseMassimo Giaimo
 
Presentazione Emc Data Domain Remota
Presentazione Emc Data Domain RemotaPresentazione Emc Data Domain Remota
Presentazione Emc Data Domain Remotamodestini
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSMorlini Gabriele
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspLaura Camellini
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proEnrico Pirozzi
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsalberto fiaschi
 
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalRiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalAlessandro Carichini
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentalsmvetro
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Giuseppe Agrillo
 
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...Francesco Taurino
 
ClearOS - Linux Small Business Server
ClearOS - Linux Small Business ServerClearOS - Linux Small Business Server
ClearOS - Linux Small Business ServerFrancesco Taurino
 
Nagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceNagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceBabel
 

Tendances (20)

Docker - virtualizzazione leggera
Docker - virtualizzazione leggeraDocker - virtualizzazione leggera
Docker - virtualizzazione leggera
 
Leggimi
LeggimiLeggimi
Leggimi
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
PfSense Cluster
PfSense ClusterPfSense Cluster
PfSense Cluster
 
introduzione_a_pfSense
introduzione_a_pfSenseintroduzione_a_pfSense
introduzione_a_pfSense
 
Presentazione Emc Data Domain Remota
Presentazione Emc Data Domain RemotaPresentazione Emc Data Domain Remota
Presentazione Emc Data Domain Remota
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei pro
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfs
 
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalRiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
 
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Hadoop in action!
Hadoop in action!Hadoop in action!
Hadoop in action!
 
ClearOS - Linux Small Business Server
ClearOS - Linux Small Business ServerClearOS - Linux Small Business Server
ClearOS - Linux Small Business Server
 
Service Backup Online
Service Backup OnlineService Backup Online
Service Backup Online
 
Nagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open sourceNagios in alta affidabilità con strumenti open source
Nagios in alta affidabilità con strumenti open source
 

En vedette

BioDec LinuxDay2012 Erlug
BioDec LinuxDay2012 ErlugBioDec LinuxDay2012 Erlug
BioDec LinuxDay2012 ErlugBioDec
 
Gestione delle risorse e dei servizi IT con CMDBuild
Gestione delle risorse e dei servizi IT con CMDBuildGestione delle risorse e dei servizi IT con CMDBuild
Gestione delle risorse e dei servizi IT con CMDBuildCMDBuild org
 
BioDec Srl Company Profile
BioDec Srl Company ProfileBioDec Srl Company Profile
BioDec Srl Company ProfileBioDec
 
Haplone In 5min
Haplone In 5minHaplone In 5min
Haplone In 5minBioDec
 
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]Giuliano Latini
 
Genome_annotation@BioDec: Python all over the place
Genome_annotation@BioDec: Python all over the placeGenome_annotation@BioDec: Python all over the place
Genome_annotation@BioDec: Python all over the placeBioDec
 

En vedette (7)

BioDec LinuxDay2012 Erlug
BioDec LinuxDay2012 ErlugBioDec LinuxDay2012 Erlug
BioDec LinuxDay2012 Erlug
 
Gestione delle risorse e dei servizi IT con CMDBuild
Gestione delle risorse e dei servizi IT con CMDBuildGestione delle risorse e dei servizi IT con CMDBuild
Gestione delle risorse e dei servizi IT con CMDBuild
 
BioDec Srl Company Profile
BioDec Srl Company ProfileBioDec Srl Company Profile
BioDec Srl Company Profile
 
Haplone In 5min
Haplone In 5minHaplone In 5min
Haplone In 5min
 
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]
Puppet (v.1.0) IDEA Soc. Coop. [25/06/2014]
 
Genome_annotation@BioDec: Python all over the place
Genome_annotation@BioDec: Python all over the placeGenome_annotation@BioDec: Python all over the place
Genome_annotation@BioDec: Python all over the place
 
Sirby flyer 2015_ita
Sirby flyer 2015_itaSirby flyer 2015_ita
Sirby flyer 2015_ita
 

Similaire à Glusterfs: un filesystem altamente versatile

Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMINaLUG
 
Jc06 Antonio Terreno Fluidtime
Jc06 Antonio Terreno FluidtimeJc06 Antonio Terreno Fluidtime
Jc06 Antonio Terreno FluidtimeAntonio Terreno
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
 
October 2009 - JBoss Cloud
October 2009 - JBoss CloudOctober 2009 - JBoss Cloud
October 2009 - JBoss CloudJBug Italy
 
JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009Sanne Grinovero
 
Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewallFulvio Corno
 
Hadoop
HadoopHadoop
HadoopReply
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB
 
CCI2018 - Iperconvergenza con Windows Server
CCI2018 - Iperconvergenza con Windows ServerCCI2018 - Iperconvergenza con Windows Server
CCI2018 - Iperconvergenza con Windows Serverwalk2talk srl
 
Back to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioBack to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioMongoDB
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUG IT
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUG IT
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Codemotion
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterMatteo Baccan
 

Similaire à Glusterfs: un filesystem altamente versatile (20)

Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
Jc06 Antonio Terreno Fluidtime
Jc06 Antonio Terreno FluidtimeJc06 Antonio Terreno Fluidtime
Jc06 Antonio Terreno Fluidtime
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
October 2009 - JBoss Cloud
October 2009 - JBoss CloudOctober 2009 - JBoss Cloud
October 2009 - JBoss Cloud
 
JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009
 
Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciuto
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
 
Hadoop
HadoopHadoop
Hadoop
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
 
CCI2018 - Iperconvergenza con Windows Server
CCI2018 - Iperconvergenza con Windows ServerCCI2018 - Iperconvergenza con Windows Server
CCI2018 - Iperconvergenza con Windows Server
 
Back to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioBack to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizio
 
Foundation server
Foundation serverFoundation server
Foundation server
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia View
 
VMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia ViewVMUGIT UC 2013 - 05b Telecom Italia View
VMUGIT UC 2013 - 05b Telecom Italia View
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 

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 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