web-development-kb-es.site

¿Cómo forzar una conexión CIFS para desmontar?

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 montaje CIFS ahora tarda varios minutos en agotarse, y no se puede matar mientras espera. Ni siquiera puedo ejecutar ls en mi directorio de inicio porque hay un enlace simbólico que apunta dentro del montaje CIFS y ls intenta seguirlo para decidir qué color debe ser. Si intento desmontarlo (incluso con -fl), el proceso de desmontaje se bloquea igual que lo hace ls. Ni siquiera el Sudo kill -9 puede matarlo. ¿Cómo puedo forzar el kernel para que desmonte?

136
smoofra

Uso el desmontaje perezoso: umount -l (eso es L minúscula)

Perezoso desmontar. Desconecte 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 kernel 2.4.11 o posterior).

164
Kemal

umount -a -t cifs -l

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

62
ivanlan

En RHEL 6 esto funcionó:

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

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 que está configurado y señalado en el archivo smb.conf.

7
Phil Johnson

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

suave Hacer el montaje suave. Falla las llamadas al sistema de archivos después de unos segundos.

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

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

7
jnice

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

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

Hay un buen tutorial en www.howtoforge.net

2
Sunny Milenov
umount -f -t cifs -l /mnt &

Tenga cuidado con &, deje que umount se ejecute en segundo plano. umount separará primero el sistema de archivos, por lo que no encontrará nada como /mnt. Si ejecuta el comando df, entonces umount /mnt forzosamente.

1
zhjb7

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

umount -f /mnt/fileshare

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

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

1
Chris AtLee

Tuve un problema muy similar con davfs. En la página man de umount.davfs, encontré que -f -l -n -r -v ignora las opciones de umount.davfs. Para desmontar forzadamente mi montaje davfs, tuve que usar umount -i -f -l /media/davmount.

1
Benedikt Köppel