NAME
rpc.statd
—
host status monitoring
daemon
SYNOPSIS
rpc.statd |
[-d ] |
DESCRIPTION
rpc.statd
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
restarts when rpc.statd
restarts, it will notify all
of the hosts which were being monitored at the time of the crash.
The options available are:
-d
- Causes debugging information to be written to
syslog(3), recording all RPC transactions to the daemon. These
messages are logged with level
LOG_DEBUG
and facilityLOG_DAEMON
. Error conditions are logged irrespective of this option, using levelLOG_ERR
.
The rpc.statd
daemon must NOT be invoked
by inetd(8)
because the protocol assumes that the daemon will run from system start
time. Instead, it should be configured in
rc.conf(8) to run at system startup.
FILES
- /usr/include/rpcsvc/sm_inter.x
- RPC protocol specification used by local applications to register monitoring requests.
- /var/db/statd.status
- Non-volatile record of currently monitored hosts.
SEE ALSO
STANDARDS
This implementation is based on the specification in the X/Open CAE Specification C218, "Protocols for X/Open PC Interworking: XNFS, Issue 4", ISBN 1 872630 66 9.
HISTORY
A version of rpc.statd
appeared in SunOS
4. The current implementation was ported from NetBSD
to OpenBSD 4.4.
BUGS
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 retry 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.