Risolvere GlusterFS split-brain automagicamente

September 22, 2018 0 Comments GlusterFS

Ho il filesystem in split-brain!

Ciao a tutti! Usando GlusterFS (anche per nutellino.it) può succedere che a causa di network partitioning o di crash di alcuni nodi, alcuni dei file presenti nei volumi glusterfs non siano più accessibili. Ciò accade quando uno o più dei file di replica cominciano a divergere tra loro. GlusterFS non è quindi più in grado di risolvere automaticamente e di avviare un processo di self heal.

Il processo forse più famoso è il processo manuale, descritto dalla guida ufficiale qui: https://github.com/gluster/glusterfs/blob/master/doc/debugging/split-brain.md

Diventa però veramente lungo e tedioso, sopratutto se magari l'unico file che vi va in split brain è un file di log.

Fortunatamente dalla versione 3.8 hanno introdotto un parametro di configurazione all'interno delle opzioni dei volumi:

cluster.favorite-child-policy

Questa opzione può assumere i seguenti valori:

  • none: Valore di default, in questo caso si deve procedere manualmente.
  • ctime: Seleziona il ed esegue un heal del volume utilizzando il file con il ctime maggiore.
  • mtime: Seleziona il ed esegue un heal del volume utilizzando il file con il mtime maggiore.
  • size: Seleziona il ed esegue un heal del volume utilizzando il file con la dimensione maggiore.
  • majority: Seleziona il file con mtime e size identico in più della metà dei brick nella replica (nel caso di volumi con 3 o più repliche).

Come faccio a vedere lo stato del mio volume?

Con il seguente comando:

gluster volume heal miovolume info split-brain  

Come faccio a cambiare il parametro cluster.favorite-child-policy?

Andando a modificare i valori del volume:

gluster volume set miovolume cluster.favorite-child-policy mtime  

E successivamente lanciare un operazione di heal nel volume:

gluster volume heal miovolume  

Una volta risolto lo split brain, potete riportare il valore a none , oppure lasciarlo automatico se i file che avete nel volume non sono critici.

Samuele Chiocca
Padova, italy Website