Table des matières

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

Liens