我最近遇到了 NFS 映射问题。I/O 进程 ( cp
) 进入不可中断的睡眠状态最后我不得不重启机器来解决这个问题。重启很糟糕,所以我不想再发生这种情况。
其安装方式如下:
mount //path/to/network/drive /path/to/folder -o domain=DOMAIN_HERE,username=USERNAME_HERE
它是一个 CIFS 挂载,因为它//path/to/network/drive
是一个 Windows 文件系统(但我假设上面的命令会自动解决这个问题,因为我没有明确指定 CIFS)。
经过调查,我发现这是“硬安装”,这是问题的一部分。我发现“软安装”可能会有所帮助,而且该intr
选项也可能有所帮助。
所以现在我想再次挂载它,但我没有简单地调用上述命令,而是考虑按如下方式调用它:
mount //path/to/network/drive /path/to/folder -o soft,intr,domain=DOMAIN_HERE,username=USERNAME_HERE
这有效吗?兼容吗soft
?intr
我不太明白它们到底是做什么的,但我发现它们应该有助于防止同样的问题再次发生,因为没有什么能达到不可中断的睡眠状态与他们。此外,显然选择顺序很重要,上面的排序可以吗?
答案1
首先,NFS 本身就是一个文件共享协议,而不是 CIFS/SMB。是的,这是一个非常通用的名称,但由于 NFS 启发了其中一些挂载选项和其他约定,因此请明确您所使用的内容。
intr
什么也不做。
内 目前尚未实施。
引入 / 非引入 此选项是为了向后兼容而提供的。内核 2.6.25 之后会忽略它。
soft
如果您重视快速失败,则是要使用的挂载选项。hard
重视数据完整性,如果服务器消失,将会挂起客户端。
您无法避免文件服务器意外关闭并留下不可中断的进程的可能性。最好的方法是,通过使文件共享尽可能可靠并减少在系统上使用此类挂载,将风险降至最低。
我假设是 Linux。请说明您的操作系统,因为不同的 UNIX 甚至 Linux 发行版可能有所不同。