CELLSERVDB(5)
π CELLSERVDB π
okay bestie, welcome to the manual page for CellServDB β that's section 5 of the AFS File Reference, and she's a very important little text file. grab a snack, we're doing this π
β¨ NAME β¨
CellServDB β the file that lists all the database server machines in AFS cells π
πΈ DESCRIPTION πΈ
so here's the tea: there are two versions of the CellServDB file and they both use the exact same format. iconic, honestly.
- One version is for an AFS client. It lists every database server machine in the local cell, plus any foreign cell that's supposed to be reachable from the local client machine.
- The other version lives on servers and only needs to list the database servers in the local cell. in some configurations it can literally just be a link to the same file the client uses.
π«Ά Client CellServDB
along with AFSDB and SRV entries in DNS, the client version lists the database server machines in the local cell and any foreign cell that's gonna be accessible from the local client machine.
these database server machines run the Authentication Server (optional), the Backup Server (optional), the Protection Server, and the Volume Location (VL) Server β aka the kaserver, buserver, ptserver, and vlserver processes β and those are what maintain the cell's administrative AFS databases. no big deal, just the whole backbone π₯
the Cache Manager and other processes on a client machine use this list of a cell's database server machines for a bunch of common functions, including:
- Fetching files. The Cache Manager hits up the VL Server to find out where the volume containing the requested file or directory actually lives.
- Creating, viewing, and manipulating protection groups. The
ptscommand interpreter contacts the Protection Server whenever users create protection groups or ask for info from the Protection Database. - Populating the contents of the fake
root.afsvolume mounted at/afs(or whatever alternative mount point you specified incacheinfo) whenafsdis run in-dynrootmode. the default contents of this directory will match the cells listed in the clientCellServDBfile. - Authenticating users. Client-side authentication programs (like an AFS-modified login utility, or the
klogcommand interpreter) contact the Authentication Server to get a server ticket, which the AFS server processes accept as proof that the user is authenticated. β οΈ this one only applies to AFS cells using the deprecated Authentication Server instead of Kerberos v5 andaklog.
the Cache Manager reads the CellServDB file into kernel memory when it initializes, and then not again until the machine reboots or the client service restarts. so to keep users on the local machine accessing the cell correctly, update the file every single time a database server machine is added to or removed from a cell. and if you wanna update that kernel-resident list of database server machines without rebooting? use the fs newcell command. she's your girl for that π
if the client tries to access an AFS cell that is not listed in CellServDB and afsd was started with the -afsdb option, the Cache Manager will attempt a DNS SRV or AFSDB record lookup and dynamically add the database server locations for that cell based on the result of the DNS query. but if -afsdb was not used, then every AFS cell the client machine will access must either be listed in CellServDB or added with the fs newcell command. no exceptions, fr fr.
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 CellServDB 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. different vibes, same format.
π¦ Server CellServDB
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 very first version of the file gets created with the bos setcellname command during the installation of the cell's server machine β and that machine is automatically recorded as the cell's first database server machine. cute β¨ when you add or remove database server machines, please remember 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 that allows each of them to be elected synchronization site and coordinate updates, can also be set up as readonly database clone servers. bestie, listen: such servers can never be elected as the synchronization site. that's just the rule. π
the database server processes consult the CellServDB file to learn about their peers, and they have to maintain constant connections with those peers 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.
and now the part where you have to trust me: even though the server CellServDB file is in ASCII format, do not use a text editor to alter it. do not do it. instead, always use the appropriate commands from the bos command suite:
- The
bos addhostcommand to add a machine to the file. - The
bos listhostscommand to display the list of machines from the file. - The
bos removehostcommand 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's customary to edit only the copy of the file stored on the system control machine. otherwise, you edit the file on each server machine individually. for instructions on adding and removing database server machines, see the OpenAFS Quick Start chapter on installing additional server machines. and good news β updates to the server CellServDB will trigger reloading the cell server configurations automatically in the AFS server processes. slay. π
π CellServDB Format
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 with no intervening space. optionally, a comment can follow any number of spaces and an octothorpe (#) β maybe to identify the organization associated with the cell. there's also a variant that lets you define a linked cell: after the leading (>) and the 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 with no intervening space. β οΈ this number sign does not mean the hostname is a comment β it's a required field.
- the database server machine's IP address in dotted-decimal format, optionally enclosed in square braces (
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, which results in an error message. be so serious about this one. π
for the client CellServDB, you might want to make the client aware of a cell (so it's listed by default in /afs when the -dynroot flag to afsd is in use, for instance) without specifying the database server machines for that cell. you do that by including only the cell line (starting with >) and omitting any following database server machine lines. note that afsd must be configured with the -afsdb option to use DNS SRV or AFSDB record lookups to locate database server machines. if the cell has such records and the client is configured to use them, this setup won't require updates to the client CellServDB file when the IP addresses of the database server machines change. very low-maintenance, very main character. π
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's customary to register the change with grand.central.org for inclusion in this file. the file conforms to the required CellServDB format, so it's a perfectly suitable basis for the CellServDB file on a client machine. you can download this file from <http://grand.central.org/>.
π EXAMPLES π
the following example shows entries for two cells in a client CellServDB file and illustrates the required format.
>example.com # Example Corporation
192.12.105.2 #db1.example.com
192.12.105.3 #db2.example.com
[192.12.107.3] #db3.example.com
>test.example.com example.com # Example Corporation Test Cell
192.12.108.57 #testdb1.example.com
192.12.108.55 #testdb2.example.com
the following example shows entries for two linked cells in a client CellServDB file. the a.example.com cell is linked to the b.example.com cell.
>b.example.com # B cell
192.12.108.57 # db1.b.example.com
>a.example.com b.example.com # A cell
192.12.105.2 # db1.a.example.com
in such a setup, if a client is looking for a volume in cell a.example.com and that volume doesn't exist, the client will try to find that volume again in cell b.example.com. π¨ the order is important. you must list the cell being linked before the cell doing the linking.
the Windows client supports linking in two directions. the UNIX client does not allow bidirectional linkage. sorry, that's just how it is. π
π SEE ALSO π
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
π 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.
and that's the whole page, bestie π«Ά this was the OpenAFS CellServDB(5) page, dated 2026-07-27, and you absolutely ate it. go update your cells responsibly. bye mwah πβ¨π
π¦ where this page comes from
- ubuntu stonking: openafs-client 1.8.16.1-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms