强制卸载NFS挂载的目录

时间:2020-03-05 18:46:39  来源:igfitidea点击:

我在挂起的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

回答

尝试跑步

lsof | grep /mnt/data

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

回答

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

回答

NFS服务器消失了。

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

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

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

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

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