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