Linux/GlusterFS

From Wiki

Server Setup

apt install glusterfs-client glusterfs-server

systemctl enable glusterd
systemctl start glusterd

gluster peer probe node1
gluster peer probe node2
...

gluster peer status

Create Volume

gluster volume create docker-config replica 2 vm-docker0:/mnt/gluster_docker-config vm-docker1:/mnt/gluster_docker-config force
gluster volume create docker-data replica 2 vm-docker0:/mnt/gluster_docker-data vm-docker1:/mnt/gluster_docker-data force


gluster volume start docker-config
gluster volume start docker-data


gluster volume status

Connect client to volume

mount -t glusterfs vm-docker0:/docker-config /srv/docker-config
mount -t glusterfs vm-docker0:/docker-data /srv/docker-data
  • fstab
vm-docker0:/docker-config /srv/docker-config glusterfs defaults,_netdev 0 0
vm-docker0:/docker-data /srv/docker-data glusterfs defaults,_netdev 0 0

  • systemd (often fstab is loaded before gluster, therefore not mounting gluster shares)
  • /etc/systemd/system/gluster-mounts.service
cd /etc/systemd/system
touch gluster-mounts.service

[Unit]
Description=GlusterFS mounting
Requires=glusterd.service

[Service]
Type=simple
RemainAfterExit=true
ExecStartPre=/usr/sbin/gluster volume list
ExecStart=/bin/mount -a -t glusterfs
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable gluster-mounts

Infos

gluster peer status

gluster volume list
gluster volume status
gluster volume info

gluster volume profile {volume_name} start
gluster volume profile {volume_name} start