找出谁在使用共享安装?

找出谁在使用共享安装?

我们有一个由许多 Linux 主机共享的挂载点。我们需要弄清楚哪些帐户正在使用哪些帐户以及何时读取/写入文件。我们应该怎样做呢?

答案1

如果您已nfswatch安装,则可以使用它来确定正在访问 NFS 服务器的主机。您需要使用-clients开关。

例子

$ sudo nfswatch -clients
mulder.mydom.net            Mon Oct 13 16:28:55 2014   Elapsed time:   00:01:00
Interval packets:   337 (network)        154 (to host)          0 (dropped)
Total packets:         1308 (network)        316 (to host)          0 (dropped)
                     Monitoring packets from interface vmbr0
                     int   pct    total                      int   pct    total
NFS3 Read             64   42%      162 TCP Packets          151   98%      293
NFS3 Write             0    0%        0 UDP Packets            2    1%       13
NFS Read               0    0%        0 ICMP Packets           0    0%        0
NFS Write              0    0%        0 Routing Control        0    0%        0
NFS Mount              0    0%        0 Addr Resolution        0    0%        3
Port Mapper            4    3%        4 Rev Addr Resol         0    0%        0
RPC Authorization      0    0%        0 Ether/FDDI Bdcst       2    1%       15
Other RPC Packets      1    1%        1 Other Packets          1    1%        7
                                 2 client hosts
Client host          int   pct    total Client host          int   pct    total
byers                  1    2%       13 skinner               63   98%      149

在上面的输出中,有 2 个主机正在主动使用 NFS 服务器,byers并且skinner.您可以在输出的下部看到客户端列表。

您还可以用来netstat -an | grep :2049查看哪些主机正在连接到 NFS 服务器。

我会使用它,nfswatch因为它可以连续记录到一个文件,然后可以在后面查看。

答案2

有一个 nfs 命令,您可以查看哪些主机已从服务器系统挂载了 NFS 文件系统(顺便说一句,并不总是完全准确)。

但是,必须在运行 lsof 之类的每个主机上跟踪回特定用户帐户。

相关内容