linux rpc.statd的作用是什么

寻技术 Linux 2023年09月14日 98

这篇文章主要介绍“linux rpc.statd的作用是什么”,在日常操作中,相信很多人在linux rpc.statd的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux rpc.statd的作用是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在linux中,rpc.statd是一个进程,实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动,语法“/sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-V]”。rpc.statd进程被nfslock服务自动启动,不需要用户的配置。

下面的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 实现了重启通知服务。

NFS 文件锁定服务 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 作为守护程序名称(即使二进制文件具有不同的名称)。

关闭

用微信“扫一扫”