GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di nfsstat e nfsiostat per risolvere i problemi di prestazioni NFS su Linux

Il file system di rete (NFS) consente alle macchine di montare una partizione del disco su una macchina remota come se fosse un disco locale. Consente una condivisione rapida e senza interruzioni di file su una rete. Tuttavia, poiché NFS si basa sull'infrastruttura di rete esistente, eventuali problemi nella rete possono influire sulle prestazioni della connessione. I due strumenti più importanti che ho utilizzato negli anni per analizzare le prestazioni di NFS sia dal punto di vista del server che del client sono nfsstat e nsfiostat . I due strumenti fanno parte del pacchetto nfs-utils e devono essere installati come tali: 

yum install -y nfs-utils

Comprendere l'output degli strumenti può aiutare a ottimizzare le prestazioni NFS.

Il comando nfsstat

Il nfsstat Il comando visualizza le informazioni statistiche sulle interfacce NFS e Remote Procedure Call (RPC) al kernel.

Sul server NFS, eseguire il comando seguente:

nfsstat -s

L'output dovrebbe essere simile al seguente:

Server rpc stats:
calls      badcalls   badclnt    badauth    xdrcall
107310012   0          0          0          0

Server nfs v4:
null         compound
21        0% 107310004 99%

Server nfs v4 operations:
op0-unused   op1-unused   op2-future   access       close        commit
0         0% 0         0% 0         0% 910848    0% 5671218   2% 153218    0%
create       delegpurge   delegreturn  getattr      getfh        link
4104      0% 0         0% 517       0% 58659066 22% 8700995   3% 0         0%

Il campo più importante da controllare è il badcalls , che rappresenta il numero totale di chiamate rifiutate dal livello RPC. Quando il badcalls è maggiore di 0, è necessario controllare la rete sottostante, poiché potrebbe esserci una latenza. Inoltre, è molto importante inserire il server NFS nella stessa sottorete del client NFS durante la progettazione della rete.

Sul client NFS, esegui quanto segue:

nfsstat -c

L'output dovrebbe essere simile al seguente:

Client rpc stats:
calls      retrans    authrefrsh
30557550   27686      11075

Client nfs v4:
null         read         write        commit       open         open_conf
0         0% 1601136   5% 568239    1% 23683     0% 1652804   5% 1466260   4%
open_noat    open_dgrd    close        setattr      fsinfo       renew
0         0% 0         0% 1648000   5% 27154     0% 8         0% 28320     0%

Da quanto sopra, il client sta andando bene in quanto ha relativamente poche richieste di ritrasmissione. Se riscontri ritrasmissioni eccessive, potresti voler regolare le dimensioni del buffer di trasferimento dati, che sono specificate da mount opzioni di comando rsize e wsize .

Puoi anche controllare i pacchetti eliminati eseguendo il seguente comando sia sul server che sul client:

nfsstat -o net

Il comando nfsiostat

Il nfsiostat il comando funziona in modo simile a iostat comando, ma viene utilizzato per i punti di montaggio NFS sul server. Utilizza il file /proc/self/mountstats come input e fornisce informazioni sulle prestazioni di input/output delle condivisioni NFS montate sul sistema.

Il nfsiostat Il comando viene utilizzato sul client NFS per verificarne le prestazioni durante la comunicazione con il server NFS.

Esecuzione di nfsiostat senza alcun argomento dovrebbe avere un output simile al seguente:

10.10.1.10:/data/share mounted on /samba/students:
   op/s         rpc bklog
  16.96            0.00
read:             ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.900           5.392           5.990        0 (0.0%)           0.550           0.660
write:            ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.031          21.818         708.149        0 (0.0%)         122.745         35874.872

Le statistiche più importanti a cui prestare attenzione sono:

  • retrans - Questo è il numero di ritrasmissioni.
  • avg RTT (ms) - Questa è la durata dal momento in cui il kernel del client invia la richiesta RPC fino al momento in cui riceve la risposta.
  • avg exe (ms) - Questa è la durata dal momento in cui il client NFS effettua la richiesta RPC al proprio kernel fino al completamento della richiesta RPC. Ciò include l'RTT.

Un avg RTT(ms) molto alto e retrans indica che c'è un'elevata latenza sulla rete. L'elevata latenza influisce anche sulle prestazioni di I/O, poiché ci saranno molti timeout. Il cliente diventerà lento e difficile da lavorare.

È anche molto importante disporre sempre di una rete dedicata tra il server NFS e il client NFS per garantire un throughput elevato.

Conclusione

L'uso di nfsstat e nfsiostat risolvere i problemi di prestazioni di NFS può renderti un amministratore di sistema molto più efficiente. Prenditi del tempo per imparare e utilizzare questi fantastici strumenti NFS.

[ Vuoi di più per la tua rete? Scarica un ebook gratuito sull'automazione di rete con Ansible. ]


Linux
  1. Risolvere i problemi utilizzando il filesystem proc su Linux

  2. Configurazione di un server e client NFS su Scientific Linux 6.3

  3. 10 esempi di pidstat per eseguire il debug dei problemi di prestazioni del processo Linux

  4. Come risolvere i problemi di prestazioni su Linux - Guida per principianti

  5. Risoluzione dei problemi comuni di NFS in Linux

Come bilanciare funzionalità e prestazioni nel mio terminale Linux

Doppio avvio di Windows e Linux tramite UEFI

Monta automaticamente la condivisione NFS in Linux usando autofs

Risolvi i problemi e monitora le prestazioni del sistema Linux con nmon

Come risolvere i problemi di latenza del trasferimento NFS utilizzando "nfsiostat" in CentOS / RHEL

Utilizzo di vmstat per risolvere i problemi di prestazioni in Linux