GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere l'elenco dei client connessi a un server NFS all'interno di una rete locale?

Puoi trovare i client NFS connessi eseguendo quanto segue sul server NFS:

netstat | grep :nfs

NFS funziona sia su UDP che su TCP, solo le connessioni TCP aperte verranno visualizzate in netstat o ss . Inoltre, in quanto filesystem distribuito, ha (storicamente) avuto la sua giusta dose di problemi (stato, cache, blocco, notifiche, sicurezza — alcuni dei quali hanno soluzioni tramite funzionalità RPC extra, ad esempio rpc.statd ).

Su un server Linux NFS (vedi man rpc.mountd ) le richieste di montaggio/smontaggio del client sono registrate in /var/lib/nfs/rmtab , proprio come /etc/mtab , quindi la risposta dovrebbe essere:

cat /var/lib/nfs/rmtab

Se è vuoto, allora hai un problema con rpc.mountd (quindi dovresti controllare i servizi RPC in esecuzione), oppure tutti i client sono NFSv4 che non utilizzano questa funzionalità.

Nelle versioni che ho controllato rmtab è presentato come:

10.1.2.0/24:/path/to/export1:0x000...flags
10.1.2.10:/path/to/export1:0x0000...flags
10.1.2.22:/path/to/export1:0x0000...flags
10.1.2.0/24:/path/to/export2:0x000...flags
10.1.2.22:/path/to/export2:0x0000...flags
10.1.2.99:/path/to/export2:0x0000...flags

cioè, viene elencato ogni punto di montaggio, seguito dai client che lo utilizzano.

Nota l'avvertenza nella pagina man:

Tuttavia, questo file è principalmente ornamentale. Uno, il client può continuare a utilizzare l'handle del file anche dopo aver chiamato la procedura UMOUNT di rpc.mountd. E due, se un client si riavvia senza avvisare rpc.mountd, una voce obsoleta rimarrà in rmtab.

L'/proc/fs/nfsd/client approccio (@risposta di Vsevolod Gromov) nei kernel più recenti dovrebbe essere migliore sotto questo aspetto, ma poiché supporta solo i client NFSv4 che dovrebbero comportarsi meglio.


Dal kernel Linux 5.3 puoi usare una directory speciale chiamata /proc/fs/nfsd/clients .

Puoi controllare la versione del kernel con uname -r comando


Da netstat non è sempre disponibile perché deve essere sostituito da ss potresti anche usare

ss -a|grep nfs


Linux
  1. Come ottenere in sicurezza la versione di Ksh?

  2. Come avviare in rete Pxe Ubuntu Server 14.04 utilizzando Nfs?

  3. Come faccio a far funzionare in background il mio server web Golang?

  4. Come ottenere un elenco di directory in una zip?

  5. Come ottenere l'elenco delle immagini figlie dipendenti in Docker?

Come ottenere la dimensione di una directory in Linux

Come utilizzare il comando showmount per elencare le condivisioni su un server NFS

Come scoprire lo stato connesso di un cavo di rete in Linux

Come elencare i membri di un gruppo in Linux

Come ottenere le migliori prestazioni dal server Nginx

Come posso ottenere informazioni sul contenitore Docker Linux dall'interno del contenitore stesso?