nfsd:最后一个服务器已退出,正在刷新导出缓存

nfsd:最后一个服务器已退出,正在刷新导出缓存

该问题简要摘要:

CentOS6.9 系统上的 NFS 共享在 Windows 或 Linux 系统上挂载时可以正常显示目录,但在 Mac OS 系统上挂载时无法显示目录。在 Mac OS 系统上挂载 NFS 共享后,Finder 在尝试加载目录内容时出现卡顿现象。

/var/log/messages 中的错误消息:

kernel: nfsd: last server has exited, flushing export cache
kernel: Installing knfsd (copyright (C) 1996 [email protected])
kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory

cat /etc/passwd | grep rpc 的输出

rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

我真的很难理解 /var/log/messages 中的错误消息,nfs 出了什么问题?我在网上找到了其他几篇帖子,指出 /etc/passwd 中的路径不正确,尽管该帖子中的其他人表示应该没问题。

我仔细检查了 /etc/passwd 中列出的路径,发现 /var/lib 中没有这样的 rpcbind 文件夹,但 /var/cache 中有一个,该帖子中的人说这是正确的路径。该路径可能导致问题吗?

我计划采取的下一步是重新启动 nfs 和 rpcbind 服务,如果失败,则使用 yum reinstall nfs-util rpcbind 重新安装。如果这两种方法都失败,那么我会考虑将路径从 /var/lib 更改为 /var/cache。

以前有人遇到过这个问题吗?

Bug Zilla 帖子

centos.org 论坛帖子

答案1

如果我的理解正确,问题本身不是出在 NFS 上,而是出在 Finder 上。Windows 和 Linux 客户端在连接到 NFS 挂载时没有显示性能问题。

以下是我解决 Finder 性能问题所采取的步骤:

  1. 已停止 rpcbind 服务
  2. 已停止 nfslock 服务
  3. 执行命令 rm -rf /var/lib/nfs/statd/sm/*
  4. 执行命令 rm -rf /var/lib/nfs/statd/sm.bak/*
  5. 启动 rpcbind 服务
  6. 启动 nfslock 服务
  7. 重新启动 nfs 服务

之后 Finder 就能够轻松打开并列出目录了。我不太清楚为什么会这样,但效果很明显。

最后,我确实尝试将 /var/lib/rpcbind 的符号链接添加到 /var/cache/rpcbind,但这没有什么区别(当然我重新启动了所有适当的服务)所以我默认恢复到原始设置。

编辑:罪魁祸首是隐藏文件,有数百万个。Finder 处理所有这些文件时非常困难。删除它们比我尝试过的其他任何方法都更能改善性能。

相关内容