我对管理 Linux 和 NFS 有点陌生,所以请耐心等待。
我们正在尝试在工作中设置一个小集群。目前系统只有2台DELL高端工作站,运行CentOS 6.5。为了更轻松地管理用户和文件,我们决定通过 NFS 共享 /home 目录和 /etc 中的四个文件(passwd、group、shadow和gshadow(这是通过将它们移动到一个子目录,并使用链接将它们放回 /etc))
这些文件在服务器上的 /etc/exports 中与此共享:
/home/ x.x.x.0/24(rw,sync,no_root_squash,no_all_squash)
/etc/sub_dir/ x.x.x.0/24(rw,sync,no_root_squash,no_all_squash)
Run Code Online (Sandbox Code Playgroud)
这些文件在客户端的 /etc/fstab 中安装:
server_name:/home/ /home/ nfs rw,sync,hard,intr 0 0
server_name:/etc/sub_dir/ /etc/sub_dir/ nfs rw,sync,hard,intr 0 0
Run Code Online (Sandbox Code Playgroud)
设置完所有这些后,系统运行了大约一个月。只要服务器打开,当客户端启动时,服务器的所有用户都是可见的,所有文件也是可见的。
然而,大约5天前,它开始行动了。启动客户端后,它可以正常工作约 15 分钟(给予或接受)。用户可以在本地或通过 SSH 登录。在最初的 15 分钟之后,系统几乎完全锁定。新用户无法登录,已登录的用户无法执行任何操作。(移动鼠标等基本操作仍然有效)。让系统再次运行的唯一方法是关闭客户端并重新打开。不幸的是,这也意味着在客户端上调试非常困难。
我们已将问题缩小到与上述文件的 NFS 共享有关的问题。(我们知道这是因为禁用 /etc/fstab 中的挂载允许客户端返回到它自己的本地文件,并且一切正常)
我们能想到的最远的就是系统启动、挂载所有东西并运行。然后,连接断开,下次客户端需要访问文件(例如 passwd)时,它找不到它,系统挂起等待连接。
计算机位于同一个 1000 Mbps 交换机上,负载相当轻。
任何帮助将非常感激。
更新:
我一直在做更多的挖掘。我发现这个类似的问题在这里对服务器故障,但它也没有得到解决。
我也尝试切换到UDP,但这也没有解决问题。
我遇到了解释如何查找和解决过时的 NFS 的文章(但我不确定这就是问题所在)。
更新 …