如何监控 NFS 挂载的连接

如何监控 NFS 挂载的连接

我主要处理位于 NFS 安装的网络共享上的文件。自从最近的 IT 升级以来,与此 NFS 安装的网络连接似乎不太稳定——每天,在我工作期间,我都会断网几秒钟,导致程序冻结或关闭,当我尝试保存在 IDE 中打开的修改文件时,会出现“找不到文件”之类的错误消息,等等。

IT 支持人员要求在开始修复问题之前提供详细的错误报告,目前我除了“我无法保存/复制/写入此文件,但 10 秒后我就可以了”之外无法向他们提供任何信息。

我的问题是

  1. 是否有一个日志实用程序可以在后台运行,以监视与 NFS 挂载的连接(例如,我可以让 nfsiostat 或 icpld 执行我需要的操作吗?),以便我遇到此问题后可以将日志发送给 IT 支持人员以供他们检查?
  2. 我该如何设置这样的记录器,以便它包含足够/正确的信息,以便他们找出问题所在?

答案1

你需要证明某件事是错误的,这有点奇怪,但无论如何,这似乎是生活中的事实,所以:根据你想要/需要/知道的内容,你可以:

  1. 这两者结合起来:

    • ping -D -i 2 1.2.3.4 > /var/log/ServerName.log在一个最小化的终端中,tail --follow /var/log/ServerName.log在另一个最小化的终端中。在出现问题的最初几个小时内,查看是否与网络有关。

    • 一个在本地机器上运行的脚本,它每 2 秒在您的一个 NFS 目录上重命名一个文件,并记录无法重命名的时间。

      #!/bin/bash    
      while true 
      do
        mv /szNFSMount/TestFile.1 /szNFSMount/TestFile.2
        if [ $? -ne 0 ]; then
          echo $(date) >> /var/log/NFSMount.log
        fi
        sleep 2
        mv /szNFSMount/TestFile.2 /szNFSMount/TestFile.1
        if [ $? -ne 0 ]; then
          echo $(date) >> /var/log/NFSMount.log
        fi
        sleep 2
      done
      

为什么把这两个放在一起?一个 ping是极低的层次:数据链路层,另一个是极高的层次:应用层。它们结合在一起,形成了无可辩驳的证据。

  1. NFS 调试这是一件很棘手的事情您需要拥有自己机器的 root 访问权限。您有吗?

相关内容