Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / doc / man-pages / pod5 / CellServDB.pod
CommitLineData
805e021f
CE
1=head1 NAME
2
3CellServDB - Lists the database server machines in AFS cells
4
5=head1 DESCRIPTION
6
7There are two versions of the F<CellServDB> file, both of which have the
8same format. One version is used by an AFS client and lists all of the
9database server machines in the local cell and any foreign cell that is to
10be accessible from the local client machine. The other version is used on
11servers and need list only the database servers in the local cell; in some
12configurations it can be a link to the same file the client uses.
13
14=head2 Client CellServDB
15
16Along with AFSDB and SRV entries in DNS, the client version of the CellServDB
17file lists the database server machines in the local cell and any foreign cell
18that is to be accessible from the local client machine. Database server
19machines run the Authentication Server (optional), Backup Server
20(optional), Protection Server, and Volume Location (VL) Server (the
21B<kaserver>, B<buserver>, B<ptserver>, and B<vlserver>) processes, which
22maintain the cell's administrative AFS databases.
23
24The Cache Manager and other processes running on a client machine use the
25list of a cell's database server machines when performing several common
26functions, including:
27
28=over 4
29
30=item *
31
32Fetching files. The Cache Manager contacts the VL Server to learn
33the location of the volume containing a requested file or directory.
34
35=item *
36
37Creating, viewing, and manipulating protection groups. The B<pts> command
38interpreter contacts the Protection Server when users create protection
39groups or request information from the Protection Database.
40
41=item *
42
43Populating the contents of the fake F<root.afs> volume mounted at F</afs>
44(or the alternative mount point specified in F<cacheinfo>) when B<afsd> is
45run in C<-dynroot> mode. The default contents of this directory will
46match the cells listed in the client F<CellServDB> file.
47
48=item *
49
50Authenticating users. Client-side authentication programs (such as an
51AFS-modified login utility or the B<klog> command interpreter) contact the
52Authentication Server to obtain a server ticket, which the AFS server
53processes accept as proof that the user is authenticated. This only
54applies to AFS cells using the deprecated Authentication Server instead of
55Kerberos v5 and B<aklog>.
56
57=back
58
59The Cache Manager reads the CellServDB file into kernel memory as it
60initializes, and not again until the machine next reboots or the client
61service restarts. To enable users on the local machine to continue
62accessing the cell correctly, update the file whenever a database server
63machine is added to or removed from a cell. To update the kernel-resident
64list of database server machines without rebooting, use the B<fs newcell>
65command.
66
67If the client attempts to access an AFS cell not listed in F<CellServDB>
68and B<afsd> was started with the B<-afsdb> option, the Cache Manager will
69attempt a DNS SRV or AFSDB record lookup and dynamically add the database
70server locations for that cell based on the result of the DNS query. If the
71B<-afsdb> option was not used, all AFS cells that will be accessed by a
72client machine must either be listed in F<CellServDB> or added with the
73B<fs newcell> command.
74
75The F<CellServDB> file is in ASCII format and must reside in the
76F</usr/vice/etc> directory on each AFS client machine. Use a text editor
77to create and maintain it.
78
79The client version of the F<CellServDB> file is distinct from the server
80version, which resides in the F</usr/afs/etc> directory on each AFS server
81machine. The client version lists the database server machines in every
82AFS cell that the cell administrator wants the machine's users to be able
83to access, whereas the server version lists only the local cell's database
84server machines.
85
86=head2 Server CellServDB
87
88The server version of the F<CellServDB> file lists the local cell's
89database server machines. These machines run the Authentication Server
90(optional), Backup Server (optional), Protection Server, and Volume
91Location (VL) Server (the B<kaserver>, B<buserver>, B<ptserver>, and
92B<vlserver>) processes, which maintain the cell's administrative AFS
93databases. The initial version of the file is created with the B<bos
94setcellname> command during the installation of the cell's server machine,
95which is automatically recorded as the cell's first database server
96machine. When adding or removing database server machines, be sure to
97update this file appropriately. It must reside in the F</usr/afs/etc>
98directory on each AFS server machine. The database server processes,
99in addition to the usual configuration allowing each to be elected
100synchronization site and coordinate updates, can be set up as readonly
101database clone servers. Such servers can never be elected as the
102synchronization site.
103
104The database server processes consult the F<CellServDB> file to learn
105about their peers, with which they must maintain constant connections in
106order to coordinate replication of changes across the multiple copies of
107each database. The other AFS server processes consult the file to learn
108which machines to contact for information from the databases when they
109need it.
110
111Although the server F<CellServDB> file is in ASCII format, do not use a
112text editor to alter it. Instead always use the appropriate commands from
113the B<bos> command suite:
114
115=over 4
116
117=item *
118
119The B<bos addhost> command to add a machine to the file.
120
121=item *
122
123The B<bos listhosts> command to display the list of machines from the
124file.
125
126=item *
127
128The B<bos removehost> command to remove a machine from the file.
129
130=back
131
132In cells that use the Update Server to distribute the contents of the
133F</usr/afs/etc> directory, it is customary to edit only the copy of the
134file stored on the system control machine. Otherwise, edit the file on
135each server machine individually. For instructions on adding and removing
136database server machine, see the I<OpenAFS Quick Start> chapter on
137installing additional server machines. Updates to the server F<CellServDB>
138will trigger reloading the cell server configurations automatically in the
139AFS server processes.
140
141=head2 CellServDB Format
142
143Both F<CellServDB> files have the same format:
144
145=over 4
146
147=item *
148
149The first line begins at the left margin with the greater-than character
150(C<< > >>), followed immediately by the cell's name without an intervening
151space. Optionally, a comment can follow any number of spaces and a octothorpe
152(C<#>), perhaps to identify the organization associated with the
153cell. A variant of this allows the definition of a linked cell: after the
154leading (C<< > >>) and cell name, a space and a second cell name may be
155listed before the optional spaces, octothorpe and comment.
156
157=item *
158
159Each subsequent line in the entry identifies one of the cell's database
160server machines, with the indicated information in order:
161
162=over 4
163
164=item *
165
166The database server machine's IP address in dotted-decimal format, optionally
167enclosed in square braces (C<< [ >>)(C<< ] >>) to define a non-voting clone.
168
169=item *
170
171One or more spaces.
172
173=item *
174
175An octothorpe (#), followed by the machine's fully qualified hostname
176without an intervening space. This number sign does not indicate that the
177hostname is a comment. It is a required field.
178
179=back
180
181=back
182
183No extra blank lines or newline characters are allowed in the file, even
184after the last entry. Their presence can prevent the Cache Manager from
185reading the file into kernel memory, resulting in an error message.
186
187For the client F<CellServDB>, it may be desirable to make the client aware
188of a cell (so that it's listed by default in F</afs> when the B<-dynroot>
189flag to B<afsd> is in use, for instance) without specifying the database
190server machines for that cell. This can be done by including only the
191cell line (starting with C<< > >>) and omitting any following database
192server machine lines. B<afsd> must be configured with the B<-afsdb> option
193to use DNS SRV or AFSDB record lookups to locate database server
194machines. If the cell has such records and the client is configured to
195use them, this configuration won't require updates to the client
196F<CellServDB> file when the IP addresses of the database server machines
197change.
198
199grand.central.org maintains a list of the database server machines in all
200cells that have registered themselves as receptive to access from foreign
201cells. When a cell's administrators change its database server machines,
202it is customary to register the change with grand.central.org for
203inclusion in this file. The file conforms to the required F<CellServDB>
204format, and so is a suitable basis for the F<CellServDB> file on a client
205machine. You can download this file from L<http://grand.central.org/>.
206
207=head1 EXAMPLES
208
209The following example shows entries for two cells in a client
210F<CellServDB> file and illustrates the required format.
211
212 >example.com # Example Corporation
213 192.12.105.2 #db1.example.com
214 192.12.105.3 #db2.example.com
215 [192.12.107.3] #db3.example.com
216 >test.example.com example.com # Example Corporation Test Cell
217 192.12.108.57 #testdb1.example.com
218 192.12.108.55 #testdb2.example.com
219
220The following example shows entries for two linked cells in a client
221F<CellServDB> file. The a.example.com cell is linked to the b.example.com
222cell.
223
224 >b.example.com # B cell
225 192.12.108.57 # db1.b.example.com
226 >a.example.com b.example.com # A cell
227 192.12.105.2 # db1.a.example.com
228
229In such a setup, if a client is looking for a volume in cell a.example.com
230and that volume doesn't exist, the client will try to find that volume
231again in cell b.example.com. The order is important. You must list the
232cell being linked before the cell doing the linking.
233
234The Windows client supports linking in two directions. The UNIX client
235does not allow bidirectional linkage.
236
237=head1 SEE ALSO
238
239L<afsd(8)>,
240L<bos_addhost(8)>,
241L<bos_listhosts(8)>,
242L<bos_removehost(8)>,
243L<bos_setcellname(8)>,
244L<buserver(8)>,
245L<fs_newcell(1)>,
246L<kaserver(8)>,
247L<klog(1)>,
248L<ptserver(8)>,
249L<vlserver(8)>,
250L<upclient(8)>,
251L<upserver(8)>
252
253I<OpenAFS Quick Start>
254
255=head1 COPYRIGHT
256
257IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
258
259This documentation is covered by the IBM Public License Version 1.0. It was
260converted from HTML to POD by software written by Chas Williams and Russ
261Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.