Temos um ponto de montagem compartilhado por muitos hosts Linux. Precisamos descobrir quais contas estão lendo/gravando arquivos usando quais contas e em que horário. Como devemos fazer isso?
Responder1
Se você tiver nfswatch
instalado, poderá usá-lo para determinar os hosts que estão acessando o servidor NFS. Você precisará usar o -clients
switch.
Exemplo
$ 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
Na saída acima, há 2 hosts que estão usando ativamente o servidor NFS byers
e skinner
. Você pode ver a lista de clientes na parte inferior da saída.
Você também pode usar netstat -an | grep :2049
para ver quais hosts estão se conectando ao servidor NFS.
Eu usaria, nfswatch
pois ele pode registrar continuamente em um arquivo que pode ser revisado mais tarde.
Responder2
Existe um comando nfs que permite ver quais hosts montaram o sistema de arquivos NFS a partir do sistema do servidor (aliás, nem sempre totalmente preciso).
No entanto, rastrear isso em uma conta de usuário específica teria que ser feito em cada host individual executando algo como lsof.