Différences entre les versions de « Gluster »

De BlaxWiki
Aller à la navigationAller à la recherche
Ligne 78 : Ligne 78 :
</pre>
</pre>


[[Catégorie:Linux]]
[[Catégorie:Software]]

Version du 10 avril 2012 à 16:49

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