Saturday, November 22, 2025

GlusterFS : GlusterFS + NFS-Ganesha

 

GlusterFS : GlusterFS + NFS-Ganesha


 

Install NFS-Ganesha and integrate with GlusterFS to mount Gluster Volume with NFS protocol.
The supported NFS protocols by NFS-Ganesha are v3, v4.0, v4.1, pNFS.

For example, Configure NFS Export setting to a Gluster Volume [vol_distributed] like an example of the link here.

[1]If NFS server is running, stop and disable it.
root@node01:~# 
systemctl disable --now nfs-server
[2]Install and Configure NFS-Ganesha on a Node in GlusterFS Cluster.
root@node01:~# 
apt -y install nfs-ganesha-gluster
root@node01:~# 
mv /etc/ganesha/ganesha.conf /etc/ganesha/ganesha.conf.org

root@node01:~# 
vi /etc/ganesha/ganesha.conf
# create new

NFS_CORE_PARAM {
    # possible to mount with NFSv3 to NFSv4 Pseudo path
    mount_path_pseudo = true;
    # NFS protocol
    Protocols = 3,4;
}
EXPORT_DEFAULTS {
    # default access mode
    Access_Type = RW;
}
EXPORT {
    # unique ID
    Export_Id = 101;
    # mount path of Gluster Volume
    Path = "/vol_distributed";
    FSAL {
    	# any name
        name = GLUSTER;
        # hostname or IP address of this Node
        hostname="10.0.0.51";
        # Gluster volume name
        volume="vol_distributed";
    }
    # config for root Squash
    Squash="No_root_squash";
    # NFSv4 Pseudo path
    Pseudo="/vfs_distributed";
    # allowed security options
    SecType = "sys";
}
LOG {
    # default log level
    Default_Log_Level = WARN;
}

root@node01:~# 
systemctl restart nfs-ganesha

root@node01:~# 
systemctl enable nfs-ganesha
# show exports list

root@node01:~# 
showmount -e localhost

Export list for localhost:
/vfs_distributed (everyone)
[3]Verify NFS mounting on a Client Host.
root@client:~# 
apt -y install nfs-common
# specify Pseudo path set on [Pseudo=***] in ganesha.conf

root@client:~# 
mount -t nfs4 node01.srv.world:/vfs_distributed /mnt

root@client:~# 
df -hT

Filesystem                        Type      Size  Used Avail Use% Mounted on
udev                              devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                             tmpfs     392M  560K  392M   1% /run
/dev/mapper/debian--vg-root       ext4       27G  1.1G   25G   5% /
tmpfs                             tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                             tmpfs     1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
tmpfs                             tmpfs     2.0G     0  2.0G   0% /tmp
/dev/vda1                         ext4      943M   74M  804M   9% /boot
tmpfs                             tmpfs     1.0M     0  1.0M   0% /run/credentials/serial-getty@ttyS0.service
tmpfs                             tmpfs     1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
tmpfs                             tmpfs     392M  4.0K  392M   1% /run/user/0
node01.srv.world:/vfs_distributed nfs4       54G  2.8G   49G   6% /mnt

No comments:

Post a Comment