ba20711bd862dd52fe782826e073d01154466383
[openafs.git] / doc / xml / QuickStartUnix / auqbg006.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="HDRWQ99">
3   <title>Installing Additional Server Machines</title>
4
5   <para>
6   <indexterm>
7     <primary>instructions</primary>
8
9     <secondary>file server machine after first</secondary>
10   </indexterm>
11
12   <indexterm>
13     <primary>installing</primary>
14
15     <secondary>file server machine after first</secondary>
16   </indexterm>
17
18   <indexterm>
19     <primary>server machine after first</primary>
20
21     <see>file server machine, additional</see>
22   </indexterm>
23
24   Instructions for the following procedures appear in the indicated section of this chapter. <itemizedlist>
25       <listitem>
26         <para><link linkend="HDRWQ100">Installing an Additional File Server Machine</link></para>
27       </listitem>
28
29       <listitem>
30         <para><link linkend="HDRWQ114">Installing Database Server Functionality</link></para>
31       </listitem>
32
33       <listitem>
34         <para><link linkend="HDRWQ125">Removing Database Server Functionality</link></para>
35       </listitem>
36     </itemizedlist></para>
37
38   <para>The instructions make the following assumptions. <itemizedlist>
39       <listitem>
40         <para>You have already installed your cell's first file server machine by following the instructions in <link
41         linkend="HDRWQ17">Installing the First AFS Machine</link></para>
42       </listitem>
43
44       <listitem>
45         <para>You are logged in as the local superuser <emphasis role="bold">root</emphasis></para>
46       </listitem>
47
48       <listitem>
49         <para>You are working at the console</para>
50       </listitem>
51
52       <listitem>
53         <para>A standard version of one of the operating systems supported by the current version of AFS is running on the
54         machine</para>
55       </listitem>
56
57       <listitem>
58         <para>You can access the data on the OpenAFS Binary Distribution for
59         your operating system, either on the local filesystem or via an NFS
60         mount of the distribution's contents.</para>
61       </listitem>
62     </itemizedlist>
63
64   <indexterm>
65     <primary>requirements</primary>
66
67     <secondary>file server machine (additional)</secondary>
68   </indexterm>
69   </para>
70
71   <sect1 id="HDRWQ100">
72     <title>Installing an Additional File Server Machine</title>
73
74     <para>The procedure for installing a new file server machine is similar to installing the first file server machine in your
75     cell. There are a few parts of the installation that differ depending on whether the machine is the same AFS system type as an
76     existing file server machine or is the first file server machine of its system type in your cell. The differences mostly concern
77     the source for the needed binaries and files, and what portions of the Update Server you install: <itemizedlist>
78         <listitem>
79           <para>On a new system type, you must load files and binaries from the 
80           OpenAFS distribution. You may install the server portion of the
81           Update Server to make this machine the binary distribution machine 
82           for its system type.</para>
83         </listitem>
84
85         <listitem>
86           <para>On an existing system type, you can copy files and binaries 
87           from a previously installed file server machine, rather
88           than from the OpenAFS distribution. You may install the client 
89           portion of the Update Server to accept updates of binaries, because a
90           previously installed machine of this type was installed as the binary 
91           distribution machine.</para>
92         </listitem>
93         <listitem>
94           <para>On some system types, distribtution of the appropriate binaries
95           may be acheived using the system's own package management system. In
96           these cases, it is recommended that this system is used, rather than
97           installing the binaries by hand.</para>
98         </listitem>
99       </itemizedlist></para>
100
101     <para>These instructions are brief; for more detailed information, refer to the corresponding steps in <link
102     linkend="HDRWQ17">Installing the First AFS Machine</link>. <indexterm>
103         <primary>overview</primary>
104
105         <secondary>installing server machine after first</secondary>
106       </indexterm></para>
107
108     <para>To install a new file server machine, perform the following procedures: <orderedlist>
109         <listitem>
110           <para>Copy needed binaries and files onto this machine's local disk,
111           as required.</para>
112         </listitem>
113
114         <listitem>
115           <para>Incorporate AFS modifications into the kernel</para>
116         </listitem>
117
118         <listitem>
119           <para>Configure partitions for storing volumes</para>
120         </listitem>
121
122         <listitem>
123           <para>Replace the standard <emphasis role="bold">fsck</emphasis> utility with the AFS-modified version on some system
124           types</para>
125         </listitem>
126
127         <listitem>
128           <para>Start the Basic OverSeer (BOS) Server</para>
129         </listitem>
130
131         <listitem>
132           <para>Start the appropriate portion of the Update Server, if 
133           required</para>
134         </listitem>
135
136         <listitem>
137           <para>Start the <emphasis role="bold">fs</emphasis> process, which incorporates three component processes: the File
138           Server, Volume Server, and Salvager</para>
139         </listitem>
140       </orderedlist></para>
141
142     <para>After completing the instructions in this section, you can install database server functionality on the machine according
143     to the instructions in <link linkend="HDRWQ114">Installing Database Server Functionality</link>. <indexterm>
144         <primary>usr/afs directory</primary>
145
146         <secondary>server machine after first</secondary>
147       </indexterm> <indexterm>
148         <primary>file server machine, additional</primary>
149
150         <secondary>/usr/afs directory</secondary>
151       </indexterm> <indexterm>
152         <primary>creating</primary>
153
154         <secondary>/usr/afs directory</secondary>
155
156         <tertiary>server machine after first</tertiary>
157       </indexterm> <indexterm>
158         <primary>usr/afs/bin directory</primary>
159
160         <secondary>server machine after first</secondary>
161       </indexterm> <indexterm>
162         <primary>file server machine, additional</primary>
163
164         <secondary>/usr/afs/bin directory</secondary>
165       </indexterm> <indexterm>
166         <primary>creating</primary>
167
168         <secondary>/usr/afs/bin directory</secondary>
169
170         <tertiary>server machine after first</tertiary>
171       </indexterm> <indexterm>
172         <primary>usr/vice/etc directory</primary>
173
174         <secondary>server machine after first</secondary>
175       </indexterm> <indexterm>
176         <primary>file server machine, additional</primary>
177
178         <secondary>/usr/vice/etc directory</secondary>
179       </indexterm> <indexterm>
180         <primary>creating</primary>
181
182         <secondary>/usr/vice/etc directory</secondary>
183
184         <tertiary>server machine after first</tertiary>
185       </indexterm></para>
186
187     <sect2 id="Header_99">
188       <title>Creating AFS Directories and Performing Platform-Specific Procedures</title>
189
190       <para>If your operating systems AFS distribution is supplied as packages,
191       such as .rpms or .debs, you should just install those packages as detailed
192       in the previous chapter.</para>
193       
194       <para>Create the <emphasis role="bold">/usr/afs</emphasis> and <emphasis role="bold">/usr/vice/etc</emphasis> directories on
195       the local disk. Subsequent instructions copy files from the AFS distribution into them, at the appropriate point for
196       each system type.</para>
197
198       <programlisting>
199    # <emphasis role="bold">mkdir /usr/afs</emphasis>
200    # <emphasis role="bold">mkdir /usr/afs/bin</emphasis>
201    # <emphasis role="bold">mkdir /usr/vice</emphasis>
202    # <emphasis role="bold">mkdir /usr/vice/etc</emphasis>
203    # <emphasis role="bold">mkdir /tmp/afsdist</emphasis>     
204 </programlisting>
205
206       <para>As on the first file server machine, the initial procedures in installing an additional file server machine vary a good
207       deal from platform to platform. For convenience, the following sections group together all of the procedures for a system
208       type. Most of the remaining procedures are the same on every system type, but differences are noted as appropriate. The
209       initial procedures are the following. <itemizedlist>
210           <listitem>
211             <para>Incorporate AFS modifications into the kernel, either by using a dynamic kernel loader program or by building a
212             new static kernel</para>
213           </listitem>
214
215           <listitem>
216             <para>Configure server partitions to house AFS volumes</para>
217           </listitem>
218
219           <listitem>
220             <para>Replace the operating system vendor's <emphasis role="bold">fsck</emphasis> program with a version that recognizes
221             AFS data <indexterm>
222                 <primary>file server machine, additional</primary>
223
224                 <secondary>AFS login</secondary>
225
226                 <see>first AFS machine</see>
227               </indexterm></para>
228           </listitem>
229
230           <listitem>
231             <para>If the machine is to remain an AFS client machine, modify the machine's authentication system so that users obtain
232             an AFS token as they log into the local file system. (For this procedure only, the instructions direct you to the
233             platform-specific section in <link linkend="HDRWQ17">Installing the First AFS Machine</link>.)</para>
234           </listitem>
235         </itemizedlist></para>
236
237       <para>To continue, proceed to the section for this system type: <itemizedlist>
238           <listitem>
239             <para><link linkend="HDRWQ106">Getting Started on Linux Systems</link></para>
240           </listitem>
241
242           <listitem>
243             <para><link linkend="HDRWQ107">Getting Started on Solaris Systems</link></para>
244           </listitem>
245         </itemizedlist></para>
246
247       <sect3 id="HDRWQ106">
248         <title>Getting Started on Linux Systems</title>
249
250         <indexterm>
251           <primary>file server machine, additional</primary>
252
253           <secondary>fsck program</secondary>
254
255           <tertiary>on Linux</tertiary>
256         </indexterm>
257
258         <indexterm>
259           <primary>fsck program</primary>
260
261           <secondary>on server machine after first</secondary>
262
263           <tertiary>Linux</tertiary>
264         </indexterm>
265
266         <para>Begin by running the AFS initialization script to call the <emphasis role="bold">insmod</emphasis> program, which
267         dynamically loads AFS modifications into the kernel. Then create partitions for storing AFS volumes. You do not need to
268         replace the Linux <emphasis role="bold">fsck</emphasis> program.</para>
269         
270         <para> The procedure for starting up OpenAFS depends upon your distribution</para>
271           <orderedlist>
272             <listitem>
273               <para>For Fedora and RedHat Enterprise Linux systems (or their
274               derivateds), download and install the RPM set for your operating system
275               from the OpenAFS distribution site. You will need the
276               <emphasis role="bold">openafs</emphasis> and
277               <emphasis role="bold">openafs-server</emphasis> packages, along
278               with an <emphasis role="bold">openafs-kernel</emphasis> package
279               matching your current, running, kernel. If you wish to install
280               client functionality, you will also require the
281               <emphasis role="bold">openafs-client</emphasis> package.</para>
282              
283               <para>You can find the version of your current kernel by running
284 <programlisting>
285   # uname -r
286 <replaceable>2.6.20-1.2933.fc6</replaceable>
287 </programlisting></para>
288  
289               <para>Once downloaded, the packages may be installed with the
290               <emphasis role="bold">rpm</emphasis> command
291 <programlisting>
292   # rpm -U openafs-* openafs-client-* openafs-server-* openafs-kernel-*
293 </programlisting></para>
294             </listitem>
295             <listitem>
296             <indexterm>
297               <primary>incorporating AFS kernel extensions</primary>
298
299               <secondary>server machine after first</secondary>
300
301               <tertiary>Linux</tertiary>
302             </indexterm>
303
304             <indexterm>
305               <primary>AFS kernel extensions</primary>
306
307               <secondary>on server machine after first</secondary>
308
309               <tertiary>Linux</tertiary>
310             </indexterm>
311
312             <indexterm>
313               <primary>file server machine, additional</primary>
314
315               <secondary>AFS kernel extensions</secondary>
316
317               <tertiary>on Linux</tertiary>
318             </indexterm>
319
320             <indexterm>
321               <primary>Linux</primary>
322
323               <secondary>AFS kernel extensions</secondary>
324
325               <tertiary>on add'l server machine</tertiary>
326             </indexterm>
327               <para>For systems which are provided as a tarball, or built from
328               source, unpack the distribution tarball. The examples below assume
329               that you have unpacked the files into the
330               <emphasis role="bold">/tmp/afsdist</emphasis>directory. If you
331               pick a different location, substitute this in all of the following
332               examples. Once you have unpacked the distribution,
333               change directory as indicated.
334 <programlisting>
335   # <emphasis role="bold">cd /tmp/afsdist/linux/dest/root.client/usr/vice/etc</emphasis>
336 </programlisting></para>
337
338               <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/modload</emphasis> directory.
339               The filenames for the libraries have the format <emphasis
340               role="bold">libafs-</emphasis><replaceable>version</replaceable><emphasis role="bold">.o</emphasis>, where
341               <replaceable>version</replaceable> indicates the kernel build level. The string <emphasis role="bold">.mp</emphasis>
342               in the <replaceable>version</replaceable> indicates that the file is appropriate for machines running a multiprocessor
343               kernel. <programlisting>
344    # <emphasis role="bold">cp -rp  modload  /usr/vice/etc</emphasis>
345 </programlisting></para>
346             
347               <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
348               role="bold">/etc/rc.d/init.d</emphasis> on Linux machines). Note the removal of the <emphasis
349               role="bold">.rc</emphasis> extension as you copy the script. <programlisting>
350    # <emphasis role="bold">cp -p   afs.rc  /etc/rc.d/init.d/afs</emphasis> 
351 </programlisting></para>
352             </listitem>
353             <listitem>
354                 <indexterm>
355                   <primary>configuring</primary>
356
357                   <secondary>AFS server partition on server machine after first</secondary>
358
359                   <tertiary>Linux</tertiary>
360                 </indexterm> <indexterm>
361                   <primary>AFS server partition</primary>
362
363                   <secondary>configuring on server machine after first</secondary>
364
365                   <tertiary>Linux</tertiary>
366                 </indexterm> <indexterm>
367                   <primary>file server machine, additional</primary>
368
369                   <secondary>AFS server partition</secondary>
370
371                   <tertiary>on Linux</tertiary>
372                 </indexterm> <indexterm>
373                   <primary>Linux</primary>
374
375                   <secondary>AFS server partition</secondary>
376
377                   <tertiary>on add'l server machine</tertiary>
378                 </indexterm>
379               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
380               server partition you are configuring (there must be at least one). Repeat the command for each partition.
381               <programlisting>
382    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
383 </programlisting></para>
384             </listitem>
385
386             <listitem>
387               <para>Add a line with the following format to the file systems registry file, <emphasis
388               role="bold">/etc/fstab</emphasis>, for each directory just created. The entry maps the directory name to the disk
389               partition to be mounted on it. <programlisting>
390    /dev/<replaceable>disk</replaceable>  /vicep<replaceable>xx</replaceable>  ext2  defaults  0  2   
391 </programlisting></para>
392
393               <para>The following is an example for the first partition being configured.</para>
394
395               <programlisting>
396    /dev/sda8 /vicepa ext2 defaults 0 2
397 </programlisting>
398             </listitem>
399
400             <listitem>
401               <para>Create a file system on each partition that is to be mounted at a <emphasis
402               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
403               but consult the Linux documentation for more information. <programlisting>
404    # <emphasis role="bold">mkfs -v /dev/</emphasis><replaceable>disk</replaceable>
405 </programlisting></para>
406             </listitem>
407
408             <listitem>
409               <para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
410               partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
411             </listitem>
412
413             <listitem>
414               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
415               instructions in <link linkend="HDRWQ44">Enabling AFS Login on Linux Systems</link>.</para>
416             </listitem>
417
418             <listitem>
419               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
420             </listitem>
421           </orderedlist>
422       </sect3>
423
424       <sect3 id="HDRWQ107">
425         <title>Getting Started on Solaris Systems</title>
426
427         <para>Begin by running the AFS initialization script to call the <emphasis role="bold">modload</emphasis> program, which
428         dynamically loads AFS modifications into the kernel. Then configure partitions and replace the Solaris <emphasis
429         role="bold">fsck</emphasis> program with a version that correctly handles AFS volumes. <orderedlist>
430             <indexterm>
431               <primary>incorporating AFS kernel extensions</primary>
432
433               <secondary>server machine after first</secondary>
434
435               <tertiary>Solaris</tertiary>
436             </indexterm>
437
438             <indexterm>
439               <primary>AFS kernel extensions</primary>
440
441               <secondary>on server machine after first</secondary>
442
443               <tertiary>Solaris</tertiary>
444             </indexterm>
445
446             <indexterm>
447               <primary>file server machine, additional</primary>
448
449               <secondary>AFS kernel extensions</secondary>
450
451               <tertiary>Solaris</tertiary>
452             </indexterm>
453
454             <indexterm>
455               <primary>Solaris</primary>
456
457               <secondary>AFS kernel extensions</secondary>
458
459               <tertiary>on add'l server machine</tertiary>
460             </indexterm>
461
462             <listitem>
463               <para>Unpack the OpenAFS Solaris distribution tarball. The examples
464               below assume that you have unpacked the files into the 
465               <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
466               pick a diferent location, substitute this in all of the following
467               exmaples. Once you have unpacked the distribution, change directory
468               as indicated. 
469 <programlisting>
470    # <emphasis role="bold">cd  /tmp/afsdist/sun4x_56/dest/root.client/usr/vice/etc</emphasis>
471 </programlisting></para>
472             </listitem>
473
474             <listitem>
475               <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
476               role="bold">/etc/init.d</emphasis> on Solaris machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
477               extension as you copy the script. <programlisting>
478    # <emphasis role="bold">cp -p  afs.rc  /etc/init.d/afs</emphasis>
479 </programlisting></para>
480             </listitem>
481
482             <listitem>
483               <para>Copy the appropriate AFS kernel library file to the local file <emphasis
484               role="bold">/kernel/fs/afs</emphasis>.</para>
485
486             <para>If the machine is running Solaris 11 on the x86_64 platform:</para>
487
488             <programlisting>
489    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/drv/amd64/afs</emphasis>
490 </programlisting>
491
492             <para>If the machine is running Solaris 10 on the x86_64 platform:</para>
493
494             <programlisting>
495    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/amd64/afs</emphasis>
496 </programlisting>
497
498               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
499               functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
500
501               <programlisting>
502    # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>   
503 </programlisting>
504
505               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
506               server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
507
508               <programlisting>
509    # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>   
510 </programlisting>
511
512               <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
513               <emphasis role="bold">nfsd</emphasis> process is running:</para>
514
515               <programlisting>
516    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>   
517 </programlisting>
518
519               <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
520               functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
521
522               <programlisting>
523    # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
524 </programlisting>
525             </listitem>
526
527             <listitem>
528               <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
529               about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
530    # <emphasis role="bold">/etc/init.d/afs start</emphasis>   
531 </programlisting></para>
532
533               <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
534               role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
535               using the new version of the file. If this happens, log in again as the superuser <emphasis
536               role="bold">root</emphasis> after the reboot and run the initialization script again. This time the required entry
537               exists in the <emphasis role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis
538               role="bold">modload</emphasis> program runs.</para>
539
540               <programlisting>
541    login: <emphasis role="bold">root</emphasis>
542    Password: <replaceable>root_password</replaceable>
543    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
544 </programlisting>
545
546               <indexterm>
547                 <primary>replacing fsck program</primary>
548
549                 <secondary>server machine after first</secondary>
550
551                 <tertiary>Solaris</tertiary>
552               </indexterm>
553
554               <indexterm>
555                 <primary>fsck program</primary>
556
557                 <secondary>on server machine after first</secondary>
558
559                 <tertiary>Solaris</tertiary>
560               </indexterm>
561
562               <indexterm>
563                 <primary>file server machine, additional</primary>
564
565                 <secondary>fsck program</secondary>
566
567                 <tertiary>on Solaris</tertiary>
568               </indexterm>
569
570               <indexterm>
571                 <primary>Solaris</primary>
572
573                 <secondary>fsck program</secondary>
574
575                 <tertiary>on add'l server machine</tertiary>
576               </indexterm>
577             </listitem>
578
579             <listitem>
580               <para>Create the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory to house the AFS-modified <emphasis
581               role="bold">fsck</emphasis> program and related files. <programlisting>
582    # <emphasis role="bold">mkdir /usr/lib/fs/afs</emphasis>
583    # <emphasis role="bold">cd /usr/lib/fs/afs</emphasis>  
584 </programlisting></para>
585             </listitem>
586
587             <listitem>
588               <para>Copy the <emphasis role="bold">vfsck</emphasis> binary to the newly created directory, changing the name as you
589               do so. <programlisting>
590    # <emphasis role="bold">cp  /cdrom/sun4x_56/dest/root.server/etc/vfsck  fsck</emphasis>
591 </programlisting></para>
592             </listitem>
593
594             <listitem>
595               <para>Working in the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory, create the following links to Solaris
596               libraries: <programlisting>
597    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/clri</emphasis>  
598    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/df</emphasis>
599    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/edquota</emphasis>
600    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ff</emphasis>
601    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsdb</emphasis>  
602    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsirand</emphasis>
603    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fstyp</emphasis>
604    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/labelit</emphasis>
605    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/lockfs</emphasis>
606    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mkfs</emphasis>  
607    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mount</emphasis>
608    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ncheck</emphasis>
609    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/newfs</emphasis>
610    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quot</emphasis>
611    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quota</emphasis>
612    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaoff</emphasis>
613    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaon</emphasis>
614    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/repquota</emphasis>
615    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/tunefs</emphasis>
616    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsdump</emphasis>
617    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsrestore</emphasis>
618    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/volcopy</emphasis>
619 </programlisting></para>
620             </listitem>
621
622             <listitem>
623               <para>Append the following line to the end of the file <emphasis role="bold">/etc/dfs/fstypes</emphasis>.
624               <programlisting>
625    afs AFS Utilities
626 </programlisting></para>
627             </listitem>
628
629             <listitem>
630               <para>Edit the <emphasis role="bold">/sbin/mountall</emphasis> file, making two changes. <itemizedlist>
631                   <listitem>
632                     <para>Add an entry for AFS to the <computeroutput>case</computeroutput> statement for option 2, so that it reads
633                     as follows: <programlisting>
634    case "$2" in
635    ufs)    foptions="-o p"
636            ;;
637    afs)    foptions="-o p"
638            ;;
639    s5)     foptions="-y -t /var/tmp/tmp$$ -D"
640            ;;
641    *)      foptions="-y"
642            ;;
643 </programlisting></para>
644                   </listitem>
645
646                   <listitem>
647                     <para>Edit the file so that all AFS and UFS partitions are checked in parallel. Replace the following section of
648                     code: <programlisting>
649    # For  fsck purposes, we make a distinction between ufs and
650    # other file systems
651    #
652    if [ "$fstype" = "ufs" ]; then
653         ufs_fscklist="$ufs_fscklist $fsckdev"
654         saveentry $fstype "$OPTIONS" $special $mountp
655         continue
656    fi  
657 </programlisting></para>
658
659                     <para>with the following section of code:</para>
660
661                     <programlisting>
662    # For fsck purposes, we make a distinction between ufs/afs
663    # and other file systems.
664    #
665    if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
666         ufs_fscklist="$ufs_fscklist $fsckdev"
667         saveentry $fstype "$OPTIONS" $special $mountp
668         continue
669    fi
670 </programlisting>
671                   </listitem>
672                 </itemizedlist></para>
673
674               <indexterm>
675                 <primary>configuring</primary>
676
677                 <secondary>AFS server partition on server machine after first</secondary>
678
679                 <tertiary>Solaris</tertiary>
680               </indexterm>
681
682               <indexterm>
683                 <primary>AFS server partition</primary>
684
685                 <secondary>configuring on server machine after first</secondary>
686
687                 <tertiary>Solaris</tertiary>
688               </indexterm>
689
690               <indexterm>
691                 <primary>file server machine, additional</primary>
692
693                 <secondary>AFS server partition</secondary>
694
695                 <tertiary>on Solaris</tertiary>
696               </indexterm>
697
698               <indexterm>
699                 <primary>Solaris</primary>
700
701                 <secondary>AFS server partition</secondary>
702
703                 <tertiary>on add'l server machine</tertiary>
704               </indexterm>
705             </listitem>
706
707             <listitem>
708               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
709               server partition you are configuring (there must be at least one). Repeat the command for each partition.
710               <programlisting>
711    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
712 </programlisting></para>
713             </listitem>
714
715             <listitem>
716               <para>Add a line with the following format to the file systems registry file, <emphasis
717               role="bold">/etc/vfstab</emphasis>, for each partition to be mounted on a directory created in the previous step. Note
718               the value <computeroutput>afs</computeroutput> in the fourth field, which tells Solaris to use the AFS-modified
719               <emphasis role="bold">fsck</emphasis> program on this partition. <programlisting>
720    /dev/dsk/<replaceable>disk</replaceable>   /dev/rdsk/<replaceable>disk</replaceable>   /vicep<replaceable>xx</replaceable>   afs   <replaceable>boot_order</replaceable>  yes  
721 </programlisting></para>
722
723               <para>The following is an example for the first partition being configured.</para>
724
725               <programlisting>
726    /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
727 </programlisting>
728             </listitem>
729
730             <listitem>
731               <para>Create a file system on each partition that is to be mounted at a <emphasis
732               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
733               but consult the Solaris documentation for more information. <programlisting>
734    # <emphasis role="bold">newfs -v /dev/rdsk/</emphasis><replaceable>disk</replaceable>
735 </programlisting></para>
736             </listitem>
737
738             <listitem>
739               <para>Issue the <emphasis role="bold">mountall</emphasis> command to mount all partitions at once.</para>
740             </listitem>
741
742             <listitem>
743               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
744               instructions in <link linkend="HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris
745               Systems</link>.</para>
746             </listitem>
747
748             <listitem>
749               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
750             </listitem>
751           </orderedlist></para>
752
753         <indexterm>
754           <primary>file server machine, additional</primary>
755
756           <secondary>server functionality</secondary>
757         </indexterm>
758
759         <indexterm>
760           <primary>installing</primary>
761
762           <secondary>server functionality</secondary>
763
764           <tertiary>server machine after first</tertiary>
765         </indexterm>
766       </sect3>
767     </sect2>
768
769     <sect2 id="HDRWQ108">
770       <title>Starting Server Programs</title>
771
772       <para>In this section you initialize the BOS Server, the Update Server, and the <emphasis
773       role="bold">fs</emphasis> process. You begin by copying the necessary server files to the local disk. <orderedlist>
774           <indexterm>
775             <primary>copying</primary>
776
777             <secondary>server files to local disk</secondary>
778
779             <tertiary>server machine after first</tertiary>
780           </indexterm>
781
782           <indexterm>
783             <primary>Binary Distribution</primary>
784
785             <secondary>copying server files from</secondary>
786
787             <tertiary>server machine after first</tertiary>
788           </indexterm>
789
790           <indexterm>
791             <primary>file server machine, additional</primary>
792
793             <secondary>copying</secondary>
794
795             <tertiary>server files to local disk</tertiary>
796           </indexterm>
797
798           <listitem>
799             <para>Copy file server binaries to the local <emphasis role="bold">/usr/afs/bin</emphasis> directory. <itemizedlist>
800                 <listitem>
801                   <para>On a machine of an existing system type, you can either 
802                   copy files from the OpenAFS binary distribution or use a 
803                   remote file transfer protocol to copy files from an existing 
804                   server machine of the same system type. To load from the 
805                   binary distribution, see the instructions just following for 
806                   a machine of a new system type. If using a remote file 
807                   transfer protocol, copy the complete contents of the 
808                   existing server machine's 
809                   <emphasis role="bold">/usr/afs/bin</emphasis>
810                   directory.</para>
811                 </listitem>
812
813                 <listitem>
814                   <para>If you are working from a tarball distribtion, rather
815                   than one distributed in a packaged format, you must use the 
816                   following instructions to copy files from 
817                   the OpenAFS Binary Distribution.
818                    <orderedlist>
819                       <listitem>
820                         <para>Unpack the distribution tarball. The examples 
821                         below assume that you have unpacked the files into the 
822                         <emphasis role="bold">/tmp/afsdist</emphasis> 
823                         directory. If you pick a different location, substitute
824                         this in all of the following examples.</para>
825                       </listitem>
826
827                       <listitem>
828                         <para>Copy files from the distribution to the local <emphasis role="bold">/usr/afs</emphasis> directory.
829                         <programlisting>
830    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.server/usr/afs</emphasis>
831    # <emphasis role="bold">cp -rp  *  /usr/afs</emphasis>
832 </programlisting></para>
833                       </listitem>
834                     </orderedlist></para>
835                 </listitem>
836               </itemizedlist></para>
837
838             <indexterm>
839               <primary>usr/afs/etc directory</primary>
840
841               <secondary>server machine after first</secondary>
842             </indexterm>
843
844             <indexterm>
845               <primary>file server machine, additional</primary>
846
847               <secondary>/usr/afs/etc directory</secondary>
848             </indexterm>
849
850             <indexterm>
851               <primary>creating</primary>
852
853               <secondary>/usr/afs/etc directory</secondary>
854
855               <tertiary>server machine after first</tertiary>
856             </indexterm>
857
858             <indexterm>
859               <primary>creating</primary>
860
861               <secondary>CellServDB file (server)</secondary>
862
863               <tertiary>server machine after first</tertiary>
864             </indexterm>
865
866             <indexterm>
867               <primary>UserList file</primary>
868
869               <secondary>server machine after first</secondary>
870             </indexterm>
871
872             <indexterm>
873               <primary>KeyFile file</primary>
874
875               <secondary>server machine after first</secondary>
876             </indexterm>
877
878             <indexterm>
879               <primary>CellServDB file (server)</primary>
880
881               <secondary>creating</secondary>
882
883               <tertiary>on server machine after first</tertiary>
884             </indexterm>
885
886             <indexterm>
887               <primary>database server machine</primary>
888
889               <secondary>entry in server CellServDB file</secondary>
890
891               <tertiary>on server machine after first</tertiary>
892             </indexterm>
893
894             <indexterm>
895               <primary>ThisCell file (server)</primary>
896
897               <secondary>server machine after first</secondary>
898             </indexterm>
899
900             <indexterm>
901               <primary>file server machine, additional</primary>
902
903               <secondary>cell membership, defining</secondary>
904
905               <tertiary>for server processes</tertiary>
906             </indexterm>
907
908             <indexterm>
909               <primary>setting</primary>
910
911               <secondary>cell name in server ThisCell file</secondary>
912
913               <tertiary>server machine after first</tertiary>
914             </indexterm>
915
916             <indexterm>
917               <primary>file server machine, additional</primary>
918
919               <secondary>ThisCell file (server)</secondary>
920             </indexterm>
921           </listitem>
922
923           <listitem>
924             <para>Copy the contents of the 
925             <emphasis role="bold">/usr/afs/etc</emphasis> directory from an 
926             existing file server machine, using a remote file transfer protocol 
927             such as <emphasis role="bold">sftp</emphasis> or 
928             <emphasis role="bold">scp</emphasis>. If you use a system
929             control machine, it is best to copy the contents of its 
930             <emphasis role="bold">/usr/afs/etc</emphasis> directory. If you
931             choose not to run a system control machine, copy the directory's 
932             contents from any existing file server machine.
933             <indexterm>
934                 <primary>BOS Server</primary>
935
936                 <secondary>starting</secondary>
937
938                 <tertiary>server machine after first</tertiary>
939               </indexterm> <indexterm>
940                 <primary>starting</primary>
941
942                 <secondary>BOS Server</secondary>
943
944                 <tertiary>server machine after first</tertiary>
945               </indexterm> <indexterm>
946                 <primary>file server machine, additional</primary>
947
948                 <secondary>BOS Server</secondary>
949               </indexterm> <indexterm>
950                 <primary>authorization checking (disabling)</primary>
951
952                 <secondary>server machine after first</secondary>
953               </indexterm> <indexterm>
954                 <primary>disabling authorization checking</primary>
955
956                 <secondary>server machine after first</secondary>
957               </indexterm> <indexterm>
958                 <primary>file server machine, additional</primary>
959
960                 <secondary>authorization checking (disabling)</secondary>
961               </indexterm></para>
962           </listitem>
963
964           <listitem>
965             <para>Change to the <emphasis role="bold">/usr/afs/bin</emphasis> directory and start the BOS Server (<emphasis
966             role="bold">bosserver</emphasis> process). Include the <emphasis role="bold">-noauth</emphasis> flag to prevent the AFS
967             processes from performing authorization checking. This is a grave compromise of security; finish the remaining
968             instructions in this section in an uninterrupted pass. <programlisting>
969    # <emphasis role="bold">cd /usr/afs/bin</emphasis>
970    # <emphasis role="bold">./bosserver -noauth &amp;</emphasis>
971 </programlisting> <indexterm>
972                 <primary>BosConfig file</primary>
973
974                 <secondary>adding entries</secondary>
975
976                 <tertiary>server machine after first</tertiary>
977               </indexterm> <indexterm>
978                 <primary>adding</primary>
979
980                 <secondary>entries to BosConfig file</secondary>
981
982                 <tertiary>server machine after first</tertiary>
983               </indexterm> <indexterm>
984                 <primary>Update Server</primary>
985
986                 <secondary>starting client portion</secondary>
987               </indexterm> <indexterm>
988                 <primary>upclient process</primary>
989               </indexterm> <indexterm>
990                 <primary>starting</primary>
991
992                 <secondary>Update Server client portion</secondary>
993               </indexterm> <indexterm>
994                 <primary>file server machine, additional</primary>
995
996                 <secondary>Update Server client portion</secondary>
997               </indexterm></para>
998           </listitem>
999
1000           <listitem id="LIWQ109">
1001             <para>If you run a system control machine, create the <emphasis
1002             role="bold">upclientetc</emphasis> process as an instance of the client portion of the Update Server. It accepts updates
1003             of the common configuration files stored in the system control machine's <emphasis role="bold">/usr/afs/etc</emphasis>
1004             directory from the <emphasis role="bold">upserver</emphasis> process (server portion of the Update Server) running on
1005             that machine. The cell's first file server machine was installed as the system control machine in <link
1006             linkend="HDRWQ61">Starting the Server Portion of the Update Server</link>. (If you do not run a system control machine,
1007             you must update the contents of the <emphasis role="bold">/usr/afs/etc</emphasis> directory on each file server machine,
1008             using the appropriate <emphasis role="bold">bos</emphasis> commands.)</para>
1009
1010             <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1011             role="bold">-t</emphasis> argument to specify a different number of seconds. For the
1012             <replaceable>machine&nbsp;name</replaceable> argument, substitute the name of the machine you are installing. The
1013             command appears on multiple lines here only for legibility reasons.</para>
1014
1015             <programlisting>
1016    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientetc simple</emphasis>  \ 
1017          <emphasis role="bold">"/usr/afs/bin/upclient</emphasis>  &lt;<replaceable>system control machine</replaceable>&gt;  \  
1018          [<emphasis role="bold">-t</emphasis>  &lt;<replaceable>time</replaceable>&gt;]  <emphasis role="bold">/usr/afs/etc" -cell</emphasis>  &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
1019                 role="bold">-noauth</emphasis>
1020 </programlisting>
1021
1022             <indexterm>
1023               <primary>Update Server</primary>
1024
1025               <secondary>starting server portion</secondary>
1026
1027               <tertiary>server machine after first</tertiary>
1028             </indexterm>
1029
1030             <indexterm>
1031               <primary>starting</primary>
1032
1033               <secondary>Update Server server portion</secondary>
1034
1035               <tertiary>server machine after first</tertiary>
1036             </indexterm>
1037
1038             <indexterm>
1039               <primary>file server machine, additional</primary>
1040
1041               <secondary>Update Server server portion</secondary>
1042             </indexterm>
1043           </listitem>
1044
1045           <listitem id="LIWQ110">
1046             <para>Create an instance of the Update 
1047             Server to handle distribution of the file server binaries
1048             stored in the <emphasis role="bold">/usr/afs/bin</emphasis> 
1049             directory. If your architecture using a package management system
1050             such as 'rpm' or 'apt' to maintain its binaries, note that
1051             distributing binaries via this system may interfere with your local
1052             package management tools.
1053             </para>
1054             
1055             <itemizedlist>
1056                 <listitem>
1057                   <para>If this is the first file server machine of its AFS system type, create the <emphasis
1058                   role="bold">upserver</emphasis> process as an instance of the server portion of the Update Server. It distributes
1059                   its copy of the file server process binaries to the other file server machines of this system type that you
1060                   install in future. Creating this process makes this machine the binary distribution machine for its type.
1061                   <programlisting>
1062    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upserver  simple</emphasis>  \ 
1063          <emphasis role="bold">"/usr/afs/bin/upserver -clear /usr/afs/bin"</emphasis>   \
1064          <emphasis role="bold">-cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis role="bold">-noauth</emphasis>
1065 </programlisting></para>
1066                 </listitem>
1067
1068                 <listitem>
1069                   <para>If this machine is an existing system type, create the <emphasis role="bold">upclientbin</emphasis> process
1070                   as an instance of the client portion of the Update Server. It accepts updates of the AFS binaries from the
1071                   <emphasis role="bold">upserver</emphasis> process running on the binary distribution machine for its system type.
1072                   For distribution to work properly, the <emphasis role="bold">upserver</emphasis> process must already by running
1073                   on that machine.</para>
1074
1075                   <para>Use the <emphasis role="bold">-clear</emphasis> argument to specify that the <emphasis
1076                   role="bold">upclientbin</emphasis> process requests unencrypted transfer of the binaries in the <emphasis
1077                   role="bold">/usr/afs/bin</emphasis> directory. Binaries are not sensitive and encrypting them is
1078                   time-consuming.</para>
1079
1080                   <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1081                   role="bold">-t</emphasis> argument to specify an different number of seconds.</para>
1082
1083 <programlisting>
1084    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientbin simple</emphasis>  \ 
1085         <emphasis role="bold">"/usr/afs/bin/upclient</emphasis> &lt;<replaceable>binary distribution machine</replaceable>&gt;   \
1086         [<emphasis role="bold">-t</emphasis> &lt;<replaceable>time</replaceable>&gt;] <emphasis role="bold">-clear /usr/afs/bin" -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
1087                       role="bold">-noauth</emphasis>
1088 </programlisting>
1089                 </listitem>
1090               </itemizedlist>
1091
1092             <indexterm>
1093               <primary>File Server</primary>
1094
1095               <secondary>server machine after first</secondary>
1096             </indexterm>
1097
1098             <indexterm>
1099               <primary>starting</primary>
1100
1101               <secondary>File Server</secondary>
1102
1103               <tertiary>server machine after first</tertiary>
1104             </indexterm>
1105
1106             <indexterm>
1107               <primary>file server machine, additional</primary>
1108
1109               <secondary>File Server</secondary>
1110             </indexterm>
1111
1112             <indexterm>
1113               <primary>Volume Server</primary>
1114
1115               <secondary>server machine after first</secondary>
1116             </indexterm>
1117
1118             <indexterm>
1119               <primary>starting</primary>
1120
1121               <secondary>Volume Server</secondary>
1122
1123               <tertiary>server machine after first</tertiary>
1124             </indexterm>
1125
1126             <indexterm>
1127               <primary>file server machine, additional</primary>
1128
1129               <secondary>Volume Server</secondary>
1130             </indexterm>
1131
1132             <indexterm>
1133               <primary>Salvager (salvager process)</primary>
1134
1135               <secondary>server machine after first</secondary>
1136             </indexterm>
1137
1138             <indexterm>
1139               <primary>fs process</primary>
1140
1141               <secondary>server machine after first</secondary>
1142             </indexterm>
1143
1144             <indexterm>
1145               <primary>starting</primary>
1146
1147               <secondary>fs process</secondary>
1148
1149               <tertiary>server machine after first</tertiary>
1150             </indexterm>
1151
1152             <indexterm>
1153               <primary>file server machine, additional</primary>
1154
1155               <secondary>fs process</secondary>
1156             </indexterm>
1157           </listitem>
1158
1159           <listitem>
1160             <para>Issue the <emphasis role="bold">bos create</emphasis> command
1161             to start the <emphasis role="bold">fs</emphasis> process or the
1162             <emphasis role="bold">dafs</emphasis> process, depending on if you
1163             want to run the Demand-Attach File Server or not. See <link
1164             linkend="DAFS">Appendix C, The Demand-Attach File Server</link> for
1165             more information on whether you want to run it or not.
1166
1167             <itemizedlist>
1168               <listitem>
1169
1170             <para>If you do not want to run the Demand-Attach File Server, start the <emphasis role="bold">fs</emphasis> process, which binds together the File Server, Volume Server, and
1171             Salvager. <programlisting>
1172    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">fs fs</emphasis>   \ 
1173          <emphasis role="bold">/usr/afs/bin/fileserver /usr/afs/bin/volserver</emphasis>  \ 
1174          <emphasis role="bold">/usr/afs/bin/salvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
1175                   role="bold">-noauth</emphasis>
1176 </programlisting></para>
1177           </listitem>
1178
1179           <listitem>
1180
1181             <para>If you want to run the Demand-Attach File Server, start the
1182             <emphasis role="bold">dafs</emphasis> process, which binds together
1183             the File Server, Volume Server, Salvage Server, and Salvager.
1184             <programlisting>
1185    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">dafs dafs</emphasis>   \ 
1186          <emphasis role="bold">/usr/afs/bin/dafileserver /usr/afs/bin/davolserver</emphasis>  \ 
1187          <emphasis role="bold">/usr/afs/bin/salvageserver</emphasis>  \ 
1188          <emphasis role="bold">/usr/afs/bin/dasalvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
1189                   role="bold">-noauth</emphasis>
1190 </programlisting></para>
1191           </listitem>
1192
1193           </itemizedlist>
1194
1195           </para>
1196           </listitem>
1197         </orderedlist></para>
1198
1199       <indexterm>
1200         <primary>installing</primary>
1201
1202         <secondary>client functionality</secondary>
1203
1204         <tertiary>server machine after first</tertiary>
1205       </indexterm>
1206
1207       <indexterm>
1208         <primary>file server machine, additional</primary>
1209
1210         <secondary>client functionality</secondary>
1211       </indexterm>
1212     </sect2>
1213
1214     <sect2 id="HDRWQ111">
1215       <title>Installing Client Functionality</title>
1216
1217       <para>If you want this machine to be a client as well as a server, follow the instructions in this section. Otherwise, skip to
1218       <link linkend="HDRWQ112">Completing the Installation</link>.</para>
1219
1220       <para>Begin by loading the necessary client files to the local disk. Then create the necessary configuration files and start
1221       the Cache Manager. For more detailed explanation of the procedures involved, see the corresponding instructions in <link
1222       linkend="HDRWQ17">Installing the First AFS Machine</link> (in the sections following <link linkend="HDRWQ63">Overview:
1223       Installing Client Functionality</link>).</para>
1224
1225       <para>If another AFS machine of this machine's system type exists, the AFS binaries are probably already accessible in your
1226       AFS filespace (the conventional location is <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
1227       role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>). If not, or if this is
1228       the first AFS machine of its type, copy the AFS binaries for this system type into an AFS volume by following the instructions
1229       in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link>. Because this machine is not yet an AFS client, you must perform
1230       the procedure on an existing AFS machine. However, remember to perform the final step (linking the local directory <emphasis
1231       role="bold">/usr/afsws</emphasis> to the appropriate location in the AFS file tree) on this machine itself. If you also want
1232       to create AFS volumes to house UNIX system binaries for the new system type, see <link linkend="HDRWQ88">Storing System
1233       Binaries in AFS</link>. <indexterm>
1234           <primary>Binary Distribution</primary>
1235
1236           <secondary>copying client files from</secondary>
1237
1238           <tertiary>server machine after first</tertiary>
1239         </indexterm> <indexterm>
1240           <primary>file server machine, additional</primary>
1241
1242           <secondary>copying</secondary>
1243
1244           <tertiary>client files to local disk</tertiary>
1245         </indexterm> <indexterm>
1246           <primary>copying</primary>
1247
1248           <secondary>client files to local disk</secondary>
1249
1250           <tertiary>server machine after first</tertiary>
1251         </indexterm> <orderedlist>
1252           <listitem>
1253             <para>Copy client binaries and files to the local disk. <itemizedlist>
1254                 <listitem>
1255                   <para>On a machine of an existing system type, you can either 
1256                   load files from the OpenAFS Binary Distribution or use a 
1257                   remote file transfer protocol to copy files from an existing 
1258                   server machine of the same system type. To load from the
1259                   binary distribution, see the instructions just following 
1260                   for a machine of a new system type. If using a remote file 
1261                   transfer protocol, copy the complete contents of the existing 
1262                   client machine's 
1263                   <emphasis role="bold">/usr/vice/etc</emphasis> 
1264                   directory.</para>
1265                 </listitem>
1266
1267                 <listitem>
1268                   <para>On a machine of a new system type, you must use the 
1269                   following instructions to copy files from the OpenAFS
1270                   Binary Distribution. If your distribution is provided in
1271                   a packaged format, then simply installing the packages will
1272                   perform the necessary actions.
1273                     <orderedlist>
1274                       <listitem>
1275                         <para>Unpack the distribution tarball. The examples 
1276                         below assume that you have unpacked the files into the 
1277                         <emphasis role="bold">/tmp/afsdist</emphasis> 
1278                         directory. If you pick a different location, substitute
1279                         this in all of the following examples.</para>
1280                       </listitem>
1281
1282                       <listitem>
1283                         <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
1284
1285                         <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the
1286                         <emphasis role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating
1287                         AFS into the kernel, you copied the script directly to the operating system's conventional location for
1288                         initialization files. When you incorporate AFS into the machine's startup sequence in a later step, you can
1289                         choose to link the two files.</para>
1290
1291                         <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files
1292                         into a subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types,
1293                         you copied the appropriate AFS library file directly to the directory where the operating system accesses
1294                         it. The following commands do not copy or recopy the AFS library files into the <emphasis
1295                         role="bold">/usr/vice/etc</emphasis> directory, because on some system types the library files consume a
1296                         large amount of space. If you want to copy them, add the <emphasis role="bold">-r</emphasis> flag to the
1297                         first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis role="bold">cp</emphasis>
1298                         command.</para>
1299
1300                         <programlisting>
1301    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
1302    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
1303    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
1304 </programlisting>
1305                       </listitem>
1306                     </orderedlist></para>
1307                 </listitem>
1308               </itemizedlist></para>
1309
1310             <indexterm>
1311               <primary>cell name</primary>
1312
1313               <secondary>setting in client ThisCell file</secondary>
1314
1315               <tertiary>server machine after first</tertiary>
1316             </indexterm>
1317
1318             <indexterm>
1319               <primary>cell name</primary>
1320
1321               <secondary>setting in server ThisCell file</secondary>
1322
1323               <tertiary>server machine after first</tertiary>
1324             </indexterm>
1325
1326             <indexterm>
1327               <primary>setting</primary>
1328
1329               <secondary>cell name in client ThisCell file</secondary>
1330
1331               <tertiary>server machine after first</tertiary>
1332             </indexterm>
1333
1334             <indexterm>
1335               <primary>file server machine, additional</primary>
1336
1337               <secondary>ThisCell file (client)</secondary>
1338             </indexterm>
1339
1340             <indexterm>
1341               <primary>file server machine, additional</primary>
1342
1343               <secondary>cell membership, defining</secondary>
1344
1345               <tertiary>for client processes</tertiary>
1346             </indexterm>
1347
1348             <indexterm>
1349               <primary>ThisCell file (client)</primary>
1350
1351               <secondary>server machine after first</secondary>
1352             </indexterm>
1353           </listitem>
1354
1355           <listitem>
1356             <para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and create the <emphasis
1357             role="bold">ThisCell</emphasis> file as a copy of the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file. You
1358             must first remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file that the BOS
1359             Server created automatically in <link linkend="HDRWQ108">Starting Server Programs</link>. <programlisting>
1360    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
1361    # <emphasis role="bold">rm  ThisCell</emphasis>
1362    # <emphasis role="bold">cp  /usr/afs/etc/ThisCell  ThisCell</emphasis>
1363 </programlisting></para>
1364           </listitem>
1365
1366           <listitem>
1367             <para>Remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file. <programlisting>
1368    # <emphasis role="bold">rm  CellServDB</emphasis>
1369 </programlisting> <indexterm>
1370                 <primary>database server machine</primary>
1371
1372                 <secondary>entry in client CellServDB file</secondary>
1373
1374                 <tertiary>on server machine after first</tertiary>
1375               </indexterm> <indexterm>
1376                 <primary>CellServDB file (client)</primary>
1377
1378                 <secondary>creating</secondary>
1379
1380                 <tertiary>on server machine after first</tertiary>
1381               </indexterm> <indexterm>
1382                 <primary>creating</primary>
1383
1384                 <secondary>CellServDB file (client)</secondary>
1385
1386                 <tertiary>server machine after first</tertiary>
1387               </indexterm></para>
1388           </listitem>
1389
1390           <listitem>
1391             <para>Create the 
1392             <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. 
1393             Use a network file transfer program such as 
1394             <emphasis role="bold">sftp</emphasis> or 
1395             <emphasis role="bold">scp</emphasis> to copy it from 
1396             one of the following sources, which are listed in
1397             decreasing order of preference: 
1398               <itemizedlist>
1399                 <listitem>
1400                   <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
1401                   <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
1402                   role="bold">/common/etc/CellServDB</emphasis>)</para>
1403                 </listitem>
1404
1405                 <listitem>
1406                   <para>The global <emphasis role="bold">CellServDB</emphasis> 
1407                   file maintained at grand.central.org</para>
1408                 </listitem>
1409
1410                 <listitem>
1411                   <para>An existing client machine in your cell</para>
1412                 </listitem>
1413
1414                 <listitem>
1415                   <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
1416                   file included in the 
1417                   <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
1418                   directory of each OpenAFS distribution; add an entry for the 
1419                   local cell by following the instructions in 
1420                   <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
1421                   </para>
1422                 </listitem>
1423               </itemizedlist>
1424             </para>
1425
1426             <indexterm>
1427               <primary>cache</primary>
1428
1429               <secondary>configuring</secondary>
1430
1431               <tertiary>server machine after first</tertiary>
1432             </indexterm>
1433
1434             <indexterm>
1435               <primary>configuring</primary>
1436
1437               <secondary>cache</secondary>
1438
1439               <tertiary>server machine after first</tertiary>
1440             </indexterm>
1441
1442             <indexterm>
1443               <primary>setting</primary>
1444
1445               <secondary>cache size and location</secondary>
1446
1447               <tertiary>server machine after first</tertiary>
1448             </indexterm>
1449
1450             <indexterm>
1451               <primary>file server machine, additional</primary>
1452
1453               <secondary>cache size and location</secondary>
1454             </indexterm>
1455           </listitem>
1456
1457           <listitem>
1458             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file for either a disk cache or a memory cache. For a
1459             discussion of the appropriate values to record in the file, see <link linkend="HDRWQ67">Configuring the
1460             Cache</link>.</para>
1461
1462             <para>To configure a disk cache, issue the following commands. If you are devoting a partition exclusively to caching,
1463             as recommended, you must also configure it, make a file system on it, and mount it at the directory created in this
1464             step.</para>
1465
1466             <programlisting>
1467    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
1468    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>   
1469 </programlisting>
1470
1471             <para>To configure a memory cache:</para>
1472
1473             <programlisting>
1474    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>
1475 </programlisting>
1476
1477             <indexterm>
1478               <primary>Cache Manager</primary>
1479
1480               <secondary>server machine after first</secondary>
1481             </indexterm>
1482
1483             <indexterm>
1484               <primary>configuring</primary>
1485
1486               <secondary>Cache Manager</secondary>
1487
1488               <tertiary>server machine after first</tertiary>
1489             </indexterm>
1490
1491             <indexterm>
1492               <primary>file server machine, additional</primary>
1493
1494               <secondary>Cache Manager</secondary>
1495             </indexterm>
1496
1497             <indexterm>
1498               <primary>afs (/afs) directory</primary>
1499
1500               <secondary>creating</secondary>
1501
1502               <tertiary>server machine after first</tertiary>
1503             </indexterm>
1504
1505             <indexterm>
1506               <primary>AFS initialization script</primary>
1507
1508               <secondary>setting afsd parameters</secondary>
1509
1510               <tertiary>server machine after first</tertiary>
1511             </indexterm>
1512
1513             <indexterm>
1514               <primary>file server machine, additional</primary>
1515
1516               <secondary>afsd command parameters</secondary>
1517             </indexterm>
1518           </listitem>
1519
1520           <listitem>
1521             <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis
1522             role="bold">/afs</emphasis>. If the directory already exists, verify that it is empty. <programlisting>
1523    # <emphasis role="bold">mkdir /afs</emphasis>
1524 </programlisting></para>
1525           </listitem>
1526
1527           <listitem>
1528             <para>On non-packaged Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
1529             role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory,
1530             removing the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
1531    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
1532 </programlisting></para>
1533           </listitem>
1534
1535           <listitem>
1536             <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
1537             appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The script resides in the indicated
1538             location on each system type: <itemizedlist>
1539                 <listitem>
1540                   <para>On Fedora and RHEL systems, 
1541                   <emphasis role="bold">/etc/sysconfig/openafs</emphasis>. 
1542                   Note that this file has a different format from a standard 
1543                   afsd options file.</para>
1544                 </listitem>
1545                 
1546                 <listitem>
1547                   <para>On non-packaged Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
1548                   role="bold">afsd</emphasis> options file)</para>
1549                 </listitem>
1550                 
1551
1552                 <listitem>
1553                   <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
1554                 </listitem>
1555               </itemizedlist></para>
1556
1557             <para>Use one of the methods described in <link linkend="HDRWQ70">Configuring the Cache Manager</link> to add the
1558             following flags to the <emphasis role="bold">afsd</emphasis> command line. If you intend for the machine to remain an
1559             AFS client, also set any performance-related arguments you wish. <itemizedlist>
1560                 <!-- nosetime is now the default
1561                 <listitem>
1562                   <para>Add the <emphasis role="bold">-nosettime</emphasis> flag, because this is a file server machine that is also
1563                   a client.</para>
1564                 </listitem> -->
1565
1566                 <listitem>
1567                   <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
1568                 </listitem>
1569
1570                 <listitem>
1571                   <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
1572                   initialization on the standard output stream.</para>
1573                 </listitem>
1574                 <listitem>
1575                   <para>Add the <emphasis role="bold">--dynroot</emphasis> or
1576                   <emphasis role="bold">--afsdb</emphasis> options if you
1577                   wish to have a synthetic AFS root, as discussed in
1578                   <link linkend="HDRWQ91">Enabling Access to Foreign Cells</link>
1579                   </para>
1580                 </listitem>
1581               </itemizedlist></para>
1582           </listitem>
1583
1584           <listitem>
1585             <para>If appropriate, follow the instructions in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link> to copy the
1586             AFS binaries for this system type into an AFS volume. See the introduction to this section for further
1587             discussion.</para>
1588           </listitem>
1589         </orderedlist></para>
1590     </sect2>
1591
1592     <sect2 id="HDRWQ112">
1593       <title>Completing the Installation</title>
1594
1595       <para>At this point you run the machine's AFS initialization script to verify that it correctly loads AFS modifications into
1596       the kernel and starts the BOS Server, which starts the other server processes. If you have installed client files, the script
1597       also starts the Cache Manager. If the script works correctly, perform the steps that incorporate it into the machine's startup
1598       and shutdown sequence. If there are problems during the initialization, attempt to resolve them. The AFS Product Support group
1599       can provide assistance if necessary.</para>
1600
1601       <para>If the machine is configured as a client using a disk cache, it can take a while for the <emphasis
1602       role="bold">afsd</emphasis> program to create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
1603       in the cache directory. Messages on the console trace the initialization process. <orderedlist>
1604           <listitem>
1605             <para>Issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the AFS server processes other than
1606             the BOS Server. Include the <emphasis role="bold">-wait</emphasis> flag to delay return of the command shell prompt
1607             until all processes shut down completely. <programlisting>
1608    # <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis
1609                   role="bold">-wait</emphasis>
1610 </programlisting></para>
1611           </listitem>
1612
1613           <listitem>
1614             <para>Issue the <emphasis role="bold">ps</emphasis> command to learn the BOS Server's process ID number (PID), and then
1615             the <emphasis role="bold">kill</emphasis> command to stop the <emphasis role="bold">bosserver</emphasis> process.
1616             <programlisting>
1617    # <emphasis role="bold">ps</emphasis> <replaceable>appropriate_ps_options</replaceable> <emphasis role="bold">| grep bosserver</emphasis>
1618    # <emphasis role="bold">kill</emphasis> <replaceable>bosserver_PID</replaceable>
1619 </programlisting> <indexterm>
1620                 <primary>AFS initialization script</primary>
1621
1622                 <secondary>adding to machine startup sequence</secondary>
1623
1624                 <tertiary>server machine after first</tertiary>
1625               </indexterm> <indexterm>
1626                 <primary>AFS initialization script</primary>
1627
1628                 <secondary>running</secondary>
1629
1630                 <tertiary>server machine after first</tertiary>
1631               </indexterm> <indexterm>
1632                 <primary>file server machine, additional</primary>
1633
1634                 <secondary>AFS initialization script</secondary>
1635               </indexterm> <indexterm>
1636                 <primary>running AFS init. script</primary>
1637
1638                 <secondary>server machine after first</secondary>
1639               </indexterm> <indexterm>
1640                 <primary>installing</primary>
1641
1642                 <secondary>AFS initialization script</secondary>
1643
1644                 <tertiary>server machine after first</tertiary>
1645               </indexterm>
1646             <indexterm>
1647               <primary>Linux</primary>
1648
1649               <secondary>AFS initialization script</secondary>
1650
1651               <tertiary>on add'l server machine</tertiary>
1652             </indexterm>
1653               </para>
1654           </listitem>
1655
1656           <listitem>
1657             <para>Run the AFS initialization script by issuing the appropriate commands for this system type.</para>
1658
1659             <para><emphasis role="bold">On Fedora or RHEL Linux systems:</emphasis> 
1660               <orderedlist>
1661                 <listitem>
1662                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
1663  <programlisting>
1664    # <emphasis role="bold">cd /</emphasis>
1665    # <emphasis role="bold">shutdown -r now</emphasis>
1666    login: <emphasis role="bold">root</emphasis>
1667    Password: <replaceable>root_password</replaceable>
1668 </programlisting></para>
1669                 </listitem>
1670
1671                 <listitem>
1672                   <para>Run the OpenAFS initialization scripts. <programlisting>
1673    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
1674    # <emphasis role="bold">/etc/rc.d/init.d/openafs-server  start</emphasis>
1675 </programlisting></para>
1676                 </listitem>
1677
1678                 <listitem>
1679                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> 
1680                   command to activate the 
1681                   <emphasis role="bold">openafs-client</emphasis> and 
1682                   <emphasis role="bold">openafs-server</emphasis> configuration 
1683                   variables. Based on the instruction in the AFS initialization 
1684                   files that begins with the string 
1685                   <computeroutput>#chkconfig</computeroutput>, the command 
1686                   automatically creates the symbolic links that incorporate the 
1687                   script into the Linux startup and shutdown sequence. 
1688 <programlisting>
1689    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
1690    # <emphasis role="bold">/sbin/chkconfig  --add openafs-server</emphasis>
1691 </programlisting></para>
1692                 </listitem>
1693               </orderedlist>
1694             </para>
1695             <para><emphasis role="bold">On Linux systems:</emphasis> <orderedlist>
1696                 <listitem>
1697                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
1698                   <programlisting>
1699    # <emphasis role="bold">cd /</emphasis>
1700    # <emphasis role="bold">shutdown -r now</emphasis>
1701    login: <emphasis role="bold">root</emphasis>
1702    Password: <replaceable>root_password</replaceable>
1703 </programlisting></para>
1704                 </listitem>
1705
1706                 <listitem>
1707                   <para>Run the OpenAFS initialization script. <programlisting>
1708    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
1709 </programlisting></para>
1710                 </listitem>
1711
1712                 <listitem>
1713                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
1714                   role="bold">afs</emphasis> configuration variable. Based on the instruction in the AFS initialization file that
1715                   begins with the string <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic
1716                   links that incorporate the script into the Linux startup and shutdown sequence. <programlisting>
1717    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
1718 </programlisting></para>
1719                 </listitem>
1720
1721                 <listitem>
1722                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
1723                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories,
1724                   and copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
1725                   role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want
1726                   to avoid potential confusion by guaranteeing that the two copies of each file are always the same, create a link
1727                   between them. You can always retrieve the original script or options file from the AFS CD-ROM if necessary.
1728                   <programlisting>
1729    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
1730    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
1731    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
1732    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
1733 </programlisting></para>
1734                 </listitem>
1735
1736                 <listitem>
1737                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
1738                 </listitem>
1739               </orderedlist></para>
1740
1741             <indexterm>
1742               <primary>Solaris</primary>
1743
1744               <secondary>AFS initialization script</secondary>
1745
1746               <tertiary>on add'l server machine</tertiary>
1747             </indexterm>
1748
1749             <para><emphasis role="bold">On Solaris systems:</emphasis> <orderedlist>
1750                 <listitem>
1751                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
1752                   <programlisting>
1753    # <emphasis role="bold">cd /</emphasis>
1754    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
1755    login: <emphasis role="bold">root</emphasis>
1756    Password: <replaceable>root_password</replaceable>
1757 </programlisting></para>
1758                 </listitem>
1759
1760                 <listitem>
1761                   <para>Run the AFS initialization script. <programlisting>
1762    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
1763 </programlisting></para>
1764                 </listitem>
1765
1766                 <listitem>
1767                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
1768                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris
1769                   startup and shutdown sequence. <programlisting>
1770    # <emphasis role="bold">cd /etc/init.d</emphasis>
1771    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
1772    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
1773 </programlisting></para>
1774                 </listitem>
1775
1776                 <listitem>
1777                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
1778                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
1779                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
1780                   You can always retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
1781    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
1782    # <emphasis role="bold">rm afs.rc</emphasis>
1783    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
1784 </programlisting></para>
1785                 </listitem>
1786               </orderedlist></para>
1787           </listitem>
1788
1789           <listitem id="LIWQ113">
1790             <para>Verify that <emphasis role="bold">/usr/afs</emphasis> and its subdirectories on the new
1791             file server machine meet the ownership and mode bit requirements outlined in <link linkend="HDRWQ96">Protecting
1792             Sensitive AFS Directories</link>. If necessary, use the <emphasis role="bold">chmod</emphasis> command to correct the
1793             mode bits.</para>
1794           </listitem>
1795
1796           <listitem>
1797             <para>To configure this machine as a database server machine, proceed to <link linkend="HDRWQ114">Installing Database
1798             Server Functionality</link>.</para>
1799           </listitem>
1800         </orderedlist></para>
1801
1802       <indexterm>
1803         <primary>database server machine</primary>
1804
1805         <secondary>requirements for installation</secondary>
1806       </indexterm>
1807
1808       <indexterm>
1809         <primary>requirements</primary>
1810
1811         <secondary>database server machine</secondary>
1812       </indexterm>
1813     </sect2>
1814   </sect1>
1815
1816   <sect1 id="HDRWQ114">
1817     <title>Installing Database Server Functionality</title>
1818
1819     <para>This section explains how to install database server functionality. Database server machines have two defining
1820     characteristics. First, they run the Protection Server, and Volume Location (VL) Server processes. They
1821     also run the Backup Server if the cell uses the AFS Backup System, as is assumed in these instructions. Second, they appear in
1822     the <emphasis role="bold">CellServDB</emphasis> file of every machine in the cell (and of client machines in foreign cells, if
1823     they are to access files in this cell).</para>
1824
1825     <para>Note the following requirements for database server machines. <itemizedlist>
1826         <listitem>
1827           <para>In the conventional configuration, database server machines also serve as file server machines (run the File Server,
1828           Volume Server and Salvager processes). If you choose not to run file server functionality on a database server machine,
1829           then the kernel does not have to incorporate AFS modifications, but the local <emphasis role="bold">/usr/afs</emphasis>
1830           directory must house most of the standard files and subdirectories. In particular, the <emphasis
1831           role="bold">/usr/afs/etc/KeyFile</emphasis> file must contain the same keys as all other server machines in the cell. If
1832           you run a system control machine, run the <emphasis role="bold">upclientetc</emphasis> process on every database server
1833           machine other than the system control machine; if you do not run a system control machine, use the <emphasis
1834           role="bold">bos addkey</emphasis> command as instructed in the chapter in the <emphasis>OpenAFS Administration
1835           Guide</emphasis> about maintaining server encryption keys.</para>
1836
1837           <para>The instructions in this section assume that the machine on which you are installing database server functionality
1838           is already a file server machine. Contact the OpenAFS mailing list to learn how to install database server
1839           functionality on a non-file server machine.</para>
1840         </listitem>
1841
1842         <listitem>
1843           <para>During the installation of database server functionality, you must restart all of the database server machines to
1844           force the election of a new Ubik coordinator (synchronization site) for each database server process. This can cause a
1845           system outage, which usually lasts less than 5 minutes.</para>
1846         </listitem>
1847
1848         <listitem>
1849           <para>Updating the kernel memory list of database server machines on each client machine is generally the most
1850           time-consuming part of installing a new database server machine. It is, however, crucial for correct functioning in your
1851           cell. Incorrect knowledge of your cell's database server machines can prevent your users from authenticating, accessing
1852           files, and issuing AFS commands.</para>
1853
1854           <para>You update a client's kernel memory list by changing the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis>
1855           file and then either rebooting or issuing the <emphasis role="bold">fs newcell</emphasis> command. For instructions, see
1856           the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
1857
1858           <para>The point at which you update your clients' knowledge of database server machines depends on which of the database
1859           server machines has the lowest IP address. The following instructions indicate the appropriate place to update your client
1860           machines in either case. <itemizedlist>
1861               <listitem>
1862                 <para>If the new database server machine has a lower IP address than any existing database server machine, update
1863                 the <emphasis role="bold">CellServDB</emphasis> file on every client machine before restarting the database server
1864                 processes. If you do not, users can become unable to update (write to) any of the AFS databases. This is because the
1865                 machine with the lowest IP address is usually elected as the Ubik coordinator, and only the Coordinator accepts
1866                 database writes. On client machines that do not have the new list of database server machines, the Cache Manager
1867                 cannot locate the new coordinator. (Be aware that if clients contact the new coordinator before it is actually in
1868                 service, they experience a timeout before contacting another database server machine. This is a minor, and
1869                 temporary, problem compared to being unable to write to the database.)</para>
1870               </listitem>
1871
1872               <listitem>
1873                 <para>If the new database server machine does not have the lowest IP address of any database server machine, then it
1874                 is better to update clients after restarting the database server processes. Client machines do not start using the
1875                 new database server machine until you update their kernel memory list, but that does not usually cause timeouts or
1876                 update problems (because the new machine is not likely to become the coordinator).</para>
1877               </listitem>
1878             </itemizedlist></para>
1879         </listitem>
1880       </itemizedlist></para>
1881
1882     <indexterm>
1883       <primary>overview</primary>
1884
1885       <secondary>installing additional database server machine</secondary>
1886     </indexterm>
1887
1888     <sect2 id="Header_110">
1889       <title>Summary of Procedures</title>
1890
1891       <para>To install a database server machine, perform the following procedures. <orderedlist>
1892           <listitem>
1893             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
1894           </listitem>
1895
1896           <listitem>
1897             <para>Add the new machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing file server
1898             machines</para>
1899           </listitem>
1900
1901           <listitem>
1902             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
1903             to foreign cells</para>
1904           </listitem>
1905
1906           <listitem>
1907             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
1908             list of database server machines</para>
1909           </listitem>
1910
1911           <listitem>
1912             <para>Start the database server processes (Backup Server, Protection Server, and Volume Location
1913             Server)</para>
1914           </listitem>
1915
1916           <listitem>
1917             <para>Restart the database server processes on every database server machine</para>
1918           </listitem>
1919
1920           <listitem>
1921             <para>If required, request that grand.central.org add details of 
1922             your new database server machine to the global CellServDB</para>
1923           </listitem>
1924           
1925           <listitem>
1926             <para>If required, add details of your new database server to the
1927             AFS database location records in your site's DNS</para>
1928           </listitem>
1929           
1930         </orderedlist></para>
1931
1932       <indexterm>
1933         <primary>database server machine</primary>
1934
1935         <secondary>installing</secondary>
1936
1937         <tertiary>additional</tertiary>
1938       </indexterm>
1939
1940       <indexterm>
1941         <primary>instructions</primary>
1942
1943         <secondary>database server machine, installing additional</secondary>
1944       </indexterm>
1945
1946       <indexterm>
1947         <primary>installing</primary>
1948
1949         <secondary>database server machine</secondary>
1950
1951         <tertiary>additional</tertiary>
1952       </indexterm>
1953     </sect2>
1954
1955     <sect2 id="Header_111">
1956       <title>Instructions</title>
1957
1958       <note>
1959         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
1960         you possibly need to precede the command names with the appropriate pathname.</para>
1961       </note>
1962
1963       <orderedlist>
1964         <listitem>
1965           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
1966           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
1967 <programlisting> 
1968    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
1969    Password: <replaceable>admin_password</replaceable>
1970    % <emphasis role="bold">aklog</emphasis>
1971 </programlisting>
1972           </para>
1973         </listitem>
1974
1975         <listitem>
1976           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
1977           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
1978           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
1979           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
1980           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
1981           directory. <programlisting>
1982    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
1983 </programlisting> <indexterm>
1984               <primary>bos commands</primary>
1985
1986               <secondary>addhost</secondary>
1987             </indexterm> <indexterm>
1988               <primary>commands</primary>
1989
1990               <secondary>bos addhost</secondary>
1991             </indexterm> <indexterm>
1992               <primary>database server machine</primary>
1993
1994               <secondary>entry in server CellServDB file</secondary>
1995
1996               <tertiary>for new db-server machine</tertiary>
1997             </indexterm> <indexterm>
1998               <primary>CellServDB file (server)</primary>
1999
2000               <secondary>adding entry for new db-server machine</secondary>
2001             </indexterm> <indexterm>
2002               <primary>adding</primary>
2003
2004               <secondary>new db-server machine to CellServDB files</secondary>
2005             </indexterm></para>
2006         </listitem>
2007
2008         <listitem id="LIWQ115">
2009           <para>Issue the <emphasis role="bold">bos addhost</emphasis> command to add the new database server
2010           machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing server machines (as well as the
2011           new database server machine itself).</para>
2012
2013           <para>Substitute the new database server machine's fully-qualified hostname for the <replaceable>host name</replaceable>
2014           argument. If you run a system control machine, substitute its fully-qualified hostname for the
2015           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
2016           role="bold">bos addhost</emphasis> command once for each server machine in your cell (including the new database server
2017           machine itself), by substituting each one's fully-qualified hostname for the <replaceable>machine&nbsp;name</replaceable>
2018           argument in turn.</para>
2019
2020           <programlisting>
2021    % <emphasis role="bold">bos addhost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
2022 </programlisting>
2023
2024           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
2025           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If you are issuing individual <emphasis
2026           role="bold">bos addhost</emphasis> commands, attempt to issue all of them within five minutes.</para>
2027
2028           <note>
2029             <para>It is best to maintain a one-to-one mapping between hostnames and IP addresses on a multihomed database server
2030             machine (the conventional configuration for any AFS machine). The BOS Server uses the <emphasis
2031             role="bold">gethostbyname(&nbsp;)</emphasis> routine to obtain the IP address associated with the <replaceable>host
2032             name</replaceable> argument. If there is more than one address, the BOS Server records in the <emphasis
2033             role="bold">CellServDB</emphasis> entry the one that appears first in the list of addresses returned by the routine. The
2034             routine possibly returns addresses in a different order on different machines, which can create inconsistency.</para>
2035           </note>
2036         </listitem>
2037
2038         <listitem>
2039           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
2040           server machine to verify that the new database server machine appears in its <emphasis role="bold">CellServDB</emphasis>
2041           file. <programlisting>
2042    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
2043 </programlisting></para>
2044         </listitem>
2045
2046         <listitem id="LIWQ116">
2047           <para>Add the new database server machine to your cell's central <emphasis
2048           role="bold">CellServDB</emphasis> source file, if you use one. The standard location is <emphasis
2049           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2050           role="bold">/common/etc/CellServDB</emphasis>.</para>
2051
2052           <para>If you are willing to make your cell accessible to users in foreign cells, add the new database server machine to
2053           the file that lists your cell's database server machines. The conventional location is <emphasis
2054           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2055           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
2056               <primary>database server machine</primary>
2057
2058               <secondary>entry in client CellServDB file</secondary>
2059
2060               <tertiary>for new db-server machine</tertiary>
2061             </indexterm> <indexterm>
2062               <primary>CellServDB file (client)</primary>
2063
2064               <secondary>adding entry</secondary>
2065
2066               <tertiary>for new db-server machine</tertiary>
2067             </indexterm> <indexterm>
2068               <primary>client machine</primary>
2069
2070               <secondary>CellServDB file</secondary>
2071
2072               <tertiary>adding entry</tertiary>
2073             </indexterm></para>
2074         </listitem>
2075
2076         <listitem id="LIWQ117">
2077           <para>If this machine's IP address is lower than any existing database server machine's, update
2078           every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory list to include
2079           this machine. (If this machine's IP address is not the lowest, it is acceptable to wait until Step <link
2080           linkend="LIWQ123">12</link>.)</para>
2081
2082           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
2083           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
2084           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>).
2085           To update the machine's kernel memory list, you can
2086           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
2087           newcell</emphasis> command. 
2088             <indexterm>
2089               <primary>database server machine</primary>
2090
2091               <secondary>starting database server processes</secondary>
2092             </indexterm> <indexterm>
2093               <primary>BosConfig file</primary>
2094
2095               <secondary>adding entries</secondary>
2096
2097               <tertiary>database server machine</tertiary>
2098             </indexterm> <indexterm>
2099               <primary>adding</primary>
2100
2101               <secondary>entries to BosConfig file</secondary>
2102
2103               <tertiary>database server machine</tertiary>
2104             </indexterm></para>
2105         </listitem>
2106         
2107         <listitem>
2108           <para>If you are running a cell which still relies upon
2109           <emphasis role="bold">kaserver</emphasis> see 
2110           <link linkend="KAS010">Starting the Authentication Service</link>
2111           for an additional installation step.</para>
2112         </listitem>
2113
2114         <listitem id="LIWQ119">
2115           <indexterm>
2116             <primary>Backup Server</primary>
2117             <secondary>starting</secondary>
2118             <tertiary>new db-server machine</tertiary>
2119           </indexterm> <indexterm>
2120             <primary>starting</primary>
2121             <secondary>Backup Server</secondary>
2122             <tertiary>new db-server machine</tertiary>
2123           </indexterm>
2124
2125           <para>Start the Backup Server (the <emphasis role="bold">buserver</emphasis> process). You must
2126           perform other configuration procedures before actually using the AFS Backup System, as detailed in the <emphasis>OpenAFS
2127           Administration Guide</emphasis>. <programlisting>
2128    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis>
2129 </programlisting> <indexterm>
2130               <primary>Protection Server</primary>
2131
2132               <secondary>starting</secondary>
2133
2134               <tertiary>new db-server machine</tertiary>
2135             </indexterm> <indexterm>
2136               <primary>starting</primary>
2137
2138               <secondary>Protection Server</secondary>
2139
2140               <tertiary>new db-server machine</tertiary>
2141             </indexterm></para>
2142         </listitem>
2143
2144         <listitem id="LIWQ120">
2145           <para>Start the Protection Server (the <emphasis role="bold">ptserver</emphasis> process).
2146           <programlisting>
2147    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis>
2148 </programlisting> <indexterm>
2149               <primary>VL Server (vlserver process)</primary>
2150
2151               <secondary>starting</secondary>
2152
2153               <tertiary>new db-server machine</tertiary>
2154             </indexterm> <indexterm>
2155               <primary>starting</primary>
2156
2157               <secondary>VL Server</secondary>
2158
2159               <tertiary>new db-server machine</tertiary>
2160             </indexterm></para>
2161         </listitem>
2162
2163         <listitem id="LIWQ121">
2164           <para>Start the Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis>
2165           process). <programlisting>
2166    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis>
2167 </programlisting> <indexterm>
2168               <primary>commands</primary>
2169
2170               <secondary>bos restart</secondary>
2171
2172               <tertiary>on new db-server machine</tertiary>
2173             </indexterm> <indexterm>
2174               <primary>bos commands</primary>
2175
2176               <secondary>restart</secondary>
2177
2178               <tertiary>on new db-server machine</tertiary>
2179             </indexterm> <indexterm>
2180               <primary>restarting server process</primary>
2181
2182               <secondary>on new db-server machine</secondary>
2183             </indexterm> <indexterm>
2184               <primary>server process</primary>
2185
2186               <secondary>restarting</secondary>
2187
2188               <tertiary>on new db-server machine</tertiary>
2189             </indexterm></para>
2190         </listitem>
2191
2192         <listitem id="LIWQ122">
2193           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
2194           machine in the cell, including the new machine. The command restarts the Authentication, Backup, Protection, and VL
2195           Servers, which forces an election of a new Ubik coordinator for each process. The new machine votes in the election and is
2196           considered as a potential new coordinator.</para>
2197
2198           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
2199           lasts less than five minutes. Such an outage is particularly likely if you are installing your cell's second database
2200           server machine. Messages tracing the progress of the election appear on the console.</para>
2201
2202           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
2203           the lowest IP address.</para>
2204
2205           <programlisting>
2206    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>    
2207 </programlisting>
2208
2209           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
2210           methods: <itemizedlist>
2211               <listitem>
2212                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
2213                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
2214               </listitem>
2215
2216               <listitem>
2217                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
2218                 its console</para>
2219               </listitem>
2220             </itemizedlist></para>
2221         </listitem>
2222
2223         <listitem id="LIWQ123">
2224           <para>If you did not update the <emphasis role="bold">CellServDB</emphasis> file on client machines
2225           in Step <link linkend="LIWQ117">6</link>, do so now.</para>
2226         </listitem>
2227
2228         <listitem id="LIWQ124">
2229           <para>If you wish to participate in the AFS
2230           global name space, send the new database server machine's name and 
2231           IP address to grand.central.org. Do so, by emailing an updated
2232           <emphasis role="bold">CellServDB</emphasis> fragment for your cell
2233           to cellservdb@grand.central.org</para>
2234           <para>More details on the registration procedures for the
2235           CellServDB maintained by grand.central.org are available from
2236           <ulink url="http://grand.central.org/csdb.html">
2237           http://grand.central.org/csdb.html</ulink></para>
2238         </listitem>
2239       </orderedlist>
2240
2241       <indexterm>
2242         <primary>database server machine</primary>
2243
2244         <secondary>removing from service</secondary>
2245       </indexterm>
2246
2247       <indexterm>
2248         <primary>instructions</primary>
2249
2250         <secondary>database server machine, removing</secondary>
2251       </indexterm>
2252
2253       <indexterm>
2254         <primary>removing</primary>
2255
2256         <secondary>database server machine from service</secondary>
2257       </indexterm>
2258
2259       <indexterm>
2260         <primary>overview</primary>
2261
2262         <secondary>removing database server machine</secondary>
2263       </indexterm>
2264     </sect2>
2265   </sect1>
2266
2267   <sect1 id="HDRWQ125">
2268     <title>Removing Database Server Functionality</title>
2269
2270     <para>Removing database server machine functionality is nearly the reverse of installing it.</para>
2271
2272     <sect2 id="Header_113">
2273       <title>Summary of Procedures</title>
2274
2275       <para>To decommission a database server machine, perform the following procedures. <orderedlist>
2276           <listitem>
2277             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
2278           </listitem>
2279
2280           <listitem>
2281             <para>If you participate in the global AFS namespace, notify
2282             grand.central.org that you are decommissioning a database server 
2283             machine</para>
2284           </listitem>
2285
2286           <listitem>
2287             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
2288             to foreign cells</para>
2289           </listitem>
2290
2291           <listitem>
2292             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
2293             list of database server machines</para>
2294           </listitem>
2295
2296           <listitem>
2297             <para>Remove the machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on file server
2298             machines</para>
2299           </listitem>
2300
2301           <listitem>
2302             <para>Stop the database server processes and remove them from the <emphasis
2303             role="bold">/usr/afs/local/BosConfig</emphasis> file if desired</para>
2304           </listitem>
2305
2306           <listitem>
2307             <para>Restart the database server processes on the remaining database server machines</para>
2308           </listitem>
2309         </orderedlist></para>
2310     </sect2>
2311
2312     <sect2 id="Header_114">
2313       <title>Instructions</title>
2314
2315       <note>
2316         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
2317         you possibly need to precede the command names with the appropriate pathname.</para>
2318       </note>
2319
2320       <orderedlist>
2321         <listitem>
2322           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
2323           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
2324 <programlisting>
2325    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
2326    Password: <replaceable>admin_password</replaceable>
2327    % <emphasis role="bold">aklog</emphasis>
2328 </programlisting></para>
2329         </listitem>
2330
2331         <listitem>
2332           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
2333           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
2334           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
2335           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
2336           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
2337           directory. <programlisting>
2338    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
2339 </programlisting></para>
2340         </listitem>
2341
2342         <listitem id="LIWQ126">
2343           <para>If your cell is included in the global
2344           <emphasis role="bold">CellServDB</emphasis>, send the revised list of 
2345           your cell's database server machines to grand.central.org</para>
2346
2347           <para>If the administrators in foreign cells do not learn about the change in your cell,
2348           they cannot update the <emphasis role="bold">CellServDB</emphasis> file on their client machines. Users in foreign cells
2349           continue to send database requests to the decommissioned machine, which creates needless network traffic and activity on
2350           the machine. Also, the users experience time-out delays while their request is forwarded to a valid database server
2351           machine.</para>
2352         </listitem>
2353
2354         <listitem id="LIWQ127">
2355           <para>Remove the decommissioned machine from your cell's central <emphasis
2356           role="bold">CellServDB</emphasis> source file, if you use one. The conventional location is <emphasis
2357           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2358           role="bold">/common/etc/CellServDB</emphasis>.</para>
2359
2360           <para>If you maintain a file that users in foreign cells can access to learn about your cell's database server machines,
2361           update it also. The conventional location is <emphasis
2362           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2363           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
2364               <primary>database server machine</primary>
2365
2366               <secondary>entry in client CellServDB file</secondary>
2367
2368               <tertiary>removing</tertiary>
2369             </indexterm> <indexterm>
2370               <primary>CellServDB file (client)</primary>
2371
2372               <secondary>removing entry</secondary>
2373             </indexterm> <indexterm>
2374               <primary>client machine</primary>
2375
2376               <secondary>CellServDB file</secondary>
2377
2378               <tertiary>removing entry</tertiary>
2379             </indexterm> <indexterm>
2380               <primary>removing</primary>
2381
2382               <secondary>entry from CellServDB file</secondary>
2383             </indexterm></para>
2384         </listitem>
2385
2386         <listitem id="LIWQ128">
2387           <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file
2388           and kernel memory list to exclude this machine. Altering the <emphasis role="bold">CellServDB</emphasis> file and kernel
2389           memory list before stopping the actual database server processes avoids possible time-out delays that result when users
2390           send requests to a decommissioned database server machine that is still listed in the file.</para>
2391
2392           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
2393           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
2394           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>).
2395           To update the machine's kernel memory list, you can
2396           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
2397           newcell</emphasis> command. <indexterm>
2398               <primary>bos commands</primary>
2399
2400               <secondary>removehost</secondary>
2401             </indexterm> <indexterm>
2402               <primary>commands</primary>
2403
2404               <secondary>bos removehost</secondary>
2405             </indexterm> <indexterm>
2406               <primary>CellServDB file (server)</primary>
2407
2408               <secondary>removing entry</secondary>
2409             </indexterm> <indexterm>
2410               <primary>database server machine</primary>
2411
2412               <secondary>entry in server CellServDB file</secondary>
2413
2414               <tertiary>removing</tertiary>
2415             </indexterm></para>
2416         </listitem>
2417
2418         <listitem id="LIWQ129">
2419           <para>Issue the <emphasis role="bold">bos removehost</emphasis> command to remove the
2420           decommissioned database server machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on server
2421           machines.</para>
2422
2423           <para>Substitute the decommissioned database server machine's fully-qualified hostname for the <replaceable>host
2424           name</replaceable> argument. If you run a system control machine, substitute its fully-qualified hostname for the
2425           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
2426           role="bold">bos removehost</emphasis> command once for each server machine in your cell (including the decommissioned
2427           database server machine itself), by substituting each one's fully-qualified hostname for the
2428           <replaceable>machine&nbsp;name</replaceable> argument in turn.</para>
2429
2430           <programlisting>
2431    % <emphasis role="bold">bos removehost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
2432 </programlisting>
2433
2434           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
2435           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If issuing individual <emphasis
2436           role="bold">bos removehost</emphasis> commands, attempt to issue all of them within five minutes.</para>
2437         </listitem>
2438
2439         <listitem>
2440           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
2441           server machine to verify that the decommissioned database server machine no longer appears in its <emphasis
2442           role="bold">CellServDB</emphasis> file. <programlisting>
2443    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
2444 </programlisting> <indexterm>
2445               <primary>commands</primary>
2446
2447               <secondary>bos stop</secondary>
2448             </indexterm> <indexterm>
2449               <primary>bos commands</primary>
2450
2451               <secondary>stop</secondary>
2452             </indexterm> <indexterm>
2453               <primary>database server machine</primary>
2454
2455               <secondary>stopping database server processes</secondary>
2456             </indexterm> <indexterm>
2457               <primary>stopping</primary>
2458
2459               <secondary>database server processes</secondary>
2460             </indexterm> <indexterm>
2461               <primary>Backup Server</primary>
2462
2463               <secondary>stopping</secondary>
2464             </indexterm> <indexterm>
2465               <primary>Protection Server</primary>
2466
2467               <secondary>stopping</secondary>
2468             </indexterm> <indexterm>
2469               <primary>VL Server (vlserver process)</primary>
2470
2471               <secondary>stopping</secondary>
2472             </indexterm></para>
2473         </listitem>
2474
2475         <listitem id="LIWQ130">
2476           <para>Issue the <emphasis role="bold">bos stop</emphasis> command to stop the database server
2477           processes on the machine, by substituting its fully-qualified hostname for the
2478           <replaceable>machine&nbsp;name</replaceable> argument. The command changes each process's status in the <emphasis
2479           role="bold">/usr/afs/local/BosConfig</emphasis> file to <computeroutput>NotRun</computeroutput>, but does not remove its
2480           entry from the file. <programlisting>
2481    % <emphasis role="bold">bos stop</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
2482 </programlisting> <indexterm>
2483               <primary>commands</primary>
2484
2485               <secondary>bos delete</secondary>
2486             </indexterm> <indexterm>
2487               <primary>bos commands</primary>
2488
2489               <secondary>delete</secondary>
2490             </indexterm> <indexterm>
2491               <primary>BosConfig file</primary>
2492
2493               <secondary>removing entries</secondary>
2494             </indexterm> <indexterm>
2495               <primary>removing</primary>
2496
2497               <secondary>entries from BosConfig File</secondary>
2498             </indexterm> <indexterm>
2499               <primary>database server machine</primary>
2500
2501               <secondary>removing db-server processes from BosConfig file</secondary>
2502             </indexterm></para>
2503         </listitem>
2504
2505         <listitem id="LIWQ131">
2506           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos
2507           delete</emphasis> command to remove the entries for database server processes from the <emphasis
2508           role="bold">BosConfig</emphasis> file. This step is unnecessary if you plan to restart the database server functionality
2509           on this machine in future. <programlisting>
2510    % <emphasis role="bold">bos delete</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>
2511 </programlisting> <indexterm>
2512               <primary>commands</primary>
2513
2514               <secondary>bos restart</secondary>
2515
2516               <tertiary>on removed db-server machine</tertiary>
2517             </indexterm> <indexterm>
2518               <primary>bos commands</primary>
2519
2520               <secondary>restart</secondary>
2521
2522               <tertiary>on removed db-server machine</tertiary>
2523             </indexterm> <indexterm>
2524               <primary>restarting server process</primary>
2525
2526               <secondary>on removed db-server machine</secondary>
2527             </indexterm> <indexterm>
2528               <primary>server process</primary>
2529
2530               <secondary>restarting</secondary>
2531
2532               <tertiary>on removed db-server machine</tertiary>
2533             </indexterm></para>
2534         </listitem>
2535
2536         <listitem id="LIWQ132">
2537           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
2538           machine in the cell, to restart the Backup, Protection, and VL Servers. This forces the election of a Ubik
2539           coordinator for each process, ensuring that the remaining database server processes recognize that the machine is no
2540           longer a database server.</para>
2541
2542           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
2543           lasts less than five minutes. Messages tracing the progress of the election appear on the console.</para>
2544
2545           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
2546           the lowest IP address.</para>
2547
2548           <programlisting>
2549    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>    
2550 </programlisting>
2551
2552           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
2553           methods: <itemizedlist>
2554               <listitem>
2555                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
2556                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
2557               </listitem>
2558
2559               <listitem>
2560                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
2561                 its console</para>
2562               </listitem>
2563             </itemizedlist></para>
2564         </listitem>
2565       </orderedlist>
2566     </sect2>
2567   </sect1>
2568 </chapter>