Windows: Track Mixed RO Volume Release State
[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="HDRWQ101">Getting Started on AIX Systems</link></para>
240           </listitem>
241
242           <listitem>
243             <para><link linkend="HDRWQ103">Getting Started on HP-UX Systems</link></para>
244           </listitem>
245
246           <listitem>
247             <para><link linkend="HDRWQ104">Getting Started on IRIX Systems</link></para>
248           </listitem>
249
250           <listitem>
251             <para><link linkend="HDRWQ106">Getting Started on Linux Systems</link></para>
252           </listitem>
253
254           <listitem>
255             <para><link linkend="HDRWQ107">Getting Started on Solaris Systems</link></para>
256           </listitem>
257         </itemizedlist></para>
258
259       <sect3 id="HDRWQ101">
260         <title>Getting Started on AIX Systems</title>
261
262         <para>Begin by running the AFS initialization script to call the AIX kernel extension facility, which dynamically loads AFS
263         modifications into the kernel. Then configure partitions and replace the AIX <emphasis role="bold">fsck</emphasis> program
264         with a version that correctly handles AFS volumes. <orderedlist>
265             <indexterm>
266               <primary>incorporating AFS kernel extensions</primary>
267
268               <secondary>server machine after first</secondary>
269
270               <tertiary>AIX</tertiary>
271             </indexterm>
272
273             <indexterm>
274               <primary>AFS kernel extensions</primary>
275
276               <secondary>on server machine after first</secondary>
277
278               <tertiary>AIX</tertiary>
279             </indexterm>
280
281             <indexterm>
282               <primary>file server machine, additional</primary>
283
284               <secondary>AFS kernel extensions</secondary>
285
286               <tertiary>on AIX</tertiary>
287             </indexterm>
288
289             <indexterm>
290               <primary>AIX</primary>
291
292               <secondary>AFS kernel extensions</secondary>
293
294               <tertiary>on add'l server machine</tertiary>
295             </indexterm>
296
297             <listitem>
298               <para>Unpack the distribution tarball. The examples below assume 
299               that you have unpacked the files into the 
300               <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
301               pick a different location, substitute this in all of the following 
302               examples. Once you have unpacked the distribution, 
303               change directory as indicated.
304 <programlisting>
305    # <emphasis role="bold">cd /tmp/afsdist/rs_aix42/dest/root.client/usr/vice/etc</emphasis>
306 </programlisting></para>
307             </listitem>
308
309             <listitem>
310               <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/dkload</emphasis> directory,
311               and the AFS initialization script to the <emphasis role="bold">/etc</emphasis> directory. <programlisting>
312    # <emphasis role="bold">cp -rp  dkload  /usr/vice/etc</emphasis>
313    # <emphasis role="bold">cp -p  rc.afs  /etc/rc.afs</emphasis>
314 </programlisting></para>
315             </listitem>
316
317             <listitem>
318               <para>Edit the <emphasis role="bold">/etc/rc.afs</emphasis> script, setting the <computeroutput>NFS</computeroutput>
319               variable as indicated.</para>
320
321               <para>If the machine is not to function as an NFS/AFS Translator, set the <computeroutput>NFS</computeroutput>
322               variable as follows.</para>
323
324               <programlisting>
325    NFS=$NFS_NONE
326 </programlisting>
327
328               <para>If the machine is to function as an NFS/AFS Translator and is running AIX 4.2.1 or higher, set the
329               <computeroutput>NFS</computeroutput> variable as follows. Note that NFS must already be loaded into the kernel, which
330               happens automatically on systems running AIX 4.1.1 and later, as long as the file <emphasis
331               role="bold">/etc/exports</emphasis> exists.</para>
332
333               <programlisting>
334    NFS=$NFS_IAUTH
335 </programlisting>
336             </listitem>
337
338             <listitem>
339               <para>Invoke the <emphasis role="bold">/etc/rc.afs</emphasis> script to load AFS modifications into the kernel. You
340               can ignore any error messages about the inability to start the BOS Server or the Cache Manager or AFS client.
341               <programlisting>
342    # <emphasis role="bold">/etc/rc.afs</emphasis>
343 </programlisting> <indexterm>
344                   <primary>configuring</primary>
345
346                   <secondary>AFS server partition on server machine after first</secondary>
347
348                   <tertiary>AIX</tertiary>
349                 </indexterm> <indexterm>
350                   <primary>AFS server partition</primary>
351
352                   <secondary>configuring on server machine after first</secondary>
353
354                   <tertiary>AIX</tertiary>
355                 </indexterm> <indexterm>
356                   <primary>file server machine, additional</primary>
357
358                   <secondary>AFS server partition</secondary>
359
360                   <tertiary>on AIX</tertiary>
361                 </indexterm> <indexterm>
362                   <primary>AIX</primary>
363
364                   <secondary>AFS server partition</secondary>
365
366                   <tertiary>on add'l server machine</tertiary>
367                 </indexterm></para>
368             </listitem>
369
370             <listitem>
371               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
372               server partition you are configuring (there must be at least one). Repeat the command for each partition.
373               <programlisting>
374    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
375 </programlisting></para>
376             </listitem>
377
378             <listitem>
379               <para>Use the <emphasis role="bold">SMIT</emphasis> program to create a journaling file system on each partition to be
380               configured as an AFS server partition.</para>
381             </listitem>
382
383             <listitem>
384               <para>Mount each partition at one of the <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>
385               directories. Choose one of the following three methods: <itemizedlist>
386                   <listitem>
387                     <para>Use the <emphasis role="bold">SMIT</emphasis> program</para>
388                   </listitem>
389
390                   <listitem>
391                     <para>Use the <emphasis role="bold">mount -a</emphasis> command to mount all partitions at once</para>
392                   </listitem>
393
394                   <listitem>
395                     <para>Use the <emphasis role="bold">mount</emphasis> command on each partition in turn</para>
396                   </listitem>
397                 </itemizedlist></para>
398
399               <para>Also configure the partitions so that they are mounted automatically at each reboot. For more information, refer
400               to the AIX documentation. <indexterm>
401                   <primary>replacing fsck program</primary>
402
403                   <secondary>server machine after first</secondary>
404
405                   <tertiary>AIX</tertiary>
406                 </indexterm> <indexterm>
407                   <primary>fsck program</primary>
408
409                   <secondary>on server machine after first</secondary>
410
411                   <tertiary>AIX</tertiary>
412                 </indexterm> <indexterm>
413                   <primary>file server machine, additional</primary>
414
415                   <secondary>fsck program</secondary>
416
417                   <tertiary>on AIX</tertiary>
418                 </indexterm> <indexterm>
419                   <primary>AIX</primary>
420
421                   <secondary>fsck program</secondary>
422
423                   <tertiary>on add'l server machine</tertiary>
424                 </indexterm></para>
425             </listitem>
426
427             <listitem>
428               <para>On systems prior to AIX 5.1, move the AIX 
429               <emphasis role="bold">fsck</emphasis> program helper to a safe 
430               location and install the version from the AFS distribution in 
431               its place. Note that on AIX 5.1, and later, systems this step is
432               not required, and the <emphasis role="bold">v3fshelper</emphasis>
433               program is not shipped for these systems.</para>
434               
435               <para>The AFS binary distribution must still be available in the
436               <emphasis role="bold">/tmp/afsdist</emphasis> directory. 
437 <programlisting>
438    # <emphasis role="bold">cd /sbin/helpers</emphasis>
439    # <emphasis role="bold">mv v3fshelper v3fshelper.noafs</emphasis>
440    # <emphasis role="bold">cp -p /tmp/afsdist/rs_aix42/dest/root.server/etc/v3fshelper v3fshelper</emphasis>
441 </programlisting></para>
442             </listitem>
443
444             <listitem>
445               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
446               instructions in <link linkend="HDRWQ25">Enabling AFS Login on AIX Systems</link>.</para>
447             </listitem>
448
449             <listitem>
450               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
451             </listitem>
452           </orderedlist></para>
453       </sect3>
454
455       <sect3 id="HDRWQ103">
456         <title>Getting Started on HP-UX Systems</title>
457
458         <para>Begin by building AFS modifications into the kernel, then configure server partitions and replace the HP-UX <emphasis
459         role="bold">fsck</emphasis> program with a version that correctly handles AFS volumes.</para>
460
461         <para>If the machine's hardware and software configuration exactly matches another HP-UX machine on which AFS is already
462         built into the kernel, you can copy the kernel from that machine to this one. In general, however, it is better to build AFS
463         modifications into the kernel on each machine according to the following instructions. 
464           <orderedlist>
465             <indexterm>
466               <primary>incorporating AFS kernel extensions</primary>
467
468               <secondary>server machine after first</secondary>
469
470               <tertiary>HP-UX</tertiary>
471             </indexterm>
472
473             <indexterm>
474               <primary>AFS kernel extensions</primary>
475
476               <secondary>on server machine after first</secondary>
477
478               <tertiary>HP-UX</tertiary>
479             </indexterm>
480
481             <indexterm>
482               <primary>file server machine, additional</primary>
483
484               <secondary>AFS kernel extensions</secondary>
485
486               <tertiary>on HP-UX</tertiary>
487             </indexterm>
488
489             <indexterm>
490               <primary>HP-UX</primary>
491
492               <secondary>AFS-modified kernel</secondary>
493
494               <tertiary>on add'l server machine</tertiary>
495             </indexterm>
496
497             <listitem>
498               <para>Move the existing kernel-related files to a safe location. <programlisting>
499    # <emphasis role="bold">cp /stand/vmunix /stand/vmunix.noafs</emphasis>
500    # <emphasis role="bold">cp /stand/system /stand/system.noafs</emphasis>
501 </programlisting></para>
502             </listitem>
503
504             <listitem>
505               <para>Unpack the OpenAFS HP-UX distribution tarball. The examples 
506               below assume that you have unpacked the files into the 
507               <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
508               pick a different location, substitute this in all of the following 
509               examples. Once you have unpacked the distribution, change 
510               directory as indicated.
511 <programlisting>
512    # <emphasis role="bold">cd /tmp/afsdist/hp_ux110/dest/root.client</emphasis>
513 </programlisting></para>
514             </listitem>
515
516             <listitem>
517               <para>Copy the AFS initialization file to the local directory for initialization files (by convention, <emphasis
518               role="bold">/sbin/init.d</emphasis> on HP-UX machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
519               extension as you copy the file. <programlisting>
520    # <emphasis role="bold">cp usr/vice/etc/afs.rc  /sbin/init.d/afs</emphasis>
521 </programlisting></para>
522             </listitem>
523
524             <listitem>
525               <para>Copy the file <emphasis role="bold">afs.driver</emphasis> to the local <emphasis
526               role="bold">/usr/conf/master.d</emphasis> directory, changing its name to <emphasis role="bold">afs</emphasis> as you
527               do. <programlisting>
528    # <emphasis role="bold">cp  usr/vice/etc/afs.driver  /usr/conf/master.d/afs</emphasis>
529 </programlisting></para>
530             </listitem>
531
532             <listitem>
533               <para>Copy the AFS kernel module to the local <emphasis role="bold">/usr/conf/lib</emphasis> directory.</para>
534
535               <para>If the machine's kernel supports NFS server functionality:</para>
536
537               <programlisting>
538    # <emphasis role="bold">cp bin/libafs.a /usr/conf/lib</emphasis>   
539 </programlisting>
540
541               <para>If the machine's kernel does not support NFS server functionality, change the file's name as you copy it:</para>
542
543               <programlisting>
544    # <emphasis role="bold">cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</emphasis>
545 </programlisting>
546             </listitem>
547
548             <listitem>
549               <para>Incorporate the AFS driver into the kernel, either using the <emphasis role="bold">SAM</emphasis> program or a
550               series of individual commands. <itemizedlist>
551                   <listitem>
552                     <para>To use the <emphasis role="bold">SAM</emphasis> program: <orderedlist>
553                         <listitem>
554                           <para>Invoke the <emphasis role="bold">SAM</emphasis> program, specifying the hostname of the local
555                           machine as <replaceable>local_hostname</replaceable>. The <emphasis role="bold">SAM</emphasis> graphical
556                           user interface pops up. <programlisting>
557    # <emphasis role="bold">sam -display</emphasis> <replaceable>local_hostname</replaceable><emphasis role="bold">:0</emphasis> 
558 </programlisting></para>
559                         </listitem>
560
561                         <listitem>
562                           <para>Choose the <emphasis role="bold">Kernel Configuration</emphasis> icon, then the <emphasis
563                           role="bold">Drivers</emphasis> icon. From the list of drivers, select <emphasis
564                           role="bold">afs</emphasis>.</para>
565                         </listitem>
566
567                         <listitem>
568                           <para>Open the pull-down <emphasis role="bold">Actions</emphasis> menu and choose the <emphasis
569                           role="bold">Add Driver to Kernel</emphasis> option.</para>
570                         </listitem>
571
572                         <listitem>
573                           <para>Open the <emphasis role="bold">Actions</emphasis> menu again and choose the <emphasis
574                           role="bold">Create a New Kernel</emphasis> option.</para>
575                         </listitem>
576
577                         <listitem>
578                           <para>Confirm your choices by choosing <emphasis role="bold">Yes</emphasis> and <emphasis
579                           role="bold">OK</emphasis> when prompted by subsequent pop-up windows. The <emphasis
580                           role="bold">SAM</emphasis> program builds the kernel and reboots the system.</para>
581                         </listitem>
582
583                         <listitem>
584                           <para>Login again as the superuser <emphasis role="bold">root</emphasis>. <programlisting>
585    login: <emphasis role="bold">root</emphasis>
586    Password: <replaceable>root_password</replaceable>
587 </programlisting></para>
588                         </listitem>
589                       </orderedlist></para>
590                   </listitem>
591
592                   <listitem>
593                     <para>To use individual commands: <orderedlist>
594                         <listitem>
595                           <para>Edit the file <emphasis role="bold">/stand/system</emphasis>, adding an entry for <emphasis
596                           role="bold">afs</emphasis> to the <computeroutput>Subsystems</computeroutput> section.</para>
597                         </listitem>
598
599                         <listitem>
600                           <para>Change to the <emphasis role="bold">/stand/build</emphasis> directory and issue the <emphasis
601                           role="bold">mk_kernel</emphasis> command to build the kernel. <programlisting>
602    # <emphasis role="bold">cd /stand/build</emphasis>
603    # <emphasis role="bold">mk_kernel</emphasis>
604 </programlisting></para>
605                         </listitem>
606
607                         <listitem>
608                           <para>Move the new kernel to the standard location (<emphasis role="bold">/stand/vmunix</emphasis>),
609                           reboot the machine to start using it, and login again as the superuser <emphasis
610                           role="bold">root</emphasis>. <programlisting>
611    # <emphasis role="bold">mv /stand/build/vmunix_test /stand/vmunix</emphasis>
612    # <emphasis role="bold">cd /</emphasis>
613    # <emphasis role="bold">shutdown -r now</emphasis>             
614    login: <emphasis role="bold">root</emphasis>
615    Password: <replaceable>root_password</replaceable>
616 </programlisting></para>
617                         </listitem>
618                       </orderedlist></para>
619                   </listitem>
620                 </itemizedlist></para>
621
622               <indexterm>
623                 <primary>configuring</primary>
624
625                 <secondary>AFS server partition on server machine after first</secondary>
626
627                 <tertiary>HP-UX</tertiary>
628               </indexterm>
629
630               <indexterm>
631                 <primary>AFS server partition</primary>
632
633                 <secondary>configuring on server machine after first</secondary>
634
635                 <tertiary>HP-UX</tertiary>
636               </indexterm>
637
638               <indexterm>
639                 <primary>file server machine, additional</primary>
640
641                 <secondary>AFS server partition</secondary>
642
643                 <tertiary>on HP-UX</tertiary>
644               </indexterm>
645
646               <indexterm>
647                 <primary>HP-UX</primary>
648
649                 <secondary>AFS server partition</secondary>
650
651                 <tertiary>on add'l server machine</tertiary>
652               </indexterm>
653             </listitem>
654
655             <listitem>
656               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
657               server partition you are configuring (there must be at least one). Repeat the command for each partition.
658               <programlisting>
659    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
660 </programlisting></para>
661             </listitem>
662
663             <listitem>
664               <para>Use the <emphasis role="bold">SAM</emphasis> program to create a file system on each partition. For
665               instructions, consult the HP-UX documentation.</para>
666             </listitem>
667
668             <listitem>
669               <para>On some HP-UX systems that use logical volumes, the <emphasis role="bold">SAM</emphasis> program automatically
670               mounts the partitions. If it has not, mount each partition by issuing either the <emphasis role="bold">mount
671               -a</emphasis> command to mount all partitions at once or the <emphasis role="bold">mount</emphasis> command to mount
672               each partition in turn. <indexterm>
673                   <primary>replacing fsck program</primary>
674
675                   <secondary>server machine after first</secondary>
676
677                   <tertiary>HP-UX</tertiary>
678                 </indexterm> <indexterm>
679                   <primary>fsck program</primary>
680
681                   <secondary>on server machine after first</secondary>
682
683                   <tertiary>HP-UX</tertiary>
684                 </indexterm> <indexterm>
685                   <primary>file server machine, additional</primary>
686
687                   <secondary>fsck program</secondary>
688
689                   <tertiary>on HP-UX</tertiary>
690                 </indexterm> <indexterm>
691                   <primary>HP-UX</primary>
692
693                   <secondary>fsck program</secondary>
694
695                   <tertiary>on add'l server machine</tertiary>
696                 </indexterm></para>
697             </listitem>
698
699             <listitem>
700               <para>Create the command configuration file <emphasis role="bold">/sbin/lib/mfsconfig.d/afs</emphasis>. Use a text
701               editor to place the indicated two lines in it: <programlisting>
702    format_revision 1
703    fsck            0        m,P,p,d,f,b:c:y,n,Y,N,q,
704 </programlisting></para>
705             </listitem>
706
707             <listitem>
708               <para>Create and change directory to an AFS-specific command directory called <emphasis
709               role="bold">/sbin/fs/afs</emphasis>. <programlisting>
710    # <emphasis role="bold">mkdir /sbin/fs/afs</emphasis>
711    # <emphasis role="bold">cd  /sbin/fs/afs</emphasis>
712 </programlisting></para>
713             </listitem>
714
715             <listitem>
716               <para>Copy the AFS-modified version of the <emphasis role="bold">fsck</emphasis> program (the <emphasis
717               role="bold">vfsck</emphasis> binary) and related files from the distribution directory to the new AFS-specific command
718               directory. <programlisting>
719    # <emphasis role="bold">cp -p /tmp/afsdist/hp_ux110/dest/root.server/etc/*  .</emphasis>
720 </programlisting></para>
721             </listitem>
722
723             <listitem>
724               <para>Change the <emphasis role="bold">vfsck</emphasis> binary's name to <emphasis role="bold">fsck</emphasis> and set
725               the mode bits appropriately on all of the files in the <emphasis role="bold">/sbin/fs/afs</emphasis> directory.
726               <programlisting>
727    # <emphasis role="bold">mv  vfsck  fsck</emphasis>
728    # <emphasis role="bold">chmod  755  *</emphasis>
729 </programlisting></para>
730             </listitem>
731
732             <listitem>
733               <para>Edit the <emphasis role="bold">/etc/fstab</emphasis> file, changing the file system type for each AFS server
734               partition from <computeroutput>hfs</computeroutput> to <computeroutput>afs</computeroutput>. This ensures that the
735               AFS-modified <emphasis role="bold">fsck</emphasis> program runs on the appropriate partitions.</para>
736
737               <para>The sixth line in the following example of an edited file shows an AFS server partition, <emphasis
738               role="bold">/vicepa</emphasis>.</para>
739
740               <programlisting>
741    /dev/vg00/lvol1 / hfs defaults 0 1
742    /dev/vg00/lvol4 /opt hfs defaults 0 2
743    /dev/vg00/lvol5 /tmp hfs defaults 0 2
744    /dev/vg00/lvol6 /usr hfs defaults 0 2
745    /dev/vg00/lvol8 /var hfs defaults 0 2
746    /dev/vg00/lvol9 /vicepa afs defaults 0 2
747    /dev/vg00/lvol7 /usr/vice/cache hfs defaults 0 2
748 </programlisting>
749             </listitem>
750
751             <listitem>
752               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
753               instructions in <link linkend="HDRWQ35">Enabling AFS Login on HP-UX Systems</link>.</para>
754             </listitem>
755
756             <listitem>
757               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
758             </listitem>
759           </orderedlist></para>
760       </sect3>
761
762       <sect3 id="HDRWQ104">
763         <title>Getting Started on IRIX Systems</title>
764
765         <para>Begin by incorporating AFS modifications into the kernel. Either use the <emphasis role="bold">ml</emphasis> dynamic
766         loader program, or build a static kernel. Then configure partitions to house AFS volumes. AFS supports use of both EFS and
767         XFS partitions for housing AFS volumes. SGI encourages use of XFS partitions. <indexterm>
768             <primary>file server machine, additional</primary>
769
770             <secondary>fsck program</secondary>
771
772             <tertiary>on IRIX</tertiary>
773           </indexterm> <indexterm>
774             <primary>fsck program</primary>
775
776             <secondary>on server machine after first</secondary>
777
778             <tertiary>IRIX</tertiary>
779           </indexterm></para>
780
781         <para>You do not need to replace IRIX <emphasis role="bold">fsck</emphasis> program, because the version that SGI
782         distributes handles AFS volumes properly. <orderedlist>
783             <indexterm>
784               <primary>incorporating AFS kernel extensions</primary>
785
786               <secondary>server machine after first</secondary>
787
788               <tertiary>IRIX</tertiary>
789             </indexterm>
790
791             <indexterm>
792               <primary>AFS kernel extensions</primary>
793
794               <secondary>on server machine after first</secondary>
795
796               <tertiary>IRIX</tertiary>
797             </indexterm>
798
799             <indexterm>
800               <primary>file server machine, additional</primary>
801
802               <secondary>AFS kernel extensions</secondary>
803
804               <tertiary>on IRIX</tertiary>
805             </indexterm>
806
807             <listitem>
808               <para>Prepare for incorporating AFS into the kernel by performing the following procedures. <orderedlist>
809                   <listitem>
810                     <para>Unpack the OpenAFS IRIX distribution tarball. The 
811                     examples below assume that you have unpacked the files into 
812                     the <emphasis role="bold">/tmp/afsdist</emphasis> 
813                     directory. If you pick a different location, substitue this 
814                     in all of the following examples. Once you have unpacked 
815                     the distribution, change directory as indicated.
816 <programlisting>
817    # <emphasis role="bold">cd /tmp/afsdist/sgi_65/dest/root.client</emphasis>
818 </programlisting></para>
819                   </listitem>
820
821                   <listitem>
822                     <para>Copy the AFS initialization script to the local directory for initialization files (by convention,
823                     <emphasis role="bold">/etc/init.d</emphasis> on IRIX machines). Note the removal of the <emphasis
824                     role="bold">.rc</emphasis> extension as you copy the script. <programlisting>
825    # <emphasis role="bold">cp -p   usr/vice/etc/afs.rc  /etc/init.d/afs</emphasis>
826 </programlisting></para>
827                   </listitem>
828
829                   <listitem>
830                     <para>Issue the <emphasis role="bold">uname -m</emphasis> command to determine the machine's CPU board type. The
831                     <emphasis role="bold">IP</emphasis><replaceable>xx</replaceable> value in the output must match one of the
832                     supported CPU board types listed in the <emphasis>OpenAFS Release Notes</emphasis> for the current version of
833                     AFS. <programlisting>
834    # <emphasis role="bold">uname -m</emphasis>
835 </programlisting></para>
836                   </listitem>
837                 </orderedlist></para>
838             </listitem>
839
840             <listitem>
841               <para>Incorporate AFS into the kernel, either using the <emphasis role="bold">ml</emphasis> program or by building AFS
842               modifications into a static kernel. <itemizedlist>
843                   <indexterm>
844                     <primary>IRIX</primary>
845
846                     <secondary>AFS kernel extensions</secondary>
847
848                     <tertiary>on server machine after first</tertiary>
849                   </indexterm>
850
851                   <listitem>
852                     <para>To use the <emphasis role="bold">ml</emphasis> program: <indexterm>
853                         <primary>afsml variable (IRIX)</primary>
854
855                         <secondary>server machine after first</secondary>
856                       </indexterm> <indexterm>
857                         <primary>variables</primary>
858
859                         <secondary>afsml (IRIX)</secondary>
860
861                         <tertiary>server machine after first</tertiary>
862                       </indexterm> <indexterm>
863                         <primary>IRIX</primary>
864
865                         <secondary>afsml variable</secondary>
866
867                         <tertiary>server machine after first</tertiary>
868                       </indexterm> <indexterm>
869                         <primary>afsxnfs variable (IRIX)</primary>
870
871                         <secondary>server machine after first</secondary>
872                       </indexterm> <indexterm>
873                         <primary>variables</primary>
874
875                         <secondary>afsxnfs (IRIX)</secondary>
876
877                         <tertiary>server machine after first</tertiary>
878                       </indexterm> <indexterm>
879                         <primary>IRIX</primary>
880
881                         <secondary>afsxnfs variable</secondary>
882
883                         <tertiary>server machine after first</tertiary>
884                       </indexterm> <orderedlist>
885                         <listitem>
886                           <para>Create the local <emphasis role="bold">/usr/vice/etc/sgiload</emphasis> directory to house the AFS
887                           kernel library file. <programlisting>
888    # <emphasis role="bold">mkdir /usr/vice/etc/sgiload</emphasis>
889 </programlisting></para>
890                         </listitem>
891
892                         <listitem>
893                           <para>Copy the appropriate AFS kernel library file to the <emphasis
894                           role="bold">/usr/vice/etc/sgiload</emphasis> directory. The <emphasis
895                           role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must match the
896                           value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
897                           appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for
898                           the machine to act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library
899                           file.</para>
900
901                           <para>(You can choose to copy all of the kernel library files into the <emphasis
902                           role="bold">/usr/vice/etc/sgiload</emphasis> directory, but they require a significant amount of
903                           space.)</para>
904
905                           <para>If the machine's kernel supports NFS server functionality:</para>
906
907                           <programlisting>
908    # <emphasis role="bold">cp -p  usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.o  /usr/vice/etc/sgiload</emphasis>   
909 </programlisting>
910
911                           <para>If the machine's kernel does not support NFS server functionality:</para>
912
913                           <programlisting>
914    # <emphasis role="bold">cp -p  usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.o</emphasis>   \
915                    <emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
916 </programlisting>
917                         </listitem>
918
919                         <listitem>
920                           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
921                           role="bold">afsml</emphasis> configuration variable. <programlisting>
922    # <emphasis role="bold">/etc/chkconfig -f afsml on</emphasis>   
923 </programlisting></para>
924
925                           <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server
926                           functionality, activate the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
927
928                           <programlisting>
929    # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
930 </programlisting>
931                         </listitem>
932
933                         <listitem>
934                           <para>Run the <emphasis role="bold">/etc/init.d/afs</emphasis> script to load AFS extensions into the
935                           kernel. The script invokes the <emphasis role="bold">ml</emphasis> command, automatically determining
936                           which kernel library file to use based on this machine's CPU type and the activation state of the
937                           <emphasis role="bold">afsxnfs</emphasis> variable.</para>
938
939                           <para>You can ignore any error messages about the inability to start the BOS Server or the Cache Manager
940                           or AFS client.</para>
941
942                           <programlisting>
943    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
944 </programlisting>
945                         </listitem>
946
947                         <listitem>
948                           <para>Proceed to Step <link linkend="LIWQ105">3</link>.</para>
949                         </listitem>
950                       </orderedlist></para>
951
952                     <indexterm>
953                       <primary>IRIX</primary>
954
955                       <secondary>AFS-modified kernel</secondary>
956
957                       <tertiary>on add'l server machine</tertiary>
958                     </indexterm>
959                   </listitem>
960
961                   <listitem>
962                     <para>If you prefer to build a kernel, and the machine's hardware and software configuration exactly matches
963                     another IRIX machine on which AFS is already built into the kernel, you can copy the kernel from that machine to
964                     this one. In general, however, it is better to build AFS modifications into the kernel on each machine according
965                     to the following instructions. <orderedlist>
966                         <listitem>
967                           <para>Copy the kernel initialization file <emphasis role="bold">afs.sm</emphasis> to the local <emphasis
968                           role="bold">/var/sysgen/system</emphasis> directory, and the kernel master file <emphasis
969                           role="bold">afs</emphasis> to the local <emphasis role="bold">/var/sysgen/master.d</emphasis> directory.
970                           <programlisting>
971    # <emphasis role="bold">cp -p  bin/afs.sm  /var/sysgen/system</emphasis>
972    # <emphasis role="bold">cp -p  bin/afs  /var/sysgen/master.d</emphasis>
973 </programlisting></para>
974                         </listitem>
975
976                         <listitem>
977                           <para>Copy the appropriate AFS kernel library file to the local file <emphasis
978                           role="bold">/var/sysgen/boot/afs.a</emphasis>; the <emphasis
979                           role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must match the
980                           value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
981                           appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for
982                           the machine to act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library
983                           file.</para>
984
985                           <para>If the machine's kernel supports NFS server functionality:</para>
986
987                           <programlisting>
988    # <emphasis role="bold">cp -p   bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.a   /var/sysgen/boot/afs.a</emphasis>   
989 </programlisting>
990
991                           <para>If the machine's kernel does not support NFS server functionality:</para>
992
993                           <programlisting>
994    # <emphasis role="bold">cp -p  bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.a  /var/sysgen/boot/afs.a</emphasis>
995 </programlisting>
996                         </listitem>
997
998                         <listitem>
999                           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to deactivate the <emphasis
1000                           role="bold">afsml</emphasis> configuration variable. <programlisting>
1001    # <emphasis role="bold">/etc/chkconfig -f afsml off</emphasis>   
1002 </programlisting></para>
1003
1004                           <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server
1005                           functionality, activate the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
1006
1007                           <programlisting>
1008    # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
1009 </programlisting>
1010                         </listitem>
1011
1012                         <listitem>
1013                           <para>Copy the existing kernel file, <emphasis role="bold">/unix</emphasis>, to a safe location. Compile
1014                           the new kernel, which is created in the file <emphasis role="bold">/unix.install</emphasis>. It overwrites
1015                           the existing <emphasis role="bold">/unix</emphasis> file when the machine reboots in the next step.
1016                           <programlisting>
1017    # <emphasis role="bold">cp /unix /unix_noafs</emphasis>
1018    # <emphasis role="bold">autoconfig</emphasis>
1019 </programlisting></para>
1020                         </listitem>
1021
1022                         <listitem>
1023                           <para>Reboot the machine to start using the new kernel, and login again as the superuser <emphasis
1024                           role="bold">root</emphasis>. <programlisting>
1025    # <emphasis role="bold">cd /</emphasis>
1026    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
1027    login: <emphasis role="bold">root</emphasis>
1028    Password: <replaceable>root_password</replaceable>
1029 </programlisting></para>
1030                         </listitem>
1031                       </orderedlist></para>
1032                   </listitem>
1033                 </itemizedlist></para>
1034
1035               <indexterm>
1036                 <primary>configuring</primary>
1037
1038                 <secondary>AFS server partition on server machine after first</secondary>
1039
1040                 <tertiary>IRIX</tertiary>
1041               </indexterm>
1042
1043               <indexterm>
1044                 <primary>AFS server partition</primary>
1045
1046                 <secondary>configuring on server machine after first</secondary>
1047
1048                 <tertiary>IRIX</tertiary>
1049               </indexterm>
1050
1051               <indexterm>
1052                 <primary>file server machine, additional</primary>
1053
1054                 <secondary>AFS server partition</secondary>
1055
1056                 <tertiary>on IRIX</tertiary>
1057               </indexterm>
1058
1059               <indexterm>
1060                 <primary>IRIX</primary>
1061
1062                 <secondary>AFS server partition</secondary>
1063
1064                 <tertiary>on add'l server machine</tertiary>
1065               </indexterm>
1066             </listitem>
1067
1068             <listitem id="LIWQ105">
1069               <para>Create a directory called <emphasis
1070               role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS server partition you are configuring (there
1071               must be at least one). Repeat the command for each partition. <programlisting>
1072    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1073 </programlisting></para>
1074             </listitem>
1075
1076             <listitem>
1077               <para>Add a line with the following format to the file systems registry file, <emphasis
1078               role="bold">/etc/fstab</emphasis>, for each partition (or logical volume created with the XLV volume manager) to be
1079               mounted on one of the directories created in the previous step.</para>
1080
1081               <para>For an XFS partition or logical volume:</para>
1082
1083               <programlisting>
1084    /dev/dsk/<replaceable>disk</replaceable>  /vicep<replaceable>xx</replaceable>  xfs  rw,raw=/dev/rdsk/<replaceable>disk</replaceable>  0  0   
1085 </programlisting>
1086
1087               <para>For an EFS partition:</para>
1088
1089               <programlisting>
1090    /dev/dsk/<replaceable>disk</replaceable>  /vicep<replaceable>xx</replaceable>  efs  rw,raw=/dev/rdsk/<replaceable>disk</replaceable>  0  0   
1091 </programlisting>
1092
1093               <para>The following are examples of an entry for each file system type:</para>
1094
1095               <programlisting>
1096    /dev/dsk/dks0d2s6 /vicepa  xfs rw,raw=/dev/rdsk/dks0d2s6  0 0
1097    /dev/dsk/dks0d3s1 /vicepb  efs rw,raw=/dev/rdsk/dks0d3s1  0 0
1098 </programlisting>
1099             </listitem>
1100
1101             <listitem>
1102               <para>Create a file system on each partition that is to be mounted on a <emphasis
1103               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following commands are probably appropriate,
1104               but consult the IRIX documentation for more information. In both cases, <replaceable>raw_device</replaceable> is a raw
1105               device name like <emphasis role="bold">/dev/rdsk/dks0d0s0</emphasis> for a single disk partition or <emphasis
1106               role="bold">/dev/rxlv/xlv0</emphasis> for a logical volume.</para>
1107
1108               <para>For XFS file systems, include the indicated options to configure the partition or logical volume with inodes
1109               large enough to accommodate AFS-specific information:</para>
1110
1111               <programlisting>
1112    # <emphasis role="bold">mkfs -t xfs -i size=512 -l size=4000b</emphasis> <replaceable>raw_device</replaceable>   
1113 </programlisting>
1114
1115               <para>For EFS file systems:</para>
1116
1117               <programlisting>
1118    # <emphasis role="bold">mkfs -t efs</emphasis> <replaceable>raw_device</replaceable>
1119 </programlisting>
1120             </listitem>
1121
1122             <listitem>
1123               <para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
1124               partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
1125             </listitem>
1126
1127             <listitem>
1128               <para><emphasis role="bold">(Optional)</emphasis> If you have configured partitions or logical volumes to use XFS,
1129               issue the following command to verify that the inodes are configured properly (are large enough to accommodate
1130               AFS-specific information). If the configuration is correct, the command returns no output. Otherwise, it specifies the
1131               command to run in order to configure each partition or logical volume properly. <programlisting>
1132    # <emphasis role="bold">/usr/afs/bin/xfs_size_check</emphasis>
1133 </programlisting></para>
1134             </listitem>
1135
1136             <listitem>
1137               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
1138               instructions in <link linkend="HDRWQ40">Enabling AFS Login on IRIX Systems</link>.</para>
1139             </listitem>
1140
1141             <listitem>
1142               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
1143             </listitem>
1144           </orderedlist></para>
1145       </sect3>
1146
1147       <sect3 id="HDRWQ106">
1148         <title>Getting Started on Linux Systems</title>
1149
1150         <indexterm>
1151           <primary>file server machine, additional</primary>
1152
1153           <secondary>fsck program</secondary>
1154
1155           <tertiary>on Linux</tertiary>
1156         </indexterm>
1157
1158         <indexterm>
1159           <primary>fsck program</primary>
1160
1161           <secondary>on server machine after first</secondary>
1162
1163           <tertiary>Linux</tertiary>
1164         </indexterm>
1165
1166         <para>Begin by running the AFS initialization script to call the <emphasis role="bold">insmod</emphasis> program, which
1167         dynamically loads AFS modifications into the kernel. Then create partitions for storing AFS volumes. You do not need to
1168         replace the Linux <emphasis role="bold">fsck</emphasis> program.</para>
1169         
1170         <para> The procedure for starting up OpenAFS depends upon your distribution</para>
1171           <orderedlist>
1172             <listitem>
1173               <para>For Fedora and RedHat Enterprise Linux systems (or their
1174               derivateds), download and install the RPM set for your operating system
1175               from the OpenAFS distribution site. You will need the
1176               <emphasis role="bold">openafs</emphasis> and
1177               <emphasis role="bold">openafs-server</emphasis> packages, along
1178               with an <emphasis role="bold">openafs-kernel</emphasis> package
1179               matching your current, running, kernel. If you wish to install
1180               client functionality, you will also require the
1181               <emphasis role="bold">openafs-client</emphasis> package.</para>
1182              
1183               <para>You can find the version of your current kernel by running
1184 <programlisting>
1185   # uname -r
1186 <replaceable>2.6.20-1.2933.fc6</replaceable>
1187 </programlisting></para>
1188  
1189               <para>Once downloaded, the packages may be installed with the
1190               <emphasis role="bold">rpm</emphasis> command
1191 <programlisting>
1192   # rpm -U openafs-* openafs-client-* openafs-server-* openafs-kernel-*
1193 </programlisting></para>
1194             </listitem>
1195             <listitem>
1196             <indexterm>
1197               <primary>incorporating AFS kernel extensions</primary>
1198
1199               <secondary>server machine after first</secondary>
1200
1201               <tertiary>Linux</tertiary>
1202             </indexterm>
1203
1204             <indexterm>
1205               <primary>AFS kernel extensions</primary>
1206
1207               <secondary>on server machine after first</secondary>
1208
1209               <tertiary>Linux</tertiary>
1210             </indexterm>
1211
1212             <indexterm>
1213               <primary>file server machine, additional</primary>
1214
1215               <secondary>AFS kernel extensions</secondary>
1216
1217               <tertiary>on Linux</tertiary>
1218             </indexterm>
1219
1220             <indexterm>
1221               <primary>Linux</primary>
1222
1223               <secondary>AFS kernel extensions</secondary>
1224
1225               <tertiary>on add'l server machine</tertiary>
1226             </indexterm>
1227               <para>For systems which are provided as a tarball, or built from
1228               source, unpack the distribution tarball. The examples below assume
1229               that you have unpacked the files into the
1230               <emphasis role="bold">/tmp/afsdist</emphasis>directory. If you
1231               pick a different location, substitute this in all of the following
1232               examples. Once you have unpacked the distribution,
1233               change directory as indicated.
1234 <programlisting>
1235   # <emphasis role="bold">cd /tmp/afsdist/linux/dest/root.client/usr/vice/etc</emphasis>
1236 </programlisting></para>
1237
1238               <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/modload</emphasis> directory.
1239               The filenames for the libraries have the format <emphasis
1240               role="bold">libafs-</emphasis><replaceable>version</replaceable><emphasis role="bold">.o</emphasis>, where
1241               <replaceable>version</replaceable> indicates the kernel build level. The string <emphasis role="bold">.mp</emphasis>
1242               in the <replaceable>version</replaceable> indicates that the file is appropriate for machines running a multiprocessor
1243               kernel. <programlisting>
1244    # <emphasis role="bold">cp -rp  modload  /usr/vice/etc</emphasis>
1245 </programlisting></para>
1246             
1247               <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1248               role="bold">/etc/rc.d/init.d</emphasis> on Linux machines). Note the removal of the <emphasis
1249               role="bold">.rc</emphasis> extension as you copy the script. <programlisting>
1250    # <emphasis role="bold">cp -p   afs.rc  /etc/rc.d/init.d/afs</emphasis> 
1251 </programlisting></para>
1252             </listitem>
1253             <listitem>
1254                 <indexterm>
1255                   <primary>configuring</primary>
1256
1257                   <secondary>AFS server partition on server machine after first</secondary>
1258
1259                   <tertiary>Linux</tertiary>
1260                 </indexterm> <indexterm>
1261                   <primary>AFS server partition</primary>
1262
1263                   <secondary>configuring on server machine after first</secondary>
1264
1265                   <tertiary>Linux</tertiary>
1266                 </indexterm> <indexterm>
1267                   <primary>file server machine, additional</primary>
1268
1269                   <secondary>AFS server partition</secondary>
1270
1271                   <tertiary>on Linux</tertiary>
1272                 </indexterm> <indexterm>
1273                   <primary>Linux</primary>
1274
1275                   <secondary>AFS server partition</secondary>
1276
1277                   <tertiary>on add'l server machine</tertiary>
1278                 </indexterm>
1279               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
1280               server partition you are configuring (there must be at least one). Repeat the command for each partition.
1281               <programlisting>
1282    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1283 </programlisting></para>
1284             </listitem>
1285
1286             <listitem>
1287               <para>Add a line with the following format to the file systems registry file, <emphasis
1288               role="bold">/etc/fstab</emphasis>, for each directory just created. The entry maps the directory name to the disk
1289               partition to be mounted on it. <programlisting>
1290    /dev/<replaceable>disk</replaceable>  /vicep<replaceable>xx</replaceable>  ext2  defaults  0  2   
1291 </programlisting></para>
1292
1293               <para>The following is an example for the first partition being configured.</para>
1294
1295               <programlisting>
1296    /dev/sda8 /vicepa ext2 defaults 0 2
1297 </programlisting>
1298             </listitem>
1299
1300             <listitem>
1301               <para>Create a file system on each partition that is to be mounted at a <emphasis
1302               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
1303               but consult the Linux documentation for more information. <programlisting>
1304    # <emphasis role="bold">mkfs -v /dev/</emphasis><replaceable>disk</replaceable>
1305 </programlisting></para>
1306             </listitem>
1307
1308             <listitem>
1309               <para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
1310               partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
1311             </listitem>
1312
1313             <listitem>
1314               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
1315               instructions in <link linkend="HDRWQ44">Enabling AFS Login on Linux Systems</link>.</para>
1316             </listitem>
1317
1318             <listitem>
1319               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
1320             </listitem>
1321           </orderedlist>
1322       </sect3>
1323
1324       <sect3 id="HDRWQ107">
1325         <title>Getting Started on Solaris Systems</title>
1326
1327         <para>Begin by running the AFS initialization script to call the <emphasis role="bold">modload</emphasis> program, which
1328         dynamically loads AFS modifications into the kernel. Then configure partitions and replace the Solaris <emphasis
1329         role="bold">fsck</emphasis> program with a version that correctly handles AFS volumes. <orderedlist>
1330             <indexterm>
1331               <primary>incorporating AFS kernel extensions</primary>
1332
1333               <secondary>server machine after first</secondary>
1334
1335               <tertiary>Solaris</tertiary>
1336             </indexterm>
1337
1338             <indexterm>
1339               <primary>AFS kernel extensions</primary>
1340
1341               <secondary>on server machine after first</secondary>
1342
1343               <tertiary>Solaris</tertiary>
1344             </indexterm>
1345
1346             <indexterm>
1347               <primary>file server machine, additional</primary>
1348
1349               <secondary>AFS kernel extensions</secondary>
1350
1351               <tertiary>Solaris</tertiary>
1352             </indexterm>
1353
1354             <indexterm>
1355               <primary>Solaris</primary>
1356
1357               <secondary>AFS kernel extensions</secondary>
1358
1359               <tertiary>on add'l server machine</tertiary>
1360             </indexterm>
1361
1362             <listitem>
1363               <para>Unpack the OpenAFS Solaris distribution tarball. The examples
1364               below assume that you have unpacked the files into the 
1365               <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
1366               pick a diferent location, substitute this in all of the following
1367               exmaples. Once you have unpacked the distribution, change directory
1368               as indicated. 
1369 <programlisting>
1370    # <emphasis role="bold">cd  /tmp/afsdist/sun4x_56/dest/root.client/usr/vice/etc</emphasis>
1371 </programlisting></para>
1372             </listitem>
1373
1374             <listitem>
1375               <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1376               role="bold">/etc/init.d</emphasis> on Solaris machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
1377               extension as you copy the script. <programlisting>
1378    # <emphasis role="bold">cp -p  afs.rc  /etc/init.d/afs</emphasis>
1379 </programlisting></para>
1380             </listitem>
1381
1382             <listitem>
1383               <para>Copy the appropriate AFS kernel library file to the local file <emphasis
1384               role="bold">/kernel/fs/afs</emphasis>.</para>
1385
1386               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
1387               functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
1388
1389               <programlisting>
1390    # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>   
1391 </programlisting>
1392
1393               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
1394               server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1395
1396               <programlisting>
1397    # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>   
1398 </programlisting>
1399
1400               <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
1401               <emphasis role="bold">nfsd</emphasis> process is running:</para>
1402
1403               <programlisting>
1404    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>   
1405 </programlisting>
1406
1407               <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
1408               functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1409
1410               <programlisting>
1411    # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
1412 </programlisting>
1413             </listitem>
1414
1415             <listitem>
1416               <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
1417               about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1418    # <emphasis role="bold">/etc/init.d/afs start</emphasis>   
1419 </programlisting></para>
1420
1421               <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
1422               role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
1423               using the new version of the file. If this happens, log in again as the superuser <emphasis
1424               role="bold">root</emphasis> after the reboot and run the initialization script again. This time the required entry
1425               exists in the <emphasis role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis
1426               role="bold">modload</emphasis> program runs.</para>
1427
1428               <programlisting>
1429    login: <emphasis role="bold">root</emphasis>
1430    Password: <replaceable>root_password</replaceable>
1431    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1432 </programlisting>
1433
1434               <indexterm>
1435                 <primary>replacing fsck program</primary>
1436
1437                 <secondary>server machine after first</secondary>
1438
1439                 <tertiary>Solaris</tertiary>
1440               </indexterm>
1441
1442               <indexterm>
1443                 <primary>fsck program</primary>
1444
1445                 <secondary>on server machine after first</secondary>
1446
1447                 <tertiary>Solaris</tertiary>
1448               </indexterm>
1449
1450               <indexterm>
1451                 <primary>file server machine, additional</primary>
1452
1453                 <secondary>fsck program</secondary>
1454
1455                 <tertiary>on Solaris</tertiary>
1456               </indexterm>
1457
1458               <indexterm>
1459                 <primary>Solaris</primary>
1460
1461                 <secondary>fsck program</secondary>
1462
1463                 <tertiary>on add'l server machine</tertiary>
1464               </indexterm>
1465             </listitem>
1466
1467             <listitem>
1468               <para>Create the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory to house the AFS-modified <emphasis
1469               role="bold">fsck</emphasis> program and related files. <programlisting>
1470    # <emphasis role="bold">mkdir /usr/lib/fs/afs</emphasis>
1471    # <emphasis role="bold">cd /usr/lib/fs/afs</emphasis>  
1472 </programlisting></para>
1473             </listitem>
1474
1475             <listitem>
1476               <para>Copy the <emphasis role="bold">vfsck</emphasis> binary to the newly created directory, changing the name as you
1477               do so. <programlisting>
1478    # <emphasis role="bold">cp  /cdrom/sun4x_56/dest/root.server/etc/vfsck  fsck</emphasis>
1479 </programlisting></para>
1480             </listitem>
1481
1482             <listitem>
1483               <para>Working in the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory, create the following links to Solaris
1484               libraries: <programlisting>
1485    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/clri</emphasis>  
1486    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/df</emphasis>
1487    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/edquota</emphasis>
1488    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ff</emphasis>
1489    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsdb</emphasis>  
1490    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsirand</emphasis>
1491    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fstyp</emphasis>
1492    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/labelit</emphasis>
1493    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/lockfs</emphasis>
1494    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mkfs</emphasis>  
1495    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mount</emphasis>
1496    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ncheck</emphasis>
1497    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/newfs</emphasis>
1498    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quot</emphasis>
1499    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quota</emphasis>
1500    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaoff</emphasis>
1501    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaon</emphasis>
1502    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/repquota</emphasis>
1503    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/tunefs</emphasis>
1504    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsdump</emphasis>
1505    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsrestore</emphasis>
1506    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/volcopy</emphasis>
1507 </programlisting></para>
1508             </listitem>
1509
1510             <listitem>
1511               <para>Append the following line to the end of the file <emphasis role="bold">/etc/dfs/fstypes</emphasis>.
1512               <programlisting>
1513    afs AFS Utilities
1514 </programlisting></para>
1515             </listitem>
1516
1517             <listitem>
1518               <para>Edit the <emphasis role="bold">/sbin/mountall</emphasis> file, making two changes. <itemizedlist>
1519                   <listitem>
1520                     <para>Add an entry for AFS to the <computeroutput>case</computeroutput> statement for option 2, so that it reads
1521                     as follows: <programlisting>
1522    case "$2" in
1523    ufs)    foptions="-o p"
1524            ;;
1525    afs)    foptions="-o p"
1526            ;;
1527    s5)     foptions="-y -t /var/tmp/tmp$$ -D"
1528            ;;
1529    *)      foptions="-y"
1530            ;;
1531 </programlisting></para>
1532                   </listitem>
1533
1534                   <listitem>
1535                     <para>Edit the file so that all AFS and UFS partitions are checked in parallel. Replace the following section of
1536                     code: <programlisting>
1537    # For  fsck purposes, we make a distinction between ufs and
1538    # other file systems
1539    #
1540    if [ "$fstype" = "ufs" ]; then
1541         ufs_fscklist="$ufs_fscklist $fsckdev"
1542         saveentry $fstype "$OPTIONS" $special $mountp
1543         continue
1544    fi  
1545 </programlisting></para>
1546
1547                     <para>with the following section of code:</para>
1548
1549                     <programlisting>
1550    # For fsck purposes, we make a distinction between ufs/afs
1551    # and other file systems.
1552    #
1553    if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
1554         ufs_fscklist="$ufs_fscklist $fsckdev"
1555         saveentry $fstype "$OPTIONS" $special $mountp
1556         continue
1557    fi
1558 </programlisting>
1559                   </listitem>
1560                 </itemizedlist></para>
1561
1562               <indexterm>
1563                 <primary>configuring</primary>
1564
1565                 <secondary>AFS server partition on server machine after first</secondary>
1566
1567                 <tertiary>Solaris</tertiary>
1568               </indexterm>
1569
1570               <indexterm>
1571                 <primary>AFS server partition</primary>
1572
1573                 <secondary>configuring on server machine after first</secondary>
1574
1575                 <tertiary>Solaris</tertiary>
1576               </indexterm>
1577
1578               <indexterm>
1579                 <primary>file server machine, additional</primary>
1580
1581                 <secondary>AFS server partition</secondary>
1582
1583                 <tertiary>on Solaris</tertiary>
1584               </indexterm>
1585
1586               <indexterm>
1587                 <primary>Solaris</primary>
1588
1589                 <secondary>AFS server partition</secondary>
1590
1591                 <tertiary>on add'l server machine</tertiary>
1592               </indexterm>
1593             </listitem>
1594
1595             <listitem>
1596               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
1597               server partition you are configuring (there must be at least one). Repeat the command for each partition.
1598               <programlisting>
1599    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1600 </programlisting></para>
1601             </listitem>
1602
1603             <listitem>
1604               <para>Add a line with the following format to the file systems registry file, <emphasis
1605               role="bold">/etc/vfstab</emphasis>, for each partition to be mounted on a directory created in the previous step. Note
1606               the value <computeroutput>afs</computeroutput> in the fourth field, which tells Solaris to use the AFS-modified
1607               <emphasis role="bold">fsck</emphasis> program on this partition. <programlisting>
1608    /dev/dsk/<replaceable>disk</replaceable>   /dev/rdsk/<replaceable>disk</replaceable>   /vicep<replaceable>xx</replaceable>   afs   <replaceable>boot_order</replaceable>  yes  
1609 </programlisting></para>
1610
1611               <para>The following is an example for the first partition being configured.</para>
1612
1613               <programlisting>
1614    /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
1615 </programlisting>
1616             </listitem>
1617
1618             <listitem>
1619               <para>Create a file system on each partition that is to be mounted at a <emphasis
1620               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
1621               but consult the Solaris documentation for more information. <programlisting>
1622    # <emphasis role="bold">newfs -v /dev/rdsk/</emphasis><replaceable>disk</replaceable>
1623 </programlisting></para>
1624             </listitem>
1625
1626             <listitem>
1627               <para>Issue the <emphasis role="bold">mountall</emphasis> command to mount all partitions at once.</para>
1628             </listitem>
1629
1630             <listitem>
1631               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
1632               instructions in <link linkend="HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris
1633               Systems</link>.</para>
1634             </listitem>
1635
1636             <listitem>
1637               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
1638             </listitem>
1639           </orderedlist></para>
1640
1641         <indexterm>
1642           <primary>file server machine, additional</primary>
1643
1644           <secondary>server functionality</secondary>
1645         </indexterm>
1646
1647         <indexterm>
1648           <primary>installing</primary>
1649
1650           <secondary>server functionality</secondary>
1651
1652           <tertiary>server machine after first</tertiary>
1653         </indexterm>
1654       </sect3>
1655     </sect2>
1656
1657     <sect2 id="HDRWQ108">
1658       <title>Starting Server Programs</title>
1659
1660       <para>In this section you initialize the BOS Server, the Update Server, and the <emphasis
1661       role="bold">fs</emphasis> process. You begin by copying the necessary server files to the local disk. <orderedlist>
1662           <indexterm>
1663             <primary>copying</primary>
1664
1665             <secondary>server files to local disk</secondary>
1666
1667             <tertiary>server machine after first</tertiary>
1668           </indexterm>
1669
1670           <indexterm>
1671             <primary>Binary Distribution</primary>
1672
1673             <secondary>copying server files from</secondary>
1674
1675             <tertiary>server machine after first</tertiary>
1676           </indexterm>
1677
1678           <indexterm>
1679             <primary>file server machine, additional</primary>
1680
1681             <secondary>copying</secondary>
1682
1683             <tertiary>server files to local disk</tertiary>
1684           </indexterm>
1685
1686           <listitem>
1687             <para>Copy file server binaries to the local <emphasis role="bold">/usr/afs/bin</emphasis> directory. <itemizedlist>
1688                 <listitem>
1689                   <para>On a machine of an existing system type, you can either 
1690                   copy files from the OpenAFS binary distribution or use a 
1691                   remote file transfer protocol to copy files from an existing 
1692                   server machine of the same system type. To load from the 
1693                   binary distribution, see the instructions just following for 
1694                   a machine of a new system type. If using a remote file 
1695                   transfer protocol, copy the complete contents of the 
1696                   existing server machine's 
1697                   <emphasis role="bold">/usr/afs/bin</emphasis>
1698                   directory.</para>
1699                 </listitem>
1700
1701                 <listitem>
1702                   <para>If you are working from a tarball distribtion, rather
1703                   than one distributed in a packaged format, you must use the 
1704                   following instructions to copy files from 
1705                   the OpenAFS Binary Distribution.
1706                    <orderedlist>
1707                       <listitem>
1708                         <para>Unpack the distribution tarball. The examples 
1709                         below assume that you have unpacked the files into the 
1710                         <emphasis role="bold">/tmp/afsdist</emphasis> 
1711                         directory. If you pick a different location, substitute
1712                         this in all of the following examples.</para>
1713                       </listitem>
1714
1715                       <listitem>
1716                         <para>Copy files from the distribution to the local <emphasis role="bold">/usr/afs</emphasis> directory.
1717                         <programlisting>
1718    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.server/usr/afs</emphasis>
1719    # <emphasis role="bold">cp -rp  *  /usr/afs</emphasis>
1720 </programlisting></para>
1721                       </listitem>
1722                     </orderedlist></para>
1723                 </listitem>
1724               </itemizedlist></para>
1725
1726             <indexterm>
1727               <primary>usr/afs/etc directory</primary>
1728
1729               <secondary>server machine after first</secondary>
1730             </indexterm>
1731
1732             <indexterm>
1733               <primary>file server machine, additional</primary>
1734
1735               <secondary>/usr/afs/etc directory</secondary>
1736             </indexterm>
1737
1738             <indexterm>
1739               <primary>creating</primary>
1740
1741               <secondary>/usr/afs/etc directory</secondary>
1742
1743               <tertiary>server machine after first</tertiary>
1744             </indexterm>
1745
1746             <indexterm>
1747               <primary>creating</primary>
1748
1749               <secondary>CellServDB file (server)</secondary>
1750
1751               <tertiary>server machine after first</tertiary>
1752             </indexterm>
1753
1754             <indexterm>
1755               <primary>UserList file</primary>
1756
1757               <secondary>server machine after first</secondary>
1758             </indexterm>
1759
1760             <indexterm>
1761               <primary>KeyFile file</primary>
1762
1763               <secondary>server machine after first</secondary>
1764             </indexterm>
1765
1766             <indexterm>
1767               <primary>CellServDB file (server)</primary>
1768
1769               <secondary>creating</secondary>
1770
1771               <tertiary>on server machine after first</tertiary>
1772             </indexterm>
1773
1774             <indexterm>
1775               <primary>database server machine</primary>
1776
1777               <secondary>entry in server CellServDB file</secondary>
1778
1779               <tertiary>on server machine after first</tertiary>
1780             </indexterm>
1781
1782             <indexterm>
1783               <primary>ThisCell file (server)</primary>
1784
1785               <secondary>server machine after first</secondary>
1786             </indexterm>
1787
1788             <indexterm>
1789               <primary>file server machine, additional</primary>
1790
1791               <secondary>cell membership, defining</secondary>
1792
1793               <tertiary>for server processes</tertiary>
1794             </indexterm>
1795
1796             <indexterm>
1797               <primary>setting</primary>
1798
1799               <secondary>cell name in server ThisCell file</secondary>
1800
1801               <tertiary>server machine after first</tertiary>
1802             </indexterm>
1803
1804             <indexterm>
1805               <primary>file server machine, additional</primary>
1806
1807               <secondary>ThisCell file (server)</secondary>
1808             </indexterm>
1809           </listitem>
1810
1811           <listitem>
1812             <para>Copy the contents of the 
1813             <emphasis role="bold">/usr/afs/etc</emphasis> directory from an 
1814             existing file server machine, using a remote file transfer protocol 
1815             such as <emphasis role="bold">sftp</emphasis> or 
1816             <emphasis role="bold">scp</emphasis>. If you use a system
1817             control machine, it is best to copy the contents of its 
1818             <emphasis role="bold">/usr/afs/etc</emphasis> directory. If you
1819             choose not to run a system control machine, copy the directory's 
1820             contents from any existing file server machine.
1821             <indexterm>
1822                 <primary>BOS Server</primary>
1823
1824                 <secondary>starting</secondary>
1825
1826                 <tertiary>server machine after first</tertiary>
1827               </indexterm> <indexterm>
1828                 <primary>starting</primary>
1829
1830                 <secondary>BOS Server</secondary>
1831
1832                 <tertiary>server machine after first</tertiary>
1833               </indexterm> <indexterm>
1834                 <primary>file server machine, additional</primary>
1835
1836                 <secondary>BOS Server</secondary>
1837               </indexterm> <indexterm>
1838                 <primary>authorization checking (disabling)</primary>
1839
1840                 <secondary>server machine after first</secondary>
1841               </indexterm> <indexterm>
1842                 <primary>disabling authorization checking</primary>
1843
1844                 <secondary>server machine after first</secondary>
1845               </indexterm> <indexterm>
1846                 <primary>file server machine, additional</primary>
1847
1848                 <secondary>authorization checking (disabling)</secondary>
1849               </indexterm></para>
1850           </listitem>
1851
1852           <listitem>
1853             <para>Change to the <emphasis role="bold">/usr/afs/bin</emphasis> directory and start the BOS Server (<emphasis
1854             role="bold">bosserver</emphasis> process). Include the <emphasis role="bold">-noauth</emphasis> flag to prevent the AFS
1855             processes from performing authorization checking. This is a grave compromise of security; finish the remaining
1856             instructions in this section in an uninterrupted pass. <programlisting>
1857    # <emphasis role="bold">cd /usr/afs/bin</emphasis>
1858    # <emphasis role="bold">./bosserver -noauth &amp;</emphasis>
1859 </programlisting> <indexterm>
1860                 <primary>BosConfig file</primary>
1861
1862                 <secondary>adding entries</secondary>
1863
1864                 <tertiary>server machine after first</tertiary>
1865               </indexterm> <indexterm>
1866                 <primary>adding</primary>
1867
1868                 <secondary>entries to BosConfig file</secondary>
1869
1870                 <tertiary>server machine after first</tertiary>
1871               </indexterm> <indexterm>
1872                 <primary>Update Server</primary>
1873
1874                 <secondary>starting client portion</secondary>
1875               </indexterm> <indexterm>
1876                 <primary>upclient process</primary>
1877               </indexterm> <indexterm>
1878                 <primary>starting</primary>
1879
1880                 <secondary>Update Server client portion</secondary>
1881               </indexterm> <indexterm>
1882                 <primary>file server machine, additional</primary>
1883
1884                 <secondary>Update Server client portion</secondary>
1885               </indexterm></para>
1886           </listitem>
1887
1888           <listitem id="LIWQ109">
1889             <para>If you run a system control machine, create the <emphasis
1890             role="bold">upclientetc</emphasis> process as an instance of the client portion of the Update Server. It accepts updates
1891             of the common configuration files stored in the system control machine's <emphasis role="bold">/usr/afs/etc</emphasis>
1892             directory from the <emphasis role="bold">upserver</emphasis> process (server portion of the Update Server) running on
1893             that machine. The cell's first file server machine was installed as the system control machine in <link
1894             linkend="HDRWQ61">Starting the Server Portion of the Update Server</link>. (If you do not run a system control machine,
1895             you must update the contents of the <emphasis role="bold">/usr/afs/etc</emphasis> directory on each file server machine,
1896             using the appropriate <emphasis role="bold">bos</emphasis> commands.)</para>
1897
1898             <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1899             role="bold">-t</emphasis> argument to specify a different number of seconds. For the
1900             <replaceable>machine&nbsp;name</replaceable> argument, substitute the name of the machine you are installing. The
1901             command appears on multiple lines here only for legibility reasons.</para>
1902
1903             <programlisting>
1904    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientetc simple</emphasis>  \ 
1905          <emphasis role="bold">"/usr/afs/bin/upclient</emphasis>  &lt;<replaceable>system control machine</replaceable>&gt;  \  
1906          [<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
1907                 role="bold">-noauth</emphasis>
1908 </programlisting>
1909
1910             <indexterm>
1911               <primary>Update Server</primary>
1912
1913               <secondary>starting server portion</secondary>
1914
1915               <tertiary>server machine after first</tertiary>
1916             </indexterm>
1917
1918             <indexterm>
1919               <primary>starting</primary>
1920
1921               <secondary>Update Server server portion</secondary>
1922
1923               <tertiary>server machine after first</tertiary>
1924             </indexterm>
1925
1926             <indexterm>
1927               <primary>file server machine, additional</primary>
1928
1929               <secondary>Update Server server portion</secondary>
1930             </indexterm>
1931           </listitem>
1932
1933           <listitem id="LIWQ110">
1934             <para>Create an instance of the Update 
1935             Server to handle distribution of the file server binaries
1936             stored in the <emphasis role="bold">/usr/afs/bin</emphasis> 
1937             directory. If your architecture using a package management system
1938             such as 'rpm' or 'apt' to maintain its binaries, note that
1939             distributing binaries via this system may interfere with your local
1940             package management tools.
1941             </para>
1942             
1943             <itemizedlist>
1944                 <listitem>
1945                   <para>If this is the first file server machine of its AFS system type, create the <emphasis
1946                   role="bold">upserver</emphasis> process as an instance of the server portion of the Update Server. It distributes
1947                   its copy of the file server process binaries to the other file server machines of this system type that you
1948                   install in future. Creating this process makes this machine the binary distribution machine for its type.
1949                   <programlisting>
1950    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upserver  simple</emphasis>  \ 
1951          <emphasis role="bold">"/usr/afs/bin/upserver -clear /usr/afs/bin"</emphasis>   \
1952          <emphasis role="bold">-cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis role="bold">-noauth</emphasis>
1953 </programlisting></para>
1954                 </listitem>
1955
1956                 <listitem>
1957                   <para>If this machine is an existing system type, create the <emphasis role="bold">upclientbin</emphasis> process
1958                   as an instance of the client portion of the Update Server. It accepts updates of the AFS binaries from the
1959                   <emphasis role="bold">upserver</emphasis> process running on the binary distribution machine for its system type.
1960                   For distribution to work properly, the <emphasis role="bold">upserver</emphasis> process must already by running
1961                   on that machine.</para>
1962
1963                   <para>Use the <emphasis role="bold">-clear</emphasis> argument to specify that the <emphasis
1964                   role="bold">upclientbin</emphasis> process requests unencrypted transfer of the binaries in the <emphasis
1965                   role="bold">/usr/afs/bin</emphasis> directory. Binaries are not sensitive and encrypting them is
1966                   time-consuming.</para>
1967
1968                   <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1969                   role="bold">-t</emphasis> argument to specify an different number of seconds.</para>
1970
1971 <programlisting>
1972    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientbin simple</emphasis>  \ 
1973         <emphasis role="bold">"/usr/afs/bin/upclient</emphasis> &lt;<replaceable>binary distribution machine</replaceable>&gt;   \
1974         [<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
1975                       role="bold">-noauth</emphasis>
1976 </programlisting>
1977                 </listitem>
1978               </itemizedlist>
1979
1980             <indexterm>
1981               <primary>File Server</primary>
1982
1983               <secondary>server machine after first</secondary>
1984             </indexterm>
1985
1986             <indexterm>
1987               <primary>starting</primary>
1988
1989               <secondary>File Server</secondary>
1990
1991               <tertiary>server machine after first</tertiary>
1992             </indexterm>
1993
1994             <indexterm>
1995               <primary>file server machine, additional</primary>
1996
1997               <secondary>File Server</secondary>
1998             </indexterm>
1999
2000             <indexterm>
2001               <primary>Volume Server</primary>
2002
2003               <secondary>server machine after first</secondary>
2004             </indexterm>
2005
2006             <indexterm>
2007               <primary>starting</primary>
2008
2009               <secondary>Volume Server</secondary>
2010
2011               <tertiary>server machine after first</tertiary>
2012             </indexterm>
2013
2014             <indexterm>
2015               <primary>file server machine, additional</primary>
2016
2017               <secondary>Volume Server</secondary>
2018             </indexterm>
2019
2020             <indexterm>
2021               <primary>Salvager (salvager process)</primary>
2022
2023               <secondary>server machine after first</secondary>
2024             </indexterm>
2025
2026             <indexterm>
2027               <primary>fs process</primary>
2028
2029               <secondary>server machine after first</secondary>
2030             </indexterm>
2031
2032             <indexterm>
2033               <primary>starting</primary>
2034
2035               <secondary>fs process</secondary>
2036
2037               <tertiary>server machine after first</tertiary>
2038             </indexterm>
2039
2040             <indexterm>
2041               <primary>file server machine, additional</primary>
2042
2043               <secondary>fs process</secondary>
2044             </indexterm>
2045           </listitem>
2046
2047           <listitem>
2048             <para>Issue the <emphasis role="bold">bos create</emphasis> command
2049             to start the <emphasis role="bold">fs</emphasis> process or the
2050             <emphasis role="bold">dafs</emphasis> process, depending on if you
2051             want to run the Demand-Attach File Server or not. See <link
2052             linkend="DAFS">Appendix C, The Demand-Attach File Server</link> for
2053             more information on whether you want to run it or not.
2054
2055             <itemizedlist>
2056               <listitem>
2057
2058             <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
2059             Salvager. <programlisting>
2060    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">fs fs</emphasis>   \ 
2061          <emphasis role="bold">/usr/afs/bin/fileserver /usr/afs/bin/volserver</emphasis>  \ 
2062          <emphasis role="bold">/usr/afs/bin/salvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
2063                   role="bold">-noauth</emphasis>
2064 </programlisting></para>
2065           </listitem>
2066
2067           <listitem>
2068
2069             <para>If you want to run the Demand-Attach File Server, start the
2070             <emphasis role="bold">dafs</emphasis> process, which binds together
2071             the File Server, Volume Server, Salvage Server, and Salvager.
2072             <programlisting>
2073    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">dafs dafs</emphasis>   \ 
2074          <emphasis role="bold">/usr/afs/bin/dafileserver /usr/afs/bin/davolserver</emphasis>  \ 
2075          <emphasis role="bold">/usr/afs/bin/salvageserver</emphasis>  \ 
2076          <emphasis role="bold">/usr/afs/bin/dasalvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
2077                   role="bold">-noauth</emphasis>
2078 </programlisting></para>
2079           </listitem>
2080
2081           </itemizedlist>
2082
2083           </para>
2084           </listitem>
2085         </orderedlist></para>
2086
2087       <indexterm>
2088         <primary>installing</primary>
2089
2090         <secondary>client functionality</secondary>
2091
2092         <tertiary>server machine after first</tertiary>
2093       </indexterm>
2094
2095       <indexterm>
2096         <primary>file server machine, additional</primary>
2097
2098         <secondary>client functionality</secondary>
2099       </indexterm>
2100     </sect2>
2101
2102     <sect2 id="HDRWQ111">
2103       <title>Installing Client Functionality</title>
2104
2105       <para>If you want this machine to be a client as well as a server, follow the instructions in this section. Otherwise, skip to
2106       <link linkend="HDRWQ112">Completing the Installation</link>.</para>
2107
2108       <para>Begin by loading the necessary client files to the local disk. Then create the necessary configuration files and start
2109       the Cache Manager. For more detailed explanation of the procedures involved, see the corresponding instructions in <link
2110       linkend="HDRWQ17">Installing the First AFS Machine</link> (in the sections following <link linkend="HDRWQ63">Overview:
2111       Installing Client Functionality</link>).</para>
2112
2113       <para>If another AFS machine of this machine's system type exists, the AFS binaries are probably already accessible in your
2114       AFS filespace (the conventional location is <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2115       role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>). If not, or if this is
2116       the first AFS machine of its type, copy the AFS binaries for this system type into an AFS volume by following the instructions
2117       in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link>. Because this machine is not yet an AFS client, you must perform
2118       the procedure on an existing AFS machine. However, remember to perform the final step (linking the local directory <emphasis
2119       role="bold">/usr/afsws</emphasis> to the appropriate location in the AFS file tree) on this machine itself. If you also want
2120       to create AFS volumes to house UNIX system binaries for the new system type, see <link linkend="HDRWQ88">Storing System
2121       Binaries in AFS</link>. <indexterm>
2122           <primary>Binary Distribution</primary>
2123
2124           <secondary>copying client files from</secondary>
2125
2126           <tertiary>server machine after first</tertiary>
2127         </indexterm> <indexterm>
2128           <primary>file server machine, additional</primary>
2129
2130           <secondary>copying</secondary>
2131
2132           <tertiary>client files to local disk</tertiary>
2133         </indexterm> <indexterm>
2134           <primary>copying</primary>
2135
2136           <secondary>client files to local disk</secondary>
2137
2138           <tertiary>server machine after first</tertiary>
2139         </indexterm> <orderedlist>
2140           <listitem>
2141             <para>Copy client binaries and files to the local disk. <itemizedlist>
2142                 <listitem>
2143                   <para>On a machine of an existing system type, you can either 
2144                   load files from the OpenAFS Binary Distribution or use a 
2145                   remote file transfer protocol to copy files from an existing 
2146                   server machine of the same system type. To load from the
2147                   binary distribution, see the instructions just following 
2148                   for a machine of a new system type. If using a remote file 
2149                   transfer protocol, copy the complete contents of the existing 
2150                   client machine's 
2151                   <emphasis role="bold">/usr/vice/etc</emphasis> 
2152                   directory.</para>
2153                 </listitem>
2154
2155                 <listitem>
2156                   <para>On a machine of a new system type, you must use the 
2157                   following instructions to copy files from the OpenAFS
2158                   Binary Distribution. If your distribution is provided in
2159                   a packaged format, then simply installing the packages will
2160                   perform the necessary actions.
2161                     <orderedlist>
2162                       <listitem>
2163                         <para>Unpack the distribution tarball. The examples 
2164                         below assume that you have unpacked the files into the 
2165                         <emphasis role="bold">/tmp/afsdist</emphasis> 
2166                         directory. If you pick a different location, substitute
2167                         this in all of the following examples.</para>
2168                       </listitem>
2169
2170                       <listitem>
2171                         <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
2172
2173                         <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the
2174                         <emphasis role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating
2175                         AFS into the kernel, you copied the script directly to the operating system's conventional location for
2176                         initialization files. When you incorporate AFS into the machine's startup sequence in a later step, you can
2177                         choose to link the two files.</para>
2178
2179                         <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files
2180                         into a subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types,
2181                         you copied the appropriate AFS library file directly to the directory where the operating system accesses
2182                         it. The following commands do not copy or recopy the AFS library files into the <emphasis
2183                         role="bold">/usr/vice/etc</emphasis> directory, because on some system types the library files consume a
2184                         large amount of space. If you want to copy them, add the <emphasis role="bold">-r</emphasis> flag to the
2185                         first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis role="bold">cp</emphasis>
2186                         command.</para>
2187
2188                         <programlisting>
2189    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
2190    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
2191    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
2192 </programlisting>
2193                       </listitem>
2194                     </orderedlist></para>
2195                 </listitem>
2196               </itemizedlist></para>
2197
2198             <indexterm>
2199               <primary>cell name</primary>
2200
2201               <secondary>setting in client ThisCell file</secondary>
2202
2203               <tertiary>server machine after first</tertiary>
2204             </indexterm>
2205
2206             <indexterm>
2207               <primary>cell name</primary>
2208
2209               <secondary>setting in server ThisCell file</secondary>
2210
2211               <tertiary>server machine after first</tertiary>
2212             </indexterm>
2213
2214             <indexterm>
2215               <primary>setting</primary>
2216
2217               <secondary>cell name in client ThisCell file</secondary>
2218
2219               <tertiary>server machine after first</tertiary>
2220             </indexterm>
2221
2222             <indexterm>
2223               <primary>file server machine, additional</primary>
2224
2225               <secondary>ThisCell file (client)</secondary>
2226             </indexterm>
2227
2228             <indexterm>
2229               <primary>file server machine, additional</primary>
2230
2231               <secondary>cell membership, defining</secondary>
2232
2233               <tertiary>for client processes</tertiary>
2234             </indexterm>
2235
2236             <indexterm>
2237               <primary>ThisCell file (client)</primary>
2238
2239               <secondary>server machine after first</secondary>
2240             </indexterm>
2241           </listitem>
2242
2243           <listitem>
2244             <para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and create the <emphasis
2245             role="bold">ThisCell</emphasis> file as a copy of the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file. You
2246             must first remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file that the BOS
2247             Server created automatically in <link linkend="HDRWQ108">Starting Server Programs</link>. <programlisting>
2248    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2249    # <emphasis role="bold">rm  ThisCell</emphasis>
2250    # <emphasis role="bold">cp  /usr/afs/etc/ThisCell  ThisCell</emphasis>
2251 </programlisting></para>
2252           </listitem>
2253
2254           <listitem>
2255             <para>Remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file. <programlisting>
2256    # <emphasis role="bold">rm  CellServDB</emphasis>
2257 </programlisting> <indexterm>
2258                 <primary>database server machine</primary>
2259
2260                 <secondary>entry in client CellServDB file</secondary>
2261
2262                 <tertiary>on server machine after first</tertiary>
2263               </indexterm> <indexterm>
2264                 <primary>CellServDB file (client)</primary>
2265
2266                 <secondary>creating</secondary>
2267
2268                 <tertiary>on server machine after first</tertiary>
2269               </indexterm> <indexterm>
2270                 <primary>creating</primary>
2271
2272                 <secondary>CellServDB file (client)</secondary>
2273
2274                 <tertiary>server machine after first</tertiary>
2275               </indexterm></para>
2276           </listitem>
2277
2278           <listitem>
2279             <para>Create the 
2280             <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. 
2281             Use a network file transfer program such as 
2282             <emphasis role="bold">sftp</emphasis> or 
2283             <emphasis role="bold">scp</emphasis> to copy it from 
2284             one of the following sources, which are listed in
2285             decreasing order of preference: 
2286               <itemizedlist>
2287                 <listitem>
2288                   <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
2289                   <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2290                   role="bold">/common/etc/CellServDB</emphasis>)</para>
2291                 </listitem>
2292
2293                 <listitem>
2294                   <para>The global <emphasis role="bold">CellServDB</emphasis> 
2295                   file maintained at grand.central.org</para>
2296                 </listitem>
2297
2298                 <listitem>
2299                   <para>An existing client machine in your cell</para>
2300                 </listitem>
2301
2302                 <listitem>
2303                   <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
2304                   file included in the 
2305                   <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
2306                   directory of each OpenAFS distribution; add an entry for the 
2307                   local cell by following the instructions in 
2308                   <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
2309                   </para>
2310                 </listitem>
2311               </itemizedlist>
2312             </para>
2313
2314             <indexterm>
2315               <primary>cache</primary>
2316
2317               <secondary>configuring</secondary>
2318
2319               <tertiary>server machine after first</tertiary>
2320             </indexterm>
2321
2322             <indexterm>
2323               <primary>configuring</primary>
2324
2325               <secondary>cache</secondary>
2326
2327               <tertiary>server machine after first</tertiary>
2328             </indexterm>
2329
2330             <indexterm>
2331               <primary>setting</primary>
2332
2333               <secondary>cache size and location</secondary>
2334
2335               <tertiary>server machine after first</tertiary>
2336             </indexterm>
2337
2338             <indexterm>
2339               <primary>file server machine, additional</primary>
2340
2341               <secondary>cache size and location</secondary>
2342             </indexterm>
2343           </listitem>
2344
2345           <listitem>
2346             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file for either a disk cache or a memory cache. For a
2347             discussion of the appropriate values to record in the file, see <link linkend="HDRWQ67">Configuring the
2348             Cache</link>.</para>
2349
2350             <para>To configure a disk cache, issue the following commands. If you are devoting a partition exclusively to caching,
2351             as recommended, you must also configure it, make a file system on it, and mount it at the directory created in this
2352             step.</para>
2353
2354             <programlisting>
2355    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
2356    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>   
2357 </programlisting>
2358
2359             <para>To configure a memory cache:</para>
2360
2361             <programlisting>
2362    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>
2363 </programlisting>
2364
2365             <indexterm>
2366               <primary>Cache Manager</primary>
2367
2368               <secondary>server machine after first</secondary>
2369             </indexterm>
2370
2371             <indexterm>
2372               <primary>configuring</primary>
2373
2374               <secondary>Cache Manager</secondary>
2375
2376               <tertiary>server machine after first</tertiary>
2377             </indexterm>
2378
2379             <indexterm>
2380               <primary>file server machine, additional</primary>
2381
2382               <secondary>Cache Manager</secondary>
2383             </indexterm>
2384
2385             <indexterm>
2386               <primary>afs (/afs) directory</primary>
2387
2388               <secondary>creating</secondary>
2389
2390               <tertiary>server machine after first</tertiary>
2391             </indexterm>
2392
2393             <indexterm>
2394               <primary>AFS initialization script</primary>
2395
2396               <secondary>setting afsd parameters</secondary>
2397
2398               <tertiary>server machine after first</tertiary>
2399             </indexterm>
2400
2401             <indexterm>
2402               <primary>file server machine, additional</primary>
2403
2404               <secondary>afsd command parameters</secondary>
2405             </indexterm>
2406           </listitem>
2407
2408           <listitem>
2409             <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis
2410             role="bold">/afs</emphasis>. If the directory already exists, verify that it is empty. <programlisting>
2411    # <emphasis role="bold">mkdir /afs</emphasis>
2412 </programlisting></para>
2413           </listitem>
2414
2415           <listitem>
2416             <para>On AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
2417             unmount AFS correctly during shutdown. <programlisting>
2418    afs     4     none     none
2419 </programlisting></para>
2420           </listitem>
2421
2422           <listitem>
2423             <para>On non-packaged Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
2424             role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory,
2425             removing the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
2426    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
2427 </programlisting></para>
2428           </listitem>
2429
2430           <listitem>
2431             <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
2432             appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The script resides in the indicated
2433             location on each system type: <itemizedlist>
2434                 <listitem>
2435                   <para>On AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
2436                 </listitem>
2437
2438                 <listitem>
2439                   <para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
2440                 </listitem>
2441
2442                 <listitem>
2443                   <para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2444                 </listitem>
2445
2446                 <listitem>
2447                   <para>On Fedora and RHEL systems, 
2448                   <emphasis role="bold">/etc/sysconfig/openafs</emphasis>. 
2449                   Note that this file has a different format from a standard 
2450                   afsd options file.</para>
2451                 </listitem>
2452                 
2453                 <listitem>
2454                   <para>On non-packaged Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
2455                   role="bold">afsd</emphasis> options file)</para>
2456                 </listitem>
2457                 
2458
2459                 <listitem>
2460                   <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2461                 </listitem>
2462               </itemizedlist></para>
2463
2464             <para>Use one of the methods described in <link linkend="HDRWQ70">Configuring the Cache Manager</link> to add the
2465             following flags to the <emphasis role="bold">afsd</emphasis> command line. If you intend for the machine to remain an
2466             AFS client, also set any performance-related arguments you wish. <itemizedlist>
2467                 <!-- nosetime is now the default
2468                 <listitem>
2469                   <para>Add the <emphasis role="bold">-nosettime</emphasis> flag, because this is a file server machine that is also
2470                   a client.</para>
2471                 </listitem> -->
2472
2473                 <listitem>
2474                   <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
2475                 </listitem>
2476
2477                 <listitem>
2478                   <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
2479                   initialization on the standard output stream.</para>
2480                 </listitem>
2481                 <listitem>
2482                   <para>Add the <emphasis role="bold">--dynroot</emphasis> or
2483                   <emphasis role="bold">--afsdb</emphasis> options if you
2484                   wish to have a synthetic AFS root, as discussed in
2485                   <link linkend="HDRWQ91">Enabling Access to Foreign Cells</link>
2486                   </para>
2487                 </listitem>
2488               </itemizedlist></para>
2489           </listitem>
2490
2491           <listitem>
2492             <para>If appropriate, follow the instructions in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link> to copy the
2493             AFS binaries for this system type into an AFS volume. See the introduction to this section for further
2494             discussion.</para>
2495           </listitem>
2496         </orderedlist></para>
2497     </sect2>
2498
2499     <sect2 id="HDRWQ112">
2500       <title>Completing the Installation</title>
2501
2502       <para>At this point you run the machine's AFS initialization script to verify that it correctly loads AFS modifications into
2503       the kernel and starts the BOS Server, which starts the other server processes. If you have installed client files, the script
2504       also starts the Cache Manager. If the script works correctly, perform the steps that incorporate it into the machine's startup
2505       and shutdown sequence. If there are problems during the initialization, attempt to resolve them. The AFS Product Support group
2506       can provide assistance if necessary.</para>
2507
2508       <para>If the machine is configured as a client using a disk cache, it can take a while for the <emphasis
2509       role="bold">afsd</emphasis> program to create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
2510       in the cache directory. Messages on the console trace the initialization process. <orderedlist>
2511           <listitem>
2512             <para>Issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the AFS server processes other than
2513             the BOS Server. Include the <emphasis role="bold">-wait</emphasis> flag to delay return of the command shell prompt
2514             until all processes shut down completely. <programlisting>
2515    # <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis
2516                   role="bold">-wait</emphasis>
2517 </programlisting></para>
2518           </listitem>
2519
2520           <listitem>
2521             <para>Issue the <emphasis role="bold">ps</emphasis> command to learn the BOS Server's process ID number (PID), and then
2522             the <emphasis role="bold">kill</emphasis> command to stop the <emphasis role="bold">bosserver</emphasis> process.
2523             <programlisting>
2524    # <emphasis role="bold">ps</emphasis> <replaceable>appropriate_ps_options</replaceable> <emphasis role="bold">| grep bosserver</emphasis>
2525    # <emphasis role="bold">kill</emphasis> <replaceable>bosserver_PID</replaceable>
2526 </programlisting> <indexterm>
2527                 <primary>AFS initialization script</primary>
2528
2529                 <secondary>adding to machine startup sequence</secondary>
2530
2531                 <tertiary>server machine after first</tertiary>
2532               </indexterm> <indexterm>
2533                 <primary>AFS initialization script</primary>
2534
2535                 <secondary>running</secondary>
2536
2537                 <tertiary>server machine after first</tertiary>
2538               </indexterm> <indexterm>
2539                 <primary>file server machine, additional</primary>
2540
2541                 <secondary>AFS initialization script</secondary>
2542               </indexterm> <indexterm>
2543                 <primary>running AFS init. script</primary>
2544
2545                 <secondary>server machine after first</secondary>
2546               </indexterm> <indexterm>
2547                 <primary>installing</primary>
2548
2549                 <secondary>AFS initialization script</secondary>
2550
2551                 <tertiary>server machine after first</tertiary>
2552               </indexterm> <indexterm>
2553                 <primary>AIX</primary>
2554
2555                 <secondary>AFS initialization script</secondary>
2556
2557                 <tertiary>on add'l server machine</tertiary>
2558               </indexterm></para>
2559           </listitem>
2560
2561           <listitem>
2562             <para>Run the AFS initialization script by issuing the appropriate commands for this system type.</para>
2563
2564             <para><emphasis role="bold">On AIX systems:</emphasis> <orderedlist>
2565                 <listitem>
2566                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2567                   <programlisting>
2568    # <emphasis role="bold">cd /</emphasis>
2569    # <emphasis role="bold">shutdown -r now</emphasis>
2570    login: <emphasis role="bold">root</emphasis>
2571    Password: <replaceable>root_password</replaceable>
2572 </programlisting></para>
2573                 </listitem>
2574
2575                 <listitem>
2576                   <para>Run the AFS initialization script. <programlisting>
2577    # <emphasis role="bold">/etc/rc.afs</emphasis>
2578 </programlisting></para>
2579                 </listitem>
2580
2581                 <listitem>
2582                   <para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line
2583                   to invoke the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
2584    rcafs:2:wait:/etc/rc.afs &gt; /dev/console 2&gt;&amp;1 # Start AFS services
2585 </programlisting></para>
2586                 </listitem>
2587
2588                 <listitem>
2589                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2590                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc</emphasis> directories. If you want
2591                   to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can
2592                   always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2593    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2594    # <emphasis role="bold">rm  rc.afs</emphasis>
2595    # <emphasis role="bold">ln -s  /etc/rc.afs</emphasis>
2596 </programlisting></para>
2597                 </listitem>
2598
2599                 <listitem>
2600                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2601                 </listitem>
2602               </orderedlist></para>
2603
2604             <indexterm>
2605               <primary>HP-UX</primary>
2606
2607               <secondary>AFS initialization script</secondary>
2608
2609               <tertiary>on add'l server machine</tertiary>
2610             </indexterm>
2611
2612             <para><emphasis role="bold">On HP-UX systems:</emphasis> <orderedlist>
2613                 <listitem>
2614                   <para>Run the AFS initialization script. <programlisting>
2615    # <emphasis role="bold">/sbin/init.d/afs  start</emphasis>
2616 </programlisting></para>
2617                 </listitem>
2618
2619                 <listitem>
2620                   <para>Change to the <emphasis role="bold">/sbin/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2621                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the HP-UX
2622                   startup and shutdown sequence. <programlisting>
2623    # <emphasis role="bold">cd /sbin/init.d</emphasis>
2624    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
2625    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</emphasis>
2626 </programlisting></para>
2627                 </listitem>
2628
2629                 <listitem>
2630                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2631                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/sbin/init.d</emphasis> directories. If
2632                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2633                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2634    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2635    # <emphasis role="bold">rm afs.rc</emphasis>
2636    # <emphasis role="bold">ln -s  /sbin/init.d/afs  afs.rc</emphasis>
2637 </programlisting></para>
2638                 </listitem>
2639
2640                 <listitem>
2641                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2642                 </listitem>
2643               </orderedlist></para>
2644
2645             <indexterm>
2646               <primary>IRIX</primary>
2647
2648               <secondary>AFS initialization script</secondary>
2649
2650               <tertiary>on add'l server machine</tertiary>
2651             </indexterm>
2652
2653             <indexterm>
2654               <primary>afsclient variable (IRIX)</primary>
2655
2656               <secondary>server machine after first</secondary>
2657             </indexterm>
2658
2659             <indexterm>
2660               <primary>variables</primary>
2661
2662               <secondary>afsclient (IRIX)</secondary>
2663
2664               <tertiary>server machine after first</tertiary>
2665             </indexterm>
2666
2667             <indexterm>
2668               <primary>IRIX</primary>
2669
2670               <secondary>afsclient variable</secondary>
2671
2672               <tertiary>server machine after first</tertiary>
2673             </indexterm>
2674
2675             <indexterm>
2676               <primary>afsserver variable (IRIX)</primary>
2677
2678               <secondary>server machine after first</secondary>
2679             </indexterm>
2680
2681             <indexterm>
2682               <primary>variables</primary>
2683
2684               <secondary>afsserver (IRIX)</secondary>
2685
2686               <tertiary>server machine after first</tertiary>
2687             </indexterm>
2688
2689             <indexterm>
2690               <primary>IRIX</primary>
2691
2692               <secondary>afsserver variable</secondary>
2693
2694               <tertiary>server machine after first</tertiary>
2695             </indexterm>
2696
2697             <para><emphasis role="bold">On IRIX systems:</emphasis> <orderedlist>
2698                 <listitem>
2699                   <para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program,
2700                   reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2701    # <emphasis role="bold">cd /</emphasis>
2702    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2703    login: <emphasis role="bold">root</emphasis>
2704    Password: <replaceable>root_password</replaceable>
2705 </programlisting></para>
2706                 </listitem>
2707
2708                 <listitem>
2709                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2710                   role="bold">afsserver</emphasis> configuration variable. <programlisting>
2711    # <emphasis role="bold">/etc/chkconfig -f afsserver on</emphasis>   
2712 </programlisting></para>
2713
2714                   <para>If you have configured this machine as an AFS client and want to it remain one, also issue the <emphasis
2715                   role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afsclient</emphasis> configuration
2716                   variable.</para>
2717
2718                   <programlisting>
2719    # <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis> 
2720 </programlisting>
2721                 </listitem>
2722
2723                 <listitem>
2724                   <para>Run the AFS initialization script. <programlisting>
2725    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2726 </programlisting></para>
2727                 </listitem>
2728
2729                 <listitem>
2730                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2731                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the IRIX
2732                   startup and shutdown sequence. <programlisting>
2733    # <emphasis role="bold">cd /etc/init.d</emphasis>
2734    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
2735    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</emphasis>
2736 </programlisting></para>
2737                 </listitem>
2738
2739                 <listitem>
2740                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2741                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2742                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2743                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2744    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2745    # <emphasis role="bold">rm afs.rc</emphasis>
2746    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2747 </programlisting></para>
2748                 </listitem>
2749
2750                 <listitem>
2751                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2752                 </listitem>
2753               </orderedlist></para>
2754
2755             <indexterm>
2756               <primary>Linux</primary>
2757
2758               <secondary>AFS initialization script</secondary>
2759
2760               <tertiary>on add'l server machine</tertiary>
2761             </indexterm>
2762
2763             <para><emphasis role="bold">On Fedora or RHEL Linux systems:</emphasis> 
2764               <orderedlist>
2765                 <listitem>
2766                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2767  <programlisting>
2768    # <emphasis role="bold">cd /</emphasis>
2769    # <emphasis role="bold">shutdown -r now</emphasis>
2770    login: <emphasis role="bold">root</emphasis>
2771    Password: <replaceable>root_password</replaceable>
2772 </programlisting></para>
2773                 </listitem>
2774
2775                 <listitem>
2776                   <para>Run the OpenAFS initialization scripts. <programlisting>
2777    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
2778    # <emphasis role="bold">/etc/rc.d/init.d/openafs-server  start</emphasis>
2779 </programlisting></para>
2780                 </listitem>
2781
2782                 <listitem>
2783                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> 
2784                   command to activate the 
2785                   <emphasis role="bold">openafs-client</emphasis> and 
2786                   <emphasis role="bold">openafs-server</emphasis> configuration 
2787                   variables. Based on the instruction in the AFS initialization 
2788                   files that begins with the string 
2789                   <computeroutput>#chkconfig</computeroutput>, the command 
2790                   automatically creates the symbolic links that incorporate the 
2791                   script into the Linux startup and shutdown sequence. 
2792 <programlisting>
2793    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
2794    # <emphasis role="bold">/sbin/chkconfig  --add openafs-server</emphasis>
2795 </programlisting></para>
2796                 </listitem>
2797               </orderedlist>
2798             </para>
2799             <para><emphasis role="bold">On Linux systems:</emphasis> <orderedlist>
2800                 <listitem>
2801                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2802                   <programlisting>
2803    # <emphasis role="bold">cd /</emphasis>
2804    # <emphasis role="bold">shutdown -r now</emphasis>
2805    login: <emphasis role="bold">root</emphasis>
2806    Password: <replaceable>root_password</replaceable>
2807 </programlisting></para>
2808                 </listitem>
2809
2810                 <listitem>
2811                   <para>Run the OpenAFS initialization script. <programlisting>
2812    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
2813 </programlisting></para>
2814                 </listitem>
2815
2816                 <listitem>
2817                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2818                   role="bold">afs</emphasis> configuration variable. Based on the instruction in the AFS initialization file that
2819                   begins with the string <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic
2820                   links that incorporate the script into the Linux startup and shutdown sequence. <programlisting>
2821    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
2822 </programlisting></para>
2823                 </listitem>
2824
2825                 <listitem>
2826                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2827                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories,
2828                   and copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
2829                   role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want
2830                   to avoid potential confusion by guaranteeing that the two copies of each file are always the same, create a link
2831                   between them. You can always retrieve the original script or options file from the AFS CD-ROM if necessary.
2832                   <programlisting>
2833    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2834    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
2835    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
2836    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
2837 </programlisting></para>
2838                 </listitem>
2839
2840                 <listitem>
2841                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2842                 </listitem>
2843               </orderedlist></para>
2844
2845             <indexterm>
2846               <primary>Solaris</primary>
2847
2848               <secondary>AFS initialization script</secondary>
2849
2850               <tertiary>on add'l server machine</tertiary>
2851             </indexterm>
2852
2853             <para><emphasis role="bold">On Solaris systems:</emphasis> <orderedlist>
2854                 <listitem>
2855                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2856                   <programlisting>
2857    # <emphasis role="bold">cd /</emphasis>
2858    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2859    login: <emphasis role="bold">root</emphasis>
2860    Password: <replaceable>root_password</replaceable>
2861 </programlisting></para>
2862                 </listitem>
2863
2864                 <listitem>
2865                   <para>Run the AFS initialization script. <programlisting>
2866    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2867 </programlisting></para>
2868                 </listitem>
2869
2870                 <listitem>
2871                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2872                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris
2873                   startup and shutdown sequence. <programlisting>
2874    # <emphasis role="bold">cd /etc/init.d</emphasis>
2875    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
2876    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
2877 </programlisting></para>
2878                 </listitem>
2879
2880                 <listitem>
2881                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2882                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2883                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2884                   You can always retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
2885    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2886    # <emphasis role="bold">rm afs.rc</emphasis>
2887    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2888 </programlisting></para>
2889                 </listitem>
2890               </orderedlist></para>
2891           </listitem>
2892
2893           <listitem id="LIWQ113">
2894             <para>Verify that <emphasis role="bold">/usr/afs</emphasis> and its subdirectories on the new
2895             file server machine meet the ownership and mode bit requirements outlined in <link linkend="HDRWQ96">Protecting
2896             Sensitive AFS Directories</link>. If necessary, use the <emphasis role="bold">chmod</emphasis> command to correct the
2897             mode bits.</para>
2898           </listitem>
2899
2900           <listitem>
2901             <para>To configure this machine as a database server machine, proceed to <link linkend="HDRWQ114">Installing Database
2902             Server Functionality</link>.</para>
2903           </listitem>
2904         </orderedlist></para>
2905
2906       <indexterm>
2907         <primary>database server machine</primary>
2908
2909         <secondary>requirements for installation</secondary>
2910       </indexterm>
2911
2912       <indexterm>
2913         <primary>requirements</primary>
2914
2915         <secondary>database server machine</secondary>
2916       </indexterm>
2917     </sect2>
2918   </sect1>
2919
2920   <sect1 id="HDRWQ114">
2921     <title>Installing Database Server Functionality</title>
2922
2923     <para>This section explains how to install database server functionality. Database server machines have two defining
2924     characteristics. First, they run the Protection Server, and Volume Location (VL) Server processes. They
2925     also run the Backup Server if the cell uses the AFS Backup System, as is assumed in these instructions. Second, they appear in
2926     the <emphasis role="bold">CellServDB</emphasis> file of every machine in the cell (and of client machines in foreign cells, if
2927     they are to access files in this cell).</para>
2928
2929     <para>Note the following requirements for database server machines. <itemizedlist>
2930         <listitem>
2931           <para>In the conventional configuration, database server machines also serve as file server machines (run the File Server,
2932           Volume Server and Salvager processes). If you choose not to run file server functionality on a database server machine,
2933           then the kernel does not have to incorporate AFS modifications, but the local <emphasis role="bold">/usr/afs</emphasis>
2934           directory must house most of the standard files and subdirectories. In particular, the <emphasis
2935           role="bold">/usr/afs/etc/KeyFile</emphasis> file must contain the same keys as all other server machines in the cell. If
2936           you run a system control machine, run the <emphasis role="bold">upclientetc</emphasis> process on every database server
2937           machine other than the system control machine; if you do not run a system control machine, use the <emphasis
2938           role="bold">bos addkey</emphasis> command as instructed in the chapter in the <emphasis>OpenAFS Administration
2939           Guide</emphasis> about maintaining server encryption keys.</para>
2940
2941           <para>The instructions in this section assume that the machine on which you are installing database server functionality
2942           is already a file server machine. Contact the OpenAFS mailing list to learn how to install database server
2943           functionality on a non-file server machine.</para>
2944         </listitem>
2945
2946         <listitem>
2947           <para>During the installation of database server functionality, you must restart all of the database server machines to
2948           force the election of a new Ubik coordinator (synchronization site) for each database server process. This can cause a
2949           system outage, which usually lasts less than 5 minutes.</para>
2950         </listitem>
2951
2952         <listitem>
2953           <para>Updating the kernel memory list of database server machines on each client machine is generally the most
2954           time-consuming part of installing a new database server machine. It is, however, crucial for correct functioning in your
2955           cell. Incorrect knowledge of your cell's database server machines can prevent your users from authenticating, accessing
2956           files, and issuing AFS commands.</para>
2957
2958           <para>You update a client's kernel memory list by changing the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis>
2959           file and then either rebooting or issuing the <emphasis role="bold">fs newcell</emphasis> command. For instructions, see
2960           the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
2961
2962           <para>The point at which you update your clients' knowledge of database server machines depends on which of the database
2963           server machines has the lowest IP address. The following instructions indicate the appropriate place to update your client
2964           machines in either case. <itemizedlist>
2965               <listitem>
2966                 <para>If the new database server machine has a lower IP address than any existing database server machine, update
2967                 the <emphasis role="bold">CellServDB</emphasis> file on every client machine before restarting the database server
2968                 processes. If you do not, users can become unable to update (write to) any of the AFS databases. This is because the
2969                 machine with the lowest IP address is usually elected as the Ubik coordinator, and only the Coordinator accepts
2970                 database writes. On client machines that do not have the new list of database server machines, the Cache Manager
2971                 cannot locate the new coordinator. (Be aware that if clients contact the new coordinator before it is actually in
2972                 service, they experience a timeout before contacting another database server machine. This is a minor, and
2973                 temporary, problem compared to being unable to write to the database.)</para>
2974               </listitem>
2975
2976               <listitem>
2977                 <para>If the new database server machine does not have the lowest IP address of any database server machine, then it
2978                 is better to update clients after restarting the database server processes. Client machines do not start using the
2979                 new database server machine until you update their kernel memory list, but that does not usually cause timeouts or
2980                 update problems (because the new machine is not likely to become the coordinator).</para>
2981               </listitem>
2982             </itemizedlist></para>
2983         </listitem>
2984       </itemizedlist></para>
2985
2986     <indexterm>
2987       <primary>overview</primary>
2988
2989       <secondary>installing additional database server machine</secondary>
2990     </indexterm>
2991
2992     <sect2 id="Header_110">
2993       <title>Summary of Procedures</title>
2994
2995       <para>To install a database server machine, perform the following procedures. <orderedlist>
2996           <listitem>
2997             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
2998           </listitem>
2999
3000           <listitem>
3001             <para>Add the new machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing file server
3002             machines</para>
3003           </listitem>
3004
3005           <listitem>
3006             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3007             to foreign cells</para>
3008           </listitem>
3009
3010           <listitem>
3011             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3012             list of database server machines</para>
3013           </listitem>
3014
3015           <listitem>
3016             <para>Start the database server processes (Backup Server, Protection Server, and Volume Location
3017             Server)</para>
3018           </listitem>
3019
3020           <listitem>
3021             <para>Restart the database server processes on every database server machine</para>
3022           </listitem>
3023
3024           <listitem>
3025             <para>If required, request that grand.central.org add details of 
3026             your new database server machine to the global CellServDB</para>
3027           </listitem>
3028           
3029           <listitem>
3030             <para>If required, add details of your new database server to the
3031             AFS database location records in your site's DNS</para>
3032           </listitem>
3033           
3034         </orderedlist></para>
3035
3036       <indexterm>
3037         <primary>database server machine</primary>
3038
3039         <secondary>installing</secondary>
3040
3041         <tertiary>additional</tertiary>
3042       </indexterm>
3043
3044       <indexterm>
3045         <primary>instructions</primary>
3046
3047         <secondary>database server machine, installing additional</secondary>
3048       </indexterm>
3049
3050       <indexterm>
3051         <primary>installing</primary>
3052
3053         <secondary>database server machine</secondary>
3054
3055         <tertiary>additional</tertiary>
3056       </indexterm>
3057     </sect2>
3058
3059     <sect2 id="Header_111">
3060       <title>Instructions</title>
3061
3062       <note>
3063         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3064         you possibly need to precede the command names with the appropriate pathname.</para>
3065       </note>
3066
3067       <orderedlist>
3068         <listitem>
3069           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3070           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3071 <programlisting> 
3072    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3073    Password: <replaceable>admin_password</replaceable>
3074    % <emphasis role="bold">aklog</emphasis>
3075 </programlisting>
3076           </para>
3077         </listitem>
3078
3079         <listitem>
3080           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3081           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3082           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3083           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3084           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3085           directory. <programlisting>
3086    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3087 </programlisting> <indexterm>
3088               <primary>bos commands</primary>
3089
3090               <secondary>addhost</secondary>
3091             </indexterm> <indexterm>
3092               <primary>commands</primary>
3093
3094               <secondary>bos addhost</secondary>
3095             </indexterm> <indexterm>
3096               <primary>database server machine</primary>
3097
3098               <secondary>entry in server CellServDB file</secondary>
3099
3100               <tertiary>for new db-server machine</tertiary>
3101             </indexterm> <indexterm>
3102               <primary>CellServDB file (server)</primary>
3103
3104               <secondary>adding entry for new db-server machine</secondary>
3105             </indexterm> <indexterm>
3106               <primary>adding</primary>
3107
3108               <secondary>new db-server machine to CellServDB files</secondary>
3109             </indexterm></para>
3110         </listitem>
3111
3112         <listitem id="LIWQ115">
3113           <para>Issue the <emphasis role="bold">bos addhost</emphasis> command to add the new database server
3114           machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing server machines (as well as the
3115           new database server machine itself).</para>
3116
3117           <para>Substitute the new database server machine's fully-qualified hostname for the <replaceable>host name</replaceable>
3118           argument. If you run a system control machine, substitute its fully-qualified hostname for the
3119           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3120           role="bold">bos addhost</emphasis> command once for each server machine in your cell (including the new database server
3121           machine itself), by substituting each one's fully-qualified hostname for the <replaceable>machine&nbsp;name</replaceable>
3122           argument in turn.</para>
3123
3124           <programlisting>
3125    % <emphasis role="bold">bos addhost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3126 </programlisting>
3127
3128           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3129           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If you are issuing individual <emphasis
3130           role="bold">bos addhost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3131
3132           <note>
3133             <para>It is best to maintain a one-to-one mapping between hostnames and IP addresses on a multihomed database server
3134             machine (the conventional configuration for any AFS machine). The BOS Server uses the <emphasis
3135             role="bold">gethostbyname(&nbsp;)</emphasis> routine to obtain the IP address associated with the <replaceable>host
3136             name</replaceable> argument. If there is more than one address, the BOS Server records in the <emphasis
3137             role="bold">CellServDB</emphasis> entry the one that appears first in the list of addresses returned by the routine. The
3138             routine possibly returns addresses in a different order on different machines, which can create inconsistency.</para>
3139           </note>
3140         </listitem>
3141
3142         <listitem>
3143           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3144           server machine to verify that the new database server machine appears in its <emphasis role="bold">CellServDB</emphasis>
3145           file. <programlisting>
3146    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3147 </programlisting></para>
3148         </listitem>
3149
3150         <listitem id="LIWQ116">
3151           <para>Add the new database server machine to your cell's central <emphasis
3152           role="bold">CellServDB</emphasis> source file, if you use one. The standard location is <emphasis
3153           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3154           role="bold">/common/etc/CellServDB</emphasis>.</para>
3155
3156           <para>If you are willing to make your cell accessible to users in foreign cells, add the new database server machine to
3157           the file that lists your cell's database server machines. The conventional location is <emphasis
3158           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3159           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3160               <primary>database server machine</primary>
3161
3162               <secondary>entry in client CellServDB file</secondary>
3163
3164               <tertiary>for new db-server machine</tertiary>
3165             </indexterm> <indexterm>
3166               <primary>CellServDB file (client)</primary>
3167
3168               <secondary>adding entry</secondary>
3169
3170               <tertiary>for new db-server machine</tertiary>
3171             </indexterm> <indexterm>
3172               <primary>client machine</primary>
3173
3174               <secondary>CellServDB file</secondary>
3175
3176               <tertiary>adding entry</tertiary>
3177             </indexterm></para>
3178         </listitem>
3179
3180         <listitem id="LIWQ117">
3181           <para>If this machine's IP address is lower than any existing database server machine's, update
3182           every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory list to include
3183           this machine. (If this machine's IP address is not the lowest, it is acceptable to wait until Step <link
3184           linkend="LIWQ123">12</link>.)</para>
3185
3186           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3187           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3188           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3189           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3190           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3191           newcell</emphasis> command. 
3192             <indexterm>
3193               <primary>database server machine</primary>
3194
3195               <secondary>starting database server processes</secondary>
3196             </indexterm> <indexterm>
3197               <primary>BosConfig file</primary>
3198
3199               <secondary>adding entries</secondary>
3200
3201               <tertiary>database server machine</tertiary>
3202             </indexterm> <indexterm>
3203               <primary>adding</primary>
3204
3205               <secondary>entries to BosConfig file</secondary>
3206
3207               <tertiary>database server machine</tertiary>
3208             </indexterm></para>
3209         </listitem>
3210         
3211         <listitem>
3212           <para>If you are running a cell which still relies upon
3213           <emphasis role="bold">kaserver</emphasis> see 
3214           <link linkend="KAS010">Starting the Authentication Service</link>
3215           for an additional installation step.</para>
3216         </listitem>
3217
3218         <listitem id="LIWQ119">
3219           <indexterm>
3220             <primary>Backup Server</primary>
3221             <secondary>starting</secondary>
3222             <tertiary>new db-server machine</tertiary>
3223           </indexterm> <indexterm>
3224             <primary>starting</primary>
3225             <secondary>Backup Server</secondary>
3226             <tertiary>new db-server machine</tertiary>
3227           </indexterm>
3228
3229           <para>Start the Backup Server (the <emphasis role="bold">buserver</emphasis> process). You must
3230           perform other configuration procedures before actually using the AFS Backup System, as detailed in the <emphasis>OpenAFS
3231           Administration Guide</emphasis>. <programlisting>
3232    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis>
3233 </programlisting> <indexterm>
3234               <primary>Protection Server</primary>
3235
3236               <secondary>starting</secondary>
3237
3238               <tertiary>new db-server machine</tertiary>
3239             </indexterm> <indexterm>
3240               <primary>starting</primary>
3241
3242               <secondary>Protection Server</secondary>
3243
3244               <tertiary>new db-server machine</tertiary>
3245             </indexterm></para>
3246         </listitem>
3247
3248         <listitem id="LIWQ120">
3249           <para>Start the Protection Server (the <emphasis role="bold">ptserver</emphasis> process).
3250           <programlisting>
3251    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis>
3252 </programlisting> <indexterm>
3253               <primary>VL Server (vlserver process)</primary>
3254
3255               <secondary>starting</secondary>
3256
3257               <tertiary>new db-server machine</tertiary>
3258             </indexterm> <indexterm>
3259               <primary>starting</primary>
3260
3261               <secondary>VL Server</secondary>
3262
3263               <tertiary>new db-server machine</tertiary>
3264             </indexterm></para>
3265         </listitem>
3266
3267         <listitem id="LIWQ121">
3268           <para>Start the Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis>
3269           process). <programlisting>
3270    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis>
3271 </programlisting> <indexterm>
3272               <primary>commands</primary>
3273
3274               <secondary>bos restart</secondary>
3275
3276               <tertiary>on new db-server machine</tertiary>
3277             </indexterm> <indexterm>
3278               <primary>bos commands</primary>
3279
3280               <secondary>restart</secondary>
3281
3282               <tertiary>on new db-server machine</tertiary>
3283             </indexterm> <indexterm>
3284               <primary>restarting server process</primary>
3285
3286               <secondary>on new db-server machine</secondary>
3287             </indexterm> <indexterm>
3288               <primary>server process</primary>
3289
3290               <secondary>restarting</secondary>
3291
3292               <tertiary>on new db-server machine</tertiary>
3293             </indexterm></para>
3294         </listitem>
3295
3296         <listitem id="LIWQ122">
3297           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3298           machine in the cell, including the new machine. The command restarts the Authentication, Backup, Protection, and VL
3299           Servers, which forces an election of a new Ubik coordinator for each process. The new machine votes in the election and is
3300           considered as a potential new coordinator.</para>
3301
3302           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3303           lasts less than five minutes. Such an outage is particularly likely if you are installing your cell's second database
3304           server machine. Messages tracing the progress of the election appear on the console.</para>
3305
3306           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3307           the lowest IP address.</para>
3308
3309           <programlisting>
3310    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>    
3311 </programlisting>
3312
3313           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3314           methods: <itemizedlist>
3315               <listitem>
3316                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3317                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3318               </listitem>
3319
3320               <listitem>
3321                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3322                 its console</para>
3323               </listitem>
3324             </itemizedlist></para>
3325         </listitem>
3326
3327         <listitem id="LIWQ123">
3328           <para>If you did not update the <emphasis role="bold">CellServDB</emphasis> file on client machines
3329           in Step <link linkend="LIWQ117">6</link>, do so now.</para>
3330         </listitem>
3331
3332         <listitem id="LIWQ124">
3333           <para>If you wish to participate in the AFS
3334           global name space, send the new database server machine's name and 
3335           IP address to grand.central.org. Do so, by emailing an updated
3336           <emphasis role="bold">CellServDB</emphasis> fragment for your cell
3337           to cellservdb@grand.central.org</para>
3338           <para>More details on the registration procedures for the
3339           CellServDB maintained by grand.central.org are available from
3340           <ulink url="http://grand.central.org/csdb.html">
3341           http://grand.central.org/csdb.html</ulink></para>
3342         </listitem>
3343       </orderedlist>
3344
3345       <indexterm>
3346         <primary>database server machine</primary>
3347
3348         <secondary>removing from service</secondary>
3349       </indexterm>
3350
3351       <indexterm>
3352         <primary>instructions</primary>
3353
3354         <secondary>database server machine, removing</secondary>
3355       </indexterm>
3356
3357       <indexterm>
3358         <primary>removing</primary>
3359
3360         <secondary>database server machine from service</secondary>
3361       </indexterm>
3362
3363       <indexterm>
3364         <primary>overview</primary>
3365
3366         <secondary>removing database server machine</secondary>
3367       </indexterm>
3368     </sect2>
3369   </sect1>
3370
3371   <sect1 id="HDRWQ125">
3372     <title>Removing Database Server Functionality</title>
3373
3374     <para>Removing database server machine functionality is nearly the reverse of installing it.</para>
3375
3376     <sect2 id="Header_113">
3377       <title>Summary of Procedures</title>
3378
3379       <para>To decommission a database server machine, perform the following procedures. <orderedlist>
3380           <listitem>
3381             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
3382           </listitem>
3383
3384           <listitem>
3385             <para>If you participate in the global AFS namespace, notify
3386             grand.central.org that you are decommissioning a database server 
3387             machine</para>
3388           </listitem>
3389
3390           <listitem>
3391             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3392             to foreign cells</para>
3393           </listitem>
3394
3395           <listitem>
3396             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3397             list of database server machines</para>
3398           </listitem>
3399
3400           <listitem>
3401             <para>Remove the machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on file server
3402             machines</para>
3403           </listitem>
3404
3405           <listitem>
3406             <para>Stop the database server processes and remove them from the <emphasis
3407             role="bold">/usr/afs/local/BosConfig</emphasis> file if desired</para>
3408           </listitem>
3409
3410           <listitem>
3411             <para>Restart the database server processes on the remaining database server machines</para>
3412           </listitem>
3413         </orderedlist></para>
3414     </sect2>
3415
3416     <sect2 id="Header_114">
3417       <title>Instructions</title>
3418
3419       <note>
3420         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3421         you possibly need to precede the command names with the appropriate pathname.</para>
3422       </note>
3423
3424       <orderedlist>
3425         <listitem>
3426           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3427           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3428 <programlisting>
3429    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3430    Password: <replaceable>admin_password</replaceable>
3431    % <emphasis role="bold">aklog</emphasis>
3432 </programlisting></para>
3433         </listitem>
3434
3435         <listitem>
3436           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3437           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3438           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3439           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3440           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3441           directory. <programlisting>
3442    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3443 </programlisting></para>
3444         </listitem>
3445
3446         <listitem id="LIWQ126">
3447           <para>If your cell is included in the global
3448           <emphasis role="bold">CellServDB</emphasis>, send the revised list of 
3449           your cell's database server machines to grand.central.org</para>
3450
3451           <para>If the administrators in foreign cells do not learn about the change in your cell,
3452           they cannot update the <emphasis role="bold">CellServDB</emphasis> file on their client machines. Users in foreign cells
3453           continue to send database requests to the decommissioned machine, which creates needless network traffic and activity on
3454           the machine. Also, the users experience time-out delays while their request is forwarded to a valid database server
3455           machine.</para>
3456         </listitem>
3457
3458         <listitem id="LIWQ127">
3459           <para>Remove the decommissioned machine from your cell's central <emphasis
3460           role="bold">CellServDB</emphasis> source file, if you use one. The conventional location is <emphasis
3461           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3462           role="bold">/common/etc/CellServDB</emphasis>.</para>
3463
3464           <para>If you maintain a file that users in foreign cells can access to learn about your cell's database server machines,
3465           update it also. The conventional location is <emphasis
3466           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3467           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3468               <primary>database server machine</primary>
3469
3470               <secondary>entry in client CellServDB file</secondary>
3471
3472               <tertiary>removing</tertiary>
3473             </indexterm> <indexterm>
3474               <primary>CellServDB file (client)</primary>
3475
3476               <secondary>removing entry</secondary>
3477             </indexterm> <indexterm>
3478               <primary>client machine</primary>
3479
3480               <secondary>CellServDB file</secondary>
3481
3482               <tertiary>removing entry</tertiary>
3483             </indexterm> <indexterm>
3484               <primary>removing</primary>
3485
3486               <secondary>entry from CellServDB file</secondary>
3487             </indexterm></para>
3488         </listitem>
3489
3490         <listitem id="LIWQ128">
3491           <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file
3492           and kernel memory list to exclude this machine. Altering the <emphasis role="bold">CellServDB</emphasis> file and kernel
3493           memory list before stopping the actual database server processes avoids possible time-out delays that result when users
3494           send requests to a decommissioned database server machine that is still listed in the file.</para>
3495
3496           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3497           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3498           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3499           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3500           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3501           newcell</emphasis> command. <indexterm>
3502               <primary>bos commands</primary>
3503
3504               <secondary>removehost</secondary>
3505             </indexterm> <indexterm>
3506               <primary>commands</primary>
3507
3508               <secondary>bos removehost</secondary>
3509             </indexterm> <indexterm>
3510               <primary>CellServDB file (server)</primary>
3511
3512               <secondary>removing entry</secondary>
3513             </indexterm> <indexterm>
3514               <primary>database server machine</primary>
3515
3516               <secondary>entry in server CellServDB file</secondary>
3517
3518               <tertiary>removing</tertiary>
3519             </indexterm></para>
3520         </listitem>
3521
3522         <listitem id="LIWQ129">
3523           <para>Issue the <emphasis role="bold">bos removehost</emphasis> command to remove the
3524           decommissioned database server machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on server
3525           machines.</para>
3526
3527           <para>Substitute the decommissioned database server machine's fully-qualified hostname for the <replaceable>host
3528           name</replaceable> argument. If you run a system control machine, substitute its fully-qualified hostname for the
3529           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3530           role="bold">bos removehost</emphasis> command once for each server machine in your cell (including the decommissioned
3531           database server machine itself), by substituting each one's fully-qualified hostname for the
3532           <replaceable>machine&nbsp;name</replaceable> argument in turn.</para>
3533
3534           <programlisting>
3535    % <emphasis role="bold">bos removehost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3536 </programlisting>
3537
3538           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3539           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If issuing individual <emphasis
3540           role="bold">bos removehost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3541         </listitem>
3542
3543         <listitem>
3544           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3545           server machine to verify that the decommissioned database server machine no longer appears in its <emphasis
3546           role="bold">CellServDB</emphasis> file. <programlisting>
3547    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3548 </programlisting> <indexterm>
3549               <primary>commands</primary>
3550
3551               <secondary>bos stop</secondary>
3552             </indexterm> <indexterm>
3553               <primary>bos commands</primary>
3554
3555               <secondary>stop</secondary>
3556             </indexterm> <indexterm>
3557               <primary>database server machine</primary>
3558
3559               <secondary>stopping database server processes</secondary>
3560             </indexterm> <indexterm>
3561               <primary>stopping</primary>
3562
3563               <secondary>database server processes</secondary>
3564             </indexterm> <indexterm>
3565               <primary>Backup Server</primary>
3566
3567               <secondary>stopping</secondary>
3568             </indexterm> <indexterm>
3569               <primary>Protection Server</primary>
3570
3571               <secondary>stopping</secondary>
3572             </indexterm> <indexterm>
3573               <primary>VL Server (vlserver process)</primary>
3574
3575               <secondary>stopping</secondary>
3576             </indexterm></para>
3577         </listitem>
3578
3579         <listitem id="LIWQ130">
3580           <para>Issue the <emphasis role="bold">bos stop</emphasis> command to stop the database server
3581           processes on the machine, by substituting its fully-qualified hostname for the
3582           <replaceable>machine&nbsp;name</replaceable> argument. The command changes each process's status in the <emphasis
3583           role="bold">/usr/afs/local/BosConfig</emphasis> file to <computeroutput>NotRun</computeroutput>, but does not remove its
3584           entry from the file. <programlisting>
3585    % <emphasis role="bold">bos stop</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
3586 </programlisting> <indexterm>
3587               <primary>commands</primary>
3588
3589               <secondary>bos delete</secondary>
3590             </indexterm> <indexterm>
3591               <primary>bos commands</primary>
3592
3593               <secondary>delete</secondary>
3594             </indexterm> <indexterm>
3595               <primary>BosConfig file</primary>
3596
3597               <secondary>removing entries</secondary>
3598             </indexterm> <indexterm>
3599               <primary>removing</primary>
3600
3601               <secondary>entries from BosConfig File</secondary>
3602             </indexterm> <indexterm>
3603               <primary>database server machine</primary>
3604
3605               <secondary>removing db-server processes from BosConfig file</secondary>
3606             </indexterm></para>
3607         </listitem>
3608
3609         <listitem id="LIWQ131">
3610           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos
3611           delete</emphasis> command to remove the entries for database server processes from the <emphasis
3612           role="bold">BosConfig</emphasis> file. This step is unnecessary if you plan to restart the database server functionality
3613           on this machine in future. <programlisting>
3614    % <emphasis role="bold">bos delete</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>
3615 </programlisting> <indexterm>
3616               <primary>commands</primary>
3617
3618               <secondary>bos restart</secondary>
3619
3620               <tertiary>on removed db-server machine</tertiary>
3621             </indexterm> <indexterm>
3622               <primary>bos commands</primary>
3623
3624               <secondary>restart</secondary>
3625
3626               <tertiary>on removed db-server machine</tertiary>
3627             </indexterm> <indexterm>
3628               <primary>restarting server process</primary>
3629
3630               <secondary>on removed db-server machine</secondary>
3631             </indexterm> <indexterm>
3632               <primary>server process</primary>
3633
3634               <secondary>restarting</secondary>
3635
3636               <tertiary>on removed db-server machine</tertiary>
3637             </indexterm></para>
3638         </listitem>
3639
3640         <listitem id="LIWQ132">
3641           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3642           machine in the cell, to restart the Backup, Protection, and VL Servers. This forces the election of a Ubik
3643           coordinator for each process, ensuring that the remaining database server processes recognize that the machine is no
3644           longer a database server.</para>
3645
3646           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3647           lasts less than five minutes. Messages tracing the progress of the election appear on the console.</para>
3648
3649           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3650           the lowest IP address.</para>
3651
3652           <programlisting>
3653    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>    
3654 </programlisting>
3655
3656           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3657           methods: <itemizedlist>
3658               <listitem>
3659                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3660                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3661               </listitem>
3662
3663               <listitem>
3664                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3665                 its console</para>
3666               </listitem>
3667             </itemizedlist></para>
3668         </listitem>
3669       </orderedlist>
3670     </sect2>
3671   </sect1>
3672 </chapter>