doc: solaris x86 kernel module path
[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 10 or 11 on the x86_64 platform:</para>
1387
1388             <programlisting>
1389    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/amd64/afs</emphasis>
1390 </programlisting>
1391
1392               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
1393               functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
1394
1395               <programlisting>
1396    # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>   
1397 </programlisting>
1398
1399               <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
1400               server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1401
1402               <programlisting>
1403    # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>   
1404 </programlisting>
1405
1406               <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
1407               <emphasis role="bold">nfsd</emphasis> process is running:</para>
1408
1409               <programlisting>
1410    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>   
1411 </programlisting>
1412
1413               <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
1414               functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1415
1416               <programlisting>
1417    # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
1418 </programlisting>
1419             </listitem>
1420
1421             <listitem>
1422               <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
1423               about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1424    # <emphasis role="bold">/etc/init.d/afs start</emphasis>   
1425 </programlisting></para>
1426
1427               <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
1428               role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
1429               using the new version of the file. If this happens, log in again as the superuser <emphasis
1430               role="bold">root</emphasis> after the reboot and run the initialization script again. This time the required entry
1431               exists in the <emphasis role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis
1432               role="bold">modload</emphasis> program runs.</para>
1433
1434               <programlisting>
1435    login: <emphasis role="bold">root</emphasis>
1436    Password: <replaceable>root_password</replaceable>
1437    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1438 </programlisting>
1439
1440               <indexterm>
1441                 <primary>replacing fsck program</primary>
1442
1443                 <secondary>server machine after first</secondary>
1444
1445                 <tertiary>Solaris</tertiary>
1446               </indexterm>
1447
1448               <indexterm>
1449                 <primary>fsck program</primary>
1450
1451                 <secondary>on server machine after first</secondary>
1452
1453                 <tertiary>Solaris</tertiary>
1454               </indexterm>
1455
1456               <indexterm>
1457                 <primary>file server machine, additional</primary>
1458
1459                 <secondary>fsck program</secondary>
1460
1461                 <tertiary>on Solaris</tertiary>
1462               </indexterm>
1463
1464               <indexterm>
1465                 <primary>Solaris</primary>
1466
1467                 <secondary>fsck program</secondary>
1468
1469                 <tertiary>on add'l server machine</tertiary>
1470               </indexterm>
1471             </listitem>
1472
1473             <listitem>
1474               <para>Create the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory to house the AFS-modified <emphasis
1475               role="bold">fsck</emphasis> program and related files. <programlisting>
1476    # <emphasis role="bold">mkdir /usr/lib/fs/afs</emphasis>
1477    # <emphasis role="bold">cd /usr/lib/fs/afs</emphasis>  
1478 </programlisting></para>
1479             </listitem>
1480
1481             <listitem>
1482               <para>Copy the <emphasis role="bold">vfsck</emphasis> binary to the newly created directory, changing the name as you
1483               do so. <programlisting>
1484    # <emphasis role="bold">cp  /cdrom/sun4x_56/dest/root.server/etc/vfsck  fsck</emphasis>
1485 </programlisting></para>
1486             </listitem>
1487
1488             <listitem>
1489               <para>Working in the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory, create the following links to Solaris
1490               libraries: <programlisting>
1491    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/clri</emphasis>  
1492    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/df</emphasis>
1493    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/edquota</emphasis>
1494    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ff</emphasis>
1495    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsdb</emphasis>  
1496    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsirand</emphasis>
1497    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fstyp</emphasis>
1498    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/labelit</emphasis>
1499    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/lockfs</emphasis>
1500    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mkfs</emphasis>  
1501    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mount</emphasis>
1502    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ncheck</emphasis>
1503    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/newfs</emphasis>
1504    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quot</emphasis>
1505    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quota</emphasis>
1506    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaoff</emphasis>
1507    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaon</emphasis>
1508    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/repquota</emphasis>
1509    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/tunefs</emphasis>
1510    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsdump</emphasis>
1511    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsrestore</emphasis>
1512    # <emphasis role="bold">ln -s /usr/lib/fs/ufs/volcopy</emphasis>
1513 </programlisting></para>
1514             </listitem>
1515
1516             <listitem>
1517               <para>Append the following line to the end of the file <emphasis role="bold">/etc/dfs/fstypes</emphasis>.
1518               <programlisting>
1519    afs AFS Utilities
1520 </programlisting></para>
1521             </listitem>
1522
1523             <listitem>
1524               <para>Edit the <emphasis role="bold">/sbin/mountall</emphasis> file, making two changes. <itemizedlist>
1525                   <listitem>
1526                     <para>Add an entry for AFS to the <computeroutput>case</computeroutput> statement for option 2, so that it reads
1527                     as follows: <programlisting>
1528    case "$2" in
1529    ufs)    foptions="-o p"
1530            ;;
1531    afs)    foptions="-o p"
1532            ;;
1533    s5)     foptions="-y -t /var/tmp/tmp$$ -D"
1534            ;;
1535    *)      foptions="-y"
1536            ;;
1537 </programlisting></para>
1538                   </listitem>
1539
1540                   <listitem>
1541                     <para>Edit the file so that all AFS and UFS partitions are checked in parallel. Replace the following section of
1542                     code: <programlisting>
1543    # For  fsck purposes, we make a distinction between ufs and
1544    # other file systems
1545    #
1546    if [ "$fstype" = "ufs" ]; then
1547         ufs_fscklist="$ufs_fscklist $fsckdev"
1548         saveentry $fstype "$OPTIONS" $special $mountp
1549         continue
1550    fi  
1551 </programlisting></para>
1552
1553                     <para>with the following section of code:</para>
1554
1555                     <programlisting>
1556    # For fsck purposes, we make a distinction between ufs/afs
1557    # and other file systems.
1558    #
1559    if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
1560         ufs_fscklist="$ufs_fscklist $fsckdev"
1561         saveentry $fstype "$OPTIONS" $special $mountp
1562         continue
1563    fi
1564 </programlisting>
1565                   </listitem>
1566                 </itemizedlist></para>
1567
1568               <indexterm>
1569                 <primary>configuring</primary>
1570
1571                 <secondary>AFS server partition on server machine after first</secondary>
1572
1573                 <tertiary>Solaris</tertiary>
1574               </indexterm>
1575
1576               <indexterm>
1577                 <primary>AFS server partition</primary>
1578
1579                 <secondary>configuring on server machine after first</secondary>
1580
1581                 <tertiary>Solaris</tertiary>
1582               </indexterm>
1583
1584               <indexterm>
1585                 <primary>file server machine, additional</primary>
1586
1587                 <secondary>AFS server partition</secondary>
1588
1589                 <tertiary>on Solaris</tertiary>
1590               </indexterm>
1591
1592               <indexterm>
1593                 <primary>Solaris</primary>
1594
1595                 <secondary>AFS server partition</secondary>
1596
1597                 <tertiary>on add'l server machine</tertiary>
1598               </indexterm>
1599             </listitem>
1600
1601             <listitem>
1602               <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
1603               server partition you are configuring (there must be at least one). Repeat the command for each partition.
1604               <programlisting>
1605    # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1606 </programlisting></para>
1607             </listitem>
1608
1609             <listitem>
1610               <para>Add a line with the following format to the file systems registry file, <emphasis
1611               role="bold">/etc/vfstab</emphasis>, for each partition to be mounted on a directory created in the previous step. Note
1612               the value <computeroutput>afs</computeroutput> in the fourth field, which tells Solaris to use the AFS-modified
1613               <emphasis role="bold">fsck</emphasis> program on this partition. <programlisting>
1614    /dev/dsk/<replaceable>disk</replaceable>   /dev/rdsk/<replaceable>disk</replaceable>   /vicep<replaceable>xx</replaceable>   afs   <replaceable>boot_order</replaceable>  yes  
1615 </programlisting></para>
1616
1617               <para>The following is an example for the first partition being configured.</para>
1618
1619               <programlisting>
1620    /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
1621 </programlisting>
1622             </listitem>
1623
1624             <listitem>
1625               <para>Create a file system on each partition that is to be mounted at a <emphasis
1626               role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
1627               but consult the Solaris documentation for more information. <programlisting>
1628    # <emphasis role="bold">newfs -v /dev/rdsk/</emphasis><replaceable>disk</replaceable>
1629 </programlisting></para>
1630             </listitem>
1631
1632             <listitem>
1633               <para>Issue the <emphasis role="bold">mountall</emphasis> command to mount all partitions at once.</para>
1634             </listitem>
1635
1636             <listitem>
1637               <para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
1638               instructions in <link linkend="HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris
1639               Systems</link>.</para>
1640             </listitem>
1641
1642             <listitem>
1643               <para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
1644             </listitem>
1645           </orderedlist></para>
1646
1647         <indexterm>
1648           <primary>file server machine, additional</primary>
1649
1650           <secondary>server functionality</secondary>
1651         </indexterm>
1652
1653         <indexterm>
1654           <primary>installing</primary>
1655
1656           <secondary>server functionality</secondary>
1657
1658           <tertiary>server machine after first</tertiary>
1659         </indexterm>
1660       </sect3>
1661     </sect2>
1662
1663     <sect2 id="HDRWQ108">
1664       <title>Starting Server Programs</title>
1665
1666       <para>In this section you initialize the BOS Server, the Update Server, and the <emphasis
1667       role="bold">fs</emphasis> process. You begin by copying the necessary server files to the local disk. <orderedlist>
1668           <indexterm>
1669             <primary>copying</primary>
1670
1671             <secondary>server files to local disk</secondary>
1672
1673             <tertiary>server machine after first</tertiary>
1674           </indexterm>
1675
1676           <indexterm>
1677             <primary>Binary Distribution</primary>
1678
1679             <secondary>copying server files from</secondary>
1680
1681             <tertiary>server machine after first</tertiary>
1682           </indexterm>
1683
1684           <indexterm>
1685             <primary>file server machine, additional</primary>
1686
1687             <secondary>copying</secondary>
1688
1689             <tertiary>server files to local disk</tertiary>
1690           </indexterm>
1691
1692           <listitem>
1693             <para>Copy file server binaries to the local <emphasis role="bold">/usr/afs/bin</emphasis> directory. <itemizedlist>
1694                 <listitem>
1695                   <para>On a machine of an existing system type, you can either 
1696                   copy files from the OpenAFS binary distribution or use a 
1697                   remote file transfer protocol to copy files from an existing 
1698                   server machine of the same system type. To load from the 
1699                   binary distribution, see the instructions just following for 
1700                   a machine of a new system type. If using a remote file 
1701                   transfer protocol, copy the complete contents of the 
1702                   existing server machine's 
1703                   <emphasis role="bold">/usr/afs/bin</emphasis>
1704                   directory.</para>
1705                 </listitem>
1706
1707                 <listitem>
1708                   <para>If you are working from a tarball distribtion, rather
1709                   than one distributed in a packaged format, you must use the 
1710                   following instructions to copy files from 
1711                   the OpenAFS Binary Distribution.
1712                    <orderedlist>
1713                       <listitem>
1714                         <para>Unpack the distribution tarball. The examples 
1715                         below assume that you have unpacked the files into the 
1716                         <emphasis role="bold">/tmp/afsdist</emphasis> 
1717                         directory. If you pick a different location, substitute
1718                         this in all of the following examples.</para>
1719                       </listitem>
1720
1721                       <listitem>
1722                         <para>Copy files from the distribution to the local <emphasis role="bold">/usr/afs</emphasis> directory.
1723                         <programlisting>
1724    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.server/usr/afs</emphasis>
1725    # <emphasis role="bold">cp -rp  *  /usr/afs</emphasis>
1726 </programlisting></para>
1727                       </listitem>
1728                     </orderedlist></para>
1729                 </listitem>
1730               </itemizedlist></para>
1731
1732             <indexterm>
1733               <primary>usr/afs/etc directory</primary>
1734
1735               <secondary>server machine after first</secondary>
1736             </indexterm>
1737
1738             <indexterm>
1739               <primary>file server machine, additional</primary>
1740
1741               <secondary>/usr/afs/etc directory</secondary>
1742             </indexterm>
1743
1744             <indexterm>
1745               <primary>creating</primary>
1746
1747               <secondary>/usr/afs/etc directory</secondary>
1748
1749               <tertiary>server machine after first</tertiary>
1750             </indexterm>
1751
1752             <indexterm>
1753               <primary>creating</primary>
1754
1755               <secondary>CellServDB file (server)</secondary>
1756
1757               <tertiary>server machine after first</tertiary>
1758             </indexterm>
1759
1760             <indexterm>
1761               <primary>UserList file</primary>
1762
1763               <secondary>server machine after first</secondary>
1764             </indexterm>
1765
1766             <indexterm>
1767               <primary>KeyFile file</primary>
1768
1769               <secondary>server machine after first</secondary>
1770             </indexterm>
1771
1772             <indexterm>
1773               <primary>CellServDB file (server)</primary>
1774
1775               <secondary>creating</secondary>
1776
1777               <tertiary>on server machine after first</tertiary>
1778             </indexterm>
1779
1780             <indexterm>
1781               <primary>database server machine</primary>
1782
1783               <secondary>entry in server CellServDB file</secondary>
1784
1785               <tertiary>on server machine after first</tertiary>
1786             </indexterm>
1787
1788             <indexterm>
1789               <primary>ThisCell file (server)</primary>
1790
1791               <secondary>server machine after first</secondary>
1792             </indexterm>
1793
1794             <indexterm>
1795               <primary>file server machine, additional</primary>
1796
1797               <secondary>cell membership, defining</secondary>
1798
1799               <tertiary>for server processes</tertiary>
1800             </indexterm>
1801
1802             <indexterm>
1803               <primary>setting</primary>
1804
1805               <secondary>cell name in server ThisCell file</secondary>
1806
1807               <tertiary>server machine after first</tertiary>
1808             </indexterm>
1809
1810             <indexterm>
1811               <primary>file server machine, additional</primary>
1812
1813               <secondary>ThisCell file (server)</secondary>
1814             </indexterm>
1815           </listitem>
1816
1817           <listitem>
1818             <para>Copy the contents of the 
1819             <emphasis role="bold">/usr/afs/etc</emphasis> directory from an 
1820             existing file server machine, using a remote file transfer protocol 
1821             such as <emphasis role="bold">sftp</emphasis> or 
1822             <emphasis role="bold">scp</emphasis>. If you use a system
1823             control machine, it is best to copy the contents of its 
1824             <emphasis role="bold">/usr/afs/etc</emphasis> directory. If you
1825             choose not to run a system control machine, copy the directory's 
1826             contents from any existing file server machine.
1827             <indexterm>
1828                 <primary>BOS Server</primary>
1829
1830                 <secondary>starting</secondary>
1831
1832                 <tertiary>server machine after first</tertiary>
1833               </indexterm> <indexterm>
1834                 <primary>starting</primary>
1835
1836                 <secondary>BOS Server</secondary>
1837
1838                 <tertiary>server machine after first</tertiary>
1839               </indexterm> <indexterm>
1840                 <primary>file server machine, additional</primary>
1841
1842                 <secondary>BOS Server</secondary>
1843               </indexterm> <indexterm>
1844                 <primary>authorization checking (disabling)</primary>
1845
1846                 <secondary>server machine after first</secondary>
1847               </indexterm> <indexterm>
1848                 <primary>disabling authorization checking</primary>
1849
1850                 <secondary>server machine after first</secondary>
1851               </indexterm> <indexterm>
1852                 <primary>file server machine, additional</primary>
1853
1854                 <secondary>authorization checking (disabling)</secondary>
1855               </indexterm></para>
1856           </listitem>
1857
1858           <listitem>
1859             <para>Change to the <emphasis role="bold">/usr/afs/bin</emphasis> directory and start the BOS Server (<emphasis
1860             role="bold">bosserver</emphasis> process). Include the <emphasis role="bold">-noauth</emphasis> flag to prevent the AFS
1861             processes from performing authorization checking. This is a grave compromise of security; finish the remaining
1862             instructions in this section in an uninterrupted pass. <programlisting>
1863    # <emphasis role="bold">cd /usr/afs/bin</emphasis>
1864    # <emphasis role="bold">./bosserver -noauth &amp;</emphasis>
1865 </programlisting> <indexterm>
1866                 <primary>BosConfig file</primary>
1867
1868                 <secondary>adding entries</secondary>
1869
1870                 <tertiary>server machine after first</tertiary>
1871               </indexterm> <indexterm>
1872                 <primary>adding</primary>
1873
1874                 <secondary>entries to BosConfig file</secondary>
1875
1876                 <tertiary>server machine after first</tertiary>
1877               </indexterm> <indexterm>
1878                 <primary>Update Server</primary>
1879
1880                 <secondary>starting client portion</secondary>
1881               </indexterm> <indexterm>
1882                 <primary>upclient process</primary>
1883               </indexterm> <indexterm>
1884                 <primary>starting</primary>
1885
1886                 <secondary>Update Server client portion</secondary>
1887               </indexterm> <indexterm>
1888                 <primary>file server machine, additional</primary>
1889
1890                 <secondary>Update Server client portion</secondary>
1891               </indexterm></para>
1892           </listitem>
1893
1894           <listitem id="LIWQ109">
1895             <para>If you run a system control machine, create the <emphasis
1896             role="bold">upclientetc</emphasis> process as an instance of the client portion of the Update Server. It accepts updates
1897             of the common configuration files stored in the system control machine's <emphasis role="bold">/usr/afs/etc</emphasis>
1898             directory from the <emphasis role="bold">upserver</emphasis> process (server portion of the Update Server) running on
1899             that machine. The cell's first file server machine was installed as the system control machine in <link
1900             linkend="HDRWQ61">Starting the Server Portion of the Update Server</link>. (If you do not run a system control machine,
1901             you must update the contents of the <emphasis role="bold">/usr/afs/etc</emphasis> directory on each file server machine,
1902             using the appropriate <emphasis role="bold">bos</emphasis> commands.)</para>
1903
1904             <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1905             role="bold">-t</emphasis> argument to specify a different number of seconds. For the
1906             <replaceable>machine&nbsp;name</replaceable> argument, substitute the name of the machine you are installing. The
1907             command appears on multiple lines here only for legibility reasons.</para>
1908
1909             <programlisting>
1910    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientetc simple</emphasis>  \ 
1911          <emphasis role="bold">"/usr/afs/bin/upclient</emphasis>  &lt;<replaceable>system control machine</replaceable>&gt;  \  
1912          [<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
1913                 role="bold">-noauth</emphasis>
1914 </programlisting>
1915
1916             <indexterm>
1917               <primary>Update Server</primary>
1918
1919               <secondary>starting server portion</secondary>
1920
1921               <tertiary>server machine after first</tertiary>
1922             </indexterm>
1923
1924             <indexterm>
1925               <primary>starting</primary>
1926
1927               <secondary>Update Server server portion</secondary>
1928
1929               <tertiary>server machine after first</tertiary>
1930             </indexterm>
1931
1932             <indexterm>
1933               <primary>file server machine, additional</primary>
1934
1935               <secondary>Update Server server portion</secondary>
1936             </indexterm>
1937           </listitem>
1938
1939           <listitem id="LIWQ110">
1940             <para>Create an instance of the Update 
1941             Server to handle distribution of the file server binaries
1942             stored in the <emphasis role="bold">/usr/afs/bin</emphasis> 
1943             directory. If your architecture using a package management system
1944             such as 'rpm' or 'apt' to maintain its binaries, note that
1945             distributing binaries via this system may interfere with your local
1946             package management tools.
1947             </para>
1948             
1949             <itemizedlist>
1950                 <listitem>
1951                   <para>If this is the first file server machine of its AFS system type, create the <emphasis
1952                   role="bold">upserver</emphasis> process as an instance of the server portion of the Update Server. It distributes
1953                   its copy of the file server process binaries to the other file server machines of this system type that you
1954                   install in future. Creating this process makes this machine the binary distribution machine for its type.
1955                   <programlisting>
1956    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upserver  simple</emphasis>  \ 
1957          <emphasis role="bold">"/usr/afs/bin/upserver -clear /usr/afs/bin"</emphasis>   \
1958          <emphasis role="bold">-cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis role="bold">-noauth</emphasis>
1959 </programlisting></para>
1960                 </listitem>
1961
1962                 <listitem>
1963                   <para>If this machine is an existing system type, create the <emphasis role="bold">upclientbin</emphasis> process
1964                   as an instance of the client portion of the Update Server. It accepts updates of the AFS binaries from the
1965                   <emphasis role="bold">upserver</emphasis> process running on the binary distribution machine for its system type.
1966                   For distribution to work properly, the <emphasis role="bold">upserver</emphasis> process must already by running
1967                   on that machine.</para>
1968
1969                   <para>Use the <emphasis role="bold">-clear</emphasis> argument to specify that the <emphasis
1970                   role="bold">upclientbin</emphasis> process requests unencrypted transfer of the binaries in the <emphasis
1971                   role="bold">/usr/afs/bin</emphasis> directory. Binaries are not sensitive and encrypting them is
1972                   time-consuming.</para>
1973
1974                   <para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
1975                   role="bold">-t</emphasis> argument to specify an different number of seconds.</para>
1976
1977 <programlisting>
1978    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">upclientbin simple</emphasis>  \ 
1979         <emphasis role="bold">"/usr/afs/bin/upclient</emphasis> &lt;<replaceable>binary distribution machine</replaceable>&gt;   \
1980         [<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
1981                       role="bold">-noauth</emphasis>
1982 </programlisting>
1983                 </listitem>
1984               </itemizedlist>
1985
1986             <indexterm>
1987               <primary>File Server</primary>
1988
1989               <secondary>server machine after first</secondary>
1990             </indexterm>
1991
1992             <indexterm>
1993               <primary>starting</primary>
1994
1995               <secondary>File Server</secondary>
1996
1997               <tertiary>server machine after first</tertiary>
1998             </indexterm>
1999
2000             <indexterm>
2001               <primary>file server machine, additional</primary>
2002
2003               <secondary>File Server</secondary>
2004             </indexterm>
2005
2006             <indexterm>
2007               <primary>Volume Server</primary>
2008
2009               <secondary>server machine after first</secondary>
2010             </indexterm>
2011
2012             <indexterm>
2013               <primary>starting</primary>
2014
2015               <secondary>Volume Server</secondary>
2016
2017               <tertiary>server machine after first</tertiary>
2018             </indexterm>
2019
2020             <indexterm>
2021               <primary>file server machine, additional</primary>
2022
2023               <secondary>Volume Server</secondary>
2024             </indexterm>
2025
2026             <indexterm>
2027               <primary>Salvager (salvager process)</primary>
2028
2029               <secondary>server machine after first</secondary>
2030             </indexterm>
2031
2032             <indexterm>
2033               <primary>fs process</primary>
2034
2035               <secondary>server machine after first</secondary>
2036             </indexterm>
2037
2038             <indexterm>
2039               <primary>starting</primary>
2040
2041               <secondary>fs process</secondary>
2042
2043               <tertiary>server machine after first</tertiary>
2044             </indexterm>
2045
2046             <indexterm>
2047               <primary>file server machine, additional</primary>
2048
2049               <secondary>fs process</secondary>
2050             </indexterm>
2051           </listitem>
2052
2053           <listitem>
2054             <para>Issue the <emphasis role="bold">bos create</emphasis> command
2055             to start the <emphasis role="bold">fs</emphasis> process or the
2056             <emphasis role="bold">dafs</emphasis> process, depending on if you
2057             want to run the Demand-Attach File Server or not. See <link
2058             linkend="DAFS">Appendix C, The Demand-Attach File Server</link> for
2059             more information on whether you want to run it or not.
2060
2061             <itemizedlist>
2062               <listitem>
2063
2064             <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
2065             Salvager. <programlisting>
2066    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">fs fs</emphasis>   \ 
2067          <emphasis role="bold">/usr/afs/bin/fileserver /usr/afs/bin/volserver</emphasis>  \ 
2068          <emphasis role="bold">/usr/afs/bin/salvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
2069                   role="bold">-noauth</emphasis>
2070 </programlisting></para>
2071           </listitem>
2072
2073           <listitem>
2074
2075             <para>If you want to run the Demand-Attach File Server, start the
2076             <emphasis role="bold">dafs</emphasis> process, which binds together
2077             the File Server, Volume Server, Salvage Server, and Salvager.
2078             <programlisting>
2079    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">dafs dafs</emphasis>   \ 
2080          <emphasis role="bold">/usr/afs/bin/dafileserver /usr/afs/bin/davolserver</emphasis>  \ 
2081          <emphasis role="bold">/usr/afs/bin/salvageserver</emphasis>  \ 
2082          <emphasis role="bold">/usr/afs/bin/dasalvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
2083                   role="bold">-noauth</emphasis>
2084 </programlisting></para>
2085           </listitem>
2086
2087           </itemizedlist>
2088
2089           </para>
2090           </listitem>
2091         </orderedlist></para>
2092
2093       <indexterm>
2094         <primary>installing</primary>
2095
2096         <secondary>client functionality</secondary>
2097
2098         <tertiary>server machine after first</tertiary>
2099       </indexterm>
2100
2101       <indexterm>
2102         <primary>file server machine, additional</primary>
2103
2104         <secondary>client functionality</secondary>
2105       </indexterm>
2106     </sect2>
2107
2108     <sect2 id="HDRWQ111">
2109       <title>Installing Client Functionality</title>
2110
2111       <para>If you want this machine to be a client as well as a server, follow the instructions in this section. Otherwise, skip to
2112       <link linkend="HDRWQ112">Completing the Installation</link>.</para>
2113
2114       <para>Begin by loading the necessary client files to the local disk. Then create the necessary configuration files and start
2115       the Cache Manager. For more detailed explanation of the procedures involved, see the corresponding instructions in <link
2116       linkend="HDRWQ17">Installing the First AFS Machine</link> (in the sections following <link linkend="HDRWQ63">Overview:
2117       Installing Client Functionality</link>).</para>
2118
2119       <para>If another AFS machine of this machine's system type exists, the AFS binaries are probably already accessible in your
2120       AFS filespace (the conventional location is <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2121       role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>). If not, or if this is
2122       the first AFS machine of its type, copy the AFS binaries for this system type into an AFS volume by following the instructions
2123       in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link>. Because this machine is not yet an AFS client, you must perform
2124       the procedure on an existing AFS machine. However, remember to perform the final step (linking the local directory <emphasis
2125       role="bold">/usr/afsws</emphasis> to the appropriate location in the AFS file tree) on this machine itself. If you also want
2126       to create AFS volumes to house UNIX system binaries for the new system type, see <link linkend="HDRWQ88">Storing System
2127       Binaries in AFS</link>. <indexterm>
2128           <primary>Binary Distribution</primary>
2129
2130           <secondary>copying client files from</secondary>
2131
2132           <tertiary>server machine after first</tertiary>
2133         </indexterm> <indexterm>
2134           <primary>file server machine, additional</primary>
2135
2136           <secondary>copying</secondary>
2137
2138           <tertiary>client files to local disk</tertiary>
2139         </indexterm> <indexterm>
2140           <primary>copying</primary>
2141
2142           <secondary>client files to local disk</secondary>
2143
2144           <tertiary>server machine after first</tertiary>
2145         </indexterm> <orderedlist>
2146           <listitem>
2147             <para>Copy client binaries and files to the local disk. <itemizedlist>
2148                 <listitem>
2149                   <para>On a machine of an existing system type, you can either 
2150                   load files from the OpenAFS Binary Distribution or use a 
2151                   remote file transfer protocol to copy files from an existing 
2152                   server machine of the same system type. To load from the
2153                   binary distribution, see the instructions just following 
2154                   for a machine of a new system type. If using a remote file 
2155                   transfer protocol, copy the complete contents of the existing 
2156                   client machine's 
2157                   <emphasis role="bold">/usr/vice/etc</emphasis> 
2158                   directory.</para>
2159                 </listitem>
2160
2161                 <listitem>
2162                   <para>On a machine of a new system type, you must use the 
2163                   following instructions to copy files from the OpenAFS
2164                   Binary Distribution. If your distribution is provided in
2165                   a packaged format, then simply installing the packages will
2166                   perform the necessary actions.
2167                     <orderedlist>
2168                       <listitem>
2169                         <para>Unpack the distribution tarball. The examples 
2170                         below assume that you have unpacked the files into the 
2171                         <emphasis role="bold">/tmp/afsdist</emphasis> 
2172                         directory. If you pick a different location, substitute
2173                         this in all of the following examples.</para>
2174                       </listitem>
2175
2176                       <listitem>
2177                         <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
2178
2179                         <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the
2180                         <emphasis role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating
2181                         AFS into the kernel, you copied the script directly to the operating system's conventional location for
2182                         initialization files. When you incorporate AFS into the machine's startup sequence in a later step, you can
2183                         choose to link the two files.</para>
2184
2185                         <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files
2186                         into a subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types,
2187                         you copied the appropriate AFS library file directly to the directory where the operating system accesses
2188                         it. The following commands do not copy or recopy the AFS library files into the <emphasis
2189                         role="bold">/usr/vice/etc</emphasis> directory, because on some system types the library files consume a
2190                         large amount of space. If you want to copy them, add the <emphasis role="bold">-r</emphasis> flag to the
2191                         first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis role="bold">cp</emphasis>
2192                         command.</para>
2193
2194                         <programlisting>
2195    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
2196    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
2197    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
2198 </programlisting>
2199                       </listitem>
2200                     </orderedlist></para>
2201                 </listitem>
2202               </itemizedlist></para>
2203
2204             <indexterm>
2205               <primary>cell name</primary>
2206
2207               <secondary>setting in client ThisCell file</secondary>
2208
2209               <tertiary>server machine after first</tertiary>
2210             </indexterm>
2211
2212             <indexterm>
2213               <primary>cell name</primary>
2214
2215               <secondary>setting in server ThisCell file</secondary>
2216
2217               <tertiary>server machine after first</tertiary>
2218             </indexterm>
2219
2220             <indexterm>
2221               <primary>setting</primary>
2222
2223               <secondary>cell name in client ThisCell file</secondary>
2224
2225               <tertiary>server machine after first</tertiary>
2226             </indexterm>
2227
2228             <indexterm>
2229               <primary>file server machine, additional</primary>
2230
2231               <secondary>ThisCell file (client)</secondary>
2232             </indexterm>
2233
2234             <indexterm>
2235               <primary>file server machine, additional</primary>
2236
2237               <secondary>cell membership, defining</secondary>
2238
2239               <tertiary>for client processes</tertiary>
2240             </indexterm>
2241
2242             <indexterm>
2243               <primary>ThisCell file (client)</primary>
2244
2245               <secondary>server machine after first</secondary>
2246             </indexterm>
2247           </listitem>
2248
2249           <listitem>
2250             <para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and create the <emphasis
2251             role="bold">ThisCell</emphasis> file as a copy of the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file. You
2252             must first remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file that the BOS
2253             Server created automatically in <link linkend="HDRWQ108">Starting Server Programs</link>. <programlisting>
2254    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2255    # <emphasis role="bold">rm  ThisCell</emphasis>
2256    # <emphasis role="bold">cp  /usr/afs/etc/ThisCell  ThisCell</emphasis>
2257 </programlisting></para>
2258           </listitem>
2259
2260           <listitem>
2261             <para>Remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file. <programlisting>
2262    # <emphasis role="bold">rm  CellServDB</emphasis>
2263 </programlisting> <indexterm>
2264                 <primary>database server machine</primary>
2265
2266                 <secondary>entry in client CellServDB file</secondary>
2267
2268                 <tertiary>on server machine after first</tertiary>
2269               </indexterm> <indexterm>
2270                 <primary>CellServDB file (client)</primary>
2271
2272                 <secondary>creating</secondary>
2273
2274                 <tertiary>on server machine after first</tertiary>
2275               </indexterm> <indexterm>
2276                 <primary>creating</primary>
2277
2278                 <secondary>CellServDB file (client)</secondary>
2279
2280                 <tertiary>server machine after first</tertiary>
2281               </indexterm></para>
2282           </listitem>
2283
2284           <listitem>
2285             <para>Create the 
2286             <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. 
2287             Use a network file transfer program such as 
2288             <emphasis role="bold">sftp</emphasis> or 
2289             <emphasis role="bold">scp</emphasis> to copy it from 
2290             one of the following sources, which are listed in
2291             decreasing order of preference: 
2292               <itemizedlist>
2293                 <listitem>
2294                   <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
2295                   <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2296                   role="bold">/common/etc/CellServDB</emphasis>)</para>
2297                 </listitem>
2298
2299                 <listitem>
2300                   <para>The global <emphasis role="bold">CellServDB</emphasis> 
2301                   file maintained at grand.central.org</para>
2302                 </listitem>
2303
2304                 <listitem>
2305                   <para>An existing client machine in your cell</para>
2306                 </listitem>
2307
2308                 <listitem>
2309                   <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
2310                   file included in the 
2311                   <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
2312                   directory of each OpenAFS distribution; add an entry for the 
2313                   local cell by following the instructions in 
2314                   <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
2315                   </para>
2316                 </listitem>
2317               </itemizedlist>
2318             </para>
2319
2320             <indexterm>
2321               <primary>cache</primary>
2322
2323               <secondary>configuring</secondary>
2324
2325               <tertiary>server machine after first</tertiary>
2326             </indexterm>
2327
2328             <indexterm>
2329               <primary>configuring</primary>
2330
2331               <secondary>cache</secondary>
2332
2333               <tertiary>server machine after first</tertiary>
2334             </indexterm>
2335
2336             <indexterm>
2337               <primary>setting</primary>
2338
2339               <secondary>cache size and location</secondary>
2340
2341               <tertiary>server machine after first</tertiary>
2342             </indexterm>
2343
2344             <indexterm>
2345               <primary>file server machine, additional</primary>
2346
2347               <secondary>cache size and location</secondary>
2348             </indexterm>
2349           </listitem>
2350
2351           <listitem>
2352             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file for either a disk cache or a memory cache. For a
2353             discussion of the appropriate values to record in the file, see <link linkend="HDRWQ67">Configuring the
2354             Cache</link>.</para>
2355
2356             <para>To configure a disk cache, issue the following commands. If you are devoting a partition exclusively to caching,
2357             as recommended, you must also configure it, make a file system on it, and mount it at the directory created in this
2358             step.</para>
2359
2360             <programlisting>
2361    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
2362    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>   
2363 </programlisting>
2364
2365             <para>To configure a memory cache:</para>
2366
2367             <programlisting>
2368    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>
2369 </programlisting>
2370
2371             <indexterm>
2372               <primary>Cache Manager</primary>
2373
2374               <secondary>server machine after first</secondary>
2375             </indexterm>
2376
2377             <indexterm>
2378               <primary>configuring</primary>
2379
2380               <secondary>Cache Manager</secondary>
2381
2382               <tertiary>server machine after first</tertiary>
2383             </indexterm>
2384
2385             <indexterm>
2386               <primary>file server machine, additional</primary>
2387
2388               <secondary>Cache Manager</secondary>
2389             </indexterm>
2390
2391             <indexterm>
2392               <primary>afs (/afs) directory</primary>
2393
2394               <secondary>creating</secondary>
2395
2396               <tertiary>server machine after first</tertiary>
2397             </indexterm>
2398
2399             <indexterm>
2400               <primary>AFS initialization script</primary>
2401
2402               <secondary>setting afsd parameters</secondary>
2403
2404               <tertiary>server machine after first</tertiary>
2405             </indexterm>
2406
2407             <indexterm>
2408               <primary>file server machine, additional</primary>
2409
2410               <secondary>afsd command parameters</secondary>
2411             </indexterm>
2412           </listitem>
2413
2414           <listitem>
2415             <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis
2416             role="bold">/afs</emphasis>. If the directory already exists, verify that it is empty. <programlisting>
2417    # <emphasis role="bold">mkdir /afs</emphasis>
2418 </programlisting></para>
2419           </listitem>
2420
2421           <listitem>
2422             <para>On AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
2423             unmount AFS correctly during shutdown. <programlisting>
2424    afs     4     none     none
2425 </programlisting></para>
2426           </listitem>
2427
2428           <listitem>
2429             <para>On non-packaged Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
2430             role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory,
2431             removing the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
2432    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
2433 </programlisting></para>
2434           </listitem>
2435
2436           <listitem>
2437             <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
2438             appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The script resides in the indicated
2439             location on each system type: <itemizedlist>
2440                 <listitem>
2441                   <para>On AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
2442                 </listitem>
2443
2444                 <listitem>
2445                   <para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
2446                 </listitem>
2447
2448                 <listitem>
2449                   <para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2450                 </listitem>
2451
2452                 <listitem>
2453                   <para>On Fedora and RHEL systems, 
2454                   <emphasis role="bold">/etc/sysconfig/openafs</emphasis>. 
2455                   Note that this file has a different format from a standard 
2456                   afsd options file.</para>
2457                 </listitem>
2458                 
2459                 <listitem>
2460                   <para>On non-packaged Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
2461                   role="bold">afsd</emphasis> options file)</para>
2462                 </listitem>
2463                 
2464
2465                 <listitem>
2466                   <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2467                 </listitem>
2468               </itemizedlist></para>
2469
2470             <para>Use one of the methods described in <link linkend="HDRWQ70">Configuring the Cache Manager</link> to add the
2471             following flags to the <emphasis role="bold">afsd</emphasis> command line. If you intend for the machine to remain an
2472             AFS client, also set any performance-related arguments you wish. <itemizedlist>
2473                 <!-- nosetime is now the default
2474                 <listitem>
2475                   <para>Add the <emphasis role="bold">-nosettime</emphasis> flag, because this is a file server machine that is also
2476                   a client.</para>
2477                 </listitem> -->
2478
2479                 <listitem>
2480                   <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
2481                 </listitem>
2482
2483                 <listitem>
2484                   <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
2485                   initialization on the standard output stream.</para>
2486                 </listitem>
2487                 <listitem>
2488                   <para>Add the <emphasis role="bold">--dynroot</emphasis> or
2489                   <emphasis role="bold">--afsdb</emphasis> options if you
2490                   wish to have a synthetic AFS root, as discussed in
2491                   <link linkend="HDRWQ91">Enabling Access to Foreign Cells</link>
2492                   </para>
2493                 </listitem>
2494               </itemizedlist></para>
2495           </listitem>
2496
2497           <listitem>
2498             <para>If appropriate, follow the instructions in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link> to copy the
2499             AFS binaries for this system type into an AFS volume. See the introduction to this section for further
2500             discussion.</para>
2501           </listitem>
2502         </orderedlist></para>
2503     </sect2>
2504
2505     <sect2 id="HDRWQ112">
2506       <title>Completing the Installation</title>
2507
2508       <para>At this point you run the machine's AFS initialization script to verify that it correctly loads AFS modifications into
2509       the kernel and starts the BOS Server, which starts the other server processes. If you have installed client files, the script
2510       also starts the Cache Manager. If the script works correctly, perform the steps that incorporate it into the machine's startup
2511       and shutdown sequence. If there are problems during the initialization, attempt to resolve them. The AFS Product Support group
2512       can provide assistance if necessary.</para>
2513
2514       <para>If the machine is configured as a client using a disk cache, it can take a while for the <emphasis
2515       role="bold">afsd</emphasis> program to create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
2516       in the cache directory. Messages on the console trace the initialization process. <orderedlist>
2517           <listitem>
2518             <para>Issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the AFS server processes other than
2519             the BOS Server. Include the <emphasis role="bold">-wait</emphasis> flag to delay return of the command shell prompt
2520             until all processes shut down completely. <programlisting>
2521    # <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis
2522                   role="bold">-wait</emphasis>
2523 </programlisting></para>
2524           </listitem>
2525
2526           <listitem>
2527             <para>Issue the <emphasis role="bold">ps</emphasis> command to learn the BOS Server's process ID number (PID), and then
2528             the <emphasis role="bold">kill</emphasis> command to stop the <emphasis role="bold">bosserver</emphasis> process.
2529             <programlisting>
2530    # <emphasis role="bold">ps</emphasis> <replaceable>appropriate_ps_options</replaceable> <emphasis role="bold">| grep bosserver</emphasis>
2531    # <emphasis role="bold">kill</emphasis> <replaceable>bosserver_PID</replaceable>
2532 </programlisting> <indexterm>
2533                 <primary>AFS initialization script</primary>
2534
2535                 <secondary>adding to machine startup sequence</secondary>
2536
2537                 <tertiary>server machine after first</tertiary>
2538               </indexterm> <indexterm>
2539                 <primary>AFS initialization script</primary>
2540
2541                 <secondary>running</secondary>
2542
2543                 <tertiary>server machine after first</tertiary>
2544               </indexterm> <indexterm>
2545                 <primary>file server machine, additional</primary>
2546
2547                 <secondary>AFS initialization script</secondary>
2548               </indexterm> <indexterm>
2549                 <primary>running AFS init. script</primary>
2550
2551                 <secondary>server machine after first</secondary>
2552               </indexterm> <indexterm>
2553                 <primary>installing</primary>
2554
2555                 <secondary>AFS initialization script</secondary>
2556
2557                 <tertiary>server machine after first</tertiary>
2558               </indexterm> <indexterm>
2559                 <primary>AIX</primary>
2560
2561                 <secondary>AFS initialization script</secondary>
2562
2563                 <tertiary>on add'l server machine</tertiary>
2564               </indexterm></para>
2565           </listitem>
2566
2567           <listitem>
2568             <para>Run the AFS initialization script by issuing the appropriate commands for this system type.</para>
2569
2570             <para><emphasis role="bold">On AIX systems:</emphasis> <orderedlist>
2571                 <listitem>
2572                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2573                   <programlisting>
2574    # <emphasis role="bold">cd /</emphasis>
2575    # <emphasis role="bold">shutdown -r now</emphasis>
2576    login: <emphasis role="bold">root</emphasis>
2577    Password: <replaceable>root_password</replaceable>
2578 </programlisting></para>
2579                 </listitem>
2580
2581                 <listitem>
2582                   <para>Run the AFS initialization script. <programlisting>
2583    # <emphasis role="bold">/etc/rc.afs</emphasis>
2584 </programlisting></para>
2585                 </listitem>
2586
2587                 <listitem>
2588                   <para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line
2589                   to invoke the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
2590    rcafs:2:wait:/etc/rc.afs &gt; /dev/console 2&gt;&amp;1 # Start AFS services
2591 </programlisting></para>
2592                 </listitem>
2593
2594                 <listitem>
2595                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2596                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc</emphasis> directories. If you want
2597                   to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can
2598                   always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2599    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2600    # <emphasis role="bold">rm  rc.afs</emphasis>
2601    # <emphasis role="bold">ln -s  /etc/rc.afs</emphasis>
2602 </programlisting></para>
2603                 </listitem>
2604
2605                 <listitem>
2606                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2607                 </listitem>
2608               </orderedlist></para>
2609
2610             <indexterm>
2611               <primary>HP-UX</primary>
2612
2613               <secondary>AFS initialization script</secondary>
2614
2615               <tertiary>on add'l server machine</tertiary>
2616             </indexterm>
2617
2618             <para><emphasis role="bold">On HP-UX systems:</emphasis> <orderedlist>
2619                 <listitem>
2620                   <para>Run the AFS initialization script. <programlisting>
2621    # <emphasis role="bold">/sbin/init.d/afs  start</emphasis>
2622 </programlisting></para>
2623                 </listitem>
2624
2625                 <listitem>
2626                   <para>Change to the <emphasis role="bold">/sbin/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2627                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the HP-UX
2628                   startup and shutdown sequence. <programlisting>
2629    # <emphasis role="bold">cd /sbin/init.d</emphasis>
2630    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
2631    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</emphasis>
2632 </programlisting></para>
2633                 </listitem>
2634
2635                 <listitem>
2636                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2637                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/sbin/init.d</emphasis> directories. If
2638                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2639                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2640    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2641    # <emphasis role="bold">rm afs.rc</emphasis>
2642    # <emphasis role="bold">ln -s  /sbin/init.d/afs  afs.rc</emphasis>
2643 </programlisting></para>
2644                 </listitem>
2645
2646                 <listitem>
2647                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2648                 </listitem>
2649               </orderedlist></para>
2650
2651             <indexterm>
2652               <primary>IRIX</primary>
2653
2654               <secondary>AFS initialization script</secondary>
2655
2656               <tertiary>on add'l server machine</tertiary>
2657             </indexterm>
2658
2659             <indexterm>
2660               <primary>afsclient variable (IRIX)</primary>
2661
2662               <secondary>server machine after first</secondary>
2663             </indexterm>
2664
2665             <indexterm>
2666               <primary>variables</primary>
2667
2668               <secondary>afsclient (IRIX)</secondary>
2669
2670               <tertiary>server machine after first</tertiary>
2671             </indexterm>
2672
2673             <indexterm>
2674               <primary>IRIX</primary>
2675
2676               <secondary>afsclient variable</secondary>
2677
2678               <tertiary>server machine after first</tertiary>
2679             </indexterm>
2680
2681             <indexterm>
2682               <primary>afsserver variable (IRIX)</primary>
2683
2684               <secondary>server machine after first</secondary>
2685             </indexterm>
2686
2687             <indexterm>
2688               <primary>variables</primary>
2689
2690               <secondary>afsserver (IRIX)</secondary>
2691
2692               <tertiary>server machine after first</tertiary>
2693             </indexterm>
2694
2695             <indexterm>
2696               <primary>IRIX</primary>
2697
2698               <secondary>afsserver variable</secondary>
2699
2700               <tertiary>server machine after first</tertiary>
2701             </indexterm>
2702
2703             <para><emphasis role="bold">On IRIX systems:</emphasis> <orderedlist>
2704                 <listitem>
2705                   <para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program,
2706                   reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2707    # <emphasis role="bold">cd /</emphasis>
2708    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2709    login: <emphasis role="bold">root</emphasis>
2710    Password: <replaceable>root_password</replaceable>
2711 </programlisting></para>
2712                 </listitem>
2713
2714                 <listitem>
2715                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2716                   role="bold">afsserver</emphasis> configuration variable. <programlisting>
2717    # <emphasis role="bold">/etc/chkconfig -f afsserver on</emphasis>   
2718 </programlisting></para>
2719
2720                   <para>If you have configured this machine as an AFS client and want to it remain one, also issue the <emphasis
2721                   role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afsclient</emphasis> configuration
2722                   variable.</para>
2723
2724                   <programlisting>
2725    # <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis> 
2726 </programlisting>
2727                 </listitem>
2728
2729                 <listitem>
2730                   <para>Run the AFS initialization script. <programlisting>
2731    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2732 </programlisting></para>
2733                 </listitem>
2734
2735                 <listitem>
2736                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2737                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the IRIX
2738                   startup and shutdown sequence. <programlisting>
2739    # <emphasis role="bold">cd /etc/init.d</emphasis>
2740    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
2741    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</emphasis>
2742 </programlisting></para>
2743                 </listitem>
2744
2745                 <listitem>
2746                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2747                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2748                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2749                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2750    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2751    # <emphasis role="bold">rm afs.rc</emphasis>
2752    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2753 </programlisting></para>
2754                 </listitem>
2755
2756                 <listitem>
2757                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2758                 </listitem>
2759               </orderedlist></para>
2760
2761             <indexterm>
2762               <primary>Linux</primary>
2763
2764               <secondary>AFS initialization script</secondary>
2765
2766               <tertiary>on add'l server machine</tertiary>
2767             </indexterm>
2768
2769             <para><emphasis role="bold">On Fedora or RHEL Linux systems:</emphasis> 
2770               <orderedlist>
2771                 <listitem>
2772                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2773  <programlisting>
2774    # <emphasis role="bold">cd /</emphasis>
2775    # <emphasis role="bold">shutdown -r now</emphasis>
2776    login: <emphasis role="bold">root</emphasis>
2777    Password: <replaceable>root_password</replaceable>
2778 </programlisting></para>
2779                 </listitem>
2780
2781                 <listitem>
2782                   <para>Run the OpenAFS initialization scripts. <programlisting>
2783    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
2784    # <emphasis role="bold">/etc/rc.d/init.d/openafs-server  start</emphasis>
2785 </programlisting></para>
2786                 </listitem>
2787
2788                 <listitem>
2789                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> 
2790                   command to activate the 
2791                   <emphasis role="bold">openafs-client</emphasis> and 
2792                   <emphasis role="bold">openafs-server</emphasis> configuration 
2793                   variables. Based on the instruction in the AFS initialization 
2794                   files that begins with the string 
2795                   <computeroutput>#chkconfig</computeroutput>, the command 
2796                   automatically creates the symbolic links that incorporate the 
2797                   script into the Linux startup and shutdown sequence. 
2798 <programlisting>
2799    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
2800    # <emphasis role="bold">/sbin/chkconfig  --add openafs-server</emphasis>
2801 </programlisting></para>
2802                 </listitem>
2803               </orderedlist>
2804             </para>
2805             <para><emphasis role="bold">On Linux systems:</emphasis> <orderedlist>
2806                 <listitem>
2807                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2808                   <programlisting>
2809    # <emphasis role="bold">cd /</emphasis>
2810    # <emphasis role="bold">shutdown -r now</emphasis>
2811    login: <emphasis role="bold">root</emphasis>
2812    Password: <replaceable>root_password</replaceable>
2813 </programlisting></para>
2814                 </listitem>
2815
2816                 <listitem>
2817                   <para>Run the OpenAFS initialization script. <programlisting>
2818    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
2819 </programlisting></para>
2820                 </listitem>
2821
2822                 <listitem>
2823                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2824                   role="bold">afs</emphasis> configuration variable. Based on the instruction in the AFS initialization file that
2825                   begins with the string <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic
2826                   links that incorporate the script into the Linux startup and shutdown sequence. <programlisting>
2827    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
2828 </programlisting></para>
2829                 </listitem>
2830
2831                 <listitem>
2832                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2833                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories,
2834                   and copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
2835                   role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want
2836                   to avoid potential confusion by guaranteeing that the two copies of each file are always the same, create a link
2837                   between them. You can always retrieve the original script or options file from the AFS CD-ROM if necessary.
2838                   <programlisting>
2839    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2840    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
2841    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
2842    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
2843 </programlisting></para>
2844                 </listitem>
2845
2846                 <listitem>
2847                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2848                 </listitem>
2849               </orderedlist></para>
2850
2851             <indexterm>
2852               <primary>Solaris</primary>
2853
2854               <secondary>AFS initialization script</secondary>
2855
2856               <tertiary>on add'l server machine</tertiary>
2857             </indexterm>
2858
2859             <para><emphasis role="bold">On Solaris systems:</emphasis> <orderedlist>
2860                 <listitem>
2861                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2862                   <programlisting>
2863    # <emphasis role="bold">cd /</emphasis>
2864    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2865    login: <emphasis role="bold">root</emphasis>
2866    Password: <replaceable>root_password</replaceable>
2867 </programlisting></para>
2868                 </listitem>
2869
2870                 <listitem>
2871                   <para>Run the AFS initialization script. <programlisting>
2872    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2873 </programlisting></para>
2874                 </listitem>
2875
2876                 <listitem>
2877                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2878                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris
2879                   startup and shutdown sequence. <programlisting>
2880    # <emphasis role="bold">cd /etc/init.d</emphasis>
2881    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
2882    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
2883 </programlisting></para>
2884                 </listitem>
2885
2886                 <listitem>
2887                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2888                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2889                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2890                   You can always retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
2891    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2892    # <emphasis role="bold">rm afs.rc</emphasis>
2893    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2894 </programlisting></para>
2895                 </listitem>
2896               </orderedlist></para>
2897           </listitem>
2898
2899           <listitem id="LIWQ113">
2900             <para>Verify that <emphasis role="bold">/usr/afs</emphasis> and its subdirectories on the new
2901             file server machine meet the ownership and mode bit requirements outlined in <link linkend="HDRWQ96">Protecting
2902             Sensitive AFS Directories</link>. If necessary, use the <emphasis role="bold">chmod</emphasis> command to correct the
2903             mode bits.</para>
2904           </listitem>
2905
2906           <listitem>
2907             <para>To configure this machine as a database server machine, proceed to <link linkend="HDRWQ114">Installing Database
2908             Server Functionality</link>.</para>
2909           </listitem>
2910         </orderedlist></para>
2911
2912       <indexterm>
2913         <primary>database server machine</primary>
2914
2915         <secondary>requirements for installation</secondary>
2916       </indexterm>
2917
2918       <indexterm>
2919         <primary>requirements</primary>
2920
2921         <secondary>database server machine</secondary>
2922       </indexterm>
2923     </sect2>
2924   </sect1>
2925
2926   <sect1 id="HDRWQ114">
2927     <title>Installing Database Server Functionality</title>
2928
2929     <para>This section explains how to install database server functionality. Database server machines have two defining
2930     characteristics. First, they run the Protection Server, and Volume Location (VL) Server processes. They
2931     also run the Backup Server if the cell uses the AFS Backup System, as is assumed in these instructions. Second, they appear in
2932     the <emphasis role="bold">CellServDB</emphasis> file of every machine in the cell (and of client machines in foreign cells, if
2933     they are to access files in this cell).</para>
2934
2935     <para>Note the following requirements for database server machines. <itemizedlist>
2936         <listitem>
2937           <para>In the conventional configuration, database server machines also serve as file server machines (run the File Server,
2938           Volume Server and Salvager processes). If you choose not to run file server functionality on a database server machine,
2939           then the kernel does not have to incorporate AFS modifications, but the local <emphasis role="bold">/usr/afs</emphasis>
2940           directory must house most of the standard files and subdirectories. In particular, the <emphasis
2941           role="bold">/usr/afs/etc/KeyFile</emphasis> file must contain the same keys as all other server machines in the cell. If
2942           you run a system control machine, run the <emphasis role="bold">upclientetc</emphasis> process on every database server
2943           machine other than the system control machine; if you do not run a system control machine, use the <emphasis
2944           role="bold">bos addkey</emphasis> command as instructed in the chapter in the <emphasis>OpenAFS Administration
2945           Guide</emphasis> about maintaining server encryption keys.</para>
2946
2947           <para>The instructions in this section assume that the machine on which you are installing database server functionality
2948           is already a file server machine. Contact the OpenAFS mailing list to learn how to install database server
2949           functionality on a non-file server machine.</para>
2950         </listitem>
2951
2952         <listitem>
2953           <para>During the installation of database server functionality, you must restart all of the database server machines to
2954           force the election of a new Ubik coordinator (synchronization site) for each database server process. This can cause a
2955           system outage, which usually lasts less than 5 minutes.</para>
2956         </listitem>
2957
2958         <listitem>
2959           <para>Updating the kernel memory list of database server machines on each client machine is generally the most
2960           time-consuming part of installing a new database server machine. It is, however, crucial for correct functioning in your
2961           cell. Incorrect knowledge of your cell's database server machines can prevent your users from authenticating, accessing
2962           files, and issuing AFS commands.</para>
2963
2964           <para>You update a client's kernel memory list by changing the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis>
2965           file and then either rebooting or issuing the <emphasis role="bold">fs newcell</emphasis> command. For instructions, see
2966           the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
2967
2968           <para>The point at which you update your clients' knowledge of database server machines depends on which of the database
2969           server machines has the lowest IP address. The following instructions indicate the appropriate place to update your client
2970           machines in either case. <itemizedlist>
2971               <listitem>
2972                 <para>If the new database server machine has a lower IP address than any existing database server machine, update
2973                 the <emphasis role="bold">CellServDB</emphasis> file on every client machine before restarting the database server
2974                 processes. If you do not, users can become unable to update (write to) any of the AFS databases. This is because the
2975                 machine with the lowest IP address is usually elected as the Ubik coordinator, and only the Coordinator accepts
2976                 database writes. On client machines that do not have the new list of database server machines, the Cache Manager
2977                 cannot locate the new coordinator. (Be aware that if clients contact the new coordinator before it is actually in
2978                 service, they experience a timeout before contacting another database server machine. This is a minor, and
2979                 temporary, problem compared to being unable to write to the database.)</para>
2980               </listitem>
2981
2982               <listitem>
2983                 <para>If the new database server machine does not have the lowest IP address of any database server machine, then it
2984                 is better to update clients after restarting the database server processes. Client machines do not start using the
2985                 new database server machine until you update their kernel memory list, but that does not usually cause timeouts or
2986                 update problems (because the new machine is not likely to become the coordinator).</para>
2987               </listitem>
2988             </itemizedlist></para>
2989         </listitem>
2990       </itemizedlist></para>
2991
2992     <indexterm>
2993       <primary>overview</primary>
2994
2995       <secondary>installing additional database server machine</secondary>
2996     </indexterm>
2997
2998     <sect2 id="Header_110">
2999       <title>Summary of Procedures</title>
3000
3001       <para>To install a database server machine, perform the following procedures. <orderedlist>
3002           <listitem>
3003             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
3004           </listitem>
3005
3006           <listitem>
3007             <para>Add the new machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing file server
3008             machines</para>
3009           </listitem>
3010
3011           <listitem>
3012             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3013             to foreign cells</para>
3014           </listitem>
3015
3016           <listitem>
3017             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3018             list of database server machines</para>
3019           </listitem>
3020
3021           <listitem>
3022             <para>Start the database server processes (Backup Server, Protection Server, and Volume Location
3023             Server)</para>
3024           </listitem>
3025
3026           <listitem>
3027             <para>Restart the database server processes on every database server machine</para>
3028           </listitem>
3029
3030           <listitem>
3031             <para>If required, request that grand.central.org add details of 
3032             your new database server machine to the global CellServDB</para>
3033           </listitem>
3034           
3035           <listitem>
3036             <para>If required, add details of your new database server to the
3037             AFS database location records in your site's DNS</para>
3038           </listitem>
3039           
3040         </orderedlist></para>
3041
3042       <indexterm>
3043         <primary>database server machine</primary>
3044
3045         <secondary>installing</secondary>
3046
3047         <tertiary>additional</tertiary>
3048       </indexterm>
3049
3050       <indexterm>
3051         <primary>instructions</primary>
3052
3053         <secondary>database server machine, installing additional</secondary>
3054       </indexterm>
3055
3056       <indexterm>
3057         <primary>installing</primary>
3058
3059         <secondary>database server machine</secondary>
3060
3061         <tertiary>additional</tertiary>
3062       </indexterm>
3063     </sect2>
3064
3065     <sect2 id="Header_111">
3066       <title>Instructions</title>
3067
3068       <note>
3069         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3070         you possibly need to precede the command names with the appropriate pathname.</para>
3071       </note>
3072
3073       <orderedlist>
3074         <listitem>
3075           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3076           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3077 <programlisting> 
3078    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3079    Password: <replaceable>admin_password</replaceable>
3080    % <emphasis role="bold">aklog</emphasis>
3081 </programlisting>
3082           </para>
3083         </listitem>
3084
3085         <listitem>
3086           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3087           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3088           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3089           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3090           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3091           directory. <programlisting>
3092    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3093 </programlisting> <indexterm>
3094               <primary>bos commands</primary>
3095
3096               <secondary>addhost</secondary>
3097             </indexterm> <indexterm>
3098               <primary>commands</primary>
3099
3100               <secondary>bos addhost</secondary>
3101             </indexterm> <indexterm>
3102               <primary>database server machine</primary>
3103
3104               <secondary>entry in server CellServDB file</secondary>
3105
3106               <tertiary>for new db-server machine</tertiary>
3107             </indexterm> <indexterm>
3108               <primary>CellServDB file (server)</primary>
3109
3110               <secondary>adding entry for new db-server machine</secondary>
3111             </indexterm> <indexterm>
3112               <primary>adding</primary>
3113
3114               <secondary>new db-server machine to CellServDB files</secondary>
3115             </indexterm></para>
3116         </listitem>
3117
3118         <listitem id="LIWQ115">
3119           <para>Issue the <emphasis role="bold">bos addhost</emphasis> command to add the new database server
3120           machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing server machines (as well as the
3121           new database server machine itself).</para>
3122
3123           <para>Substitute the new database server machine's fully-qualified hostname for the <replaceable>host name</replaceable>
3124           argument. If you run a system control machine, substitute its fully-qualified hostname for the
3125           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3126           role="bold">bos addhost</emphasis> command once for each server machine in your cell (including the new database server
3127           machine itself), by substituting each one's fully-qualified hostname for the <replaceable>machine&nbsp;name</replaceable>
3128           argument in turn.</para>
3129
3130           <programlisting>
3131    % <emphasis role="bold">bos addhost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3132 </programlisting>
3133
3134           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3135           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If you are issuing individual <emphasis
3136           role="bold">bos addhost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3137
3138           <note>
3139             <para>It is best to maintain a one-to-one mapping between hostnames and IP addresses on a multihomed database server
3140             machine (the conventional configuration for any AFS machine). The BOS Server uses the <emphasis
3141             role="bold">gethostbyname(&nbsp;)</emphasis> routine to obtain the IP address associated with the <replaceable>host
3142             name</replaceable> argument. If there is more than one address, the BOS Server records in the <emphasis
3143             role="bold">CellServDB</emphasis> entry the one that appears first in the list of addresses returned by the routine. The
3144             routine possibly returns addresses in a different order on different machines, which can create inconsistency.</para>
3145           </note>
3146         </listitem>
3147
3148         <listitem>
3149           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3150           server machine to verify that the new database server machine appears in its <emphasis role="bold">CellServDB</emphasis>
3151           file. <programlisting>
3152    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3153 </programlisting></para>
3154         </listitem>
3155
3156         <listitem id="LIWQ116">
3157           <para>Add the new database server machine to your cell's central <emphasis
3158           role="bold">CellServDB</emphasis> source file, if you use one. The standard location is <emphasis
3159           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3160           role="bold">/common/etc/CellServDB</emphasis>.</para>
3161
3162           <para>If you are willing to make your cell accessible to users in foreign cells, add the new database server machine to
3163           the file that lists your cell's database server machines. The conventional location is <emphasis
3164           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3165           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3166               <primary>database server machine</primary>
3167
3168               <secondary>entry in client CellServDB file</secondary>
3169
3170               <tertiary>for new db-server machine</tertiary>
3171             </indexterm> <indexterm>
3172               <primary>CellServDB file (client)</primary>
3173
3174               <secondary>adding entry</secondary>
3175
3176               <tertiary>for new db-server machine</tertiary>
3177             </indexterm> <indexterm>
3178               <primary>client machine</primary>
3179
3180               <secondary>CellServDB file</secondary>
3181
3182               <tertiary>adding entry</tertiary>
3183             </indexterm></para>
3184         </listitem>
3185
3186         <listitem id="LIWQ117">
3187           <para>If this machine's IP address is lower than any existing database server machine's, update
3188           every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory list to include
3189           this machine. (If this machine's IP address is not the lowest, it is acceptable to wait until Step <link
3190           linkend="LIWQ123">12</link>.)</para>
3191
3192           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3193           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3194           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3195           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3196           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3197           newcell</emphasis> command. 
3198             <indexterm>
3199               <primary>database server machine</primary>
3200
3201               <secondary>starting database server processes</secondary>
3202             </indexterm> <indexterm>
3203               <primary>BosConfig file</primary>
3204
3205               <secondary>adding entries</secondary>
3206
3207               <tertiary>database server machine</tertiary>
3208             </indexterm> <indexterm>
3209               <primary>adding</primary>
3210
3211               <secondary>entries to BosConfig file</secondary>
3212
3213               <tertiary>database server machine</tertiary>
3214             </indexterm></para>
3215         </listitem>
3216         
3217         <listitem>
3218           <para>If you are running a cell which still relies upon
3219           <emphasis role="bold">kaserver</emphasis> see 
3220           <link linkend="KAS010">Starting the Authentication Service</link>
3221           for an additional installation step.</para>
3222         </listitem>
3223
3224         <listitem id="LIWQ119">
3225           <indexterm>
3226             <primary>Backup Server</primary>
3227             <secondary>starting</secondary>
3228             <tertiary>new db-server machine</tertiary>
3229           </indexterm> <indexterm>
3230             <primary>starting</primary>
3231             <secondary>Backup Server</secondary>
3232             <tertiary>new db-server machine</tertiary>
3233           </indexterm>
3234
3235           <para>Start the Backup Server (the <emphasis role="bold">buserver</emphasis> process). You must
3236           perform other configuration procedures before actually using the AFS Backup System, as detailed in the <emphasis>OpenAFS
3237           Administration Guide</emphasis>. <programlisting>
3238    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis>
3239 </programlisting> <indexterm>
3240               <primary>Protection Server</primary>
3241
3242               <secondary>starting</secondary>
3243
3244               <tertiary>new db-server machine</tertiary>
3245             </indexterm> <indexterm>
3246               <primary>starting</primary>
3247
3248               <secondary>Protection Server</secondary>
3249
3250               <tertiary>new db-server machine</tertiary>
3251             </indexterm></para>
3252         </listitem>
3253
3254         <listitem id="LIWQ120">
3255           <para>Start the Protection Server (the <emphasis role="bold">ptserver</emphasis> process).
3256           <programlisting>
3257    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis>
3258 </programlisting> <indexterm>
3259               <primary>VL Server (vlserver process)</primary>
3260
3261               <secondary>starting</secondary>
3262
3263               <tertiary>new db-server machine</tertiary>
3264             </indexterm> <indexterm>
3265               <primary>starting</primary>
3266
3267               <secondary>VL Server</secondary>
3268
3269               <tertiary>new db-server machine</tertiary>
3270             </indexterm></para>
3271         </listitem>
3272
3273         <listitem id="LIWQ121">
3274           <para>Start the Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis>
3275           process). <programlisting>
3276    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis>
3277 </programlisting> <indexterm>
3278               <primary>commands</primary>
3279
3280               <secondary>bos restart</secondary>
3281
3282               <tertiary>on new db-server machine</tertiary>
3283             </indexterm> <indexterm>
3284               <primary>bos commands</primary>
3285
3286               <secondary>restart</secondary>
3287
3288               <tertiary>on new db-server machine</tertiary>
3289             </indexterm> <indexterm>
3290               <primary>restarting server process</primary>
3291
3292               <secondary>on new db-server machine</secondary>
3293             </indexterm> <indexterm>
3294               <primary>server process</primary>
3295
3296               <secondary>restarting</secondary>
3297
3298               <tertiary>on new db-server machine</tertiary>
3299             </indexterm></para>
3300         </listitem>
3301
3302         <listitem id="LIWQ122">
3303           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3304           machine in the cell, including the new machine. The command restarts the Authentication, Backup, Protection, and VL
3305           Servers, which forces an election of a new Ubik coordinator for each process. The new machine votes in the election and is
3306           considered as a potential new coordinator.</para>
3307
3308           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3309           lasts less than five minutes. Such an outage is particularly likely if you are installing your cell's second database
3310           server machine. Messages tracing the progress of the election appear on the console.</para>
3311
3312           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3313           the lowest IP address.</para>
3314
3315           <programlisting>
3316    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>    
3317 </programlisting>
3318
3319           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3320           methods: <itemizedlist>
3321               <listitem>
3322                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3323                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3324               </listitem>
3325
3326               <listitem>
3327                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3328                 its console</para>
3329               </listitem>
3330             </itemizedlist></para>
3331         </listitem>
3332
3333         <listitem id="LIWQ123">
3334           <para>If you did not update the <emphasis role="bold">CellServDB</emphasis> file on client machines
3335           in Step <link linkend="LIWQ117">6</link>, do so now.</para>
3336         </listitem>
3337
3338         <listitem id="LIWQ124">
3339           <para>If you wish to participate in the AFS
3340           global name space, send the new database server machine's name and 
3341           IP address to grand.central.org. Do so, by emailing an updated
3342           <emphasis role="bold">CellServDB</emphasis> fragment for your cell
3343           to cellservdb@grand.central.org</para>
3344           <para>More details on the registration procedures for the
3345           CellServDB maintained by grand.central.org are available from
3346           <ulink url="http://grand.central.org/csdb.html">
3347           http://grand.central.org/csdb.html</ulink></para>
3348         </listitem>
3349       </orderedlist>
3350
3351       <indexterm>
3352         <primary>database server machine</primary>
3353
3354         <secondary>removing from service</secondary>
3355       </indexterm>
3356
3357       <indexterm>
3358         <primary>instructions</primary>
3359
3360         <secondary>database server machine, removing</secondary>
3361       </indexterm>
3362
3363       <indexterm>
3364         <primary>removing</primary>
3365
3366         <secondary>database server machine from service</secondary>
3367       </indexterm>
3368
3369       <indexterm>
3370         <primary>overview</primary>
3371
3372         <secondary>removing database server machine</secondary>
3373       </indexterm>
3374     </sect2>
3375   </sect1>
3376
3377   <sect1 id="HDRWQ125">
3378     <title>Removing Database Server Functionality</title>
3379
3380     <para>Removing database server machine functionality is nearly the reverse of installing it.</para>
3381
3382     <sect2 id="Header_113">
3383       <title>Summary of Procedures</title>
3384
3385       <para>To decommission a database server machine, perform the following procedures. <orderedlist>
3386           <listitem>
3387             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
3388           </listitem>
3389
3390           <listitem>
3391             <para>If you participate in the global AFS namespace, notify
3392             grand.central.org that you are decommissioning a database server 
3393             machine</para>
3394           </listitem>
3395
3396           <listitem>
3397             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3398             to foreign cells</para>
3399           </listitem>
3400
3401           <listitem>
3402             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3403             list of database server machines</para>
3404           </listitem>
3405
3406           <listitem>
3407             <para>Remove the machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on file server
3408             machines</para>
3409           </listitem>
3410
3411           <listitem>
3412             <para>Stop the database server processes and remove them from the <emphasis
3413             role="bold">/usr/afs/local/BosConfig</emphasis> file if desired</para>
3414           </listitem>
3415
3416           <listitem>
3417             <para>Restart the database server processes on the remaining database server machines</para>
3418           </listitem>
3419         </orderedlist></para>
3420     </sect2>
3421
3422     <sect2 id="Header_114">
3423       <title>Instructions</title>
3424
3425       <note>
3426         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3427         you possibly need to precede the command names with the appropriate pathname.</para>
3428       </note>
3429
3430       <orderedlist>
3431         <listitem>
3432           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3433           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3434 <programlisting>
3435    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3436    Password: <replaceable>admin_password</replaceable>
3437    % <emphasis role="bold">aklog</emphasis>
3438 </programlisting></para>
3439         </listitem>
3440
3441         <listitem>
3442           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3443           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3444           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3445           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3446           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3447           directory. <programlisting>
3448    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3449 </programlisting></para>
3450         </listitem>
3451
3452         <listitem id="LIWQ126">
3453           <para>If your cell is included in the global
3454           <emphasis role="bold">CellServDB</emphasis>, send the revised list of 
3455           your cell's database server machines to grand.central.org</para>
3456
3457           <para>If the administrators in foreign cells do not learn about the change in your cell,
3458           they cannot update the <emphasis role="bold">CellServDB</emphasis> file on their client machines. Users in foreign cells
3459           continue to send database requests to the decommissioned machine, which creates needless network traffic and activity on
3460           the machine. Also, the users experience time-out delays while their request is forwarded to a valid database server
3461           machine.</para>
3462         </listitem>
3463
3464         <listitem id="LIWQ127">
3465           <para>Remove the decommissioned machine from your cell's central <emphasis
3466           role="bold">CellServDB</emphasis> source file, if you use one. The conventional location is <emphasis
3467           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3468           role="bold">/common/etc/CellServDB</emphasis>.</para>
3469
3470           <para>If you maintain a file that users in foreign cells can access to learn about your cell's database server machines,
3471           update it also. The conventional location is <emphasis
3472           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3473           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3474               <primary>database server machine</primary>
3475
3476               <secondary>entry in client CellServDB file</secondary>
3477
3478               <tertiary>removing</tertiary>
3479             </indexterm> <indexterm>
3480               <primary>CellServDB file (client)</primary>
3481
3482               <secondary>removing entry</secondary>
3483             </indexterm> <indexterm>
3484               <primary>client machine</primary>
3485
3486               <secondary>CellServDB file</secondary>
3487
3488               <tertiary>removing entry</tertiary>
3489             </indexterm> <indexterm>
3490               <primary>removing</primary>
3491
3492               <secondary>entry from CellServDB file</secondary>
3493             </indexterm></para>
3494         </listitem>
3495
3496         <listitem id="LIWQ128">
3497           <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file
3498           and kernel memory list to exclude this machine. Altering the <emphasis role="bold">CellServDB</emphasis> file and kernel
3499           memory list before stopping the actual database server processes avoids possible time-out delays that result when users
3500           send requests to a decommissioned database server machine that is still listed in the file.</para>
3501
3502           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3503           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3504           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3505           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3506           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3507           newcell</emphasis> command. <indexterm>
3508               <primary>bos commands</primary>
3509
3510               <secondary>removehost</secondary>
3511             </indexterm> <indexterm>
3512               <primary>commands</primary>
3513
3514               <secondary>bos removehost</secondary>
3515             </indexterm> <indexterm>
3516               <primary>CellServDB file (server)</primary>
3517
3518               <secondary>removing entry</secondary>
3519             </indexterm> <indexterm>
3520               <primary>database server machine</primary>
3521
3522               <secondary>entry in server CellServDB file</secondary>
3523
3524               <tertiary>removing</tertiary>
3525             </indexterm></para>
3526         </listitem>
3527
3528         <listitem id="LIWQ129">
3529           <para>Issue the <emphasis role="bold">bos removehost</emphasis> command to remove the
3530           decommissioned database server machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on server
3531           machines.</para>
3532
3533           <para>Substitute the decommissioned database server machine's fully-qualified hostname for the <replaceable>host
3534           name</replaceable> argument. If you run a system control machine, substitute its fully-qualified hostname for the
3535           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3536           role="bold">bos removehost</emphasis> command once for each server machine in your cell (including the decommissioned
3537           database server machine itself), by substituting each one's fully-qualified hostname for the
3538           <replaceable>machine&nbsp;name</replaceable> argument in turn.</para>
3539
3540           <programlisting>
3541    % <emphasis role="bold">bos removehost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3542 </programlisting>
3543
3544           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3545           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If issuing individual <emphasis
3546           role="bold">bos removehost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3547         </listitem>
3548
3549         <listitem>
3550           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3551           server machine to verify that the decommissioned database server machine no longer appears in its <emphasis
3552           role="bold">CellServDB</emphasis> file. <programlisting>
3553    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3554 </programlisting> <indexterm>
3555               <primary>commands</primary>
3556
3557               <secondary>bos stop</secondary>
3558             </indexterm> <indexterm>
3559               <primary>bos commands</primary>
3560
3561               <secondary>stop</secondary>
3562             </indexterm> <indexterm>
3563               <primary>database server machine</primary>
3564
3565               <secondary>stopping database server processes</secondary>
3566             </indexterm> <indexterm>
3567               <primary>stopping</primary>
3568
3569               <secondary>database server processes</secondary>
3570             </indexterm> <indexterm>
3571               <primary>Backup Server</primary>
3572
3573               <secondary>stopping</secondary>
3574             </indexterm> <indexterm>
3575               <primary>Protection Server</primary>
3576
3577               <secondary>stopping</secondary>
3578             </indexterm> <indexterm>
3579               <primary>VL Server (vlserver process)</primary>
3580
3581               <secondary>stopping</secondary>
3582             </indexterm></para>
3583         </listitem>
3584
3585         <listitem id="LIWQ130">
3586           <para>Issue the <emphasis role="bold">bos stop</emphasis> command to stop the database server
3587           processes on the machine, by substituting its fully-qualified hostname for the
3588           <replaceable>machine&nbsp;name</replaceable> argument. The command changes each process's status in the <emphasis
3589           role="bold">/usr/afs/local/BosConfig</emphasis> file to <computeroutput>NotRun</computeroutput>, but does not remove its
3590           entry from the file. <programlisting>
3591    % <emphasis role="bold">bos stop</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
3592 </programlisting> <indexterm>
3593               <primary>commands</primary>
3594
3595               <secondary>bos delete</secondary>
3596             </indexterm> <indexterm>
3597               <primary>bos commands</primary>
3598
3599               <secondary>delete</secondary>
3600             </indexterm> <indexterm>
3601               <primary>BosConfig file</primary>
3602
3603               <secondary>removing entries</secondary>
3604             </indexterm> <indexterm>
3605               <primary>removing</primary>
3606
3607               <secondary>entries from BosConfig File</secondary>
3608             </indexterm> <indexterm>
3609               <primary>database server machine</primary>
3610
3611               <secondary>removing db-server processes from BosConfig file</secondary>
3612             </indexterm></para>
3613         </listitem>
3614
3615         <listitem id="LIWQ131">
3616           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos
3617           delete</emphasis> command to remove the entries for database server processes from the <emphasis
3618           role="bold">BosConfig</emphasis> file. This step is unnecessary if you plan to restart the database server functionality
3619           on this machine in future. <programlisting>
3620    % <emphasis role="bold">bos delete</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>
3621 </programlisting> <indexterm>
3622               <primary>commands</primary>
3623
3624               <secondary>bos restart</secondary>
3625
3626               <tertiary>on removed db-server machine</tertiary>
3627             </indexterm> <indexterm>
3628               <primary>bos commands</primary>
3629
3630               <secondary>restart</secondary>
3631
3632               <tertiary>on removed db-server machine</tertiary>
3633             </indexterm> <indexterm>
3634               <primary>restarting server process</primary>
3635
3636               <secondary>on removed db-server machine</secondary>
3637             </indexterm> <indexterm>
3638               <primary>server process</primary>
3639
3640               <secondary>restarting</secondary>
3641
3642               <tertiary>on removed db-server machine</tertiary>
3643             </indexterm></para>
3644         </listitem>
3645
3646         <listitem id="LIWQ132">
3647           <para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3648           machine in the cell, to restart the Backup, Protection, and VL Servers. This forces the election of a Ubik
3649           coordinator for each process, ensuring that the remaining database server processes recognize that the machine is no
3650           longer a database server.</para>
3651
3652           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3653           lasts less than five minutes. Messages tracing the progress of the election appear on the console.</para>
3654
3655           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3656           the lowest IP address.</para>
3657
3658           <programlisting>
3659    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>    
3660 </programlisting>
3661
3662           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3663           methods: <itemizedlist>
3664               <listitem>
3665                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3666                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3667               </listitem>
3668
3669               <listitem>
3670                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3671                 its console</para>
3672               </listitem>
3673             </itemizedlist></para>
3674         </listitem>
3675       </orderedlist>
3676     </sect2>
3677   </sect1>
3678 </chapter>