强制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”,它肯定会卸载它。