我需要武器,但我没有。
我的系统中有一个 NFS 挂载点,它对任何操作都没有任何反应。物理挂载点甚至不再存在,但系统不知道它不再存在。
我尝试过典型的
umount -l /partition
umount -f /partition
fuser -km /partition
命令只是卡在那里,什么也不做。我时不时会遇到这种情况,但通常挂载点会自行排序。我只是想知道这背后的原因,并确保我已经尝试了所有方法。
目前,这种行为搞乱了我的文件系统,因为在同一个子文件夹下挂载了多个挂载点。
答案1
我们也遇到过类似的问题。我们有一台服务器,它有到另一台服务器的 NFS 挂载。当目标重新启动时,它会导致客户端挂起。umount force 和 lazy 不起作用。我们唯一的办法是删除/注释 fstab 中的条目,并强制重新启动客户端,确保主机已启动。当它重新启动时,NFS 将不会被挂载。
答案2
不幸的是,即使到了现在,Linux 的 NFS 实现在处理与服务器的连接丢失方面也非常糟糕。这种情况在许多其他 UNIX 变体中不会发生,但由于某种原因,在 Linux 中似乎很难修复,或者似乎没人愿意费心。
我通常的做法是使用标志来解决这个问题-r
,这样挂载点至少会处于只读模式。这通常有助于让一些阻塞句柄消失,最后您可以卸载共享。
这可能并不总是有效,但已经帮助了我很多次,所以我不需要重新启动客户端。
如果服务器再次响应,您还可以将同一共享重新挂载到同一目录。这不是最好的处理方式,但至少您可以在需要时重新挂载。