GlusterFS

Publié le par BORY DIALLO

GlusterFS est un service très populaire permettant de faire du HAS (High-Availability Storage) ou stockage de haute disponibilité entre deux ou plusieurs serveurs.

Imaginons que vous ayez une application tournant en cluster (simultanément sur deux ou plusieurs nœuds ), cette appli aura besoin de générer des fichiers de temps à autres. Sans un système de synchronisation de fichiers, ladite appli ne fonctionnera pas correctement, car les fichiers de ses différents nœuds n'aurons pas exactement les mêmes informations. 

Pour régler ce problème, mieux vaut utiliser un système de synchronisation de fichiers. Rsync et CEPH sont des alternatives à GlusterFS, qui, contrairement à Hadoop, GlusterFS n'a pas besoin de serveur de métadonnées pour fonctionner et offre en même temps un traitement de volumes très importants de données de différentes arborescences du système. En résumé, GlusterFS assure trois choses :

  • La tolérance aux pannes car les données sont réécrites sur tous les nœuds du cluster ;
  • La haute disponibilité ainsi que la performance dans la lecture ;
  • La facilité dans l'extension  du cluster de stockage.

Le volume distribué

Le volume répliqué

 

Mise en œuvre

Changer le nom d'hôte des machines

Machine 1 : 192.168.10.69 (db1.local)

Machine 2 : 192.168.10.172 (db2.local)

Faire la résolution DNS locale sur les deux VMs

# nano /etc/hosts

192.168.10.69 db1.local db1
192.168.10.172 db2.local db2

 

Installation de glusterFS

# apt update ; apt upgrade -y

# apt install glusterfs-server -y

# systemctl start glusterd && systemctl enable glusterd

Créer un point de référence sur les deux VMs

# mkdir /data1

Faire une liaison des deux nœuds, le faire uniquement sur un seul

Créer un partage que je vais appeler volume1 et le démarrer

# gluster volume create volume1 replica 2 transport tcp db1.local:/data1/volume1 db2.local:/data1/volume1 force

# gluster volume start volume1

Pour afficher l'ensemble des infos concernant le volume, ...

Sur db1
 

Sur db2

Pour afficher le statut du volume et d'autres infos sur les briques

Installation du point de réplication

Sur les deux nœuds :

# mkdir /mnt/glusterfs

Monter ensuite le système de fichiers sur /mnt/glusterfs

Sur db1

# mount.glusterfs db2.local:volume1 /mnt/glusterfs/

Sur db2

# mount.glusterfs db1.local:volume1 /mnt/glusterfs/

Vérifions si la syncho est bien faite

C'est clair !!!!!

Mise en place d'un montage persistant

Sur db1

Sur db2

Administration

Pour casser une liaison, il faut tout d'abord :

  • Supprimer le volume de partage : gluster volume delete nom_volume
  • Maintenant casser la liaison proprement dite : 

              gluster peer detach nom_du_peer

Pour d'autres commandes d'administration, rendez-vous ici 

GlusterFS est très pratique et simple d'implémentation car la grande partie de la configuration ne se fait pas en full-mesh, à partir d'un seul nœud, nous pouvons monter la synchro. Il est aussi très utile dans une application déployée en cluster. 

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
M
very interesting article. Nous sommes dans une ére où la scalabilité et la disponibilité sont des questions majeures qui préoccupent les ITs.<br /> <br /> Merci pour le Partage!
Répondre
B
Exactement Mamadou., les données sont devenues la plus importante des richesses dans le domaine IT, il est donc fondamental de ne pas les perdre.
K
Article très intéressant sur le stockage. Toujours le plaisir de te lire.
Répondre
B
Merci majesté 😇 toujours après toi