为什么 NFS 在闲置一分钟后会出现延迟?

为什么 NFS 在闲置一分钟后会出现延迟?

我在内核为 3.10.17 的 Salix 服务器上运行版本 4 NFS 服务器。我正在使用命令挂载 NFS 共享

sudo mount -t nfs 10.0.0.150:/share /mountpoint

在我的客户端计算机上,这是 Xubuntu 的最新版本(但在过去几年中,我在多个不同风格和版本的 Ubuntu 客户端之间的 NFS 共享遇到了这个问题)。当我第一次访问此安装点时,例如通过文件管理器(仅作为示例,但任何其他类型的访问都有相同的症状),我必须等待 20 秒才能加载来自共享的数据。一旦发生这种情况,我可以毫无延迟地浏览共享文件夹,至少直到我让挂载休眠(意味着我不会尝试访问其下的任何内容)大约一分钟,之后我会再次遇到延迟。我的客户端也是 NFS v4。

nfsstat -m这是客户端上 的输出:rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.214,local_lock=none,addr=10.0.0.150

我正在通过 SAMBA 与我的 Windows 客户端共享服务器上的同一个文件夹,并且 SAMBA 共享没有任何问题。

答案1

我发现了问题。对于 NFS v4 服务器,有一个文件 /proc/fs/nfsd/nfsv4revoverydir (至少对于基于 Slack 的 Salix 而言)。该文件夹的内容应该是命名另一个路径的文本。我为此找到的所有解决方案都表示创建在该文件中找到的路径,并且它解决了问题。就我而言,该文件是空的。我没有尝试弄清楚如何正确填充此 /proc 文件,而是使用了将服务器配置为使用 NFS 版本 3 的解决方法。我通过编辑文件 /etc/rc.d/rc.nfsd 并将选项“-N 4”添加到启动 rpc.nfsd 的行来完成此操作

相关内容