rpc.statd —
host status monitoring
daemon
rpc.statd |
[-d] [-F]
[-h bindip]
[-p port] |
The rpc.statd utility is a daemon which
co-operates with rpc.statd daemons on other hosts to
provide a status monitoring service. The daemon accepts requests from
programs running on the local host (typically,
rpc.lockd(8), the NFS file locking daemon) to monitor the
status of specified hosts. If a monitored host crashes and restarts, the
remote daemon will notify the local daemon, which in turn will notify the
local program(s) which requested the monitoring service. Conversely, if this
host crashes and re-starts, when the rpc.statd
re-starts, it will notify all of the hosts which were being monitored at the
time of the crash.
The following option is available:
-d
- Cause debugging information to be written to syslog, recording all RPC
transactions to the daemon. These messages are logged with level LOG_DEBUG
and facility LOG_DAEMON. Error conditions are logged irrespective of this
option, using level LOG_ERR.
-F
- Run
rpc.statd in the foreground, rather than going
into daemon mode. This is useful if some other process uses
fork(2) and
exec(3) to run rpc.statd, and wants
to monitor when and how it exits.
-h
bindip
- Specify specific IP addresses to bind to. This option may be specified
multiple times. If no
-h option is specified,
rpc.statd will bind to
INADDR_ANY. Note that when specifying IP addresses
with -h, rpc.statd will
automatically add 127.0.0.1 and if IPv6 is
enabled, ::1 to the list.
-p
- The
-p option allow to force the daemon to bind to
the specified port, for both AF_INET and AF_INET6
address families.
The rpc.statd utility must NOT be invoked
by
inetd(8) because the protocol assumes that the daemon will
run from system start time. Instead, it should be run from
rc(8) after the network has been started.
- /var/db/statd.status
- non-volatile record of currently monitored hosts.
- /usr/include/rpcsvc/sm_inter.x
- RPC protocol specification used by local applications to register
monitoring requests.
The implementation is based on the specification in X/Open CAE
Specification C218, "Protocols for X/Open PC Interworking: XNFS, Issue
4", ISBN 1 872630 66 9
There is no means for the daemon to tell when a monitored host has
disappeared permanently (e.g. catastrophic hardware failure), as opposed to
transient failure of the host or an intermediate router. At present, it will
re-try notification attempts at frequent intervals for 10 minutes, then
hourly, and finally gives up after 24 hours.
The protocol requires that symmetric monitor requests are made to
both the local and remote daemon in order to establish a monitored
relationship. This is convenient for the NFS locking protocol, but probably
reduces the usefulness of the monitoring system for other applications.
The current implementation uses more than 1Kbyte per monitored
host in the status file (and also in VM). This may be inefficient for NFS
servers with large numbers of clients.