I am running a Spectrum Scale filesystem on RHEL8 that is exported via NFSv3. The HA part is done by ctdb using 4 nodes (active-active), following this configuration guide by the samba/ctdb people: https://wiki.samba.org/index.php/Setting_up_CTDB_for_Clustered_NFS.
In the nfs.conf there's a state-directory path for statd which points to a directory on the shared Spectrum Scale filesystem:
state-directory-path=/shared/.hadata/nfs/statd
Now, in the mountd section there's also a state directory parameter but it is commented/unused:
#state-directory-path=/var/lib/nfs
man rpc.mountd
states:
-s, --state-directory-path directory
Specify a directory in which to place state information (etab and rmtab). If this option is not specified the default of /var/lib/nfs is used.
This parameter is not set, making the local directory /var/lib/nfs
being used for those files. I am wondering why. From my understanding having those two files on a shared storage would help in maintaining a clean(er) rmtab and prevent the nodes from having inconsistent exports.
For reference my complete nfs.conf:
[general]
[exportfs]
[gssd]
use-gss-proxy=1
[lockd]
port=55599
udp-port=55599
[mountd]
manage-gids=1
port=55597
threads=40
[nfsdcld]
[nfsdcltrack]
[nfsd]
threads=768
vers3=y
vers4=n
vers4.0=n
vers4.1=n
vers4.2=n
[statd]
port=55595
outgoing-port=55596
name=myfs
state-directory-path=/shared/.hadata/nfs/statd
ha-callout=/etc/ctdb/statd-callout
[sm-notify]
0 Answers