Processus bloqués en D-state avec des spikes I/O sur NFS

Posté par frederic94 le 30/05/2025
RÉSOLU

frederic94

Membre depuis le 29/03/2020

yo la team un truc bizarre sur nos serveurs d'app. on a des processus qui se figent aléatoirement en d-state (uninterruptible sleep) quand ils accèdent à des partages nfs. on voit des gros `await` et `svctm` dans `iostat` au moment où ça arrive. le reste de l'infra tourne impec le réseau est pas saturé l'utilisation cpu est basse. c'est surtout quand on fait des grosses opérations de lecture/écriture sur nfs. une idée ?

# exemple de ps -aux | grep D
root      1234  0.0  0.0      0     0 ?        D    Aug01   0:00 [nfsiod]
appuser   5678  0.1  0.5 123456 45678 ?        D    Aug01   0:12 /usr/bin/python /app/script.py

Commentaires

yrodrigues

Membre depuis le 30/06/2021

salut ! ça sent les options de mount NFS. tu es en `hard` ou `soft` ? si c'est `hard` et que le serveur NFS répond pas assez vite ou qu'il y a un micro-cut réseau tes processus vont rester bloqués en D-state indéfiniment jusqu'à ce que la connexion revienne. essaie `soft,intr` pour voir

dupre-henriette

Membre depuis le 15/03/2019

check aussi les logs sur le client et le serveur nfs. `dmesg -T` côté client peut te donner des erreurs `NFS server not responding`. sur le serveur nfs `var/log/messages` ou `syslog` s'il y a des soucis de disques ou réseau

tmartins

Membre depuis le 25/04/2020

côté réseau t'es sûr que c'est propre ? t'as regardé la latence entre le client et le serveur nfs pendant ces pics ? un simple `ping` ou `iperf` peut te donner des infos. même si la bande passante est pas saturée la latence peut tuer les perfs NFS

yrodrigues

Membre depuis le 30/06/2021

la version NFS est importante aussi. v3, v4 ? des fois la v4 a des comportements un peu différents avec les verrous (file locks). et check les options `rsize`/`wsize` si elles sont trop petites ou trop grandes pour ton réseau/matos

descamps-elodie

Membre depuis le 15/01/2025

t'as pas un firewall ou un security group qui ferait du stateful inspection et qui aurait des tables de suivi de connexion qui seraient pleines ou qui dropperait des paquets ? même si les ports sont ouverts le comportement peut être bizarre

dupre-henriette

Membre depuis le 15/03/2019

et sur le serveur NFS t'as quoi comme backend storage ? du disque local du SAN de l'EBS ? si le backend lui-même est lent ça se répercute sur le NFS et donc les clients. regarde `iostat` sur le serveur NFS pendant les pics aussi

yrodrigues

Membre depuis le 30/06/2021

des fois c'est aussi un souci de DNS. si le serveur NFS n'arrive pas à résoudre le nom du client (ou vice versa) ça peut ralentir les choses ou même bloquer certaines ops NFS qui ont besoin de reverse lookup

tmartins

Membre depuis le 25/04/2020

attention aux MTU si t'es en jumbo frames. si y'a un device réseau au milieu qui supporte pas ça fragmente et ça tue les perfs. ça peut expliquer les spikes si les paquets sont fragmentés

dupre-henriette

Membre depuis le 15/03/2019

y'a des chances que ça vienne du `mount -o hard` si t'as pas `intr`. le `hard` est très tenace et ignore les signaux d'interruption. `soft` par contre peut entraîner des corruptions de données si pas géré par l'app. le compromis c'est `hard,intr`

yrodrigues

Membre depuis le 30/06/2021

vérifie si le problème est généralisé sur toutes les partages nfs ou seulement certains. si c juste un partage c ptete un souci sur le volume spécifique côté serveur

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire