Ceph has begun disabling NFSv3 shares outright from being able to be created within the Ceph dashboard. 45Drives feels this is somewhat shortsighted and as a result we have built a script to help you re-enable NFSv3 on your Ceph NFS-Ganesha exports.
This guide will provide the resources and the step-by-step list of what to do in order to enable NFSv3 on NFS-Ganesha shares created via Ceph dashboard.
A fully built and up and running Ceph cluster, and NFS-Ganesha cluster deployed with Ceph-Ansible or 45Drives Ceph Deploy
- Begin by creating an NFS export in the Ceph dashboard as normal. Make any changes from the example below necessary to meet your shares requirements. Leave NFSv4 enabled. NFSv3 will unfortunately be greyed out in the dashboard.
- From any node with the Ceph admin keyring (all monitor nodes will have this by default), download the 45Drives NFSv3 script and then make the script executable.
[root@ceph ~]# curl -LO https://scripts.45drives.com/ganesha-enablev3.sh [root@ceph ~]# chmod +x ganesha-enablev3.sh
- To get an overview of all flags the script uses, run the script with a -h flag for help.
[root@ceph ~]# ./ganesha-enablev3.sh -h
- To list all the exports, and their current versions enabled use -s. Notice guideshare, the share created in the beginning of this guide only has NFSv4 enabled. To select specific shares, use the EXPORT_ID of the shares you wish to enable NFSv3 on.
[root@ceph ~]# ./ganesha-enablev3.sh -s
- To select guideshare and enable NFSv3 use -l to list the share, and -e to enable. Then, run -s again and you will now see v3 enabled on this export.
[root@ceph~]# ./ganesha-enablev3.sh -l 13 -e
[root@ceph~]# ./ganesha-enablev3.sh -s
- You can also use the -a flag instead of -l which will enable NFSv3 on ALL shares.
- Once this is done, NFSv3 is now enabled for the shares you specified.
To confirm that NFSv3 is in-fact working, SSH into one of your acting NFS-Ganesha nodes
Run showmount -e
This will show all NFS exports that are using NFSv3. NFSv4 shares will not show up using this command.
[root@ceph~]# showmount -e