3.2. NFS 所需的服务
这部分列出了运行 NFS 服务器或挂载 NFS 共享所需的系统服务。Red Hat Enterprise Linux 会自动启动这些服务。
Red Hat Enterprise Linux 使用内核级支持和服务流程组合提供 NFS 文件共享。所有 NFS 版本都依赖于客户端和服务器间的远程过程调用(RPC)。要共享或者挂载 NFS 文件系统,下列服务根据所使用的 NFS 版本而定:
nfsd
- 为共享 NFS 文件系统请求的 NFS 服务器内核模块。
rpcbind
-
接受本地 RPC 服务的端口保留。这些端口随后可用(或公布出去),这样相应的远程 RPC 服务可以访问它们。
rpcbind
服务响应对 RPC 服务的请求,并建立到请求的 RPC 服务的连接。这不能与 NFSv4 一起使用。 rpc.mountd
-
NFS 服务器使用这个进程来处理来自 NFSv3 客户端的
MOUNT
请求。它检查所请求的 NFS 共享是否目前由 NFS 服务器导出,并且允许客户端访问它。如果允许挂载请求,nfs-mountd
服务会回复 Success 状态,并将此 NFS 共享的文件句柄返回给 NFS 客户端。 rpc.nfsd
-
这个过程启用了要定义的服务器公告的显式 NFS 版本和协议。它与 Linux 内核一起使用,来满足 NFS 客户端的动态需求,例如,在每次连接 NFS 客户端时提供服务器线程。这个进程对应于
nfs-server
服务。 lockd
- 这是一个在客户端和服务器中运行的内核线程。它实现网络锁管理器(NLM)协议,它允许 NFSv3 客户端锁住服务器上的文件。每当运行 NFS 服务器以及挂载 NFS 文件系统时,它会自动启动。
rpc.statd
-
这个进程实现网络状态监控器(NSM)RPC 协议,该协议可在 NFS 服务器没有正常关机而重启时通知 NFS 客户端。
rpc-statd
服务由nfs-server
服务自动启动,不需要用户配置。这不能与 NFSv4 一起使用。 rpc.rquotad
-
这个过程为远程用户提供用户配额信息。启动
nfs-server
时,用户也必须启动quota-rpc
软件包提供的rpc-rquotad
服务。 rpc.idmapd
此进程为 NFSv4 客户端和服务器提供上行调用,这些调用在线上 NFSv4 名称(
user@domain
形式的字符串)和本地 UID 和 GID 之间进行映射。要使idmapd
与 NFSv4 正常工作,必须配置/etc/idmapd.conf
文件。至少应指定Domain
参数,该参数定义 NFSv4 映射域。如果 NFSv4 映射域与 DNS 域名相同,可以跳过这个参数。客户端和服务器必须同意 NFSv4 映射域才能使 ID 映射正常工作。只有 NFSv4 服务器使用
rpc.idmapd
,它由nfs-idmapd
服务启动。NFSv4 客户端使用基于密钥环的nfsidmap
工具,内核按需调用它来执行 ID 映射。如果nfsidmap
有问题,客户端将退回使用rpc.idmapd
。
NFSv4 的 RPC 服务
挂载和锁定协议已合并到 NFSv4 协议中。该服务器还会监听已知的 TCP 端口 2049。因此,NFSv4 不需要与 rpcbind
、lockd
和 rpc-statd
服务进行交互。NFS 服务器上仍然需要 nfs-mountd
服务来设置导出,但不涉及任何线上操作。