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
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 functions, including:
· Fetching files. The Cache Manager contacts the VL Server to learn
the location of the volume containing a requested file or
· 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
· 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 command.
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 server machines.
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 need it.
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
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
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
The following example shows entries for two cells in a client
CellServDB file and illustrates the required format.
>abc.com # ABC Corporation
>test.abc.com abc.com # ABC Corporation Test Cell
afsd(8), bos_addhost(8), bos_listhosts(8), bos_removehost(8),
bos_setcellname(8), buserver(8), fs_newcell(1), kaserver(8), klog(1),
ptserver(8), vlserver(8), upclient(8), upserver(8)
OpenAFS Quick Start
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.