freebsd-dev/usr.sbin/rpc.statd/rpc.statd.8
Ravi Pokala 90e43b446d Add and document options to allow rpc.lockd and rpc.statd to run in the
foreground.

This allows a separate process to monitor when and how those programs exit.
That process can then restart them if needed.

Submitted by:	Alex Burlyga
Reviewed by:	bcr, imp
MFC after:	1 week
Sponsored by:	Panasas
Differential Revision:	https://reviews.freebsd.org/D22474
2019-11-22 16:53:30 +00:00

150 lines
4.8 KiB
Groff

.\" -*- nroff -*-
.\"
.\" Copyright (c) 1995 A.R.Gordon, andrew.gordon@net-tel.co.uk
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 21, 2019
.Dt RPC.STATD 8
.Os
.Sh NAME
.Nm rpc.statd
.Nd host status monitoring daemon
.Sh SYNOPSIS
.Nm
.Op Fl d
.Op Fl F
.Op Fl h Ar bindip
.Op Fl p Ar port
.Sh DESCRIPTION
The
.Nm
utility
is a daemon which co-operates with
.Nm
daemons on other hosts to provide
a status monitoring service.
The daemon accepts requests from
programs running on the local host (typically,
.Xr 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
.Nm
re-starts, it will notify all of the hosts which were being monitored
at the time of the crash.
.Pp
The following option is available:
.Bl -tag -width indent
.It Fl 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.
.It Fl F
Run
.Nm
in the foreground, rather than going into daemon mode.
This is useful if some other process uses
.Xr fork 2
and
.Xr exec 3
to run
.Nm ,
and wants to monitor when and how it exits.
.It Fl h Ar bindip
Specify specific IP addresses to bind to.
This option may be specified multiple times.
If no
.Fl h
option is specified,
.Nm
will bind to
.Dv INADDR_ANY .
Note that when specifying IP addresses with
.Fl h ,
.Nm
will automatically add
.Li 127.0.0.1
and if IPv6 is enabled,
.Li ::1
to the list.
.It Fl p
The
.Fl p
option allow to force the daemon to bind to the specified
.Ar port ,
for both AF_INET and AF_INET6 address families.
.El
.Pp
The
.Nm
utility must NOT be invoked by
.Xr inetd 8
because the protocol assumes that the daemon will run from system start time.
Instead, it should be run from
.Xr rc 8
after the network has been started.
.Sh FILES
.Bl -tag -width /usr/include/rpcsvc/sm_inter.x -compact
.It Pa /var/db/statd.status
non-volatile record of currently monitored hosts.
.It Pa /usr/include/rpcsvc/sm_inter.x
RPC protocol specification used by local applications to register monitoring requests.
.El
.Sh SEE ALSO
.Xr syslog 3 ,
.Xr rc 8 ,
.Xr rpc.lockd 8
.Sh STANDARDS
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
.Sh 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 re-try notification attempts at frequent intervals for 10 minutes,
then hourly, and finally gives up after 24 hours.
.Pp
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.
.Pp
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.