HTF*_*HTF 8 redhat nfs rpc nfs4
根据Red Hat 文档,不再需要“rpcbind”:
由于协议支持已合并到 v4 协议中,NFSv4 与 portmap、rpc.lockd 和 rpc.statd 守护进程没有交互。NFSv4 侦听众所周知的 TCP 端口 2049,这消除了端口映射交互的需要。挂载和锁定协议已合并到 V4 协议中,从而无需与 rpc.lockd 和 rpc.statd 交互。服务器上仍然需要 rpc.mountd 守护进程,但不涉及任何在线操作。
但是,当“rpcbind”服务未运行时,我无法启动 NFS 恶魔:
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[FAILED]
Starting NFS mountd: [ OK ]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
[FAILED]
Run Code Online (Sandbox Code Playgroud)
我已禁用 NFS v2 和 v3:
# grep -v "^#" /etc/sysconfig/nfs
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
Run Code Online (Sandbox Code Playgroud)
您能否从下面列出的这些服务中确认服务器和客户端上需要/必需的服务(基本上我想禁用不需要的服务):
# rpm -ql nfs-utils | grep 'init.d'
/etc/rc.d/init.d/nfs
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
Run Code Online (Sandbox Code Playgroud)
Pio*_*icz 10
这是 NFS 服务器内核模块中的一个错误。它于2013 年 12 月修补。
从内核 3.14 开始,rpcbind
不再需要在内核中运行 NFS 服务器。
(假设服务器配置为仅使用 NFSv4 及更高版本)
http://lxr.free-electrons.com/source/net/sunrpc/svc.c?v=3.14#L966
您可以在此线程中找到有关该更改的更多信息:
http://www.spinics.net/lists/linux-nfs/msg41053.html
因此,您的配置:
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
Run Code Online (Sandbox Code Playgroud)
现在应该没有rpcbind
.
仅使用 NFSv4 时,不需要以下任何服务:
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
Run Code Online (Sandbox Code Playgroud)