GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de nfsstat et nfsiostat pour résoudre les problèmes de performances NFS sous Linux

Le système de fichiers réseau (NFS) permet aux machines de monter une partition de disque sur une machine distante comme s'il s'agissait d'un disque local. Il permet un partage rapide et transparent des fichiers sur un réseau. Cependant, étant donné que NFS s'appuie sur l'infrastructure réseau existante, tout problème sur le réseau peut affecter les performances de la connexion. Les deux outils les plus importants que j'ai utilisés au fil des ans pour analyser les performances de NFS du point de vue du serveur et du client sont nfsstat et nsfiostat . Les deux outils font partie du package nfs-utils et doivent être installés en tant que tels : 

yum install -y nfs-utils

Comprendre la sortie des outils peut aider à optimiser les performances NFS.

La commande nfsstat

Le nfsstat La commande affiche des informations statistiques sur les interfaces NFS et Remote Procedure Call (RPC) avec le noyau.

Sur le serveur NFS, exécutez la commande suivante :

nfsstat -s

Le résultat devrait ressembler à ce qui suit :

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%

Le champ le plus important à vérifier est le badcalls , qui représente le nombre total d'appels rejetés par la couche RPC. Lorsque les badcalls est supérieur à 0, que le réseau sous-jacent doit être vérifié, car il peut y avoir une latence. De plus, il est très important de placer le serveur NFS dans le même sous-réseau que le client NFS lors de la conception du réseau.

Sur le client NFS, vous exécutez ce qui suit :

nfsstat -c

La sortie devrait ressembler à celle ci-dessous :

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%

D'après ce qui précède, le client se porte bien car il a relativement peu de demandes de retransmission. Si vous rencontrez des retransmissions excessives, vous pouvez ajuster les tailles de tampon de transfert de données, qui sont spécifiées par le mount options de commande rsize et wsize .

Vous pouvez également vérifier les paquets abandonnés en exécutant la commande suivante sur le serveur et le client :

nfsstat -o net

La commande nfsiostat

Le nfsiostat La commande fonctionne de la même manière que iostat commande, mais est utilisé pour les points de montage NFS sur le serveur. Il utilise le fichier /proc/self/mountstats en entrée et fournit des informations sur les performances d'entrée/sortie des partages NFS montés sur le système.

Le nfsiostat La commande est utilisée sur le client NFS pour vérifier ses performances lors de la communication avec le serveur NFS.

Exécution de nfsiostat sans aucun argument devrait avoir une sortie semblable à la suivante :

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

Les statistiques les plus importantes à surveiller sont :

  • retrans - C'est le nombre de retransmissions.
  • avg RTT (ms) - Il s'agit de la durée entre le moment où le noyau du client envoie la requête RPC et le moment où il reçoit la réponse.
  • avg exe (ms) - Il s'agit de la durée entre le moment où le client NFS envoie la demande RPC à son noyau et celui où la demande RPC est terminée. Cela inclut le RTT.

Un avg RTT(ms) très élevé et retrans indique qu'il y a une latence élevée sur le réseau. Une latence élevée affecte également les performances d'E/S, car il y aura de nombreux délais d'attente. Le client deviendra lent et difficile à travailler.

Il est également très important de toujours disposer d'un réseau dédié entre le serveur NFS et le client NFS pour garantir un débit élevé.

Conclusion

L'utilisation de nfsstat et nfsiostat pour résoudre les problèmes de performances NFS peut faire de vous un administrateur système beaucoup plus efficace. Prenez le temps d'apprendre et d'utiliser ces excellents outils NFS.

[ Vous en voulez plus pour votre réseau ? Téléchargez un ebook gratuit sur l'automatisation du réseau avec Ansible. ]


Linux
  1. Configuration d'un serveur et d'un client NFS sur Scientific Linux 6.3

  2. Utilisation de Windows Performance Analyzer pour résoudre les problèmes de performances

  3. Comment résoudre les problèmes de performances sous Linux - Guide du débutant

  4. Dépannage des problèmes NFS courants sous Linux

  5. Commandes de base pour résoudre les problèmes de performances sous Linux

Comment j'équilibre les fonctionnalités et les performances dans mon terminal Linux

Double démarrage Windows et Linux en utilisant UEFI

Automount partage NFS sous Linux à l'aide d'autofs

Dépanner et surveiller les performances du système Linux avec nmon

Comment résoudre les problèmes de latence de transfert NFS à l'aide de "nfsiostat" dans CentOS / RHEL

Utilisation de vmstat pour résoudre les problèmes de performances sous Linux