我如何才能持续更改 nfs-kernel-server 宽限期设置?

我如何才能持续更改 nfs-kernel-server 宽限期设置?

我有一个带有 corosync nfs 集群(Ubuntu 18)的起搏器,我正在尝试减少宽限期。

有什么办法可以使这些设置在/etc/default/nfs-kernel-server起搏器中持久存在吗?

echo '10' > /proc/fs/nfsd/nfsv4leasetime 
echo '10' > /proc/fs/nfsd/nfsv4gracetime
echo '10' > /proc/sys/fs/nfs/nlm_grace_period

出生:https://access.redhat.com/solutions/42868

答案1

谢谢你 Killertjuh,我在阅读 LINBIT HA 指南时亲自问了 Zanna 的问题,然后找到了你的答案https://www.linbit.com/downloads/tech-guides/HA_NFS_storage_with_DRBD_and_Pacemaker.pdf

我最近不得不处理类似的情况,设置--管理-gids选项,并发现这些设置可以在 /etc/default 中设置,这样就无需修改脚本 /usr/lib/systemd/scripts/nfs-utils_env.sh。这样,您就不会面临脚本将来更新时覆盖该值的风险。

您可以在 /etc/default/nfs-kernel-server 中设置该值:

RPCNFSDOPTS="--lease-time 10 --grace-time 10"

我在 18.04 上测试并验证了这一点。

这可能是基于 systemctl 的方法的过渡。目前,该脚本由nfs 配置systemctl 服务作为一次性服务。

我尝试覆盖nfs 内核服务器服务,但由于来源方式而无法做到这一点nfs 配置. 也许未来的版本会改变这一点。

答案2

查找文件“/usr/lib/systemd/scripts/nfs-utils_env.sh”

将以“echo RPCNFSDARGS”开头的行更改为:

echo RPCNFSDARGS=\"-L 10 -G 10 $RPCNFSDOPTS ${RPCNFSDCOUNT:-8}\"

了解更多信息

# man rpc.nfsd

       -L  or  --lease-time seconds
          Set the lease-time used for NFSv4.  This corresponds to how often clients need to confirm their state with the server. Valid range is from 10 to 3600 sec‐
          onds.

   -G  or  --grace-time seconds
          Set the grace-time used for NFSv4 and NLM (for NFSv2 and NFSv3).  New file open requests (NFSv4) and new file locks (NLM) will not be allowed until  after
          this time has passed to allow clients to recover state.

相关内容