Vous êtes ici

GlusterFS : mettre en place un cluster de fichiers distribués

 

Dans cet article, nous allons prendre en mains GlusterFS qui permet de mettre en place un cluster de fichiers distribués. Ici, nous allons répliquer un répertoire sur 2 serveurs différents (bien sur nous pouvons mettre plus de serveurs, ou encore utiliser d'autres types de volumes distribués)

 

Nous avons pour cela besoin :

- de 2 serveurs sous debian

- accessoirement un serveur client sous debian.

 

  • Sur les 2 serveurs :

 

Nous installons glusterfs server :

 

apt-get install glusterfs-server

 

Nous activons le démarrage du servie au boot du système :

 

update-rc.d glusterfs-server defaults

 

 

  • Sur l'un des 2 serveurs

 

Nous vérifions le status du cluster, nous constatons que pour le moment, aucun noeud ne fait parti du cluster :

 

gluster peer status

 

Nous ajoutons donc le second serveur au notre, pas nécessaire de le faire pour le serveur sur lequel nous sommes :

 

gluster peer probe server2 (ip ou fqdn)

 

Nous vérifions une nouvelle fois le status de notre cluster, nous pouvons constater cette fois que le noeud distant a été ajouté et est joignable :

 

gluster peer status

 

Nous allons maintenant ajouter un volume à notre cluster, ici, un volume répliqué, attention, il est préférable que le répertoire que vous désirez répliquer ne soit pas un point de montage, c'est pour cela, que dans cet exemple je créé dans un premier temps un répertoire sur les 2 serveurs, puis je créé mon volume uniquement sur l'un des 2 serveurs qui communiquera l'information automatiquement au second serveur :

 

mkdir /storage/glusterfs (sur les 2 serveurs)

gluster volume create gluster-volume replica 2 transport tcp server1:/storage/glusterfs server2:/storage/glusterfs

 

Explications :

cluster volume create : commande permettant de créer le volume

gluster-volume : un nom pour mon volume

replica : type de 'distribution' , ici répliqué, mais ça peut également être stripe

2 : nombre de noeud faisant partis du volume

transport tcp : protocole de transport à utiliser

server1:/storage/glusterfs server2:/storage/glusterfs : liste des serveurs à ajouter au volume avec le répertoire à utiliser pour la replication

 

Pour que notre volume répliqué fonctionne, il faut le démarrer sur l'un des 2 serveurs :

 

gluster volume start gluster-volume

 

Nous pouvons maintenant vérifier l'état de notre volume répliqué :

 

gluster volume info 

 

  • Monter notre volume répliqué sur un serveur :

 

Nous allons maintenant monter notre volume répliqué sur un serveur distant (ou respectivement sur nos 2 serveurs actuels, dans ce cas pas besoin d'installer le paquet glusterfs-client)

 

- Sur notre serveur client :

 

Installer glusterfs-client :

 

apt-get install glusterfs-client

 

Créer un répertoire ou nous allons monter notre volume glusterfs  ;

 

mkdir /mnt/gluster-volume

 

Monter notre volume glusterfs:

 

mount -t glusterfs server1:/gluster-volume/mnt/gluster-volume (server1 peut être n'importe lequel des serveurs du cluster, ou encore une ip failover montée sur l'un des 2 serveurs)

 

  • Testons que tous cela fonctionne correctement :

 

Sur le client, nous ajoutons un fichier dans notre volume glusterfs :

 

touch /mnt/gluster-volume/test

 

Si nous nous connectons sur les serveurs glusterfs, nous constatons que le répertoire qui fait parti du volume répliqué contient notre fichier sur tous les serveurs :

 

ls /storage/glusterfs/

Nous pouvons constater que le fichier a été créé sur les 2 serveurs.

 

  • Pour que tout soit parfait, nous pouvons ajouter notre point de montage dans le fichier /etc/fstab de notre serveur client pour que celui ci soit monté à chaque démarrage.

 

vi /etc/fstab :

server1:/gluster-volume /mnt/gluster-volume glusterfs defaults,_netdev 0 0

 

 

Tags: 

www.le-gas.fr : Le guide de l'admin Systeme