¿Cómo se fuerza el desmontaje de una conexión CIFS?

149

Tengo un recurso compartido CIFS montado en una máquina Linux. El servidor CIFS está inactivo, o la conexión a Internet está inactiva, y cualquier cosa que toque el soporte CIFS ahora tarda varios minutos en agotar el tiempo de espera, y no se puede matar mientras espera. Ni siquiera puedo ejecutar ls en mi directorio de inicio porque hay un enlace simbólico apuntando dentro del soporte CIFS y ls intenta seguirlo para decidir de qué color debe ser. Si intento desmontarlo (incluso con -fl), el proceso de desmontaje se bloquea al igual que ls. Ni siquiera sudo kill -9 puede matarlo. ¿Cómo puedo forzar el desmontaje del kernel?

smoofra
fuente

Respuestas:

186

Yo uso vago desmontar: umount -l(eso es una minúscula L)

Perezoso desmontado. Separe el sistema de archivos de la jerarquía del sistema de archivos ahora y limpie todas las referencias al sistema de archivos tan pronto como ya no esté ocupado. (Requiere el kernel 2.4.11 o posterior).

Kemal
fuente
42
Esto no funcionó para mí al principio. Después de experimentar un tiempo (en una nueva terminal virtual cada vez) me ocurrió esto: sudo umount -a -t cifs -l. O bien esto funcionó, o el primer montaje tardó un tiempo (¿120s? 300s?) En completarse. Recibí muchas advertencias sobre el bloqueo de umount durante más de 120 segundos.
Peter Jaric
2
Y luego tuve que matar a todos los montajes colgantes antes de poder montar de nuevo.
Peter Jaric
13
También necesitaba sudo umount -a -t cifs -l que funcionara.
Joma
44
Esto no funcionó para mí realmente. Intenté todo lo anterior y el montaje cifs desapareció de mi lista / etc / mtab pero no se puede volver a montar, por lo que es efectivamente inútil. El cifs mount se congela cuando mi computadora se suspende mientras se monta el cifs share.
DH4
Estoy de acuerdo, umount -a -t cifs -l era lo que necesitaba también para superar el temido thx "Host is Down".
Chucho
70

umount -a -t cifs -l

funcionó como un encanto para mí en CentOS 6.3. Me ahorró un reinicio del servidor.

ivanlan
fuente
8
¿Le importaría dar más detalles sobre lo que -ae -linterruptores son y cómo están ayudando?
Isaac
10
-a y -t cifs desmonta todos los sistemas de archivos cifs. es mejor especificar el que desea desmontar
dwery
2
Esto es perfecto si montó a través de un explorador de archivos y no puede ubicar el punto de montaje ofensivo, ¡siempre que no le importe desmontar todo!
sabio
1
¡Gracias, esto ahorró mucho tiempo hoy!
agam
13

En RHEL 6 esto funcionó:

umount -f -a -t cifs -l 
Andy Fraley
fuente
Esto funcionó, tiene que esperar 30 minutos completos (tiempo de espera) antes de poder volver a montar. Probablemente sea mejor hacer un montaje suave como indica jnice.
XMAN
11

Esto funciona para mí (Ubuntu 13.10 Desktop para un servidor Ubuntu 14.04): -

 sudo umount -f /mnt/my_share

Montado con

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

donde serv_share es el configurado y señalado en el archivo smb.conf.

Phil Johnson
fuente
6

Tuve este problema por un día hasta que encontré la resolución real. En lugar de intentar forzar el desmontaje de un recurso compartido smb que está colgado, monte el recurso compartido con la opción "soft". Si un proceso intenta conectarse al recurso compartido que no está disponible, dejará de intentarlo después de un cierto período de tiempo.

suave Suaviza la montura. El sistema de archivos falla las llamadas después de varios segundos.

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

Puede que no sea una respuesta real a su pregunta, pero es una solución al problema.

jnice
fuente
19
Si nos fijamos man mount.cifs, notará que en softrealidad es el valor predeterminado.
Benj
2

Pruebe umount -f / mnt / share. Funciona bien con NFS, nunca intentado con cifs.

Además, eche un vistazo a los autofs, montará el recurso compartido solo cuando se acceda y lo desmontará después de los mundos.

Hay un buen tutorial en www.howtoforge.net

Sunny Milenov
fuente
55
desafortunadamente -f no funciona con CIFS. el montaje todavía se cuelga.
smoofra
2

Tuve un problema muy similar con davfs. En la página de manual de umount.davfs, descubrí que las -f -l -n -r -vopciones son ignoradas por umount.davfs. Para desmontar a la fuerza mi montaje davfs, tuve que usar umount -i -f -l /media/davmount.

Benedikt Köppel
fuente
1

Hay una opción -f para desmontar que puedes probar:

umount -f /mnt/fileshare

¿Estás especificando la opción '-t cifs' para montar? También asegúrese de no especificar la opción 'difícil' para montar.

También es posible que desee considerar fusesmb , ya que el sistema de archivos se ejecutará en el espacio de usuario, puede matarlo como cualquier otro proceso.

Chris AtLee
fuente
44
-f y -t no ayudan, el montaje todavía se cuelga.
smoofra
¿Has reiniciado desde que agregaste la opción '-t cifs' para montar? No creo que pueda hacer nada para arreglar su punto de montaje atascado en este momento, su única esperanza es intentar montarlo de una manera que sea más resistente al fracaso en el futuro.
Chris AtLee
1
umount -f -t cifs -l /mnt &

Tenga cuidado &, deje umountcorrer en segundo plano. umountseparará primero el sistema de archivos, por lo que no encontrará nada abundante /mnt. Si ejecuta el dfcomando, lo hará a la umount /mntfuerza.

zhjb7
fuente
-2

En RHEL 6 esto también funcionó para mí:

umount -f -a -t cifs -l FOLDER_NAME

chataros
fuente
-8

Un desmontaje perezoso hará el trabajo por usted.

umount -l <mount path>
JimmyPheonix
fuente