如何通过 nfs 查看当前安装在我的 PC 上的人员和位置?

如何通过 nfs 查看当前安装在我的 PC 上的人员和位置?

我认为 UNIX 命令showmount -a显示了 nfs 的当前信息:谁正在安装,以及它附加在我的计算机的哪个目录中。但是,当我使用此命令时,它不会回复如下内容:

All mount points on MY-COMPUTER:

当其他主机通过 nfs 从我的 PC 处理一个大文件时,我什至尝试了这个命令。但是,尽管文件处理过程已成功完成,但它什么也没说

我在这里缺少什么?查看当前nfs详细信息的正确命令是什么?

答案1

我不认为你错过了什么。根据您的发行版,showmount -a 有时可能会出现一些问题。我在 CentOS/RHEL 5 和 6 上观察到同样的问题。不用担心,尝试使用此netstat命令来 grep 查找 NFS 和 NFSD。我家里有一个开发盒,NFS 服务正在运行,但还没有远程挂载。在此示例中,我将检查 RPC,这是一种通常与 NFS 结合运行的服务,较少某些更高版本的 NFS。

   watch -n 1 "netstat -antup| grep -i rpc"     

   Every 1.0s: netstat -antup| grep -i rpc                                                      
   Sun Mar 31 20:39:20 2019
   udp9/rpc.st0td             0.0.0.0:*                           26489/rpc.statd
   udp0.0.0.0:09365           0.0.0.0:*                           26499/rpc.mountd
   udp0.0.0.0:00048           0.0.0.0:*                           2692/rpcbind
   udp0.0.0.0:011             0.0.0.0:*                           2692/rpcbind
   udp0.0.0.0:040             0.0.0.0:*                           26489/rpc.statd
   udp627.0.0.1:802           :::*                                26499/rpc.mountd
   udp6                       :::*                                2692/rpcbind
   udp6::20048                :::*                                2692/rpcbind
   #### OUTPUT TRUNCATED ####

对于您的情况,请用 NFS 和/或 NFSD 代替我的示例中的 RPC。您将看到所有 NFSD 线程,默认为 8 个线程。您应该可以看到已安装 NFS 的远程主机上的本地端口和远程端口。我习惯watch了,注意一下。其他可以尝试的事情:有时我showmount -a通过重新启动 NFS 服务来“修复”该问题。以下命令可能因发行版而异:

CentOS 5: service nfsd restart

CentOS 7: systemctl restart nfs-config.service 然后 systemctl restart nfs-server.service

另一件事:/proc/fs/nfsdDIR(依赖于发行版)有很多很好的统计数据来监控 NFS 性能。对于 CentOS/RHEL 6/7,pool_threads显示可以同时处理的 NFS 请求的最大数量。 pool_stats是好东西所在。

相关内容