在linux中,rpc.statd是一个进程,实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动,语法“/sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-V]”。nfslock服务会自动启动rpc.statd进程,不需要用户进行配置。
下面的RPC后台进程是为NFS提供服务的
rpc.mountd
:这个进程接受来自NFS客户端的加载请求和验证请求的文件系统正在被输出。这个进程由NFS服务自动启动,不需要用户的配置。rpc.nfsd
:这个进程是NFS服务器.它和Linux核心一起工作来满足NFS客户端的动态需求,例如提供为每个NFS客户端的每次请求服务器线程。这个进程对应于nfs服务。rpc.lockd
:一个可选的进程,它允许NFS客户端在服务器上对文件加锁。这个进程对应于nfslock服务。rpc.statd
:这个进程实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动。这个进程被nfslock服务自动启动。不需要用户的配置。rpc.rquotad
:这个进程对于远程用户提供用户配额信息。这个进程被nfs服务自动启动,不需要用户的配置。
Linux 命令 rpc.statd
rpc.statd 服务实现了 NSM(网络状态监视器)RPC 协议。
这项服务的名称有些错误,因为它实际上并没有像人们怀疑的那样提供主动监控;相反,NSM 实现了重启通知服务。
rpc.lockd 是用来在 NFS 服务器崩溃和重新启动时恢复锁定的文件服务。
使用 rpc.statd
过去,在某些 Linux 发行版上,我们需要在启动 NFS 服务器时单独启动 rpc.statd。
这主要是由于旧的 Sysvinit 系统。
现在,我们会发现启动 NFS 将自动启动 rpc.statd 和服务器正常运行所需的任何其他组件。
systemctl start nfs
或者(取决于发行版)
systemctl start nfs-server
在启动时启用服务器时也是如此。
基于 Debian 的发行版,例如 Ubuntu 和 Linux Mint 将在我们安装后立即启用 NFS,因此无需执行此操作,但启用服务器看起来像这样:
systemctl enable nfs
或者
systemctl enable nfs-server
同样,确切的命令取决于发行版。
“nfs-server”是一个基于 Debian 的系统。
如果我们需要自定义 rpc.statd 的行为,我们可以使用以下选项进行操作。
通常,我们不会希望单独运行该命令。
相反,我们将复制 Systemd 服务文件,创建原始备份和新副本以自由修改。
然后,我们将使用以下选项更改从该服务文件调用服务的方式。
语法
/sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-V]
操作
对于要监视的每个 NFS 客户端或者服务器机器, rpc.statd 在 /var/lib/nfs/statd/sm 中创建一个文件。
启动时,它遍历这些文件并通知这些机器上的 peerrpc.statd。
选项
-F
默认情况下,rpc.statd 在启动时分叉并置于后台。
-F 参数告诉它保持在前台。
此选项主要用于调试目的。
-d
默认情况下,rpc.statd 通过 syslog (3) 将日志消息发送到系统日志。
-d 参数强制它改为将详细输出记录到 stderr。
此选项主要用于调试目的,只能与 -F 参数结合使用。
-n, --name name
为 rpc.statd 指定一个名称以用作本地主机名。
默认情况下,rpc.statd 会调用 gethostname(2) 来获取本地主机名。
指定本地主机名对于具有多个接口的机器可能很有用。
-o, --outgoing-port 端口
为 rpc.statd 指定一个端口,以从中发送传出状态请求。
默认情况下,rpc.statd 会要求 portmap (8) 为其分配一个端口号。
在撰写本文时,还没有 portmap 总是或者通常分配的标准端口号。
在实施防火墙时指定端口可能很有用。
-p, --port 端口
指定 rpc.statd 监听的端口。
默认情况下,rpc.statd 会要求 portmap (8) 为其分配一个端口号。
在撰写本文时,还没有 portmap 总是或者通常分配的标准端口号。
在实施防火墙时指定端口可能很有用。
-?
导致 rpc.statd 打印出命令行帮助并退出。
-V
使 rpc.statd 打印出版本信息并退出。
TCP_WRAPPERS SUPPORT
此 rpc.statd 版本受 tcp_wrapper 库保护。
如果允许客户端使用 rpc.statd,则必须授予客户端访问权限。
要允许来自 .bar.com 域的客户端的连接,我们可以在 /etc/hosts.allow 中使用以下行:
statd: .bar.com
我们必须使用守护程序名称 statd 作为守护程序名称(即使二进制文件具有不同的名称)。
以上就是linux rpc.statd的作用是什么的详细内容,更多请关注小君博客其它相关文章!