it-swarm.it

Come forzare lo smontaggio di una connessione CIFS

Ho una condivisione CIFS montata su una macchina Linux. Il server CIFS è inattivo o la connessione Internet è inattiva e tutto ciò che tocca il supporto 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. Nemmeno il Sudo uccide -9 può ucciderlo. Come posso forzare lo smontaggio del kernel?

140
smoofra

Uso lazy smontaggio: umount -l (che è un minuscolo L)

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

170
Kemal

umount -a -t cifs -l

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

64
ivanlan

Su RHEL 6 ha funzionato:

umount -f -a -t cifs -l 
13
Andy Fraley

Questo funziona per me (dal desktop Ubuntu 13.10 a 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.

7
Phil Johnson

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 //[email protected]/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

7
jnice

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 gli mondi.

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

2
Sunny Milenov

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

2
Benedikt Köppel
umount -f -t cifs -l /mnt &

Fai attenzione a &, lascia che umount venga eseguito in background. umount per prima cosa staccherà il filesystem, quindi non troverai nulla di interessante /mnt. Se esegui il comando df, allora sarà umount /mnt forzatamente.

1
zhjb7

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.

1
Chris AtLee