关于linux:强制卸载NFS挂载目录

关于linux:强制卸载NFS挂载目录

Force unmount of NFS-mounted directory

我在挂起的Linux机器上有一个NFS挂载目录。 我试图强制卸载,但似乎不起作用:

1
2
3
$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy

如果键入" mount",则似乎目录已不再挂载,但是如果执行" ls /mnt/data",则目录将挂起,并且如果尝试删除安装点,则会得到:

1
2
$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy

除了重启机器,我还能做些什么吗?


您可以尝试延迟卸载:

1
umount -l

如果NFS服务器消失了,而您又无法使其重新联机,那么我使用的一个技巧是为具有NFS服务器IP的接口添加一个别名(在此示例中为192.0.2.55)。

的Linux

该命令大致类似于:

1
ifconfig eth0:fakenfs 192.0.2.55 netmask 255.255.255.255

其中192.0.2.55是已消失的NFS服务器的IP。然后,您应该能够ping通该地址,并且还应该能够卸载文件系统(使用unmount -f)。然后,您应该销毁别名接口,以便不再使用以下方法将到旧NFS服务器的通信路由到您自己:

1
ifconfig eth0:fakenfs down

FreeBSD和类似的操作系统

该命令将类似于:

1
ifconfig em0 alias 192.0.2.55 netmask 255.255.255.255

然后将其删除:

1
ifconfig em0 delete 192.0.2.55

man ifconfig(8)了解更多!


尝试跑步

1
lsof | grep /mnt/data

那应该列出正在访问/ mnt / data的所有进程,以防止其被卸载。


我有同样的问题,并且
既不是umount /path -f
都不是umount.nfs /path -f
都不是fuser -km /path
作品

终于找到了一个简单的解决方案>。<

sudo /etc/init.d/nfs-common restart,然后做简单的umount ;-)


在这里找不到有效的答案;但是在linux上,您可以运行" umount.nfs4 / volume -f",它肯定会卸载。


您的NFS服务器消失了。

理想情况下,最好的选择是NFS服务器是否回来。

如果没有,那么" umount -f"应该可以解决问题。
它永远不会起作用,但通常会起作用。

如果您碰巧知道正在使用NFS文件系统的进程,
您可以尝试终止这些进程,然后进行卸载。

最后,我猜您需要重新启动。

另外,不要软安装NFS驱动器。您使用硬安装来保证
他们的工作。如果要写,那是必须的。


推荐阅读