Smonta un mount nfs dove il server nfs è scomparso


32

Il server A era un server NFS. Il server B stava montando un'esportazione. Andava tutto bene. Quindi A è morto. Appena spento. Andato. Vanished.

Comunque quella cartella è ancora montata su B. Ovviamente non ci riesco cd. Tuttavia si umount /mnt/myfolderblocca e non smonta. Esiste un modo per smontarlo senza riavviare B?

Sia il client che il server sono macchine Linux.


Risposte:


45

Supponendo che Linux:

umount -f -l /mnt/myfolder

Risolverà il problema in qualche modo:

-f Forza lo smontaggio (nel caso di un sistema NFS non raggiungibile). (Richiede il kernel 2.1.116 o successivo.)

-l Smontaggio pigro. Scollega subito il filesystem dalla gerarchia del filesystem e ripulisci tutti i riferimenti al filesystem non appena non è più occupato. (Richiede il kernel 2.4.11 o successivo.)

-f esiste anche su Solaris e AIX.


1
Ho avuto lo stesso problema, ho cercato su google e sono venuto qui. Sì, la bandiera pigra mi ha davvero aiutato qui ... -f da solo non lo stava facendo ...
wawawawa,

sì, deve avere l'opzione "-l" "-f" SAME TIME.
liuyang1,

2
Inoltre, a volte ho avuto un successo migliore specificando l'indirizzo remoto anziché il percorso locale per umount, ad es. umount -f -l nfsserver:/export/thefolder.
Oliver,

18

Elaborando il suggerimento dato da David Pashley ,

a meno che "umount -l" non risolva il problema, è possibile configurare un server falso con lo stesso indirizzo di quello che è andato via, ma in realtà non è necessario impostare un nuovo server o altro. Il modo più semplice per uscire dalla situazione di blocco / blocco umount è impostare un'interfaccia IP alias locale , come segue:

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

(ovviamente l'11.22.33.44 è il (precedente) indirizzo IP del server NFS (ora morto))


Questo ha funzionato per me, tranne per il fatto che dovevo eseguire un server nfs locale.
gak

6

Potrebbe essere saggio aggiungere l' intropzione a qualsiasi voce /etc/fstabche potrebbe finire per bloccarsi o bloccarsi. Se non si utilizzano le opzioni softo intr, quando il server che ospita i file NFS si arresta, il server su cui sono montati i file (il client) potrebbe bloccarsi all'avvio.

Secondo man 5 nfs:

soft / hard
Determina il comportamento di recupero del client NFS dopo il timeout di una richiesta NFS. Se nessuna delle opzioni è specificata (o se è specificata l'opzione hard), le richieste NFS vengono ritentate indefinitamente. Se viene specificata l'opzione software, il client NFS non riesce a inviare una richiesta NFS dopo l'invio delle ritrasmissioni, facendo sì che il client NFS restituisca un errore all'applicazione chiamante.

... e poi continua a dire che intrè preferito rispetto a soft, ma ha lo stesso effetto di prevenire l'impiccagione.


3
Si noti che con le versioni più recenti di nfs, intr è obsoleto o non ha alcuna operazione, nel qual caso dovrebbe essere usato soft.
Paul

3

umount -f /mnt/myfolderdovrebbe risolvere questo. Vedi la manpage di umount.


2
Questo non lo fa abbastanza con NFS e un server morto. Hai bisogno anche della bandiera pigra (o del trucco con l'aggiunta di un IfAlias). lsof e fuser si bloccano e si bloccano -f dice "dispositivo occupato".
wawawawa,

1

A parte questo, l'utilizzo dell'automount gestirà le condivisioni NFS smontate quando diventeranno inutili, il che evita di rimanere bloccato in questa situazione in futuro.


2
Non necessariamente. Anche i montaggi con montaggio automatico possono bloccarsi in questa condizione, se si tenta di accedere alla directory in qualsiasi modo il processo si bloccherà.
Kamil Kisiel,

Sì, l'automounter causa tanti problemi quanti ne risolve.
pjc50,

1

Non sono mai riuscito a mettermi umount -fal lavoro. Un trucco utile è configurare un altro server che monta la stessa esportazione, assegnandogli lo stesso indirizzo IP del vecchio server. Il tuo client NFS dovrebbe pensare che tutto sia tornato normalmente e che i processi si sbloccheranno. È quindi possibile smontare normalmente il mount point e rimuovere l'indirizzo IP dal server NFS temporaneo.


2
il -l (pigro) è la chiave, come menzionato sopra
Matt Simmons

1

Per Solaris, il riavvio del client NFS risolverà la "spirale della morte del disco rigido". Il comando per Solaris 10 è "svcadm restart network / nfs / client" Non l'ho provato di recente su un box Linux (perché quelli montano tutti con il flag "intr", quindi raramente hanno questo problema), ma probabilmente risolveranno anche il problema.


0

Ho appena notato che forzare lo smontaggio sul kernel 3.2.0 si blocca con i montaggi NFSv4. Lo smontaggio di NFSv3 funziona correttamente.

$ mount [...] -o nfsvers=3

0

solo un follow-up specifico per OS X, dato che i comandi mount sono principalmente * nix agnostici: il flag -l (pigro) non esiste in OS X, tuttavia, il flag -f (force) esiste, e si è dimostrato sufficiente . Inoltre, i punti di montaggio generati dal sistema sono in / Volumes (/ Volumes / myserversexport)


0

Ho riscontrato questo stesso problema. Poiché il server NFS è stato rimosso, non riesco a smontare nfs dal client. Ho provato il seguente trucco, vedere se potrebbe essere utile. Poiché il server NFS originale è sparito, creo un nuovo server con lo stesso IP ed esportazione. Quindi provo umount -f / mnt / nfs_part. Finalmente ho potuto smontare il nfs ora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.