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