2.5 KiB
2.5 KiB
Howto GlusterFS
TODO : Description, vocabulaire (peer, brick, volume)...
Configuration d'un nouveau cluster
Installation
# apt install glusterfs-server
Création du cluster
srv1# gluster peer probe <adresse IP srv2>
peer probe: success.
Note : srv1 et srv2 doivent pouvoir communiquer entre eux sans restriction au niveau réseau.
Vérification :
# gluster peer status
Number of Peers: 1
Hostname: xxx
Uuid: xxxxx
State: Peer in Cluster (Connected)
Création d'un volume
Ici /srv/gluster/ est un montage d'un volume dédié pour GlusterFS et le volume à créer se nomme foovol.
Créer le répertoire sur chaque serveur :
# mkdir /srv/gluster/foovol
Puis sur un des serveurs, créer le volume GlusterFS
# gluster volume create foovol replica 2 <IP srv1>:/srv/gluster/foovol <IP srv2>:/srv/gluster/foovol
volume create: foovol: success: please start the volume to access data
# gluster volume start foovol
volume start: foovol: success
Vérification :
# gluster volume info
[…]
Sur la machine cliente, on peut maintenant monter le volume :
# echo "srv1:/foovol /mnt/foovol glusterfs defaults 0 0" >>/etc/fstab
# mkdir /mnt/foovol
# mount /mnt/foovol
Administration
# gluster volume status all
# gluster volume status all clients
# gluster volume status all (mem|fd|inode|callpool)
Lister les peers
# gluster peer status
Lister les volumes
# gluster volume list
Voir la santé du volume "foo"
# gluster volume heal foo info
Forcer un 'heal' pour le volume "bar"
# gluster volume heal bar
Cas pratiques
Récupération d'un split-brain - Forcer l'utilisation d'un réplicas comme source de résolution
Dans une situation de split-brain, on peut avoir :
# gluster volume heal foo info
Brick tic.example.net:/srv/gluster/foovol
<gfid:1b82dc4fd-3d3f-4dc1-89a9-0783b2c10bc> - Is in split-brain
Status: Connected
Number of entries: 1
Brick tac.example.net:/srv/gluster/foovol
<gfid:1b82dc4fd-3d3f-4dc1-89a9-0783b2c10bc> - Is in split-brain
Status: Connected
Number of entries: 1
Dans ce cas, on peut définir que c'est le réplica "tic" qui va être utilisé pour rétablir le reste du cluster avec la commande :
# gluster volume heal foo split-brain source-brick tic.example.net:/srv/gluster/foovol gfid:1b82dc4fd-3d3f-4dc1-89a9-0783b2c10bc
Healed gfid:1b82dc4fd-3d3f-4dc1-89a9-0783b2c10bc