强制unmount的NFS挂载目录

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

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

如果我input“ 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)。 然后,您应该销毁别名接口,以便您不再将stream量路由到旧的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 

人ifconfig(8)更多!

尝试运行

 lsof | grep /mnt/data 

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

我有同样的问题,既不umount /path -f ,既不umount.nfs /path -f ,既fuser -km /path ,工程

最后我find了一个简单的解决scheme>。<

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

你的NFS服务器消失了。

理想情况下,你最好的select是如果NFS服务器回来。

如果不是的话,那么“umount -f”应该已经成功了。 它并不总是工作,但往往会。

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

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

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

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