强制卸载 NFS 安装目录 [关闭]
题
我的 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”,它肯定会卸载它。