我有三台 Debian 11 服务器,我们称它们nfs-server
为 NFS 服务器,nfs1
哪些nfs2
是 NFS 客户端。
我想从 NFS 服务器执行某种健康检查,以确保客户端的连接性并检测客户端是否连接unmounted
并发出警报(警报部分不是这篇文章的主题)。
我的问题是:
如何执行健康检查并确保来自 NFS 服务器的客户端连接? 有没有什么实用程序可以做到这一点?
- 如果是,它可以与 Prometheus 或 Alert-manager 集成吗?我应该使用
cron
bash 脚本吗? - 如果是,您能建议一个脚本吗?
更新:
我应该提到我正在使用不使用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>