强制卸载NFS挂载的目录

时间:2008-09-02 19:04:44

标签: linux mount nfs umount nfsclient

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

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

如果我输入“mount”,则表示该目录不再已挂载,但如果我执行“ls /mnt/data”,它会挂起,如果我尝试删除挂载点,则会得到:

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

除了重新启动机器之外,我能做些什么吗?

6 个答案:

答案 0 :(得分:254)

您可以尝试延迟卸载:

umount -l

答案 1 :(得分:78)

如果NFS服务器消失并且您无法将其重新联机,我使用的一个技巧是使用NFS服务器的IP(在此示例中为192.0.2.55)向接口添加别名。

的Linux

该命令大致类似于:

ifconfig eth0:fakenfs 192.0.2.55 netmask 255.255.255.255

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

ifconfig eth0:fakenfs down

FreeBSD和类似的操作系统

命令如下:

ifconfig em0 alias 192.0.2.55 netmask 255.255.255.255

然后删除它:

ifconfig em0 delete 192.0.2.55

man ifconfig(8)了解更多信息!

答案 2 :(得分:20)

尝试运行

lsof | grep /mnt/data

那应列出正在访问/ mnt / data的任何进程,以防止它被卸载。

答案 3 :(得分:11)

我有同样的问题,而且 umount /path -fumount.nfs /path -ffuser -km /pathsudo /etc/init.d/nfs-common restartumount,{{1}}, 作品

最后我找到了一个简单的解决方案>。<

{{1}},然后让我们做简单的{{1}}; - )

答案 4 :(得分:4)

您的NFS服务器消失了。

理想情况下,最好的办法是让NFS服务器回来。

如果没有,“umount -f”应该已经完成​​了。 它总是不起作用,但它经常会起作用。

如果您碰巧知道使用NFS文件系统的进程, 你可以尝试杀死那些进程,然后卸载就行了。

最后,我猜你需要重启。

另外,请勿软安装NFS驱动器。你使用硬座来保证 他们工作了。如果你正在写作,这是必要的。

答案 5 :(得分:4)

在这里找不到合适的答案;但是在Linux上你可以运行“umount.nfs4 / volume -f”并且它肯定会卸载它。