NFS 服务器暂时断开连接,现在 df、ls 和 umount 均挂起

NFS 服务器暂时断开连接,现在 df、ls 和 umount 均挂起

我有这个 fstab 条目:

machine.local:/srv/files /res/files nfs defaults 0 0

它工作得很好,直到 machine.local 暂时断开连接。现在,该共享无法访问。df, umount /res/files,ls /res全部永远挂起。

除了重启之外我该怎么办?

答案1

一旦 NFS 服务器备份,NFS 确实应该重新连接。可能需要几分钟(需要注意超时)。该timeo选项允许您更改超时时间。

umount -f /res/files如果您尝试几次,可能会卸载共享(并杀死所有等待它的进程)。

在较旧的内核上,如果您使用 挂载了共享intr,则可以终止等待的进程。在较新的内核(2.6.25+)上,您可以使用kill -9它们。

NFS 客户端选项记录在nfs(5)联机帮助页中。

注意:某些版本umount漏洞他们在卸载文件系统之前尝试对其进行统计。如果是这样,您将需要一个像这样的简单 C 程序:

#include <sys/mount.h>
int main() {
    const char p[] = "/res/files";
    umount2(p, MNT_FORCE);
    umount2(p, MNT_FORCE);
    return 0;
}

答案2

我需要做一个惰性卸载:

umount -l /res/files
mount /res/files

https://bbs.archlinux.org/viewtopic.php?id=17567

答案3

假设这是一个支持它的系统,您可以尝试强制卸载文件系统,然后重新安装:

umount -f /res/files
mount /res/files

相关内容