=head1 NAME

BosConfig - Defines server processes for the BOS Server to monitor

=head1 DESCRIPTION

The F<BosConfig> file lists the processes that the Basic OverSeer (BOS)
Server monitors on its server machine, and thus defines which AFS server
processes run on the machine. It specifies how the BOS Server reacts when
a process fails, and also defines the times at which the BOS Server
automatically restarts processes as part of performance maintenance.  The
file must reside in the F</usr/afs/local> directory on each AFS server
machine.

A server process entry in the F<BosConfig> file records the following
information:

=over 4

=item *

The I<entry type>, which is one of the following:

=over 4

=item cron

Designates a server process that runs periodically instead of
continuously. The BOS Server starts a cron process only at specified
times, not whenever it fails. All standard AFS process entries except
C<fs> are simple (there are no standard cron processes).

=item fs

Designates a group of interdependent server processes. If one of the
processes fails, the BOS Server must coordinate its restart with the
restart of the other processes in the group, possibly by stopping them
first.

There is only one standard entry of this type, for which the conventional
name is C<fs>. It combines three server processes: the File Server
(B<fileserver> process), the Volume Server (B<volserver> process), and the
Salvager (B<salvager> process). These processes all operate on the same
data--the AFS data stored on an AFS server machine's F</vicep> partitions
and mounted in the AFS filespace--but in different ways. Grouping the
processes prevents them from attempting to access the same data
simultaneously, which can cause corruption.

During normal operation, the Salvager process is not active. If the File
Server process fails, however, the BOS Server stops the Volume Server
process and runs the Salvager process to correct any corruption that
resulted from the failure. (The administrator can also issue the B<bos
salvage> command to invoke the Salvager process.) If the Volume Server
fails, the BOS Server can restart it without stopping the File Server or
running the Salvager.

=item simple

Designates a server process that runs independently of any other on the
server machine. If a simple process fails, the BOS Server does not have to
coordinate its restart with any other process.

=back

=item *

The I<entry name>. The conventional name for an entry in the F<BosConfig>
file and the associated process matches the binary filename. When issuing
any B<bos> command that takes the B<-instance> argument, identify each
process by the name used in the F<BosConfig> file. For a list of the
names, see the B<bos create> reference page.

=item *

The process's I<status flag>, which determines whether the BOS Server
attempts to start the process in two cases: each time the BOS Server
itself restarts, and when the process fails. The F<BosConfig> file
currently uses a binary notation to indicate whether the BOS Server
attempts to restart the process as necessary or does not monitor it at
all. For the sake of clarity, the AFS documentation refers to the flags as
C<Run> and C<NotRun> instead.  Only a system administrator, not the BOS
Server, can change the flag.

=item *

One or more I<command parameters> which the BOS Server invokes to start
the process or processes associated with the entry:

=over 4

=item *

A C<cron> entry has two command parameters, the first the complete
pathname to the program, and the second the time at which the BOS Server
invokes the program.

=item *

The C<fs> entry has three command parameters, each the complete pathname
to the B<fileserver>, B<volserver>, and B<salvager> programs, in that
order.

=item *

A C<simple> entry has only one command parameter, the complete pathname to
the program.

=back

=back

In addition to server process entries, the F<BosConfig> file specifies the
times at which the BOS Server performs two types of automatic process
restarts:

=over 4

=item *

The I<general restart> time at which the BOS Server restarts itself and
then each process for which the entry in the F<BosConfig> file has status
flag C<Run>. The default setting is Sunday at 4:00 a.m.

=item *

The I<binary restart> time at which the BOS Server restarts any server
process for which the time stamp on the binary file in the F</usr/afs/bin>
directory is later than the last restart time for the process. The default
is 5:00 a.m.

=back

Finally, there is an entry specifying whether the BOS Server will start in
restricted mode.

Although the F<BosConfig> file is in ASCII format, it is normally best not
to use a text editor to alter it.  The parser is very picky, and
incorrectly formatted entries can prevent server startup in ways that are
difficult to diagnose. Instead, use the appropriate commands from the
B<bos> command suite:

=over 4

=item *

The B<bos create> command to create an entry in the file and start the
associated process.

=item *

The B<bos delete> command to remove an entry from the file after the B<bos
stop> command is used to stop the associated process.

=item *

The B<bos getrestart> command to display the times at which the BOS Server
performs automatic restarts.

=item *

The B<bos getrestricted> command to display whether the BOS Server is running
in restricted mode.

=item *

The B<bos setrestart> command to set the times at which the BOS Server
performs automatic process restarts.

=item *

The B<bos setrestricted> command to place the BOS Server in restricted mode.

=item *

The B<bos start> command to change an entry's status flag to C<Run> and
start the associated process.

=item *

The B<bos status> command to display all processes listed in the file.

=item *

The B<bos stop> command to change an entry's status flag to C<NotRun> and
stop the associated process.

=back

There are also bos commands that start and stop processes without changing
entries in the F<BosConfig> file. The BOS Server reads the F<BosConfig>
file only when it starts, transferring the information into its
memory. Thus a process's status as represented in the BOS Server's memory
can diverge from its status in the F<BosConfig> file. The following
commands change a process's status in the BOS Server's memory only:

=over 4

=item *

The B<bos restart> command restarts a specified set of processes, all
processes, or all processes other than the BOS Server.

=item *

The B<bos shutdown> command stops a process.

=item *

The B<bos startup> command starts a process.

=back

When the BOS Server shuts down, it rewrites F<BosConfig>, discarding any
changes made manually to that file.  To change the configuration for the
next BOS Server restart, instead write a new file to F<BosConfig.new>.  If
F<BosConfig.new> exists when the BOS Server starts, F<BosConfig> will be
replaced by F<BosConfig.new> before the BOS Server reads its configuration.
Note that the BOS Server will notice a new F<BosConfig.new> file whenever the
I<general restart> time is reached, if one is configured, since the BOS Server
restarts itself at that time.

=head1 SEE ALSO

L<bos_create(8)>,
L<bos_delete(8)>,
L<bos_getrestart(8)>,
L<bos_getrestricted(8)>,
L<bos_restart(8)>,
L<bos_setrestart(8)>,
L<bos_setrestricted(8)>,
L<bos_shutdown(8)>,
L<bos_start(8)>,
L<bos_startup(8)>,
L<bos_status(8)>,
L<bos_stop(8)>,
L<bos_salvage(8)>,
L<fileserver(8)>,
L<salvager(8)>,
L<volserver(8)>

=head1 COPYRIGHT

IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0.  It was
converted from HTML to POD by software written by Chas Williams and Russ
Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
