it-swarm.cn

卸载nfs服务器已消失的nfs挂载

服务器A曾经是NFS服务器。服务器B正在安装该服务器的出口。一切都很好。然后A死了。刚刚关闭。走了消失了.

但是,该文件夹仍安装在B上。我显然不能cd放入其中或任何其他内容。但是umount /mnt/myfolder只是挂起而不会挂载。反正有没有卸载它而不重新启动B?

客户端和服务器都是Linux机器。

32
Rory

假设Linux:

umount -f -l /mnt/myfolder

可以解决问题:

-f强制卸载(如果无法访问NFS系统)。 (需要内核2.1.116或更高版本。)

-l懒惰卸载。现在,从文件系统层次结构中分离文件系统,并在不再繁忙时清除对文件系统的所有引用。 (需要内核2.4.11或更高版本。)

-f在Solaris和AIX上也存在。

46
Douglas Leeder

详细说明提示 由David Pashley提供

除非“ umount -l”解决了您的问题,否则您可以使用与已经消失的服务器相同的地址来设置一台伪造的服务器-但是您实际上不必设置新的服务器或任何东西。摆脱阻塞/挂断状态的最简单方法是设置本地别名IP接口,如下所示:

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

(显然11.22.33.44是(现在已死)NFS服务器的(以前的)IP地址)

18
conny

intr选项添加到任何/etc/fstab条目可能最终会挂起或崩溃。如果您不使用softintr选项,则当承载NFS文件的服务器出现故障时,引导文件的服务器(客户端)可能会在启动时挂起。 。

根据 man 5 nfs

软/硬
确定NFS请求超时后NFS客户端的恢复行为。如果未指定任何选项(或未指定hard选项),则将无限期重试NFS请求。如果指定了soft选项,则在发送重传重传后,NFS客户端将使NFS请求失败,从而导致NFS客户端向调用应用程序返回错误。

...然后继续说intrsoft更为可取,但是它具有防止挂起的类似效果。

6
s g

umount -f /mnt/myfolder应该解决这个问题。请参见umount手册页。

3
pauska

对于Solaris,重新启动NFS客户端将解决“死亡的死机”。 Solaris 10的命令是“ svcadm restart network/nfs/client”最近没有在Linux机器上尝试过此操作(因为它们都带有“ intr”标志,因此它们很少出现此问题),但是它也可能会解决问题。

1
John Grant

我从来没有设法得到umount -f 上班。一个有用的技巧是设置另一台安装相同出口的服务器,并为其提供与旧服务器相同的IP地址。您的NFS客户端应认为一切恢复正常,并且进程将解除阻塞。然后,您可以正常卸载挂载点,并从临时NFS服务器中删除IP地址。

1
David Pashley

顺便说一句,使用 automount 将在无法使用时处理正在卸载的NFS共享,这避免了将来陷入这种情况。

1
Coops

我也遇到过同样的问题。由于NFS服务器已删除,因此我无法从客户端卸载nfs。我尝试了以下技巧,看看是否有帮助。由于原来的NFS服务器已消失,因此我创建了一个具有相同IP并导出的新服务器。然后,我尝试umount -f/mnt/nfs_part。我终于可以现在卸载nfs了。

0
Lan

只是OS X特定的后续操作,因为挂载命令大多是* nix不可知的:-l(懒惰)标志在OS X中不存在,但是,-f(强制)标志确实存在,并且证明是足够的。此外,系统生成的挂载点位于/ Volumes(/ Volumes/myserversexport)中

0
niels

我只是注意到,在NFSv4挂载中,强制在3.2.0内核上的挂载会挂起。 NFSv3卸载工作正常。

$ mount [...] -o nfsvers=3
0
Kuu Tirronen