Gluster – Sostituzione Disco Rotto o Brick

6 Ottobre 2021 di Daniele Frulla


Gluster e’ una soluzione per garantire la sicurezza dei dati su filesystem in maniera distribuita. Ne avevo parlato di come creare un volume gluster. Se un disco o un server si distrugge, possiamo configurare il tutto in modo che i dati siano ancora fruibili dagli altri servers.

Dopo la rottura occorre ripristinare al piu’ presto il disco incriminato altrimenti non saremo piu’ protetti da altri problemi che possano causare un disservizio.

Vediamo come potremmo ripristinare un disco o brick.

Come sai, gluster divide il proprio volume in tanti bricks. Se un brick non e’ piu’ disponibile puoi verificarlo col comando:

gluster volume status

Status of volume: web
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick gluster6:/mnt/gl1/bk1                 49156     0          Y       140  
Brick gluster5:/mnt/gl1/bk1                 N/A       N/A        N       .  
Self-heal Daemon on localhost               N/A       N/A        Y       100  
Self-heal Daemon on gluster2                N/A       N/A        Y       94   
Self-heal Daemon on gluster3                N/A       N/A        Y       98   
Self-heal Daemon on gluster6                N/A       N/A        Y       151  
Self-heal Daemon on gluster4                N/A       N/A        Y       96   
Self-heal Daemon on gluster5                N/A       N/A        Y       96   
 
Task Status of Volume web
------------------------------------------------------------------------------
There are no active volume tasks

Se abbiamo una situazione come quella del codice sopra, puo’ significare queste cose:

  1. Il server gluster5 e’ andato giu
  2. Il servizio gluster sul server gluster5 e’ giu
  3. Il disco montato su gluster5 in /mnt/gl1 e’ rotto o non risponde piu’

In ogni caso c’e’ un problema da risolvere e supponiamo di dover sostituire il disco su altro server o sul medesimo.

C’e una istruzione precisa per sostituire il brick con un altro brick.

Bisogna essere sicuri di montare il nuovo disco nella posizione opportuna. Supponiamo che il punto di mount sia lo stesso (/mnt/gl1), ma sostituiamo la cartella all’interno del volume con quella bk1_replace. Poi si esegue la seguente istruzione che modifica il brick utilizzato precedentemente:

gluster volume replace-brick web gluster5:/mnt/gl1/bk1 gluster5:/mnt/gl1/bk1_replace commit force

A questo punto possiamo eseguire un healting del volume con:

gluster volume heal web full

Per vedere lo stato del volume (deve copiarsi tutti i dati dal brick sano):

gluster volume heal web statistics heal-count

Questo e’ tutto. Bastera’ aspettare ed avrete ripristinato il brick corrotto o anche il server che qui non mostro per brevita’, ma la procedura e’ esattamente la stessa, avendo cura di aggiungere il nuovo serve al node gluster.

Dopo la sostituzione del disco, valuta di effettuare un ripristino o recupero di dati dal tuo disco corrotto.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato.


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812