我了解它rpcbind
在 NFS 服务器上运行以响应来自客户端的端口映射请求。
rpcbind
NFS 上是否需要守护进程客户?
我很惊讶这个问题很难找到明确的答案。这可能是因为没有理由怀疑它是必需的。
我之所以问这个问题,是因为我发现它rpcbind
在许多不是 NFS 服务器的 Debian 服务器上运行。令人惊讶的是,nfs-common
包直接依赖于rpcbind
,即使:
在任何使用 NFS 的机器上使用此包,无论作为客户端还是服务器。
相关 Serverfault 问题:
-
我不明白为什么 nfs-common 依赖 rpcbind,即使它没有 rpcbind 也能工作。我是不是漏掉了什么?也许文件锁定或 nfs 统计需要 rpcbind。
可以删除 debian wheezy 中默认安装的 rpcbind 包吗?
是的,如果您不打算在服务器上使用 NFS,您可以安全地删除 rpcbind。
-
apt-cache depends nfs-common
给出rpcbind
直接依赖关系。
答案1
NFS 客户端使用服务器上的 rpcbind 服务来发现 nfsd 使用的端口号。
此外,对于 nfs v2 和 v3 的客户端,还需要rpc-statd服务用于管理锁。由于 rpc-statd 在客户端上运行,因此应该在客户端上运行 rpcbind,以便 nfs 服务器发现 rpc-statd 监听哪个端口。
因此,对于使用 nfs v4 的客户端,可以禁用 rpcbind、rpc-statd 和 rpc-statd-notify 服务。这可能需要修改一些 .service 文件。
换句话说 -使用 v2 和 v3 的 nfs 客户端需要 rpcbind 服务,因为它需要文件锁定,并且可以为 nfs v4 客户端禁用该服务,因为锁定是 NFSv4.0 协议的一部分。