29juin 2011
Système de fichier distribué Glusterfs - volume répliqué et distribué
19:19 - Par Mohamed YACOUBI - Glusterfs - un commentaire
Après quelques temps d'absence je reprend les différents tests gluster, nous attaquons par la mise en place d'un volume répliqué distribué.
Je passerais volontairement la mise en place du volume répliqué simple car ne présentant aucun intérêt pour mes besoins.
Configuration de base :
Nous allons créer dans un premier temps le pool de confiance.
Lorsque vous démarrez le premier serveur, le pool de confiance se compose de ce serveur seul, il vous suffira alors d'ajouter depuis ce serveur le 2nd serveur de stockage puis depuis des serveurs déjà présent dans le pool d'ajouter les serveurs suivants afin de les autoriser à interagir entre eux.
filer-1 ~ # gluster peer probe filer-2 Probe successful filer-2 ~ # gluster peer probe filer-1 Probe successful
Configuration d'un volume répliqué et distribué :
Nous allons commencer par le plus simple à savoir un volume répliqué et distribué sur 2 serveurs de stockage, le but étant d'avoir du master/master (Raid-1).
- La création du volume est extrêmement simple :
filer-2 ~ # gluster volume create test-volume replica 2 transport tcp filer-1:/mnt filer-2:/mnt Creation of volume test-volume has been successful. Please start the volume to access data.
- On vérifie le volume
filer-2 ~ # gluster volume info Volume Name: test-volume Type: Replicate Status: Created Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: filer-1:/mnt Brick2: filer-2:/mnt
- A présent on démarre le volume
filer-2 ~ # gluster volume start test-volume
- On monte le volume depuis les clients
client-1 ~ # mount -t glusterfs filer-1:7997:/test-volume /glusterfs client-1 ~ # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 7.9G 1.3G 6.3G 17% / udev 10M 112K 9.9M 2% /dev shm 249M 0 249M 0% /dev/shm filer-1:/test-volume 9.9G 1.4G 8.1G 15% /glusterfs
Test divers :
- On vérifie que le volume est bien redondant
client-1 ~ # touch /glusterfs/test client-1 ~ # ls -l /glusterfs/ total 0 -rw-r--r-- 1 root root 0 Mar 8 20:39 test
filer-1 ~ # ls -l /mnt/ total 0 -rw-r--r-- 1 root root 0 Mar 8 20:39 test
filer-2 ~ # ls -l /mnt/ total 0 -rw-r--r-- 1 root root 0 Mar 8 20:39 test
- Simulation de panne sur filer-2
On désactive le filer-2
filer-2 ~ # halt Broadcast message from root (pts/0) (Tue Mar 8 20:57:52 2011): The system is going down for system halt NOW!
On écrit sur le point de montage depuis le client
client-1 ~ # rm /glusterfs/test client-1 ~ # touch /glusterfs/test_2 client-1 ~ # ls -l /glusterfs/ total 4 -rw-r--r-- 1 root root 0 Mar 8 22:43 test_2
On verifie que tout est ok sur le filer-1
filer-1 ~ # ls /mnt/ -l total 4 -rw-r--r-- 1 root root 0 Mar 8 22:43 test_2
On réactive filer-2 et on vérifie que tout est ok, malheureusement, tant qu'aucun accès n'aura été fait depuis le client, la reconstruction du volume ne sera pas effectué.
filer-2 ~ # ls -l /mnt/ total 0
On effectue un accès depuis le client via un simple ls
et on revérifie.
filer-2 ~ # ls /mnt/ -l total 4 -rw-r--r-- 1 root root 0 Mar 8 22:43 test_2
- Simulation de panne sur filer-1
On eteint filer-1
On écrit sur le point de montage depuis le client
client-1 ~ # rm /glusterfs/test_2 client-1 ~ # touch /glusterfs/test_3 client-1 ~ # ls -l /glusterfs/ total 4 -rw-r--r-- 1 root root 0 Mar 9 22:17 test_3
On effectue un accès depuis client-1 et on vérifie filer-1
filer-1 ~ # ls -l /glusterfs/ total 4 -rw-r--r-- 1 root root 0 Mar 9 22:17 test_3
On constate que le fait de monter filer-1 ne pose aucun problème en cas de panne de ce dernier, il serait donc plus juste de dire que nous avons monté le pool de confiance. :)
La prochaine étape un benchmark des performances ...
un commentaire
Sais tu quels ports doivent être autorisés ?
Car perso, j'ai fait du distribué/répliqué avec 4 bricks.
et j'arrive à faire fonctionner que le répliqué (sur les 2 bricks du même serveur. Rien ne se passe sur le second serveur)
Merci pour une éventuelle piste..
Tarok