GlusterFS Replication on CentOS 7

0
2824

GlusterFS is a scalable network filesystem suitable for data-intensive tasks such as cloud storage and media streaming. GlusterFS is free and open source software and can utilize common off-the-shelf hardware.

Prerequisite

We will take 3 centminmod servers

server1.domain.com (Centminmod Installed)
server2.domain.com (Centminmod Installed)
server3.domain.com (Centminmod Installed)

How to Install

First open ports 111,24007,38465:38469,49152 in your firewall.

Now on all 3 Servers server1.domain.com, server2.domain.com, server3.domain.com install GlusterFS

yum -y install centos-release-gluster
yum -y install glusterfs-server --disableplugin=priorities

Start and enable GlusterFS

systemctl enable glusterd.service
systemctl start glusterd.service
glusterfsd --version

Now on server1.domain.com initiate peer

gluster peer probe server2.domain.com
gluster peer probe server3.domain.com

Get Gluster peer status

gluster peer status

Now create a gluster volume named bullten for data replication between 3 server with the path /srv/data. The should only be ran on server1.domain.com. You can change bullten to something else.

gluster volume create bullten replica 3 transport tcp mail.bullten.work:/srv/data mail1.bullten.work:/srv/data mail2.bullten.work:/srv/data force

Now start the volume

 gluster volume start bullten

to check gluster volume status

gluster volume status bullten

To get the detailed information of a volume

gluster volume info

If you want to stop or delete a volume you can use

gluster volume stop bullten

gluster volume delete bullten

Now on all three server server1.domain.com, server2.domain.com, server3.domain.com create a mount point directory

mkdir -p /var/www/html

For each server enter the below data in /etc/fstab to mount volume to a directory

For server1.domain.com

server1.domain.com:/bullten /var/www/html glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0

For server2.domain.com

server2.domain.com:/bullten /var/www/html glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0

For server3.domain.com

server3.domain.com:/bullten /var/www/html glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0

Now run mount -a on all three servers server1.domain.com, server2.domain.com, server3.domain.com

mount -a

Now add any file in /var/www/html on any one of the server it will be visible on all 3 server.