Recherche de site Web

Comment effectuer des opérations d'auto-guérison et de rééquilibrage dans le système de fichiers Gluster - Partie 2


Dans mon article précédent sur « Introduction à GlusterFS (système de fichiers) et installation – Partie 1 » n'était qu'un bref aperçu du système de fichiers et de ses avantages décrivant quelques commandes de base. Il convient de mentionner les deux fonctionnalités importantes, Self-heal et Re-balance, dans cet article sans lesquelles une explication sur GlusterFS serait inutile. pas d'Utilisation. Familiarisons-nous avec les termes Auto-guérison et Rééquilibre.

Qu’entendons-nous par auto-réparation sur les volumes répliqués ?

Cette fonctionnalité est disponible pour les volumes répliqués. Supposons que nous ayons un volume répliqué [nombre minimum de répliques 2]. Supposons qu'en raison de certaines défaillances, une ou plusieurs briques parmi les briques de réplique tombent en panne pendant un certain temps et que l'utilisateur supprime un fichier du point de montage, ce qui ne sera affecté que sur la brique en ligne.

Lorsque la brique hors ligne est mise en ligne ultérieurement, il est également nécessaire de supprimer ce fichier de cette brique, c'est-à-dire qu'une synchronisation entre les briques de réplique appelée guérison doit être effectuée. Il en va de même pour la création/modification de fichiers sur des briques hors ligne. GlusterFS dispose d'un démon d'auto-réparation intégré pour gérer ces situations chaque fois que les briques sont en ligne.

Qu’entend-on par rééquilibrer ?

Considérons un volume distribué avec une seule brique. Par exemple, nous créons 10 fichiers sur le volume via le point de montage. Désormais, tous les fichiers résident sur la même brique puisqu'il n'y a qu'une seule brique dans le volume. En ajoutant une brique supplémentaire au volume, nous devrons peut-être rééquilibrer le nombre total de fichiers entre les deux briques. Si un volume est agrandi ou réduit dans GlusterFS, les données doivent être rééquilibrées entre les différentes briques incluses dans le volume.

Effectuer l'auto-guérison dans GlusterFS

1. Créez un volume répliqué à l'aide de la commande suivante.

gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

Remarque : La création d'un volume répliqué avec des briques sur le même serveur peut déclencher un avertissement pour lequel vous devez procéder en l'ignorant.

2. Démarrez et montez le volume.

gluster volume start vol
mount -t glusterfs 192.168.1.16:/vol /mnt/

3. Créez un fichier à partir du point de montage.

touch /mnt/foo

4. Vérifiez la même chose sur deux répliques de briques.

ls /home/a/
foo
ls /home/b/
foo

5. Maintenant, envoyez l'une des briques hors ligne en tuant le démon glusterfs correspondant à l'aide du PID obtenu à partir des informations sur l'état du volume.

gluster volume status vol
Exemple de sortie
Status of volume: vol
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	3810 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

Remarque : Vérifiez la présence d'un démon d'auto-guérison sur le serveur.

kill 3810
gluster volume status vol
Exemple de sortie
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			N/A	  N	N/A 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

La deuxième brique est désormais hors ligne.

6. Supprimez le fichier foo du point de montage et vérifiez le contenu de la brique.

rm -f /mnt/foo
ls /home/a
ls /home/b
foo

Vous voyez que foo est toujours là dans la deuxième brique.

7. Maintenant, remettez la brique en ligne.

gluster volume start vol force
gluster volume status vol
Exemple de sortie
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	4110 
NFS Server on localhost				2049	  Y	4122 
Self-heal Daemon on localhost			N/A	  Y	4129

La brique est désormais en ligne.

8. Vérifiez le contenu des briques.

ls /home/a/
ls /home/b/

Le fichier a été supprimé de la deuxième brique par le démon d'auto-guérison.

Remarque : Dans le cas de fichiers plus volumineux, l'opération d'auto-réparation peut prendre un certain temps. Vous pouvez vérifier l'état de guérison à l'aide de la commande suivante.

gluster volume heal vol info

Effectuer un rééquilibrage dans GlusterFS

1. Créez un volume distribué.

gluster create volume distribute 192.168.1.16:/home/c

2. Démarrez et montez le volume.

gluster volume start distribute
mount -t glusterfs 192.168.1.16:/distribute /mnt/

3. Créez 10 fichiers.

touch /mnt/file{1..10}
ls /mnt/
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

ls /home/c
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

4. Ajoutez une autre brique au volume distribué.

gluster volume add-brick distribute 192.168.1.16:/home/d
ls /home/d

5. Rééquilibrez.

gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. Vérifiez le contenu.

ls /home/c
file1  file2  file5  file6  file8 

ls /home/d
file10  file3  file4  file7  file9

Les fichiers ont été rééquilibrés.

Remarque : Vous pouvez vérifier l'état du rééquilibrage en exécutant la commande suivante.

gluster volume rebalance distribute status
Exemple de sortie
Node           Rebalanced-files     size          scanned    failures    skipped   status	run time in secs 
---------      -----------          ---------     --------   ---------   -------   --------     ----------------- 
localhost          5                0Bytes           15          0         0       completed         1.00 
volume rebalance: distribute: success:

Avec cela, je prévois de conclure cette série sur GlusterFS. N'hésitez pas à commenter ici vos doutes concernant les fonctionnalités d'auto-guérison et de rééquilibrage.