====== Installation GlusterFS ====== {{tag>stockage 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 ===== * [[https://www.octopuce.fr/glusterfs-systeme-de-fichier-reseau-synchronise-redondant/|GlusterFS, système de fichier réseau synchronisé & redondant]] * [[https://www.jamescoyle.net/how-to/439-mount-a-glusterfs-volume|Mount a GlusterFS volume : more redundant mount example]] * [[https://wiki.sadmin.fr/systemes/linux/glusterfs|Glusterfs]] * [[https://www.howtoforge.com/tutorial/high-availability-storage-with-glusterfs-on-debian-8-with-two-nodes/|high availability storage with Glusterfs on Debian 8 with two nodes]]