Part 2 – Distributed Volume on GlusterFS

Loading

In this blog, we will explore the distributed volume configuration of GlusterFS

Blog Series

Creating a Distributed Volume on an XFS Filesystem

We’ll next create a distributed volume on a new disk and will configure this as an XFS filesystem.

root@gluster01:~# mkfs.xfs /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
root@gluster01:~# 
root@gluster01:~# 
root@gluster01:~# blkid /dev/sdb
/dev/sdb: UUID="e5401130-bb60-4873-bac9-7c3799e7acd9" TYPE="xfs"
root@gluster01:~# 

How to mount an xfs file system

root@gluster01:~# mkdir /glusterfs
root@gluster01:~# 
root@gluster01:~# mount /dev/sdb /glusterfs/

root@gluster01:~# df -HT /glusterfs/
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb       xfs    22G  184M   22G   1% /glusterfs

Creating a Distributed Volume

In a distributed volume files are spread randomly across the bricks in the volume so that means in short no redundancy is provided at hardware layers and data is just spread around as shown

Source: gluster.org

Create a Gluster FS Volume

root@gluster01:/# gluster vol create test-distributed-stripe gluster01:/glusterfs/brick-stripe1 gluster02:/glusterfs/brick-stripe2 gluster03:/glusterfs/brick-stripe3
volume create: test-distributed-stripe: success: please start the volume to access data
root@gluster01:/# 
root@gluster01:/# 

Verify the Gluster volume info

As seen, we can now notice that in distributed volume my data is split on every server participating in my cluster.

root@gluster01:/glusterfs# gluster volume info
 

Start the volume

root@gluster01:/# gluster vol start test-distributed-stripe
volume start: test-distributed-stripe: success
root@gluster01:/# 

Mount the GlusterFS

With all this in place, we can test the GlusterFS distributed file system. On gluster01, gluster02, and gluster03 issue the command to mount the GlusterFS volume to a mount point. I’ve created a new directory named as /demo so we will mount our F.S to it.

mount -t glusterfs gluster01:/test-distributed-stripe /demo
ssh gluster02 mount -t glusterfs gluster02:/test-distributed-stripe /demo
ssh gluster03 mount -t glusterfs gluster03:/test-distributed-stripe /demo

Accessing Data – Setting Up GlusterFS Client

There are several ways you can mount the GlusterFS – ( NFS, CIFS, and Gluster FS ) are all supported. In this demo, we will just stick with the default glusterfs client.

root@gluster04:~# sudo apt install glusterfs-client -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  attr glusterfs-common ibverbs-providers libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglusterfs0 libibverbs1 libnl-route-3-200 librdmacm1 libtirpc-common libtirpc3
  python3-prettytable

Mount the distributed file system with the command:

root@gluster04:~# mount -t glusterfs gluster01:/test-distributed-stripes /distributed-cluster

Automatically Mounting Volumes

You can configure your system to automatically mount the Gluster volume each time your system starts.

root@gluster04:~# tail -2 /etc/fstab 
gluster01:/test-distributed-stripe /mnt/glusterfs glusterfs defaults,_netdev 0 0

Testing the Filesystem

With all this in place, i will just put a small for loop to create several files from my client

for f in {a..z} {A..Z} {0..99}
do
    echo hello > "$f.txt"
done

Verification from Gluster level

I can see all my files on all my cluster nodes

GlusterFS distributed file system is finally up and running.

(Visited 45 times, 1 visits today)

By Ash Thomas

Ash Thomas is a seasoned IT professional with extensive experience as a technical expert, complemented by a keen interest in blockchain technology.