Nous avons un partage NFS 4, partageant un volume entre un certain nombre de serveurs (serveur NFS, et clients tous Debian 8). Nous avons récemment rencontré des problèmes où des pannes de réseau bloquaient les systèmes clients.
Nos options NFS étaient minimes, juste rw
(et donc les valeurs par défaut hard
, fg
, etc.).
J'expérimente actuellement ces options, mais je n'obtiens pas le comportement attendu :rw,soft,bg,retrans=6,timeo=150
(J'ai augmenté les retrans pour compenser une partie du risque faible)
La procédure que je suis en train de tester est :
- Boîte de démarrage
cd
vers/mnt/mountpoint
- Vérifiez que la connexion NFS est correcte
cd /
- tuer le réseau
ifdown eth0
cd
vers/mnt/mountpoint
ls
À ce stade, la ligne de commande se fige et je ne peux pas l'interrompre. Après un certain temps, le message "nfs :le serveur [nom du serveur] ne répond pas, a expiré", qui semble se répéter une fois par minute (indéfiniment).
Ce que j'aimerais/attends qu'il se produise pour que l'opération échoue et rende le contrôle.
S'il vous plaît, quelqu'un pourrait-il me dire où je me trompe avec ces paramètres ?
(PS :j'ai aussi essayé de monter avec autofs, mais j'ai vu un comportement similaire)
Merci
Réponse acceptée :
intr
devrait vous permettre de reprendre le contrôle lorsque vous appuyez sur ^C
, mais généralement pas immédiatement.
intr If an NFS file operation has a major timeout and it is hard mounted, then allow signals to interupt the file operation and cause it to return EINTR to the calling program. The default is to not allow file operations to be interrupted.
Comme vous le dites, les attentes sont le problème ici. Les problèmes de réseau peuvent être temporaires, mais l'échec d'une opération est permanent. Ainsi, la plupart des opérations se bloquent par défaut jusqu'à la fin de l'opération.
C'est la réponse standard, mais en regardant une page de manuel actuelle, je vois ceci :
The intr / nointr mount option is deprecated after ker- nel 2.6.25. Only SIGKILL can interrupt a pending NFS operation on these kernels, and if specified, this mount option is ignored to provide backwards compatibility with older kernels.
Donc, cela ne me semble pas être un problème NFS3/NFS4, mais une décision sur la façon dont intr
œuvres. Vous devriez donc pouvoir KILL
le processus, mais cela peut ne pas vous être très utile.
Je n'ai pas pu trouver la discussion sur la raison pour laquelle l'option a été supprimée. Pouvez-vous tuer -KILL votre processus ?
En relation :La vidéo contiendra-t-elle des erreurs si la connexion est perdue lors du téléchargement sur YouTube ?