在小型Linux NFS4客户端/服务器系统上延迟

我们是一所小型大学的计算机科学系,使用NFS4和Fedora 24客户端(大约40台客户机,大约150个用户 – 很less并发)运行RHEL 7服务器。 我们遇到了延迟问题,并且在排除故障/试图找出问题所在。 症状的例子:

  • Emacs大约需要2分钟才能启动/使用。 GUIpopup快速,但如果您尝试在启动时打开文件应用程序挂起。 如果您尝试打开emacs然后尝试打开文件,应用程序将挂起两分钟。 大约两分钟后,您可以创build文件,读取文件等,没有问题。 编辑:在本地文件(如/tmp/test.out)上运行emacs没有延迟问题。 而且,使用idle3gedit打开networking文件也没有问题。
  • 使用svn + ssh在命令行检出一个项目对于一台Linux客户机/台式机来说是非常慢的,大约3分钟。 如果你签出项目,使用另一台机器上的svn + ssh,checkout需要3 秒钟
  • 您不能configuration空闲。 当你点击configuration菜单时,应用程序挂起。 更新:这似乎是idle3中的一个bug,在Fedora 24中没有修复,但我们能够应用修复。
  • 当您在应用程序(例如,emacs,Eclipse)中单击“打开/浏览”或打开文件pipe理器时,应用程序将在检索文件时挂起一段时间。 从命令行使用ls和cd是很快的。

经过长时间的延迟,你可以阅读/编辑/创build文件没有问题。

我发现这些应用程序唯一的共同点是它们使用隐藏的configuration文件( .emacs.d.idle.eclipse ,…)。 我似乎无法find任何文件隐藏文件将被处理不同。

任何build议表示赞赏!

我将如何解决这个问题:

  1. 如果〜/ .emacs.d /由NFS挂载提供,
  2. 目标文件是第二个NFS服务器提供的NFS挂载,
  3. 将所有本地文件复制到客户端,消除延迟,

然后,我会将其中一个移回NFS,并尝试重新创build问题。

在重读您原来的文章后,我意识到我认为您有两台或更多的NFS服务器,因为这是我以前见过的雇主。 一台NFS服务器提供了主目录,另一台提供了二进制文件。 我们发现在客户端本地运行二进制文件可以提高性能。 🙂

如果你有一个NFS服务器,你能设置第二个用于故障排除吗? 也许单个的NFS服务器在某些时候不堪重负; 使用第二台NFS服务器可能有助于隔离这种情况。

如果问题只出现在一个或两个客户端上,我会试图找出是什么使这些客户端独一无二的。 如果问题出现在每个客户端上,我会看看NFS服务器。

查看RHEL7 NFS服务器上的日志将有所帮助。

谷歌search“NFS故障排除”提供了许多有用的页面,包括tldp 。 还有Red Hat的nfs服务器configuration 。 你可能已经看过这两个了。

您说NFS服务器是Red Hat EL 7.如果我与RHEL副本签有支持合同,我会打开红帽的门票,并要求他们协助排除故障。

我希望这有帮助。 祝你好运。


你使用什么挂载选项你的nfs? 删除诸如lookupcache=none类的选项(并允许默认代替)将允许客户端进行更积极的caching,我们注意到这可能会混淆用户,当他们的主目录中的文件被添加,并且需要一个小时才能看到远程机器,但二进制文件certificate是好的。

我们还设置了actimeo=60noactime在我们的应用程序安装。

主文件夹: rw,noatime,nfsvers=4,minorversion=1,soft,tcp,sec=sys,lookupcache=none,sloppy

应用程序/二进制文件: rw,noatime,nfsvers=4,minorversion=1,soft,tcp,sec=sys,actimeo=60,sloppy

请参阅手册页https://linux.die.net/man/5/nfs中的DATA AND METADATA COHERENCE部分