linux rpc.statd的作用是什么

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的作用是什么的详细内容,更多请关注其它相关文章!