web-dev-qa-db-fra.com

Démontez un montage nfs où le serveur nfs a disparu

Le serveur A était un serveur NFS. Le serveur B montait une exportation de cela. Tout était bien. Puis A est mort. Je viens de s'éteindre. Disparu. Disparu.

Cependant, ce dossier est toujours monté sur B. Je ne peux évidemment pas cd dedans ou quoi que ce soit. Cependant umount /mnt/myfolder se bloque et ne démonte pas. Est-il possible de le démonter sans redémarrer B?

Le client et le serveur sont des machines Linux.

32
Rory

En supposant que Linux:

umount -f -l /mnt/myfolder

Va en quelque sorte résoudre le problème:

-f Forcer le démontage (dans le cas d'un système NFS inaccessible). (Nécessite le noyau 2.1.116 ou supérieur.)

-l Démontage paresseux. Détachez maintenant le système de fichiers de la hiérarchie du système de fichiers et nettoyez toutes les références au système de fichiers dès qu'il n'est plus occupé. (Nécessite le noyau 2.4.11 ou une version ultérieure.)

-f existe également sur Solaris et AIX.

46
Douglas Leeder

Élaborer sur l'indice donné par David Pashley ,

à moins que "umount -l" ne résout votre problème, vous pouvez configurer un faux serveur avec la même adresse que celui qui a disparu - mais vous n'avez pas réellement à configurer un nouveau couper ou quoi que ce soit. Le moyen le plus simple de sortir de la situation de blocage/blocage de montage consiste à configurer une interface IP d'alias local , comme suit:

ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount    # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down

(évidemment 11.22.33.44 étant l'adresse IP (ancienne) du serveur NFS (maintenant mort))

18
conny

Il pourrait être judicieux d'ajouter l'option intr à n'importe quel /etc/fstab entrées susceptibles de se bloquer ou de se bloquer. Si vous n'utilisez pas les options soft ou intr, alors lorsque le serveur hébergeant les fichiers NFS tombe en panne, le serveur sur lequel les fichiers sont montés (le client) peut se bloquer lors du démarrage. .

Selon man 5 nfs:

doux/dur
Détermine le comportement de récupération du client NFS après l'expiration d'une demande NFS. Si aucune option n'est spécifiée (ou si l'option matérielle est spécifiée), les requêtes NFS sont réessayées indéfiniment. Si l'option logicielle est spécifiée, le client NFS échoue une demande NFS après l'envoi de retransmissions retransmises, ce qui provoque le retour du client NFS une erreur à l'application appelante.

... et ensuite il continue à dire intr est préféré à soft, mais il a le même effet d'empêcher le blocage.

6
s g

umount -f /mnt/myfolder devrait résoudre ce problème. Voir la page de manuel umount.

3
pauska

Pour Solaris, le redémarrage du client NFS résoudra la "spirale de la mort du montage dur". La commande pour Solaris 10 est "svcadm restart network/nfs/client". Je n'ai pas essayé cela sur une boîte Linux récemment (car ceux-ci se montent tous avec l'indicateur "intr", donc ils ont rarement ce problème), mais cela corrigera probablement aussi le problème.

1
John Grant

Je n'ai jamais réussi à obtenir umount -f travailler. Une astuce utile consiste à configurer un autre serveur qui monte la même exportation, en lui donnant la même adresse IP que l'ancien serveur. Votre client NFS devrait penser que tout est de retour comme normal et que les processus se débloqueront. Vous pouvez ensuite démonter le point de montage normalement et supprimer l'adresse IP du serveur NFS temporaire.

1
David Pashley

En passant, l'utilisation de automount gérera le démontage des partages NFS lorsqu'ils deviendront disponibles, ce qui évite de rester coincé dans cette situation à l'avenir.

1
Coops

J'ai rencontré ce même problème. Depuis que le serveur NFS a été supprimé, je ne peux pas démonter le nfs du client. J'ai essayé l'astuce suivante, voyez si cela pourrait être utile. Depuis que le serveur NFS d'origine a disparu, je crée un nouveau serveur avec la même IP et les mêmes exportations. Ensuite, j'essaie umount -f/mnt/nfs_part. Je pouvais enfin démonter le nfs maintenant.

0
Lan

juste un suivi spécifique à OS X, car les commandes de montage sont généralement agnostiques * nix: le drapeau -l (paresseux) n'existe pas sous OS X, cependant, le drapeau -f (force) existe et s'est avéré suffisant . De plus, les points de montage générés par le système se trouvent dans/Volumes (/ Volumes/myserversexport)

0
niels

Je viens de remarquer que forcer les démontages sur le noyau 3.2.0 se bloque avec les montages NFSv4. Les démontages NFSv3 fonctionnent correctement.

$ mount [...] -o nfsvers=3
0
Kuu Tirronen