Come forzare lo smontaggio di una connessione CIFS


149

Ho una condivisione CIFS montata su una macchina Linux. Il server CIFS è inattivo o la connessione Internet è inattiva e tutto ciò che tocca il montaggio CIFS ora impiega diversi minuti per il timeout ed è invendibile durante l'attesa. Non riesco nemmeno a eseguire ls nella mia home directory perché c'è un link simbolico che punta all'interno del mount CIFS e cerca di seguirlo per decidere di che colore dovrebbe essere. Se provo a smontarlo (anche con -fl), il processo di umount si blocca proprio come fa ls. Neanche sudo kill -9 può ucciderlo. Come posso forzare lo smontaggio del kernel?


Risposte:


186

Uso lazy unmount: umount -l(è minuscolo L)

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


42
All'inizio non ha funzionato per me. Dopo aver sperimentato un po '(in un nuovo terminale virtuale ogni volta) sono arrivato fino a questo: sudo umount -a -t cifs -l. O questo ha fatto il trucco, o il primo umount ha impiegato un po '(120s? 300s?) Per completare. Ho ricevuto molti avvisi sul blocco di umount per più di 120 secondi.
Peter Jaric,

2
E poi ho dovuto uccidere tutti gli umount sospesi prima di poter montare di nuovo.
Peter Jaric,

13
Avevo anche bisogno sudo umount -a -t cifs -l di farlo funzionare.
Joma,

4
Questo non ha funzionato davvero per me. Ho provato tutto il resto sopra e il mount cifs è scomparso dalla mia lista / etc / mtab ma non può essere rimontato, quindi è effettivamente inutile. Il mount cifs si blocca quando il mio computer si sospende mentre è montata la condivisione cifs.
DH4,

Concordo, umount -a -t cifs -l era anche quello di cui avevo bisogno per superare il temuto "Host is Down" grazie.
Pooch,

70

umount -a -t cifs -l

ha funzionato come un incantesimo per me su CentOS 6.3. Mi ha salvato un riavvio del server.


8
Ti dispiacerebbe approfondire cosa sono -ae gli -linterruttori e come stanno aiutando?
Isacco,

10
-a e -t cifs smonta tutti i filesystem cifs. è meglio specificare quello che si desidera smontare
dwery

2
Questo è perfetto se hai montato tramite un browser di file e non riesci a individuare il punto di montaggio offensivo, a condizione che non ti dispiaccia smontare tutto!
salvia,

1
Grazie, questo ha risparmiato molto tempo oggi!
agam,

13

Su RHEL 6 ha funzionato:

umount -f -a -t cifs -l 

Questo ha funzionato, deve attendere 30 minuti (timeout) prima di poter rimontare. Probabilmente è meglio fare un montaggio morbido come indica jnice.
XMAN,

11

Questo funziona per me (Ubuntu 13.10 Desktop su un server Ubuntu 14.04): -

 sudo umount -f /mnt/my_share

Montato con

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

dove serv_share è quello impostato e indicato nel file smb.conf.


6

Ho avuto questo problema per un giorno fino a quando non ho trovato la vera risoluzione. Invece di provare a forzare lo smontaggio di una condivisione smb sospesa, montare la condivisione con l'opzione "soft". Se un processo tenta di connettersi alla condivisione che non è disponibile, smetterà di provare dopo un certo periodo di tempo.

soft Rende il supporto morbido. Chiamate al file system non riuscite dopo alcuni secondi.

mount -t smbfs -o soft //username@server/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

Potrebbe non essere una vera risposta alla tua domanda, ma è una soluzione al problema


19
Se guardi man mount.cifsnoterai che in softrealtà è l'impostazione predefinita.
Benj

2

Prova umount -f / mnt / share. Funziona bene con NFS, mai provato con cifs.

Inoltre, dai un'occhiata alle autofs, monterà la condivisione solo quando ti accederai e la smonterà dopo il mondo.

C'è un buon tutorial su www.howtoforge.net


5
sfortunatamente -f non funziona con CIFS. l'umerount si blocca ancora.
smoofra,

2

Ho avuto un problema molto simile con davfs. Nella pagina man di umount.davfs, ho scoperto che le -f -l -n -r -vopzioni sono ignorate da umount.davfs. Per smontare forzatamente il mio innesto davfs, ho dovuto usare umount -i -f -l /media/davmount.


1

C'è un'opzione -f per smontare che puoi provare:

umount -f /mnt/fileshare

Stai specificando l'opzione '-t cifs' da montare? Assicurati anche di non specificare l'opzione 'difficile' da montare.

Puoi anche prendere in considerazione fusesmb , poiché il filesystem sarà in esecuzione nello spazio utente, puoi ucciderlo come qualsiasi altro processo.


4
-f e -t non aiutano, l'umount si blocca ancora.
smoofra,

hai riavviato da quando hai aggiunto l'opzione '-t cifs' per montare? Non credo che ci sia qualcosa che puoi fare per risolvere il tuo punto di montaggio bloccato in questo momento, la tua unica speranza è provare a montarlo in un modo che sia più resistente ai guasti in futuro.
Chris AtLee,

1
umount -f -t cifs -l /mnt &

Fai attenzione &, lascia umountcorrere in background. umountstaccherà prima il filesystem, quindi non troverai nulla di interessante /mnt. Se esegui il dfcomando, lo farà umount /mntforzatamente.


-2

Su RHEL 6 ha funzionato anche per me:

umount -f -a -t cifs -l FOLDER_NAME


-8

Uno smontaggio pigro farà il lavoro per te.

umount -l <mount path>
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.