Gluster
De BlaxWiki
Révision datée du 27 mars 2012 à 17:06 par 217.174.199.129 (discussion)
Gluster est un système de fichier permettant différents types de réplications entre plusieurs serveurs.
Mise en place gluster
Gluster peut être installé via les packages ou via les sources indifféremment.
On part ici sur une réplication totale entre tous les serveurs (ici 2 serveurs), il n'y a pas de maitres / esclaves. Le type de réplcation est ici "replica", et il se fera à travers un montage nfs. Gluster va lui même déployer son serveur nfs, il ne faut donc pas démarrer un serveur nfs propre à l'os.
A faire sur le 2 serveurs : mkdir -p /opt/read_only (cela sera le répertoire "virtuel" qui sera monté dans /opt/data/default, on n'écrit rien dedans, il sert pour la synchro) mkdir -p /opt/data/default (cela sera le répertoire où le client mettra ses données Il faut renseigner le /etc/hosts des 2 serveurs pour mettre les ip des serveurs www1.smeba.fr & www2.smeba.fr A faire sur le 1er serveur # gluster peer probe www2.smeba.fr (définition des différents peer) # gluster volume create webvolume replica 2 transport tcp www1.smeba.fr:/opt/read_only www2.smeba.fr:/opt/read_only (définition du volume et du répertoire associé) # gluster volume start webvolume (démarrage du volume) # gluster volume set webvolume auth.allow 198.18.0.1,198.18.0.2 (autorisation des ip pour la réplication) # gluster volume set webvolume nfs.disable off (active le nfs, par défaut désactivé) A faire sur le 2eme serveur # gluster peer probe www1.smeba.fr (définition des différents peer) Il est possible de tuner par la suite la synchronisation (gluster volume set [nom_du_volume] help). Rajouter dans le /etc/fstab de chaque serveur : localhost:/webvolume /opt/data/default nfs vers=3,hard,intr,tcp,fg,timeo=600,retrans=2,rsize=32k,wsize=32k 0 0 Il est préférable de faire le montage sur localhost plutôt que sur le nom du serveur, car comme cela les écritures en local se font via l'interface de loopback et non pas sur l'interface de réseau. On peut alors écrire un fichier dans /opt/data/default, et voir qu'il est bien présent sur l'autre serveur. En faisant un ps aux, on voit bien que gluster à démarrer son serveur nfs root 23443 0.0 0.3 60256 15460 ? S<sl Mar17 0:54 /usr/sbin/glusterd -p /var/run/glusterd.pid root 23493 0.1 7.3 405396 300436 ? S<sl Mar17 16:05 /usr/sbin/glusterfs -f /etc/glusterd/nfs/nfs-server.vol -p /etc/glusterd/nfs/run/nfs.pid -l /var/log/glusterfs/nfs.log
Vérification
On peut s'assurer que gluster est en place en faisant un
gluster volume info
Volume Name: webvolume Type: Replicate Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: www1:/opt/read_only Brick2: www2:/opt/read_only
gluster peer status
Number of Peers: 1 Hostname: www2 Uuid: 0cb70814-697f-4afc-9bb8-9dc37eba31ce State: Peer in Cluster (Connected)
Evidement le nombre de Bricks est egal au nombre total de serveurs/noeuds dans le cluster, en revanche le nombre de peers doit etre egal au nombre de bricks -1
Performance
En debit pur, gluster+fuse sature le reseau (au moins un reseau 100Mbts). En parcours d’arborescence, la c’est la catastrophe. Sur le serveur de test (100K fichier), 10 minutes pour le premier parcours, 2minutes50s pour les suivants. Impossible de passer en dessous (10s pour le premier parcours sur DD, moins de 1s pour les suivants). Soit une multiplication des des delais par pres de 300. En effectuant un montage nfs du gluster, le premier parcours est de 1m20 environ, les suivants sont inferieurs a 10s (jusqu'à 5s).Soit une multiplication des temps par 10 (soit 30x mieux que fuse). Le debit pur en gluster+nfs est a peu près identique (ca se joue a quelques pourcents). Il est donc préférable de faire des montages en nfs plutôt qu'avec glusterfs