it-swarm-pt.tech

Como você força uma conexão CIFS a desmontar

Eu tenho um compartilhamento CIFS montado em uma máquina Linux. O servidor CIFS está inativo, ou a conexão com a Internet está inativa, e qualquer coisa que toque a montagem CIFS agora leva vários minutos para o tempo limite, e é impossível de matar enquanto você espera. Eu não consigo nem executar o ls no meu diretório home porque existe um link simbólico apontando dentro da montagem CIFS e o ls tenta segui-lo para decidir qual cor ele deve ter. Se eu tentar desmontá-lo (mesmo com -fl), o processo de desmembramento fica parecido com o de ls. Nem mesmo Sudo kill -9 pode matá-lo. Como posso forçar o kernel a desmontar?

139
smoofra

Eu uso lazy desmontar: umount -l (que é um L em minúsculas)

Lazy desmontar. Desanexe o sistema de arquivos da hierarquia do sistema de arquivos agora e limpe todas as referências ao sistema de arquivos assim que ele não estiver mais ocupado. (Requer o kernel 2.4.11 ou posterior.)

166
Kemal

umount -a -t cifs -l

funcionou como um encanto para mim no CentOS 6.3. Isso me salvou uma reinicialização do servidor.

63
ivanlan

No RHEL 6 isso funcionou:

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

Isso funciona para mim (Ubuntu 13.10 Desktop para um servidor Ubuntu 14.04): -

 Sudo umount -f /mnt/my_share

Montado com

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

onde serv_share é configurado e apontado no arquivo smb.conf.

7
Phil Johnson

Eu tive esse problema por um dia até que encontrei a resolução real. Em vez de tentar forçar a desmontagem de um compartilhamento de smb que está suspenso, monte o compartilhamento com a opção "soft". Se um processo tentar se conectar ao compartilhamento que não está disponível, ele parará de tentar após um certo período de tempo.

macio Faça a montagem suave. Falha nas chamadas do sistema de arquivos após alguns 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

Pode não ser uma resposta real à sua pergunta, mas é uma solução para o problema

7
jnice

Tente umount -f/mnt/share. Funciona bem com o NFS, nunca tentou com cifs.

Além disso, dê uma olhada no autofs, ele montará o compartilhamento somente quando acessado, e irá desmontá-lo no afterworlds.

Há um bom tutorial em www.howtoforge.net

2
Sunny Milenov

Eu tive um problema muito parecido com o davfs. Na página man do umount.davfs, descobri que as opções -f -l -n -r -v são ignoradas por umount.davfs. Para forçar-desmontar o meu davfs mount, eu tive que usar umount -i -f -l /media/davmount.

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

Tenha cuidado com &, deixe umount executar em segundo plano. umount irá separar o sistema de arquivos primeiro, então você não encontrará nada sobre /mnt. Se você executar o comando df, ele irá umount /mnt forçosamente.

1
zhjb7

Existe uma opção -f para desmontar que você pode tentar:

umount -f /mnt/fileshare

Você está especificando a opção '-t cifs' para montar? Verifique também se você não está especificando a opção 'difícil' para montar.

Você também pode querer considerar fusesmb , uma vez que o sistema de arquivos estará rodando no userspace você pode matá-lo como qualquer outro processo.

1
Chris AtLee