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