自从升级我的 Ubuntu 机器以来,我的所有 NFS 挂载都挂了。我检查了系统日志,现在看到了以下内容:
Sep 29 04:29:10 ip-10-10-10-10 kernel: [ 9589.594814] RPC: AUTH_GSS upcall failed. Please check user daemon is running.
所有其他调试 NFS 的方法仍显示它已启动并正在运行(telnet、rpcinfo 等)。AUTH_GSS 服务是什么?为什么需要运行它?我在 Google 上搜索过,但我看不出它为什么还不运行。
** 更新 **
除此之外,我现在在服务器上看到以下内容:
Sep 29 05:55:12 ip-10-10-10-10 rpc.gssd[860]: ERROR: can't open /run/rpc_pipefs/gssd/clntXX/info: No such file or directory
Sep 29 05:55:12 ip-10-10-10-10 rpc.gssd[860]: ERROR: failed to read service info
** 进一步调试 **
需要明确的是,它确实在运行,并且接受来自客户端计算机的连接。我能够毫无问题地从客户端计算机远程登录到 111 和 2049。
答案1
全局搜索应用程序编程接口或者当使用 Kerberos 进行身份验证和加密时,NFS(版本 3 和 4)使用通用安全服务应用程序编程接口。
ubuntu 配置文件中/etc/default/nfs-common
有几行关于此的内容:
# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=
配置 Kerberos 和 GSS,或者确保不使用它们。
有一个相关的错误报告在启动板上建议NEED_GSSD=yes
通过将模块列入黑名单来设置或禁用 GSS rpcsec_gss_krb5
(在/etc/modprobe.d/blacklist.conf
,之后您需要重新启动)。