找出誰在使用共用安裝?

找出誰在使用共用安裝?

我們有一個由許多 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 之類的每個主機上追蹤回特定使用者帳戶。

相關內容