7 Luglio 2017 di Daniele Frulla
Il filesystem è la parte più significativa di un sistema operativo, dopo la ram e la cpu. All’interno del filesystem vengono immagazzinati tutti i dati, le configurazioni, le informazioni sia per l’esecuzione del sistema operativo che degli archivi di una base dati.
Oggi è sempre più impellente la necessità di avere un filesystem che garantisca failover e che sia abbastanza grande da immagazzinare una grande mole di informazioni.
Il software che può venirci incontro è Glusterfs, un applicativo che distribuisce i tuoi file su più servers e ne garantisce l’HA (High Availability).
Gluster è un software open source, che è attualmente in gestito e manutenuto da sviluppatore Red Hat. E’ possibile comunque installarlo su sistemi Linux come Debian, semplicemente con il gestore pacchetti apt.
Il file system distribuito è utilissimo nelle sale ced, ma si può benissimo installare nei nostri servers casalinghi o aziendali.
Per la casa si potranno acquistare servers fanless a basso consumo ed inserire hard disk USB. Servers fanless costano circa 100€, hard disk da 2 Terabyte circa 80 € quindi, con una spesa di circa 360€ potremmo avere a casa la nostra configurazione Gluster in replica. In replica significa che 2 Tera di hard disk sarrano usati per i dati e 2 Tera saranno usati per la copia di quei dati (possiamo quindi evitare di bare un backup lungo e costoso in termini di cpu perché i nodi di Gluster sono automaticamente replicati)
Tutti i servers (nodi di gluster) dovranno avere la medesima configurazione e dovranno potersi vedere all’interno della nostra rete senza firewalls.
L’installazione nei sistemi linux derivati da Debian è semplice:
sudo apt install glusterfs-server
Ogni nodo rappresenta un server. Le caratteristiche minime di ogni server sono:
Gluster è già pronto all’uso e tutti i comandi che lanciamo su di un nodo saranno automanticamente eseguiti negli altri.
Le configurazioni possibili volumi di un filesystem gluster distribuito sono:
Ovviamente, è la replica del filesystem che poi dà la sicurezza che il nostro filesystem sia failover. In altri termini, se un server si rompe, il nostro filesystem è ancora raggiungile.
La configurazione striped è necessaria invece quando si vuole velocità nella consultazione del filesystem.
Una volta scelta la nostra configurazione iniziamo con i comandi base per metterla in piedi.
Come soluzione principale e casalinga consigli di iniziare con 2 servers e con la replica del filesystem.
Benissimo, abbiamo installato Gluster ed il demone è già attivo sui nostri servers.
Poniamo il caso di avere 2 dischi USB da 2 TeraByte, occorre montarli nella giusta collocazione per poter poi aggiungere i contenitori al filesystem gluster.
Creiamo in entrambi i servers la directory:
mkdir /gluster/dev1/
Formattiamo i nostri harddisk in modalità xfs:
mkfs.xfs /dev/<device> -L LDEV1
Montiamo i nostri dischi in /gluster/dev1/
mount /dev/<device> /gluster/dev1
Per fare in modo che il punto di mount sia al boot del sistema occorrerà modificare il file /etc/fstab aggiungendo:
LABEL=LDEV1 /gluster/dev1 xfs defaults 0 0
Finita la fase preparativa possiamo creare il nostro volume Gluster in Replica supponendo che i nostri servers (nodi) siano s1 e s2.
gluster volume create test-volume replica 2 transport tcp s1:/gluster/dev1/b1 s2:/gluster/dev1/b1
gluster volume start test-volume
Occorre ora montare il nostro volume con un gluster client o da un altro server o su uno dei due servers s1 o s2 e digitiamo:
mount.glusterfs s1:test-volume /mnt
Potremo cosi visualizzare il nostro volume nella cartella /mnt ed ogni file che aggiungeremo, cancelleremo o modificheremo sarà replicato sia in s1 che s2.
Se s1 crolla tutto il filesystem sarà ancora raggiungibile come se nulla fosse accaduto. Occorre però prendere provvedimenti e riparare il problema.
Per ulteriori informazioni puoi consultare la documentazione gluster.
Lascia un commento