我的 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

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

有帮助吗?

解决方案

您可以尝试延迟卸载:

umount -l

其他提示

如果 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) 了解更多!

尝试跑步

lsof | grep /mnt/data

这应该列出正在访问 /mnt/data 的任何进程,这些进程会阻止其卸载。

我有同样的问题,也不 umount /path -f, 两者都不 umount.nfs /path -f, 两者都不 fuser -km /path,作品

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

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

您的 NFS 服务器消失了。

理想情况下,您最好的选择是 NFS 服务器恢复。

如果没有,“umount -f”应该可以解决问题。它并不总是有效,但通常会有效。

如果您碰巧知道使用NFS文件系统正在使用哪些过程,则可以尝试杀死这些过程,然后删除可能会起作用。

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

另外,请勿软安装 NFS 驱动器。您使用硬安装来保证它们工作的工作。如果您正在进行写入,这是必要的。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top