Installation GlusterFS
Install / configuration serveur
Nous installons les paquets serveur et client
sudo aptitude install glusterfs-server glusterfs-client rpcbind
Afin d'éviter que le réseau soit accessible depuis le WAN nous ajoutons ces lignes dans le fichier /etc/glusterfs/glusterd.vol
option transport.rdma.bind-address 192.168.100.30 option transport.socket.bind-address 192.168.100.30 option transport.tcp.bind-address 192.168.100.30
Note importante : Cette opération est à faire sur chaque noeud
Nous ajoutons le montage que nous allons utiliser dans /etc/fstab
/dev/mapper/vg_gluster-lv_gluster /exports/gluster ext4 auto,noatime,discard 0 0
nous activons le service et le démarrons
sudo systemctl enable --now glusterd
Depuis le premier noeuds, nous ajoutons le second
sudo gluster peer probe 192.168.100.31
Toujours depuis le premier noeuds, nous ajoutons le troisième
sudo gluster peer probe 192.168.100.31 192.168.100.32
Pour vérifier le statut
sudo gluster peer status
Nous devrions avoir ce genre de retour
Number of Peers: 2 Hostname: 192.168.100.31 Uuid: ff5945e3-f7d2-4e83-baa6-effafe0fb6b5 State: Peer in Cluster (Connected) Hostname: 192.168.100.32 Uuid: d3afe542-87b5-46d8-8c5e-fe4a854c7a37 State: Peer in Cluster (Connected)
Si vous souhaitez enlever un noeud
sudo peer detach server-à-enlever
Il ne doit pas y avoir de brick sur le serveur à retirer du cluster.
Nous créons le répertoire de partage
sudo mkdir /exports/gluster/www
Nous créons le volume
sudo gluster volume create wwwvol replica 3 transport tcp 192.168.100.30:/exports/gluster/www 192.168.100.31:/exports/gluster/www 192.168.100.32:/exports/gluster/www force
Nous démarrons le partage
sudo gluster volume start wwwvol
Pour vérifier que le volume est partagé
sudo gluster volume status
Configuration client
Montage simple
Nous montons le partage sur le premier serveur
sudo mount 192.168.100.30:/webvol /var/www -t glusterfs -o defaults
Nous montons le partage sur le second serveur
sudo mount 192.168.100.31:/webvol /var/www -t glusterfs -o defaults
Si tout est ok, nous pouvons ajouter le montage dans /etc/fstab
192.168.100.31:/wwwvol /var/www glusterfs defaults,_netdev 0 0
Montage résilient
Nous créons le fichier /etc/glusterfs/wwwvol.vol
sudo vi /etc/glusterfs/wwwvol.vol
volume remote1 type protocol/client option transport-type tcp option remote-host 192.168.100.30 option remote-subvolume /exports/gluster/web end-volume volume remote2 type protocol/client option transport-type tcp option remote-host 192.168.100.31 option remote-subvolume /exports/gluster/web end-volume volume remote3 type protocol/client option transport-type tcp option remote-host 192.168.100.32 option remote-subvolume /exports/gluster/web end-volume volume replicate type cluster/replicate subvolumes remote1 remote2 remote3 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes replicate end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume
Nous montons le partage manuellement
sudo mount /etc/glusterfs/wwwvol.vol /var/www -t glusterfs -o defaults
Si tout est ok, nous pouvons ajouter le montage dans /etc/fstab
/etc/glusterfs/wwwvol.vol /var/www glusterfs defaults,_netdev 0 0