CellServDB - Lists the database server machines in AFS cells
There are two versions of the CellServDB file, both of which have the
same format. One version is used by an AFS client and lists all of the
database server machines in the local cell and any foreign cell that is to
be accessible from the local client machine. The other version is used on
servers and need list only the database servers in the local cell; in some
configurations it can be a link to the same file the client uses.
Along with AFSDB entries in DNS, the client version of the CellServDB file
lists the database server machines in the local cell and any foreign cell
that is to be accessible from the local client machine. Database server
machines run the Authentication Server (optional), Backup Server
(optional), Protection Server, and Volume Location (VL) Server (the
kaserver, buserver, ptserver, and vlserver) processes, which
maintain the cell's administrative AFS databases.
The Cache Manager and other processes running on a client machine use the
list of a cell's database server machines when performing several common
Fetching files. The Cache Manager contacts the VL Server to learn
the location of the volume containing a requested file or directory.
Creating, viewing, and manipulating protection groups. The pts command
interpreter contacts the Protection Server when users create protection
groups or request information from the Protection Database.
Populating the contents of the fake root.afs volume mounted at /afs
(or the alternative mount point specified in cacheinfo) when afsd is
run in "-dynroot" mode. The default contents of this directory will
match the cells listed in the client CellServDB file.
Authenticating users. Client-side authentication programs (such as an
AFS-modified login utility or the klog command interpreter) contact the
Authentication Server to obtain a server ticket, which the AFS server
processes accept as proof that the user is authenticated. This only
applies to AFS cells using the deprecated Authentication Server instead of
Kerberos v5 and aklog.
The Cache Manager reads the CellServDB file into kernel memory as it
initializes, and not again until the machine next reboots or the client
service restarts. To enable users on the local machine to continue
accessing the cell correctly, update the file whenever a database server
machine is added to or removed from a cell. To update the kernel-resident
list of database server machines without rebooting, use the fs newcell
If the client attempts to access an AFS cell not listed in CellServDB
and afsd was started with the -afsdb option, the Cache Manager will
attempt an AFSDB DNS record lookup and dynamically add the database server
locations for that cell based on the result of the DNS query. If the
-afsdb option was not used, all AFS cells that will be accessed by a
client machine must either be listed in CellServDB or added with the
fs newcell command.
The CellServDB file is in ASCII format and must reside in the
/etc/openafs directory on each AFS client machine. Use a text editor
to create and maintain it.
The client version of the CellServDB file is distinct from the server
version, which resides in the /etc/openafs/server directory on each AFS server
machine. The client version lists the database server machines in every
AFS cell that the cell administrator wants the machine's users to be able
to access, whereas the server version lists only the local cell's database
The server version of the CellServDB file lists the local cell's
database server machines. These machines run the Authentication Server
(optional), Backup Server (optional), Protection Server, and Volume
Location (VL) Server (the kaserver, buserver, ptserver, and
vlserver) processes, which maintain the cell's administrative AFS
databases. The initial version of the file is created with the bos
setcellname command during the installation of the cell's server machine,
which is automatically recorded as the cell's first database server
machine. When adding or removing database server machines, be sure to
update this file appropriately. It must reside in the /etc/openafs/server
directory on each AFS server machine. The database server processes,
in addition to the usual configuration allowing each to be elected
synchronization site and coordinate updates, can be set up as readonly
database clone servers. Such servers can never be elected as the
The database server processes consult the CellServDB file to learn
about their peers, with which they must maintain constant connections in
order to coordinate replication of changes across the multiple copies of
each database. The other AFS server processes consult the file to learn
which machines to contact for information from the databases when they
Although the server CellServDB file is in ASCII format, do not use a
text editor to alter it. Instead always use the appropriate commands from
the bos command suite:
The bos addhost command to add a machine to the file.
The bos listhosts command to display the list of machines from the
The bos removehost command to remove a machine from the file.
In cells that use the Update Server to distribute the contents of the
/etc/openafs/server directory, it is customary to edit only the copy of the
file stored on the system control machine. Otherwise, edit the file on
each server machine individually. For instructions on adding and removing
database server machine, see the OpenAFS Quick Start chapter on
installing additional server machines. Updates to the server CellServDB
will trigger reloading the cell server configurations automatically in the
AFS server processes.
Both CellServDB files have the same format:
The first line begins at the left margin with the greater-than character
(">"), followed immediately by the cell's name without an intervening
space. Optionally, a comment can follow any number of spaces and a octothorpe
("#"), perhaps to identify the organization associated with the
cell. A variant of this allows the defintion of a linked cell: after the
leading (">") and cell name, a space and a second cell name may be
listed before the optional spaces, octothorpe and comment.
Each subsequent line in the entry identifies one of the cell's database
server machines, with the indicated information in order:
The database server machine's IP address in dotted-decimal format, optionally
enclosed in square braces ("[")("]") to define a non-voting clone.
One or more spaces.
An octothorpe (#), followed by the machine's fully qualified hostname
without an intervening space. This number sign does not indicate that the
hostname is a comment. It is a required field.
No extra blank lines or newline characters are allowed in the file, even
after the last entry. Their presence can prevent the Cache Manager from
reading the file into kernel memory, resulting in an error message.
grand.central.org maintains a list of the database server machines in all
cells that have registered themselves as receptive to access from foreign
cells. When a cell's administrators change its database server machines,
it is customary to register the change with grand.central.org for
inclusion in this file. The file conforms to the required CellServDB
format, and so is a suitable basis for the CellServDB file on a client
machine. You can download this file from <http://grand.central.org/>.
The following example shows entries for two cells in a client
CellServDB file and illustrates the required format.
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.