doc-xml-build-cvsignore-20090601
[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>Start the <emphasis role="bold">fs</emphasis> process, which binds together the File Server, Volume Server, and
2104             Salvager. <programlisting>
2105    # <emphasis role="bold">./bos create</emphasis>  &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">fs fs</emphasis>   \ 
2106          <emphasis role="bold">/usr/afs/bin/fileserver /usr/afs/bin/volserver</emphasis>  \ 
2107          <emphasis role="bold">/usr/afs/bin/salvager -cell</emphasis> &lt;<replaceable>cell name</replaceable>&gt;  <emphasis
2108                   role="bold">-noauth</emphasis>
2109 </programlisting></para>
2110           </listitem>
2111         </orderedlist></para>
2112
2113       <indexterm>
2114         <primary>installing</primary>
2115
2116         <secondary>client functionality</secondary>
2117
2118         <tertiary>server machine after first</tertiary>
2119       </indexterm>
2120
2121       <indexterm>
2122         <primary>file server machine, additional</primary>
2123
2124         <secondary>client functionality</secondary>
2125       </indexterm>
2126     </sect2>
2127
2128     <sect2 id="HDRWQ111">
2129       <title>Installing Client Functionality</title>
2130
2131       <para>If you want this machine to be a client as well as a server, follow the instructions in this section. Otherwise, skip to
2132       <link linkend="HDRWQ112">Completing the Installation</link>.</para>
2133
2134       <para>Begin by loading the necessary client files to the local disk. Then create the necessary configuration files and start
2135       the Cache Manager. For more detailed explanation of the procedures involved, see the corresponding instructions in <link
2136       linkend="HDRWQ17">Installing the First AFS Machine</link> (in the sections following <link linkend="HDRWQ63">Overview:
2137       Installing Client Functionality</link>).</para>
2138
2139       <para>If another AFS machine of this machine's system type exists, the AFS binaries are probably already accessible in your
2140       AFS filespace (the conventional location is <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2141       role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>). If not, or if this is
2142       the first AFS machine of its type, copy the AFS binaries for this system type into an AFS volume by following the instructions
2143       in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link>. Because this machine is not yet an AFS client, you must perform
2144       the procedure on an existing AFS machine. However, remember to perform the final step (linking the local directory <emphasis
2145       role="bold">/usr/afsws</emphasis> to the appropriate location in the AFS file tree) on this machine itself. If you also want
2146       to create AFS volumes to house UNIX system binaries for the new system type, see <link linkend="HDRWQ88">Storing System
2147       Binaries in AFS</link>. <indexterm>
2148           <primary>Binary Distribution</primary>
2149
2150           <secondary>copying client files from</secondary>
2151
2152           <tertiary>server machine after first</tertiary>
2153         </indexterm> <indexterm>
2154           <primary>file server machine, additional</primary>
2155
2156           <secondary>copying</secondary>
2157
2158           <tertiary>client files to local disk</tertiary>
2159         </indexterm> <indexterm>
2160           <primary>copying</primary>
2161
2162           <secondary>client files to local disk</secondary>
2163
2164           <tertiary>server machine after first</tertiary>
2165         </indexterm> <orderedlist>
2166           <listitem>
2167             <para>Copy client binaries and files to the local disk. <itemizedlist>
2168                 <listitem>
2169                   <para>On a machine of an existing system type, you can either 
2170                   load files from the OpenAFS Binary Distribution or use a 
2171                   remote file transfer protocol to copy files from an existing 
2172                   server machine of the same system type. To load from the
2173                   binary distribution, see the instructions just following 
2174                   for a machine of a new system type. If using a remote file 
2175                   transfer protocol, copy the complete contents of the existing 
2176                   client machine's 
2177                   <emphasis role="bold">/usr/vice/etc</emphasis> 
2178                   directory.</para>
2179                 </listitem>
2180
2181                 <listitem>
2182                   <para>On a machine of a new system type, you must use the 
2183                   following instructions to copy files from the OpenAFS
2184                   Binary Distribution. If your distribution is provided in
2185                   a packaged format, then simply installing the packages will
2186                   perform the necessary actions.
2187                     <orderedlist>
2188                       <listitem>
2189                         <para>Unpack the distribution tarball. The examples 
2190                         below assume that you have unpacked the files into the 
2191                         <emphasis role="bold">/tmp/afsdist</emphasis> 
2192                         directory. If you pick a different location, substitute
2193                         this in all of the following examples.</para>
2194                       </listitem>
2195
2196                       <listitem>
2197                         <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
2198
2199                         <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the
2200                         <emphasis role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating
2201                         AFS into the kernel, you copied the script directly to the operating system's conventional location for
2202                         initialization files. When you incorporate AFS into the machine's startup sequence in a later step, you can
2203                         choose to link the two files.</para>
2204
2205                         <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files
2206                         into a subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types,
2207                         you copied the appropriate AFS library file directly to the directory where the operating system accesses
2208                         it. The following commands do not copy or recopy the AFS library files into the <emphasis
2209                         role="bold">/usr/vice/etc</emphasis> directory, because on some system types the library files consume a
2210                         large amount of space. If you want to copy them, add the <emphasis role="bold">-r</emphasis> flag to the
2211                         first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis role="bold">cp</emphasis>
2212                         command.</para>
2213
2214                         <programlisting>
2215    # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
2216    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
2217    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
2218 </programlisting>
2219                       </listitem>
2220                     </orderedlist></para>
2221                 </listitem>
2222               </itemizedlist></para>
2223
2224             <indexterm>
2225               <primary>cell name</primary>
2226
2227               <secondary>setting in client ThisCell file</secondary>
2228
2229               <tertiary>server machine after first</tertiary>
2230             </indexterm>
2231
2232             <indexterm>
2233               <primary>cell name</primary>
2234
2235               <secondary>setting in server ThisCell file</secondary>
2236
2237               <tertiary>server machine after first</tertiary>
2238             </indexterm>
2239
2240             <indexterm>
2241               <primary>setting</primary>
2242
2243               <secondary>cell name in client ThisCell file</secondary>
2244
2245               <tertiary>server machine after first</tertiary>
2246             </indexterm>
2247
2248             <indexterm>
2249               <primary>file server machine, additional</primary>
2250
2251               <secondary>ThisCell file (client)</secondary>
2252             </indexterm>
2253
2254             <indexterm>
2255               <primary>file server machine, additional</primary>
2256
2257               <secondary>cell membership, defining</secondary>
2258
2259               <tertiary>for client processes</tertiary>
2260             </indexterm>
2261
2262             <indexterm>
2263               <primary>ThisCell file (client)</primary>
2264
2265               <secondary>server machine after first</secondary>
2266             </indexterm>
2267           </listitem>
2268
2269           <listitem>
2270             <para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and create the <emphasis
2271             role="bold">ThisCell</emphasis> file as a copy of the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file. You
2272             must first remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file that the BOS
2273             Server created automatically in <link linkend="HDRWQ108">Starting Server Programs</link>. <programlisting>
2274    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2275    # <emphasis role="bold">rm  ThisCell</emphasis>
2276    # <emphasis role="bold">cp  /usr/afs/etc/ThisCell  ThisCell</emphasis>
2277 </programlisting></para>
2278           </listitem>
2279
2280           <listitem>
2281             <para>Remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file. <programlisting>
2282    # <emphasis role="bold">rm  CellServDB</emphasis>
2283 </programlisting> <indexterm>
2284                 <primary>database server machine</primary>
2285
2286                 <secondary>entry in client CellServDB file</secondary>
2287
2288                 <tertiary>on server machine after first</tertiary>
2289               </indexterm> <indexterm>
2290                 <primary>CellServDB file (client)</primary>
2291
2292                 <secondary>creating</secondary>
2293
2294                 <tertiary>on server machine after first</tertiary>
2295               </indexterm> <indexterm>
2296                 <primary>creating</primary>
2297
2298                 <secondary>CellServDB file (client)</secondary>
2299
2300                 <tertiary>server machine after first</tertiary>
2301               </indexterm></para>
2302           </listitem>
2303
2304           <listitem>
2305             <para>Create the 
2306             <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. 
2307             Use a network file transfer program such as 
2308             <emphasis role="bold">sftp</emphasis> or 
2309             <emphasis role="bold">scp</emphasis> to copy it from 
2310             one of the following sources, which are listed in
2311             decreasing order of preference: 
2312               <itemizedlist>
2313                 <listitem>
2314                   <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
2315                   <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2316                   role="bold">/common/etc/CellServDB</emphasis>)</para>
2317                 </listitem>
2318
2319                 <listitem>
2320                   <para>The global <emphasis role="bold">CellServDB</emphasis> 
2321                   file maintained at grand.central.org</para>
2322                 </listitem>
2323
2324                 <listitem>
2325                   <para>An existing client machine in your cell</para>
2326                 </listitem>
2327
2328                 <listitem>
2329                   <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
2330                   file included in the 
2331                   <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
2332                   directory of each OpenAFS distribution; add an entry for the 
2333                   local cell by following the instructions in 
2334                   <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
2335                   </para>
2336                 </listitem>
2337               </itemizedlist>
2338             </para>
2339
2340             <indexterm>
2341               <primary>cache</primary>
2342
2343               <secondary>configuring</secondary>
2344
2345               <tertiary>server machine after first</tertiary>
2346             </indexterm>
2347
2348             <indexterm>
2349               <primary>configuring</primary>
2350
2351               <secondary>cache</secondary>
2352
2353               <tertiary>server machine after first</tertiary>
2354             </indexterm>
2355
2356             <indexterm>
2357               <primary>setting</primary>
2358
2359               <secondary>cache size and location</secondary>
2360
2361               <tertiary>server machine after first</tertiary>
2362             </indexterm>
2363
2364             <indexterm>
2365               <primary>file server machine, additional</primary>
2366
2367               <secondary>cache size and location</secondary>
2368             </indexterm>
2369           </listitem>
2370
2371           <listitem>
2372             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file for either a disk cache or a memory cache. For a
2373             discussion of the appropriate values to record in the file, see <link linkend="HDRWQ67">Configuring the
2374             Cache</link>.</para>
2375
2376             <para>To configure a disk cache, issue the following commands. If you are devoting a partition exclusively to caching,
2377             as recommended, you must also configure it, make a file system on it, and mount it at the directory created in this
2378             step.</para>
2379
2380             <programlisting>
2381    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
2382    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>   
2383 </programlisting>
2384
2385             <para>To configure a memory cache:</para>
2386
2387             <programlisting>
2388    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; cacheinfo</emphasis>
2389 </programlisting>
2390
2391             <indexterm>
2392               <primary>Cache Manager</primary>
2393
2394               <secondary>server machine after first</secondary>
2395             </indexterm>
2396
2397             <indexterm>
2398               <primary>configuring</primary>
2399
2400               <secondary>Cache Manager</secondary>
2401
2402               <tertiary>server machine after first</tertiary>
2403             </indexterm>
2404
2405             <indexterm>
2406               <primary>file server machine, additional</primary>
2407
2408               <secondary>Cache Manager</secondary>
2409             </indexterm>
2410
2411             <indexterm>
2412               <primary>afs (/afs) directory</primary>
2413
2414               <secondary>creating</secondary>
2415
2416               <tertiary>server machine after first</tertiary>
2417             </indexterm>
2418
2419             <indexterm>
2420               <primary>AFS initialization script</primary>
2421
2422               <secondary>setting afsd parameters</secondary>
2423
2424               <tertiary>server machine after first</tertiary>
2425             </indexterm>
2426
2427             <indexterm>
2428               <primary>file server machine, additional</primary>
2429
2430               <secondary>afsd command parameters</secondary>
2431             </indexterm>
2432           </listitem>
2433
2434           <listitem>
2435             <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis
2436             role="bold">/afs</emphasis>. If the directory already exists, verify that it is empty. <programlisting>
2437    # <emphasis role="bold">mkdir /afs</emphasis>
2438 </programlisting></para>
2439           </listitem>
2440
2441           <listitem>
2442             <para>On AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
2443             unmount AFS correctly during shutdown. <programlisting>
2444    afs     4     none     none
2445 </programlisting></para>
2446           </listitem>
2447
2448           <listitem>
2449             <para>On non-packaged Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
2450             role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory,
2451             removing the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
2452    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
2453 </programlisting></para>
2454           </listitem>
2455
2456           <listitem>
2457             <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
2458             appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The script resides in the indicated
2459             location on each system type: <itemizedlist>
2460                 <listitem>
2461                   <para>On AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
2462                 </listitem>
2463
2464                 <listitem>
2465                   <para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
2466                 </listitem>
2467
2468                 <listitem>
2469                   <para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2470                 </listitem>
2471
2472                 <listitem>
2473                   <para>On Fedora and RHEL systems, 
2474                   <emphasis role="bold">/etc/sysconfig/openafs</emphasis>. 
2475                   Note that this file has a different format from a standard 
2476                   afsd options file.</para>
2477                 </listitem>
2478                 
2479                 <listitem>
2480                   <para>On non-packaged Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
2481                   role="bold">afsd</emphasis> options file)</para>
2482                 </listitem>
2483                 
2484
2485                 <listitem>
2486                   <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2487                 </listitem>
2488               </itemizedlist></para>
2489
2490             <para>Use one of the methods described in <link linkend="HDRWQ70">Configuring the Cache Manager</link> to add the
2491             following flags to the <emphasis role="bold">afsd</emphasis> command line. If you intend for the machine to remain an
2492             AFS client, also set any performance-related arguments you wish. <itemizedlist>
2493                 <!-- nosetime is now the default
2494                 <listitem>
2495                   <para>Add the <emphasis role="bold">-nosettime</emphasis> flag, because this is a file server machine that is also
2496                   a client.</para>
2497                 </listitem> -->
2498
2499                 <listitem>
2500                   <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
2501                 </listitem>
2502
2503                 <listitem>
2504                   <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
2505                   initialization on the standard output stream.</para>
2506                 </listitem>
2507                 <listitem>
2508                   <para>Add the <emphasis role="bold">--dynroot</emphasis> or
2509                   <emphasis role="bold">--afsdb</emphasis> options if you
2510                   wish to have a synthetic AFS root, as discussed in
2511                   <link linkend="HDRWQ91">Enabling Access to Foreign Cells</link>
2512                   </para>
2513                 </listitem>
2514               </itemizedlist></para>
2515           </listitem>
2516
2517           <listitem>
2518             <para>If appropriate, follow the instructions in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link> to copy the
2519             AFS binaries for this system type into an AFS volume. See the introduction to this section for further
2520             discussion.</para>
2521           </listitem>
2522         </orderedlist></para>
2523     </sect2>
2524
2525     <sect2 id="HDRWQ112">
2526       <title>Completing the Installation</title>
2527
2528       <para>At this point you run the machine's AFS initialization script to verify that it correctly loads AFS modifications into
2529       the kernel and starts the BOS Server, which starts the other server processes. If you have installed client files, the script
2530       also starts the Cache Manager. If the script works correctly, perform the steps that incorporate it into the machine's startup
2531       and shutdown sequence. If there are problems during the initialization, attempt to resolve them. The AFS Product Support group
2532       can provide assistance if necessary.</para>
2533
2534       <para>If the machine is configured as a client using a disk cache, it can take a while for the <emphasis
2535       role="bold">afsd</emphasis> program to create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
2536       in the cache directory. Messages on the console trace the initialization process. <orderedlist>
2537           <listitem>
2538             <para>Issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the AFS server processes other than
2539             the BOS Server. Include the <emphasis role="bold">-wait</emphasis> flag to delay return of the command shell prompt
2540             until all processes shut down completely. <programlisting>
2541    # <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis
2542                   role="bold">-wait</emphasis>
2543 </programlisting></para>
2544           </listitem>
2545
2546           <listitem>
2547             <para>Issue the <emphasis role="bold">ps</emphasis> command to learn the BOS Server's process ID number (PID), and then
2548             the <emphasis role="bold">kill</emphasis> command to stop the <emphasis role="bold">bosserver</emphasis> process.
2549             <programlisting>
2550    # <emphasis role="bold">ps</emphasis> <replaceable>appropriate_ps_options</replaceable> <emphasis role="bold">| grep bosserver</emphasis>
2551    # <emphasis role="bold">kill</emphasis> <replaceable>bosserver_PID</replaceable>
2552 </programlisting> <indexterm>
2553                 <primary>AFS initialization script</primary>
2554
2555                 <secondary>adding to machine startup sequence</secondary>
2556
2557                 <tertiary>server machine after first</tertiary>
2558               </indexterm> <indexterm>
2559                 <primary>AFS initialization script</primary>
2560
2561                 <secondary>running</secondary>
2562
2563                 <tertiary>server machine after first</tertiary>
2564               </indexterm> <indexterm>
2565                 <primary>file server machine, additional</primary>
2566
2567                 <secondary>AFS initialization script</secondary>
2568               </indexterm> <indexterm>
2569                 <primary>running AFS init. script</primary>
2570
2571                 <secondary>server machine after first</secondary>
2572               </indexterm> <indexterm>
2573                 <primary>installing</primary>
2574
2575                 <secondary>AFS initialization script</secondary>
2576
2577                 <tertiary>server machine after first</tertiary>
2578               </indexterm> <indexterm>
2579                 <primary>AIX</primary>
2580
2581                 <secondary>AFS initialization script</secondary>
2582
2583                 <tertiary>on add'l server machine</tertiary>
2584               </indexterm></para>
2585           </listitem>
2586
2587           <listitem>
2588             <para>Run the AFS initialization script by issuing the appropriate commands for this system type.</para>
2589
2590             <para><emphasis role="bold">On AIX systems:</emphasis> <orderedlist>
2591                 <listitem>
2592                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2593                   <programlisting>
2594    # <emphasis role="bold">cd /</emphasis>
2595    # <emphasis role="bold">shutdown -r now</emphasis>
2596    login: <emphasis role="bold">root</emphasis>
2597    Password: <replaceable>root_password</replaceable>
2598 </programlisting></para>
2599                 </listitem>
2600
2601                 <listitem>
2602                   <para>Run the AFS initialization script. <programlisting>
2603    # <emphasis role="bold">/etc/rc.afs</emphasis>
2604 </programlisting></para>
2605                 </listitem>
2606
2607                 <listitem>
2608                   <para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line
2609                   to invoke the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
2610    rcafs:2:wait:/etc/rc.afs &gt; /dev/console 2&gt;&amp;1 # Start AFS services
2611 </programlisting></para>
2612                 </listitem>
2613
2614                 <listitem>
2615                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2616                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc</emphasis> directories. If you want
2617                   to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can
2618                   always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2619    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2620    # <emphasis role="bold">rm  rc.afs</emphasis>
2621    # <emphasis role="bold">ln -s  /etc/rc.afs</emphasis>
2622 </programlisting></para>
2623                 </listitem>
2624
2625                 <listitem>
2626                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2627                 </listitem>
2628               </orderedlist></para>
2629
2630             <indexterm>
2631               <primary>HP-UX</primary>
2632
2633               <secondary>AFS initialization script</secondary>
2634
2635               <tertiary>on add'l server machine</tertiary>
2636             </indexterm>
2637
2638             <para><emphasis role="bold">On HP-UX systems:</emphasis> <orderedlist>
2639                 <listitem>
2640                   <para>Run the AFS initialization script. <programlisting>
2641    # <emphasis role="bold">/sbin/init.d/afs  start</emphasis>
2642 </programlisting></para>
2643                 </listitem>
2644
2645                 <listitem>
2646                   <para>Change to the <emphasis role="bold">/sbin/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2647                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the HP-UX
2648                   startup and shutdown sequence. <programlisting>
2649    # <emphasis role="bold">cd /sbin/init.d</emphasis>
2650    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
2651    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</emphasis>
2652 </programlisting></para>
2653                 </listitem>
2654
2655                 <listitem>
2656                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2657                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/sbin/init.d</emphasis> directories. If
2658                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2659                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2660    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2661    # <emphasis role="bold">rm afs.rc</emphasis>
2662    # <emphasis role="bold">ln -s  /sbin/init.d/afs  afs.rc</emphasis>
2663 </programlisting></para>
2664                 </listitem>
2665
2666                 <listitem>
2667                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2668                 </listitem>
2669               </orderedlist></para>
2670
2671             <indexterm>
2672               <primary>IRIX</primary>
2673
2674               <secondary>AFS initialization script</secondary>
2675
2676               <tertiary>on add'l server machine</tertiary>
2677             </indexterm>
2678
2679             <indexterm>
2680               <primary>afsclient variable (IRIX)</primary>
2681
2682               <secondary>server machine after first</secondary>
2683             </indexterm>
2684
2685             <indexterm>
2686               <primary>variables</primary>
2687
2688               <secondary>afsclient (IRIX)</secondary>
2689
2690               <tertiary>server machine after first</tertiary>
2691             </indexterm>
2692
2693             <indexterm>
2694               <primary>IRIX</primary>
2695
2696               <secondary>afsclient variable</secondary>
2697
2698               <tertiary>server machine after first</tertiary>
2699             </indexterm>
2700
2701             <indexterm>
2702               <primary>afsserver variable (IRIX)</primary>
2703
2704               <secondary>server machine after first</secondary>
2705             </indexterm>
2706
2707             <indexterm>
2708               <primary>variables</primary>
2709
2710               <secondary>afsserver (IRIX)</secondary>
2711
2712               <tertiary>server machine after first</tertiary>
2713             </indexterm>
2714
2715             <indexterm>
2716               <primary>IRIX</primary>
2717
2718               <secondary>afsserver variable</secondary>
2719
2720               <tertiary>server machine after first</tertiary>
2721             </indexterm>
2722
2723             <para><emphasis role="bold">On IRIX systems:</emphasis> <orderedlist>
2724                 <listitem>
2725                   <para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program,
2726                   reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2727    # <emphasis role="bold">cd /</emphasis>
2728    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2729    login: <emphasis role="bold">root</emphasis>
2730    Password: <replaceable>root_password</replaceable>
2731 </programlisting></para>
2732                 </listitem>
2733
2734                 <listitem>
2735                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2736                   role="bold">afsserver</emphasis> configuration variable. <programlisting>
2737    # <emphasis role="bold">/etc/chkconfig -f afsserver on</emphasis>   
2738 </programlisting></para>
2739
2740                   <para>If you have configured this machine as an AFS client and want to it remain one, also issue the <emphasis
2741                   role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afsclient</emphasis> configuration
2742                   variable.</para>
2743
2744                   <programlisting>
2745    # <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis> 
2746 </programlisting>
2747                 </listitem>
2748
2749                 <listitem>
2750                   <para>Run the AFS initialization script. <programlisting>
2751    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2752 </programlisting></para>
2753                 </listitem>
2754
2755                 <listitem>
2756                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2757                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the IRIX
2758                   startup and shutdown sequence. <programlisting>
2759    # <emphasis role="bold">cd /etc/init.d</emphasis>
2760    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
2761    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</emphasis>
2762 </programlisting></para>
2763                 </listitem>
2764
2765                 <listitem>
2766                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2767                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2768                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2769                   You can always retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2770    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2771    # <emphasis role="bold">rm afs.rc</emphasis>
2772    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2773 </programlisting></para>
2774                 </listitem>
2775
2776                 <listitem>
2777                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2778                 </listitem>
2779               </orderedlist></para>
2780
2781             <indexterm>
2782               <primary>Linux</primary>
2783
2784               <secondary>AFS initialization script</secondary>
2785
2786               <tertiary>on add'l server machine</tertiary>
2787             </indexterm>
2788
2789             <para><emphasis role="bold">On Fedora or RHEL Linux systems:</emphasis> 
2790               <orderedlist>
2791                 <listitem>
2792                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2793  <programlisting>
2794    # <emphasis role="bold">cd /</emphasis>
2795    # <emphasis role="bold">shutdown -r now</emphasis>
2796    login: <emphasis role="bold">root</emphasis>
2797    Password: <replaceable>root_password</replaceable>
2798 </programlisting></para>
2799                 </listitem>
2800
2801                 <listitem>
2802                   <para>Run the OpenAFS initialization scripts. <programlisting>
2803    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
2804    # <emphasis role="bold">/etc/rc.d/init.d/openafs-server  start</emphasis>
2805 </programlisting></para>
2806                 </listitem>
2807
2808                 <listitem>
2809                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> 
2810                   command to activate the 
2811                   <emphasis role="bold">openafs-client</emphasis> and 
2812                   <emphasis role="bold">openafs-server</emphasis> configuration 
2813                   variables. Based on the instruction in the AFS initialization 
2814                   files that begins with the string 
2815                   <computeroutput>#chkconfig</computeroutput>, the command 
2816                   automatically creates the symbolic links that incorporate the 
2817                   script into the Linux startup and shutdown sequence. 
2818 <programlisting>
2819    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
2820    # <emphasis role="bold">/sbin/chkconfig  --add openafs-server</emphasis>
2821 </programlisting></para>
2822                 </listitem>
2823               </orderedlist>
2824             </para>
2825             <para><emphasis role="bold">On Linux systems:</emphasis> <orderedlist>
2826                 <listitem>
2827                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2828                   <programlisting>
2829    # <emphasis role="bold">cd /</emphasis>
2830    # <emphasis role="bold">shutdown -r now</emphasis>
2831    login: <emphasis role="bold">root</emphasis>
2832    Password: <replaceable>root_password</replaceable>
2833 </programlisting></para>
2834                 </listitem>
2835
2836                 <listitem>
2837                   <para>Run the OpenAFS initialization script. <programlisting>
2838    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
2839 </programlisting></para>
2840                 </listitem>
2841
2842                 <listitem>
2843                   <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2844                   role="bold">afs</emphasis> configuration variable. Based on the instruction in the AFS initialization file that
2845                   begins with the string <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic
2846                   links that incorporate the script into the Linux startup and shutdown sequence. <programlisting>
2847    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
2848 </programlisting></para>
2849                 </listitem>
2850
2851                 <listitem>
2852                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2853                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories,
2854                   and copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
2855                   role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want
2856                   to avoid potential confusion by guaranteeing that the two copies of each file are always the same, create a link
2857                   between them. You can always retrieve the original script or options file from the AFS CD-ROM if necessary.
2858                   <programlisting>
2859    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2860    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
2861    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
2862    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
2863 </programlisting></para>
2864                 </listitem>
2865
2866                 <listitem>
2867                   <para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
2868                 </listitem>
2869               </orderedlist></para>
2870
2871             <indexterm>
2872               <primary>Solaris</primary>
2873
2874               <secondary>AFS initialization script</secondary>
2875
2876               <tertiary>on add'l server machine</tertiary>
2877             </indexterm>
2878
2879             <para><emphasis role="bold">On Solaris systems:</emphasis> <orderedlist>
2880                 <listitem>
2881                   <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
2882                   <programlisting>
2883    # <emphasis role="bold">cd /</emphasis>
2884    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2885    login: <emphasis role="bold">root</emphasis>
2886    Password: <replaceable>root_password</replaceable>
2887 </programlisting></para>
2888                 </listitem>
2889
2890                 <listitem>
2891                   <para>Run the AFS initialization script. <programlisting>
2892    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2893 </programlisting></para>
2894                 </listitem>
2895
2896                 <listitem>
2897                   <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2898                   -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris
2899                   startup and shutdown sequence. <programlisting>
2900    # <emphasis role="bold">cd /etc/init.d</emphasis>
2901    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
2902    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
2903 </programlisting></para>
2904                 </listitem>
2905
2906                 <listitem>
2907                   <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2908                   <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
2909                   you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
2910                   You can always retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
2911    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2912    # <emphasis role="bold">rm afs.rc</emphasis>
2913    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2914 </programlisting></para>
2915                 </listitem>
2916               </orderedlist></para>
2917           </listitem>
2918
2919           <listitem>
2920             <para><anchor id="LIWQ113" />Verify that <emphasis role="bold">/usr/afs</emphasis> and its subdirectories on the new
2921             file server machine meet the ownership and mode bit requirements outlined in <link linkend="HDRWQ96">Protecting
2922             Sensitive AFS Directories</link>. If necessary, use the <emphasis role="bold">chmod</emphasis> command to correct the
2923             mode bits.</para>
2924           </listitem>
2925
2926           <listitem>
2927             <para>To configure this machine as a database server machine, proceed to <link linkend="HDRWQ114">Installing Database
2928             Server Functionality</link>.</para>
2929           </listitem>
2930         </orderedlist></para>
2931
2932       <indexterm>
2933         <primary>database server machine</primary>
2934
2935         <secondary>requirements for installation</secondary>
2936       </indexterm>
2937
2938       <indexterm>
2939         <primary>requirements</primary>
2940
2941         <secondary>database server machine</secondary>
2942       </indexterm>
2943     </sect2>
2944   </sect1>
2945
2946   <sect1 id="HDRWQ114">
2947     <title>Installing Database Server Functionality</title>
2948
2949     <para>This section explains how to install database server functionality. Database server machines have two defining
2950     characteristics. First, they run the Protection Server, and Volume Location (VL) Server processes. They
2951     also run the Backup Server if the cell uses the AFS Backup System, as is assumed in these instructions. Second, they appear in
2952     the <emphasis role="bold">CellServDB</emphasis> file of every machine in the cell (and of client machines in foreign cells, if
2953     they are to access files in this cell).</para>
2954
2955     <para>Note the following requirements for database server machines. <itemizedlist>
2956         <listitem>
2957           <para>In the conventional configuration, database server machines also serve as file server machines (run the File Server,
2958           Volume Server and Salvager processes). If you choose not to run file server functionality on a database server machine,
2959           then the kernel does not have to incorporate AFS modifications, but the local <emphasis role="bold">/usr/afs</emphasis>
2960           directory must house most of the standard files and subdirectories. In particular, the <emphasis
2961           role="bold">/usr/afs/etc/KeyFile</emphasis> file must contain the same keys as all other server machines in the cell. If
2962           you run a system control machine, run the <emphasis role="bold">upclientetc</emphasis> process on every database server
2963           machine other than the system control machine; if you do not run a system control machine, use the <emphasis
2964           role="bold">bos addkey</emphasis> command as instructed in the chapter in the <emphasis>OpenAFS Administration
2965           Guide</emphasis> about maintaining server encryption keys.</para>
2966
2967           <para>The instructions in this section assume that the machine on which you are installing database server functionality
2968           is already a file server machine. Contact the OpenAFS mailing list to learn how to install database server
2969           functionality on a non-file server machine.</para>
2970         </listitem>
2971
2972         <listitem>
2973           <para>During the installation of database server functionality, you must restart all of the database server machines to
2974           force the election of a new Ubik coordinator (synchronization site) for each database server process. This can cause a
2975           system outage, which usually lasts less than 5 minutes.</para>
2976         </listitem>
2977
2978         <listitem>
2979           <para>Updating the kernel memory list of database server machines on each client machine is generally the most
2980           time-consuming part of installing a new database server machine. It is, however, crucial for correct functioning in your
2981           cell. Incorrect knowledge of your cell's database server machines can prevent your users from authenticating, accessing
2982           files, and issuing AFS commands.</para>
2983
2984           <para>You update a client's kernel memory list by changing the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis>
2985           file and then either rebooting or issuing the <emphasis role="bold">fs newcell</emphasis> command. For instructions, see
2986           the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
2987
2988           <para>The point at which you update your clients' knowledge of database server machines depends on which of the database
2989           server machines has the lowest IP address. The following instructions indicate the appropriate place to update your client
2990           machines in either case. <itemizedlist>
2991               <listitem>
2992                 <para>If the new database server machine has a lower IP address than any existing database server machine, update
2993                 the <emphasis role="bold">CellServDB</emphasis> file on every client machine before restarting the database server
2994                 processes. If you do not, users can become unable to update (write to) any of the AFS databases. This is because the
2995                 machine with the lowest IP address is usually elected as the Ubik coordinator, and only the Coordinator accepts
2996                 database writes. On client machines that do not have the new list of database server machines, the Cache Manager
2997                 cannot locate the new coordinator. (Be aware that if clients contact the new coordinator before it is actually in
2998                 service, they experience a timeout before contacting another database server machine. This is a minor, and
2999                 temporary, problem compared to being unable to write to the database.)</para>
3000               </listitem>
3001
3002               <listitem>
3003                 <para>If the new database server machine does not have the lowest IP address of any database server machine, then it
3004                 is better to update clients after restarting the database server processes. Client machines do not start using the
3005                 new database server machine until you update their kernel memory list, but that does not usually cause timeouts or
3006                 update problems (because the new machine is not likely to become the coordinator).</para>
3007               </listitem>
3008             </itemizedlist></para>
3009         </listitem>
3010       </itemizedlist></para>
3011
3012     <indexterm>
3013       <primary>overview</primary>
3014
3015       <secondary>installing additional database server machine</secondary>
3016     </indexterm>
3017
3018     <sect2 id="Header_110">
3019       <title>Summary of Procedures</title>
3020
3021       <para>To install a database server machine, perform the following procedures. <orderedlist>
3022           <listitem>
3023             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
3024           </listitem>
3025
3026           <listitem>
3027             <para>Add the new machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing file server
3028             machines</para>
3029           </listitem>
3030
3031           <listitem>
3032             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3033             to foreign cells</para>
3034           </listitem>
3035
3036           <listitem>
3037             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3038             list of database server machines</para>
3039           </listitem>
3040
3041           <listitem>
3042             <para>Start the database server processes (Backup Server, Protection Server, and Volume Location
3043             Server)</para>
3044           </listitem>
3045
3046           <listitem>
3047             <para>Restart the database server processes on every database server machine</para>
3048           </listitem>
3049
3050           <listitem>
3051             <para>If required, request that grand.central.org add details of 
3052             your new database server machine to the global CellServDB</para>
3053           </listitem>
3054           
3055           <listitem>
3056             <para>If required, add details of your new database server to the
3057             AFS database location records in your site's DNS</para>
3058           </listitem>
3059           
3060         </orderedlist></para>
3061
3062       <indexterm>
3063         <primary>database server machine</primary>
3064
3065         <secondary>installing</secondary>
3066
3067         <tertiary>additional</tertiary>
3068       </indexterm>
3069
3070       <indexterm>
3071         <primary>instructions</primary>
3072
3073         <secondary>database server machine, installing additional</secondary>
3074       </indexterm>
3075
3076       <indexterm>
3077         <primary>installing</primary>
3078
3079         <secondary>database server machine</secondary>
3080
3081         <tertiary>additional</tertiary>
3082       </indexterm>
3083     </sect2>
3084
3085     <sect2 id="Header_111">
3086       <title>Instructions</title>
3087
3088       <note>
3089         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3090         you possibly need to precede the command names with the appropriate pathname.</para>
3091       </note>
3092
3093       <orderedlist>
3094         <listitem>
3095           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3096           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3097 <programlisting> 
3098    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3099    Password: <replaceable>admin_password</replaceable>
3100    % <emphasis role="bold">aklog</emphasis>
3101 </programlisting>
3102           </para>
3103         </listitem>
3104
3105         <listitem>
3106           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3107           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3108           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3109           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3110           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3111           directory. <programlisting>
3112    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3113 </programlisting> <indexterm>
3114               <primary>bos commands</primary>
3115
3116               <secondary>addhost</secondary>
3117             </indexterm> <indexterm>
3118               <primary>commands</primary>
3119
3120               <secondary>bos addhost</secondary>
3121             </indexterm> <indexterm>
3122               <primary>database server machine</primary>
3123
3124               <secondary>entry in server CellServDB file</secondary>
3125
3126               <tertiary>for new db-server machine</tertiary>
3127             </indexterm> <indexterm>
3128               <primary>CellServDB file (server)</primary>
3129
3130               <secondary>adding entry for new db-server machine</secondary>
3131             </indexterm> <indexterm>
3132               <primary>adding</primary>
3133
3134               <secondary>new db-server machine to CellServDB files</secondary>
3135             </indexterm></para>
3136         </listitem>
3137
3138         <listitem>
3139           <para><anchor id="LIWQ115" />Issue the <emphasis role="bold">bos addhost</emphasis> command to add the new database server
3140           machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing server machines (as well as the
3141           new database server machine itself).</para>
3142
3143           <para>Substitute the new database server machine's fully-qualified hostname for the <replaceable>host name</replaceable>
3144           argument. If you run a system control machine, substitute its fully-qualified hostname for the
3145           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3146           role="bold">bos addhost</emphasis> command once for each server machine in your cell (including the new database server
3147           machine itself), by substituting each one's fully-qualified hostname for the <replaceable>machine&nbsp;name</replaceable>
3148           argument in turn.</para>
3149
3150           <programlisting>
3151    % <emphasis role="bold">bos addhost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3152 </programlisting>
3153
3154           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3155           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If you are issuing individual <emphasis
3156           role="bold">bos addhost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3157
3158           <note>
3159             <para>It is best to maintain a one-to-one mapping between hostnames and IP addresses on a multihomed database server
3160             machine (the conventional configuration for any AFS machine). The BOS Server uses the <emphasis
3161             role="bold">gethostbyname(&nbsp;)</emphasis> routine to obtain the IP address associated with the <replaceable>host
3162             name</replaceable> argument. If there is more than one address, the BOS Server records in the <emphasis
3163             role="bold">CellServDB</emphasis> entry the one that appears first in the list of addresses returned by the routine. The
3164             routine possibly returns addresses in a different order on different machines, which can create inconsistency.</para>
3165           </note>
3166         </listitem>
3167
3168         <listitem>
3169           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3170           server machine to verify that the new database server machine appears in its <emphasis role="bold">CellServDB</emphasis>
3171           file. <programlisting>
3172    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3173 </programlisting></para>
3174         </listitem>
3175
3176         <listitem>
3177           <para><anchor id="LIWQ116" />Add the new database server machine to your cell's central <emphasis
3178           role="bold">CellServDB</emphasis> source file, if you use one. The standard location is <emphasis
3179           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3180           role="bold">/common/etc/CellServDB</emphasis>.</para>
3181
3182           <para>If you are willing to make your cell accessible to users in foreign cells, add the new database server machine to
3183           the file that lists your cell's database server machines. The conventional location is <emphasis
3184           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3185           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3186               <primary>database server machine</primary>
3187
3188               <secondary>entry in client CellServDB file</secondary>
3189
3190               <tertiary>for new db-server machine</tertiary>
3191             </indexterm> <indexterm>
3192               <primary>CellServDB file (client)</primary>
3193
3194               <secondary>adding entry</secondary>
3195
3196               <tertiary>for new db-server machine</tertiary>
3197             </indexterm> <indexterm>
3198               <primary>client machine</primary>
3199
3200               <secondary>CellServDB file</secondary>
3201
3202               <tertiary>adding entry</tertiary>
3203             </indexterm></para>
3204         </listitem>
3205
3206         <listitem>
3207           <para><anchor id="LIWQ117" />If this machine's IP address is lower than any existing database server machine's, update
3208           every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory list to include
3209           this machine. (If this machine's IP address is not the lowest, it is acceptable to wait until Step <link
3210           linkend="LIWQ123">12</link>.)</para>
3211
3212           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3213           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3214           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3215           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3216           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3217           newcell</emphasis> command. 
3218             <indexterm>
3219               <primary>database server machine</primary>
3220
3221               <secondary>starting database server processes</secondary>
3222             </indexterm> <indexterm>
3223               <primary>BosConfig file</primary>
3224
3225               <secondary>adding entries</secondary>
3226
3227               <tertiary>database server machine</tertiary>
3228             </indexterm> <indexterm>
3229               <primary>adding</primary>
3230
3231               <secondary>entries to BosConfig file</secondary>
3232
3233               <tertiary>database server machine</tertiary>
3234             </indexterm></para>
3235         </listitem>
3236         
3237         <listitem>
3238           <para>If you are running a cell which still relies upon
3239           <emphasis role="bold">kaserver</emphasis> see 
3240           <link linkend="KAS010">Starting the Authentication Service</link>
3241           for an additional installation step.</para>
3242         </listitem>
3243
3244         <listitem>
3245           <indexterm>
3246             <primary>Backup Server</primary>
3247             <secondary>starting</secondary>
3248             <tertiary>new db-server machine</tertiary>
3249           </indexterm> <indexterm>
3250             <primary>starting</primary>
3251             <secondary>Backup Server</secondary>
3252             <tertiary>new db-server machine</tertiary>
3253           </indexterm>
3254
3255           <para><anchor id="LIWQ119" />Start the Backup Server (the <emphasis role="bold">buserver</emphasis> process). You must
3256           perform other configuration procedures before actually using the AFS Backup System, as detailed in the <emphasis>OpenAFS
3257           Administration Guide</emphasis>. <programlisting>
3258    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis>
3259 </programlisting> <indexterm>
3260               <primary>Protection Server</primary>
3261
3262               <secondary>starting</secondary>
3263
3264               <tertiary>new db-server machine</tertiary>
3265             </indexterm> <indexterm>
3266               <primary>starting</primary>
3267
3268               <secondary>Protection Server</secondary>
3269
3270               <tertiary>new db-server machine</tertiary>
3271             </indexterm></para>
3272         </listitem>
3273
3274         <listitem>
3275           <para><anchor id="LIWQ120" />Start the Protection Server (the <emphasis role="bold">ptserver</emphasis> process).
3276           <programlisting>
3277    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis>
3278 </programlisting> <indexterm>
3279               <primary>VL Server (vlserver process)</primary>
3280
3281               <secondary>starting</secondary>
3282
3283               <tertiary>new db-server machine</tertiary>
3284             </indexterm> <indexterm>
3285               <primary>starting</primary>
3286
3287               <secondary>VL Server</secondary>
3288
3289               <tertiary>new db-server machine</tertiary>
3290             </indexterm></para>
3291         </listitem>
3292
3293         <listitem>
3294           <para><anchor id="LIWQ121" />Start the Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis>
3295           process). <programlisting>
3296    % <emphasis role="bold">bos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis>
3297 </programlisting> <indexterm>
3298               <primary>commands</primary>
3299
3300               <secondary>bos restart</secondary>
3301
3302               <tertiary>on new db-server machine</tertiary>
3303             </indexterm> <indexterm>
3304               <primary>bos commands</primary>
3305
3306               <secondary>restart</secondary>
3307
3308               <tertiary>on new db-server machine</tertiary>
3309             </indexterm> <indexterm>
3310               <primary>restarting server process</primary>
3311
3312               <secondary>on new db-server machine</secondary>
3313             </indexterm> <indexterm>
3314               <primary>server process</primary>
3315
3316               <secondary>restarting</secondary>
3317
3318               <tertiary>on new db-server machine</tertiary>
3319             </indexterm></para>
3320         </listitem>
3321
3322         <listitem>
3323           <para><anchor id="LIWQ122" />Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3324           machine in the cell, including the new machine. The command restarts the Authentication, Backup, Protection, and VL
3325           Servers, which forces an election of a new Ubik coordinator for each process. The new machine votes in the election and is
3326           considered as a potential new coordinator.</para>
3327
3328           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3329           lasts less than five minutes. Such an outage is particularly likely if you are installing your cell's second database
3330           server machine. Messages tracing the progress of the election appear on the console.</para>
3331
3332           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3333           the lowest IP address.</para>
3334
3335           <programlisting>
3336    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>    
3337 </programlisting>
3338
3339           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3340           methods: <itemizedlist>
3341               <listitem>
3342                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3343                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3344               </listitem>
3345
3346               <listitem>
3347                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3348                 its console</para>
3349               </listitem>
3350             </itemizedlist></para>
3351         </listitem>
3352
3353         <listitem>
3354           <para><anchor id="LIWQ123" />If you did not update the <emphasis role="bold">CellServDB</emphasis> file on client machines
3355           in Step <link linkend="LIWQ117">6</link>, do so now.</para>
3356         </listitem>
3357
3358         <listitem>
3359           <para><anchor id="LIWQ124" />If you wish to participate in the AFS
3360           global name space, send the new database server machine's name and 
3361           IP address to grand.central.org. Do so, by emailing an updated
3362           <emphasis role="bold">CellServDB</emphasis> fragment for your cell
3363           to cellservdb@grand.central.org</para>
3364           <para>More details on the registration procedures for the
3365           CellServDB maintained by grand.central.org are available from
3366           <ulink url="http://grand.central.org/csdb.html">
3367           http://grand.central.org/csdb.html</ulink></para>
3368         </listitem>
3369       </orderedlist>
3370
3371       <indexterm>
3372         <primary>database server machine</primary>
3373
3374         <secondary>removing from service</secondary>
3375       </indexterm>
3376
3377       <indexterm>
3378         <primary>instructions</primary>
3379
3380         <secondary>database server machine, removing</secondary>
3381       </indexterm>
3382
3383       <indexterm>
3384         <primary>removing</primary>
3385
3386         <secondary>database server machine from service</secondary>
3387       </indexterm>
3388
3389       <indexterm>
3390         <primary>overview</primary>
3391
3392         <secondary>removing database server machine</secondary>
3393       </indexterm>
3394     </sect2>
3395   </sect1>
3396
3397   <sect1 id="HDRWQ125">
3398     <title>Removing Database Server Functionality</title>
3399
3400     <para>Removing database server machine functionality is nearly the reverse of installing it.</para>
3401
3402     <sect2 id="Header_113">
3403       <title>Summary of Procedures</title>
3404
3405       <para>To decommission a database server machine, perform the following procedures. <orderedlist>
3406           <listitem>
3407             <para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
3408           </listitem>
3409
3410           <listitem>
3411             <para>If you participate in the global AFS namespace, notify
3412             grand.central.org that you are decommissioning a database server 
3413             machine</para>
3414           </listitem>
3415
3416           <listitem>
3417             <para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
3418             to foreign cells</para>
3419           </listitem>
3420
3421           <listitem>
3422             <para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
3423             list of database server machines</para>
3424           </listitem>
3425
3426           <listitem>
3427             <para>Remove the machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on file server
3428             machines</para>
3429           </listitem>
3430
3431           <listitem>
3432             <para>Stop the database server processes and remove them from the <emphasis
3433             role="bold">/usr/afs/local/BosConfig</emphasis> file if desired</para>
3434           </listitem>
3435
3436           <listitem>
3437             <para>Restart the database server processes on the remaining database server machines</para>
3438           </listitem>
3439         </orderedlist></para>
3440     </sect2>
3441
3442     <sect2 id="Header_114">
3443       <title>Instructions</title>
3444
3445       <note>
3446         <para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
3447         you possibly need to precede the command names with the appropriate pathname.</para>
3448       </note>
3449
3450       <orderedlist>
3451         <listitem>
3452           <para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
3453           is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines. 
3454 <programlisting>
3455    % <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
3456    Password: <replaceable>admin_password</replaceable>
3457    % <emphasis role="bold">aklog</emphasis>
3458 </programlisting></para>
3459         </listitem>
3460
3461         <listitem>
3462           <para>If you are working on a client machine configured in the conventional manner, the <emphasis
3463           role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
3464           symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
3465           helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
3466           you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
3467           directory. <programlisting>
3468    % <emphasis role="bold">cp  /usr/afsws/bin/bos   /tmp</emphasis>
3469 </programlisting></para>
3470         </listitem>
3471
3472         <listitem>
3473           <para><anchor id="LIWQ126" />If your cell is included in the global
3474           <emphasis role="bold">CellServDB</emphasis>, send the revised list of 
3475           your cell's database server machines to grand.central.org</para>
3476
3477           <para>If the administrators in foreign cells do not learn about the change in your cell,
3478           they cannot update the <emphasis role="bold">CellServDB</emphasis> file on their client machines. Users in foreign cells
3479           continue to send database requests to the decommissioned machine, which creates needless network traffic and activity on
3480           the machine. Also, the users experience time-out delays while their request is forwarded to a valid database server
3481           machine.</para>
3482         </listitem>
3483
3484         <listitem>
3485           <para><anchor id="LIWQ127" />Remove the decommissioned machine from your cell's central <emphasis
3486           role="bold">CellServDB</emphasis> source file, if you use one. The conventional location is <emphasis
3487           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3488           role="bold">/common/etc/CellServDB</emphasis>.</para>
3489
3490           <para>If you maintain a file that users in foreign cells can access to learn about your cell's database server machines,
3491           update it also. The conventional location is <emphasis
3492           role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
3493           role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
3494               <primary>database server machine</primary>
3495
3496               <secondary>entry in client CellServDB file</secondary>
3497
3498               <tertiary>removing</tertiary>
3499             </indexterm> <indexterm>
3500               <primary>CellServDB file (client)</primary>
3501
3502               <secondary>removing entry</secondary>
3503             </indexterm> <indexterm>
3504               <primary>client machine</primary>
3505
3506               <secondary>CellServDB file</secondary>
3507
3508               <tertiary>removing entry</tertiary>
3509             </indexterm> <indexterm>
3510               <primary>removing</primary>
3511
3512               <secondary>entry from CellServDB file</secondary>
3513             </indexterm></para>
3514         </listitem>
3515
3516         <listitem>
3517           <para><anchor id="LIWQ128" />Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file
3518           and kernel memory list to exclude this machine. Altering the <emphasis role="bold">CellServDB</emphasis> file and kernel
3519           memory list before stopping the actual database server processes avoids possible time-out delays that result when users
3520           send requests to a decommissioned database server machine that is still listed in the file.</para>
3521
3522           <para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
3523           detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
3524           option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>), with or
3525           without using the <emphasis role="bold">package</emphasis> program. To update the machine's kernel memory list, you can
3526           either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
3527           newcell</emphasis> command. <indexterm>
3528               <primary>bos commands</primary>
3529
3530               <secondary>removehost</secondary>
3531             </indexterm> <indexterm>
3532               <primary>commands</primary>
3533
3534               <secondary>bos removehost</secondary>
3535             </indexterm> <indexterm>
3536               <primary>CellServDB file (server)</primary>
3537
3538               <secondary>removing entry</secondary>
3539             </indexterm> <indexterm>
3540               <primary>database server machine</primary>
3541
3542               <secondary>entry in server CellServDB file</secondary>
3543
3544               <tertiary>removing</tertiary>
3545             </indexterm></para>
3546         </listitem>
3547
3548         <listitem>
3549           <para><anchor id="LIWQ129" />Issue the <emphasis role="bold">bos removehost</emphasis> command to remove the
3550           decommissioned database server machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on server
3551           machines.</para>
3552
3553           <para>Substitute the decommissioned database server machine's fully-qualified hostname for the <replaceable>host
3554           name</replaceable> argument. If you run a system control machine, substitute its fully-qualified hostname for the
3555           <replaceable>machine&nbsp;name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
3556           role="bold">bos removehost</emphasis> command once for each server machine in your cell (including the decommissioned
3557           database server machine itself), by substituting each one's fully-qualified hostname for the
3558           <replaceable>machine&nbsp;name</replaceable> argument in turn.</para>
3559
3560           <programlisting>
3561    % <emphasis role="bold">bos removehost</emphasis> &lt;<replaceable>machine name</replaceable>&gt;  &lt;<replaceable>host name</replaceable>&gt;   
3562 </programlisting>
3563
3564           <para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
3565           role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If issuing individual <emphasis
3566           role="bold">bos removehost</emphasis> commands, attempt to issue all of them within five minutes.</para>
3567         </listitem>
3568
3569         <listitem>
3570           <para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
3571           server machine to verify that the decommissioned database server machine no longer appears in its <emphasis
3572           role="bold">CellServDB</emphasis> file. <programlisting>
3573    % <emphasis role="bold">bos listhosts</emphasis> &lt;<replaceable>machine name</replaceable>&gt;
3574 </programlisting> <indexterm>
3575               <primary>commands</primary>
3576
3577               <secondary>bos stop</secondary>
3578             </indexterm> <indexterm>
3579               <primary>bos commands</primary>
3580
3581               <secondary>stop</secondary>
3582             </indexterm> <indexterm>
3583               <primary>database server machine</primary>
3584
3585               <secondary>stopping database server processes</secondary>
3586             </indexterm> <indexterm>
3587               <primary>stopping</primary>
3588
3589               <secondary>database server processes</secondary>
3590             </indexterm> <indexterm>
3591               <primary>Backup Server</primary>
3592
3593               <secondary>stopping</secondary>
3594             </indexterm> <indexterm>
3595               <primary>Protection Server</primary>
3596
3597               <secondary>stopping</secondary>
3598             </indexterm> <indexterm>
3599               <primary>VL Server (vlserver process)</primary>
3600
3601               <secondary>stopping</secondary>
3602             </indexterm></para>
3603         </listitem>
3604
3605         <listitem>
3606           <para><anchor id="LIWQ130" />Issue the <emphasis role="bold">bos stop</emphasis> command to stop the database server
3607           processes on the machine, by substituting its fully-qualified hostname for the
3608           <replaceable>machine&nbsp;name</replaceable> argument. The command changes each process's status in the <emphasis
3609           role="bold">/usr/afs/local/BosConfig</emphasis> file to <computeroutput>NotRun</computeroutput>, but does not remove its
3610           entry from the file. <programlisting>
3611    % <emphasis role="bold">bos stop</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
3612 </programlisting> <indexterm>
3613               <primary>commands</primary>
3614
3615               <secondary>bos delete</secondary>
3616             </indexterm> <indexterm>
3617               <primary>bos commands</primary>
3618
3619               <secondary>delete</secondary>
3620             </indexterm> <indexterm>
3621               <primary>BosConfig file</primary>
3622
3623               <secondary>removing entries</secondary>
3624             </indexterm> <indexterm>
3625               <primary>removing</primary>
3626
3627               <secondary>entries from BosConfig File</secondary>
3628             </indexterm> <indexterm>
3629               <primary>database server machine</primary>
3630
3631               <secondary>removing db-server processes from BosConfig file</secondary>
3632             </indexterm></para>
3633         </listitem>
3634
3635         <listitem>
3636           <para><anchor id="LIWQ131" /><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos
3637           delete</emphasis> command to remove the entries for database server processes from the <emphasis
3638           role="bold">BosConfig</emphasis> file. This step is unnecessary if you plan to restart the database server functionality
3639           on this machine in future. <programlisting>
3640    % <emphasis role="bold">bos delete</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>
3641 </programlisting> <indexterm>
3642               <primary>commands</primary>
3643
3644               <secondary>bos restart</secondary>
3645
3646               <tertiary>on removed db-server machine</tertiary>
3647             </indexterm> <indexterm>
3648               <primary>bos commands</primary>
3649
3650               <secondary>restart</secondary>
3651
3652               <tertiary>on removed db-server machine</tertiary>
3653             </indexterm> <indexterm>
3654               <primary>restarting server process</primary>
3655
3656               <secondary>on removed db-server machine</secondary>
3657             </indexterm> <indexterm>
3658               <primary>server process</primary>
3659
3660               <secondary>restarting</secondary>
3661
3662               <tertiary>on removed db-server machine</tertiary>
3663             </indexterm></para>
3664         </listitem>
3665
3666         <listitem>
3667           <para><anchor id="LIWQ132" />Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
3668           machine in the cell, to restart the Backup, Protection, and VL Servers. This forces the election of a Ubik
3669           coordinator for each process, ensuring that the remaining database server processes recognize that the machine is no
3670           longer a database server.</para>
3671
3672           <para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
3673           lasts less than five minutes. Messages tracing the progress of the election appear on the console.</para>
3674
3675           <para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
3676           the lowest IP address.</para>
3677
3678           <programlisting>
3679    %  <emphasis role="bold">bos restart</emphasis> &lt;<replaceable>machine name</replaceable>&gt; <emphasis role="bold">buserver ptserver vlserver</emphasis>    
3680 </programlisting>
3681
3682           <para>If an error occurs, restart all server processes on the database server machines again by using one of the following
3683           methods: <itemizedlist>
3684               <listitem>
3685                 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
3686                 role="bold">-bosserver</emphasis> flag for each database server machine</para>
3687               </listitem>
3688
3689               <listitem>
3690                 <para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
3691                 its console</para>
3692               </listitem>
3693             </itemizedlist></para>
3694         </listitem>
3695       </orderedlist>
3696     </sect2>
3697   </sect1>
3698 </chapter>