Desmontar uma montagem nfs em que o servidor nfs desapareceu

30

O servidor A costumava ser um servidor NFS. O servidor B estava montando uma exportação disso. Tudo estava bem. Então A morreu. Apenas desligado. Se foi. Desapareceu.

No entanto, essa pasta ainda está montada em B. Obviamente não consigo cd nem nada. No entanto, umount /mnt/myfolder apenas trava e não desmonta. Existe alguma maneira de desmontá-lo sem reiniciar B?

O cliente e o servidor são máquinas Linux.

    
por Rory 20.08.2009 / 13:30

9 respostas

42

Assumindo o Linux:

umount -f -l /mnt/myfolder

Dará um jeito de corrigir o problema:

-f Forçar desmontar (no caso de um sistema NFS inacessível). (Requer o kernel 2.1.116 ou posterior.)

-l 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.)

-f também existe no Solaris e no AIX.

    
por 20.08.2009 / 14:01
17

Elaborando a dica por David Pashley ,

a menos que "umount -l" resolva o seu problema, você pode configurar um servidor falso com o mesmo endereço daquele que foi embora - mas você não precisa configurar um novo sever ou qualquer coisa. A maneira mais fácil de sair da situação de bloqueio / desmontagem é configurar uma interface IP de alias local , da seguinte forma:

ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount    # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down

(obviamente 11.22.33.44 sendo o (ex) endereço IP do (agora morto) servidor NFS)

    
por 19.10.2009 / 14:47
6

Pode ser sensato adicionar a opção intr a qualquer /etc/fstab entradas que possam acabar pendendo ou travando. Se você não usar as opções soft ou intr , quando o servidor que hospeda os arquivos NFS ficar inativo, o servidor no qual os arquivos estão montados (o cliente) pode travar durante a inicialização.

De acordo com man 5 nfs :

soft / hard
Determines the recovery behavior of the NFS client after an NFS request times out. If neither option is specified (or if the hard option is specified), NFS requests are retried indefinitely. If the soft option is specified, then the NFS client fails an NFS request after retrans retransmissions have been sent, causing the NFS client to return an error to the calling application.

... e depois diz que intr é o preferido em relação a soft , mas tem o efeito semelhante de impedir a suspensão.

    
por 20.05.2014 / 21:59
3

umount -f /mnt/myfolder deve resolver isso. Veja o umount manpage.

    
por 20.08.2009 / 13:34
1

Apenas como um aparte, usar o automount lidará com a desmontagem dos compartilhamentos NFS quando eles se tornarem indisponíveis, o que evita ficar preso nesse situação no futuro.

    
por 20.08.2009 / 15:54
1

Nunca consegui colocar umount -f para funcionar. Um truque útil é configurar outro servidor que monte a mesma exportação, forneça o mesmo endereço IP que o servidor antigo. Seu cliente NFS deve pensar que tudo está de volta como normal e os processos serão desbloqueados. Você pode então desmontar o ponto de montagem normalmente e remover o endereço IP do servidor NFS temporário.

    
por 20.08.2009 / 14:12
1

Para o Solaris, reiniciar o cliente NFS resolverá a "espiral de montagem difícil da morte". O comando para o Solaris 10 é "svcadm restart network / nfs / client" Não tentei isso em uma caixa Linux ultimamente (porque todos eles montam com o sinalizador "intr", então eles raramente têm esse problema), mas provavelmente também irá resolver o problema.

    
por 16.11.2015 / 20:31
0

Eu apenas notei que forçar desmontagens no kernel 3.2.0 trava com montagens NFSv4. As desmontagens do NFSv3 funcionam bem.

$ mount [...] -o nfsvers=3
    
por 14.07.2013 / 14:47
0

apenas um acompanhamento específico do OS X, já que os comandos mount são em grande parte agnósticos * nix: o flag -l (lazy) não existe no OS X, no entanto, o sinalizador -f (force) funciona e provou ser suficiente. Além disso, os pontos de montagem gerados pelo sistema estão em / Volumes (/ Volumes / myserversexport)

    
por 18.01.2016 / 20:27