如何从 NFS 服务器对 NFS 客户端连接执行健康检查?

如何从 NFS 服务器对 NFS 客户端连接执行健康检查?

我有三台 Debian 11 服务器,我们称它们nfs-server为 NFS 服务器,nfs1哪些nfs2是 NFS 客户端。

我想从 NFS 服务器执行某种健康检查,以确保客户端的连接性并检测客户端是否连接unmounted并发出警报(警报部分不是这篇文章的主题)。

我的问题是:
如何执行健康检查并确保来自 NFS 服务器的客户端连接? 有没有什么实用程序可以做到这一点?

  • 如果是,它可以与 Prometheus 或 Alert-manager 集成吗?我应该使用cronbash 脚本吗?
  • 如果是,您能建议一个脚本吗?

更新:

我应该提到我正在使用不使用rpcbind服务的 NFSv4:

cat /proc/fs/nfsd/versions 
-2 -3 +4 +4.1 +4.2
showmount -a
clnt_create: RPC: Program not registered

如有任何帮助,我们将不胜感激,先行致谢。

答案1

虽然不知道您的完整环境,但您可以使用以下命令从 nfs 服务器和客户端收集与 nfs 相关的统计信息,并相应地创建脚本。

通过键入以下命令(在服务器上)检查 NFS 服务是否已在 NFS 服务器上启动:

rpcinfo -s <server>|egrep 'nfs|mountd'

在客户端上,键入以下命令来测试来自服务器的 UDP NFS 连接。

/usr/bin/rpcinfo -u <server> nfs

通过输入以下命令检查服务器的 mountd 是否响应。

/usr/bin/rpcinfo -u <derver> mountd

验证文件系统在服务器上是否按预期共享。

/usr/sbin/showmount -e <server>

相关内容