Creating the Client CellServDB File

The /usr/vice/etc/CellServDB file on a client machine's local disk lists the database server machines for each cell that the local Cache Manager can contact. If there is no entry in the file for a cell, or if the list of database server machines is wrong, then users working on this machine cannot access the cell. The chapter in the OpenAFS Administration Guide about administering client machines explains how to maintain the file after creating it.

As the afsd program initializes the Cache Manager, it copies the contents of the CellServDB file into kernel memory. The Cache Manager always consults the list in kernel memory rather than the CellServDB file itself. Between reboots of the machine, you can use the fs newcell command to update the list in kernel memory directly; see the chapter in the OpenAFS Administration Guide about administering client machines.

The AFS distribution includes the file CellServDB.dist. It includes an entry for all AFS cells that agreed to share their database server machine information at the time the distribution was created. The definitive copy of this file is maintained at grand.central.org, and updates may be obtained from /afs/grand.central.org/service/CellServDB or http://grand.central.org/dl/cellservdb/CellServDB

The CellServDB.dist file can be a good basis for the client CellServDB file, because all of the entries in it use the correct format. You can add or remove cell entries as you see fit. Depending on your cache manager configuration, additional steps (as detailed in Enabling Access to Foreign Cells) may be required to enable the Cache Manager to actually reach the cells.

In this section, you add an entry for the local cell to the local CellServDB file. The current working directory is still /usr/vice/etc.

  1. Remove the symbolic link created in Starting the BOS Server and rename the CellServDB.sample file to CellServDB.

       # rm CellServDB
       # mv CellServDB.sample CellServDB
    
  2. Add an entry for the local cell to the CellServDB file. One easy method is to use the cat command to append the contents of the server /usr/afs/etc/CellServDB file to the client version.

        # cat  /usr/afs/etc/CellServDB >>  CellServDB   
    

    Then open the file in a text editor to verify that there are no blank lines, and that all entries have the required format, which is described just following. The ordering of cells is not significant, but it can be convenient to have the client machine's home cell at the top; move it there now if you wish.

    • The first line of a cell's entry has the following format:

         >cell_name      #organization   
      

      where cell_name is the cell's complete Internet domain name (for example, example.com) and organization is an optional field that follows any number of spaces and the number sign (#). By convention it names the organization to which the cell corresponds (for example, the Example Corporation).

    • After the first line comes a separate line for each database server machine. Each line has the following format:

         IP_address   #machine_name   
      

      where IP_address is the machine's IP address in dotted decimal format (for example, 192.12.105.3). Following any number of spaces and the number sign (#) is machine_name, the machine's fully-qualified hostname (for example, db1.example.com). In this case, the number sign does not indicate a comment; machine_name is a required field.

  3. If the file includes cells that you do not wish users of this machine to access, remove their entries.

The following example shows entries for two cells, each of which has three database server machines:

   >example.com       #Example Corporation (home cell)
   192.12.105.3      #db1.example.com
   192.12.105.4      #db2.example.com
   192.12.105.55     #db3.example.com
   >example.org    #Example Organization cell
   138.255.68.93     #serverA.example.org
   138.255.68.72     #serverB.example.org
   138.255.33.154    #serverC.example.org