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.