linux-osi-module-proc-csdb-sprintf-bug-20050423
[openafs.git] / doc / html / QuickStartUnix / auqbg006.htm
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
2 <HTML><HEAD>
3 <TITLE>Quick Beginnings</TITLE>
4 <!-- Begin Header Records  ========================================== -->
5 <!-- /tmp/idwt3574/auqbg000.scr converted by idb2h R4.2 (359) ID      -->
6 <!-- Workbench Version (AIX) on 2 Oct 2000 at 12:25:35                -->
7 <META HTTP-EQUIV="updated" CONTENT="Mon, 02 Oct 2000 12:25:35">
8 <META HTTP-EQUIV="review" CONTENT="Tue, 02 Oct 2001 12:25:35">
9 <META HTTP-EQUIV="expires" CONTENT="Wed, 02 Oct 2002 12:25:35">
10 </HEAD><BODY>
11 <!-- (C) IBM Corporation 2000. All Rights Reserved    --> 
12 <BODY bgcolor="ffffff"> 
13 <!-- End Header Records  ============================================ -->
14 <A NAME="Top_Of_Page"></A>
15 <H1>Quick Beginnings</H1>
16 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg005.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Bot_Of_Page"><IMG SRC="../bot.gif" BORDER="0" ALT="[Bottom of Topic]"></A> <A HREF="auqbg007.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
17 <P>
18 <A NAME="IDX2688"></A>
19 <A NAME="IDX2689"></A>
20 <A NAME="IDX2690"></A>
21 <HR><H1><A NAME="HDRWQ99" HREF="auqbg002.htm#ToC_97">Installing Additional Server Machines</A></H1>
22 <P>Instructions for the following procedures appear in the
23 indicated section of this chapter.
24 <UL>
25 <P><LI><A HREF="#HDRWQ100">Installing an Additional File Server Machine</A>
26 <P><LI><A HREF="#HDRWQ114">Installing Database Server Functionality</A>
27 <P><LI><A HREF="#HDRWQ125">Removing Database Server Functionality</A>
28 </UL>
29 <P>The instructions make the following assumptions.
30 <UL>
31 <P><LI>You have already installed your cell's first file server machine by
32 following the instructions in <A HREF="auqbg005.htm#HDRWQ17">Installing the First AFS Machine</A>
33 <P><LI>You are logged in as the local superuser <B>root</B>
34 <P><LI>You are working at the console
35 <P><LI>A standard version of one of the operating systems supported by the
36 current version of AFS is running on the machine
37 <P><LI>You can access the data on the AFS CD-ROMs, either through a local CD-ROM
38 drive or via an NFS mount of a CD-ROM drive attached to a machine that is
39 accessible by network
40 </UL>
41 <A NAME="IDX2691"></A>
42 <HR><H2><A NAME="HDRWQ100" HREF="auqbg002.htm#ToC_98">Installing an Additional File Server Machine</A></H2>
43 <P>The procedure for installing a new file server machine is
44 similar to installing the first file server machine in your cell. There
45 are a few parts of the installation that differ depending on whether the
46 machine is the same AFS system type as an existing file server machine or is
47 the first file server machine of its system type in your cell. The
48 differences mostly concern the source for the needed binaries and files, and
49 what portions of the Update Server you install:
50 <UL>
51 <P><LI>On a new system type, you must load files and binaries from the AFS
52 CD-ROM. You install the server portion of the Update Server to make
53 this machine the binary distribution machine for its system type.
54 <P><LI>On an existing system type, you can copy files and binaries from a
55 previously installed file server machine, rather than from the CD-ROM.
56 You install the client portion of the Update Server to accept updates of
57 binaries, because a previously installed machine of this type was installed as
58 the binary distribution machine.
59 </UL>
60 <P>These instructions are brief; for more detailed information, refer to
61 the corresponding steps in <A HREF="auqbg005.htm#HDRWQ17">Installing the First AFS Machine</A>.
62 <A NAME="IDX2692"></A>
63 <P>To install a new file server machine, perform the following
64 procedures:
65 <OL TYPE=1>
66 <P><LI>Copy needed binaries and files onto this machine's local disk
67 <P><LI>Incorporate AFS modifications into the kernel
68 <P><LI>Configure partitions for storing volumes
69 <P><LI>Replace the standard <B>fsck</B> utility with the AFS-modified version
70 on some system types
71 <P><LI>Start the Basic OverSeer (BOS) Server
72 <P><LI>Start the appropriate portion of the Update Server
73 <P><LI>Start the <B>fs</B> process, which incorporates three component
74 processes: the File Server, Volume Server, and Salvager
75 <P><LI>Start the controller process (called <B>runntp</B>) for the Network
76 Time Protocol Daemon, which synchronizes clocks
77 </OL>
78 <P>After completing the instructions in this section, you can install database
79 server functionality on the machine according to the instructions in <A HREF="#HDRWQ114">Installing Database Server Functionality</A>.
80 <A NAME="IDX2693"></A>
81 <A NAME="IDX2694"></A>
82 <A NAME="IDX2695"></A>
83 <A NAME="IDX2696"></A>
84 <A NAME="IDX2697"></A>
85 <A NAME="IDX2698"></A>
86 <A NAME="IDX2699"></A>
87 <A NAME="IDX2700"></A>
88 <A NAME="IDX2701"></A>
89 <A NAME="IDX2702"></A>
90 <A NAME="IDX2703"></A>
91 <A NAME="IDX2704"></A>
92 <A NAME="IDX2705"></A>
93 <P><H3><A NAME="Header_99" HREF="auqbg002.htm#ToC_99">Creating AFS Directories and Performing Platform-Specific Procedures</A></H3>
94 <P>Create the <B>/usr/afs</B> and <B>/usr/vice/etc</B> directories
95 on the local disk. Subsequent instructions copy files from the AFS
96 distribution CD-ROM into them, at the appropriate point for each system
97 type.
98 <PRE>      
99    # <B>mkdir /usr/afs</B>
100       
101    # <B>mkdir /usr/afs/bin</B>
102       
103    # <B>mkdir /usr/vice</B>
104       
105    # <B>mkdir /usr/vice/etc</B>
106    
107    # <B>mkdir /cdrom</B>     
108 </PRE>
109 <P>As on the first file server machine, the initial procedures in installing
110 an additional file server machine vary a good deal from platform to
111 platform. For convenience, the following sections group together all of
112 the procedures for a system type. Most of the remaining procedures are
113 the same on every system type, but differences are noted as
114 appropriate. The initial procedures are the following.
115 <UL>
116 <P><LI>Incorporate AFS modifications into the kernel, either by using a dynamic
117 kernel loader program or by building a new static kernel
118 <P><LI>Configure server partitions to house AFS volumes
119 <P><LI>Replace the operating system vendor's <B>fsck</B> program with a
120 version that recognizes AFS data
121 <A NAME="IDX2706"></A>
122 <P><LI>If the machine is to remain an AFS client machine, modify the
123 machine's authentication system so that users obtain an AFS token as they
124 log into the local file system. (For this procedure only, the
125 instructions direct you to the platform-specific section in <A HREF="auqbg005.htm#HDRWQ17">Installing the First AFS Machine</A>.)
126 </UL>
127 <P>To continue, proceed to the section for this system type:
128 <UL>
129 <P><LI><A HREF="#HDRWQ101">Getting Started on AIX Systems</A>
130 <P><LI><A HREF="#HDRWQ102">Getting Started on Digital UNIX Systems</A>
131 <P><LI><A HREF="#HDRWQ103">Getting Started on HP-UX Systems</A>
132 <P><LI><A HREF="#HDRWQ104">Getting Started on IRIX Systems</A>
133 <P><LI><A HREF="#HDRWQ106">Getting Started on Linux Systems</A>
134 <P><LI><A HREF="#HDRWQ107">Getting Started on Solaris Systems</A>
135 </UL>
136 <P><H4><A NAME="HDRWQ101">Getting Started on AIX Systems</A></H4>
137 <P>Begin by running the AFS initialization script to call the
138 AIX kernel extension facility, which dynamically loads AFS modifications into
139 the kernel. Then configure partitions and replace the AIX
140 <B>fsck</B> program with a version that correctly handles AFS
141 volumes.
142 <OL TYPE=1>
143 <A NAME="IDX2707"></A>
144 <A NAME="IDX2708"></A>
145 <A NAME="IDX2709"></A>
146 <A NAME="IDX2710"></A>
147 <P><LI>Mount the AFS CD-ROM for AIX on the local <B>/cdrom</B>
148 directory. For instructions on mounting CD-ROMs (either locally or
149 remotely via NFS), see your AIX documentation. Then change directory as
150 indicated. 
151 <PRE>   
152    # <B>cd  /cdrom/rs_aix42/root.client/usr/vice/etc</B>
153    
154 </PRE>
155 <P><LI>Copy the AFS kernel library files to the local
156 <B>/usr/vice/etc/dkload</B> directory, and the AFS initialization script
157 to the <B>/etc</B> directory. 
158 <PRE>   
159    # <B>cp -rp  dkload  /usr/vice/etc</B>
160    
161    # <B>cp -p  rc.afs  /etc/rc.afs</B>
162     
163 </PRE>
164 <P><LI>Edit the <B>/etc/rc.afs</B> script, setting the <TT>NFS</TT>
165 variable as indicated.
166 <P>If the machine is not to function as an NFS/AFS Translator, set the
167 <TT>NFS</TT> variable as follows.
168 <PRE>      
169    NFS=$NFS_NONE
170 </PRE> 
171 <P>If the machine is to function as an NFS/AFS Translator and is running AIX
172 4.2.1 or higher, set the <TT>NFS</TT> variable as
173 follows. Note that NFS must already be loaded into the kernel, which
174 happens automatically on systems running AIX 4.1.1 and later, as
175 long as the file <B>/etc/exports</B> exists.
176 <PRE>   
177    NFS=$NFS_IAUTH
178    
179 </PRE>
180 <P><LI>Invoke the <B>/etc/rc.afs</B> script to load AFS modifications
181 into the kernel. You can ignore any error messages about the inability
182 to start the BOS Server or the Cache Manager or AFS client.
183 <PRE>   
184    # <B>/etc/rc.afs</B>
185    
186 </PRE>
187 <A NAME="IDX2711"></A>
188 <A NAME="IDX2712"></A>
189 <A NAME="IDX2713"></A>
190 <A NAME="IDX2714"></A>
191 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
192 partition you are configuring (there must be at least one). Repeat the
193 command for each partition.
194 <PRE>   
195    # <B>mkdir /vicep</B><VAR>xx</VAR>
196    
197 </PRE>
198 <P><LI>Use the <B>SMIT</B> program to create a journaling file system on each
199 partition to be configured as an AFS server partition.
200 <P><LI>Mount each partition at one of the <B>/vicep</B><VAR>xx</VAR>
201 directories. Choose one of the following three methods:
202 <UL>
203 <P><LI>Use the <B>SMIT</B> program
204 <P><LI>Use the <B>mount -a</B> command to mount all partitions at once
205 <P><LI>Use the <B>mount</B> command on each partition in turn
206 </UL> 
207 <P>Also configure the partitions so that they are mounted automatically at
208 each reboot. For more information, refer to the AIX
209 documentation.
210 <A NAME="IDX2715"></A>
211 <A NAME="IDX2716"></A>
212 <A NAME="IDX2717"></A>
213 <A NAME="IDX2718"></A>
214 <P><LI>Move the AIX <B>fsck</B> program helper to a safe location and install
215 the version from the AFS distribution in its place. The AFS CD-ROM must
216 still be mounted at the <B>/cdrom</B> directory. 
217 <PRE>   
218    # <B>cd /sbin/helpers</B>
219    
220    # <B>mv v3fshelper v3fshelper.noafs</B>
221    
222    # <B>cp -p /cdrom/rs_aix42/root.server/etc/v3fshelper v3fshelper</B>
223    
224  
225 </PRE>
226 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
227 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ25">Enabling AFS Login on AIX Systems</A>.
228 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
229 </OL>
230 <P><H4><A NAME="HDRWQ102">Getting Started on Digital UNIX Systems</A></H4>
231 <P>Begin by building AFS modifications into the kernel, then
232 configure server partitions and replace the Digital UNIX <B>fsck</B>
233 program with a version that correctly handles AFS volumes.
234 <P>If the machine's hardware and software configuration exactly matches
235 another Digital UNIX machine on which AFS is already built into the kernel,
236 you can copy the kernel from that machine to this one. In general,
237 however, it is better to build AFS modifications into the kernel on each
238 machine according to the following instructions.
239 <OL TYPE=1>
240 <A NAME="IDX2719"></A>
241 <A NAME="IDX2720"></A>
242 <A NAME="IDX2721"></A>
243 <A NAME="IDX2722"></A>
244 <P><LI>Create a copy called <B>AFS</B> of the basic kernel configuration file
245 included in the Digital UNIX distribution as
246 <B>/usr/sys/conf/</B><VAR>machine_name</VAR>, where <VAR>machine_name</VAR> is
247 the machine's hostname in all uppercase letters. 
248 <PRE>   
249    # <B>cd /usr/sys/conf</B>
250    
251    # <B>cp</B> <VAR>machine_name</VAR> <B>AFS</B>
252    
253 </PRE>
254 <P><LI>Add AFS to the list of options in the configuration file you created in
255 the previous step, so that the result looks like the following: 
256 <PRE>          .                   .
257           .                   .
258        options               UFS
259        options               NFS
260        options               AFS
261           .                   .
262           .                   .
263    
264 </PRE>
265 <P><LI>Add an entry for AFS to two places in the file
266 <B>/usr/sys/conf/files</B>. 
267 <UL>
268 <P><LI>Add a line for AFS to the list of <TT>OPTIONS</TT>, so that the result
269 looks like the following:
270 <PRE>             .                .      .
271              .                .      .
272       OPTIONS/nfs          optional nfs 
273       OPTIONS/afs          optional afs 
274       OPTIONS/nfs_server   optional nfs_server
275              .                .      .
276              .                .      .
277    
278 </PRE>
279 <P><LI>Add an entry for AFS to the list of <TT>MODULES</TT>, so that the result
280 looks like the following:
281 <PRE>             .                  .        .          .
282              .                  .        .          .
283       #
284       MODULE/nfs_server     optional nfs_server Binary
285       nfs/nfs_server.c      module nfs_server optimize -g3
286       nfs/nfs3_server.c     module nfs_server optimize -g3
287       #
288       MODULE/afs            optional afs Binary
289       afs/libafs.c          module afs
290       #
291    
292 </PRE>
293 </UL>
294 <P><LI>Add an entry for AFS to two places in the file
295 <B>/usr/sys/vfs/vfs_conf.c</B>. 
296 <UL>
297 <P><LI>Add AFS to the list of defined file systems, so that the result looks like
298 the following:
299 <PRE>        .       .              
300         .       .              
301      #include &lt;afs.h>
302      #if defined(AFS) &amp;&amp; AFS
303             extern struct vfsops afs_vfsops;
304      #endif  
305         .       .              
306         .       .              
307    
308 </PRE>
309 <P><LI>Put a declaration for AFS in the <B>vfssw[]</B> table's
310 MOUNT_ADDON slot, so that the result looks like the following: 
311 <PRE>        .                          .              .
312         .                          .              .
313       &amp;fdfs_vfsops,         "fdfs",   /* 12 = MOUNT_FDFS */
314    #if  defined(AFS)
315       &amp;afs_vfsops,          "afs",
316    #else
317       (struct vfsops *)0,   "",       /* 13 = MOUNT_ADDON */
318    #endif
319    #if NFS &amp;&amp; INFS_DYNAMIC   
320        &amp;nfs3_vfsops,        "nfsv3",  /* 14 = MOUNT_NFS3 */         
321    
322 </PRE>
323 </UL>
324 <P><LI>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
325 directory. For instructions on mounting CD-ROMs (either locally or
326 remotely via NFS), see your Digital UNIX documentation. Then change
327 directory as indicated.
328 <PRE>   
329    # <B>cd /cdrom/alpha_dux40/root.client</B>
330    
331 </PRE>
332 <P><LI>Copy the AFS initialization script to the local directory for
333 initialization files (by convention, <B>/sbin/init.d</B> on Digital
334 UNIX machines). Note the removal of the <B>.rc</B> extension
335 as you copy the script.
336 <PRE>   
337    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
338    
339 </PRE>
340 <P><LI>Copy the AFS kernel module to the local <B>/usr/sys/BINARY</B>
341 directory. 
342 <P>If the machine's kernel supports NFS server functionality:
343 <PRE>  
344    # <B>cp bin/libafs.o /usr/sys/BINARY/afs.mod</B>   
345 </PRE> 
346 <P>If the machine's kernel does not support NFS server
347 functionality:
348 <PRE>  
349    # <B>cp bin/libafs.nonfs.o /usr/sys/BINARY/afs.mod</B>
350    
351 </PRE>
352 <P><LI>Configure and build the kernel. Respond to any prompts by pressing
353 &lt;<B>Return</B>>. The resulting kernel resides in the file
354 <B>/sys/AFS/vmunix</B>. 
355 <PRE>   
356    # <B>doconfig -c AFS</B>
357    
358 </PRE>
359 <P><LI>Rename the existing kernel file and copy the new, AFS-modified file to the
360 standard location. 
361 <PRE>   
362    # <B>mv /vmunix /vmunix_noafs</B>
363    
364    # <B>cp /sys/AFS/vmunix /vmunix</B>
365    
366 </PRE>
367 <P><LI>Reboot the machine to start using the new kernel, and login again as the
368 superuser <B>root</B>. 
369 <PRE>   
370    # <B>cd /</B>
371    
372    # <B>shutdown -r now</B>
373    
374    login: <B>root</B>
375    Password: <VAR>root_password</VAR>
376    
377 </PRE>
378 <A NAME="IDX2723"></A>
379 <A NAME="IDX2724"></A>
380 <A NAME="IDX2725"></A>
381 <A NAME="IDX2726"></A>
382 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
383 partition you are configuring (there must be at least one). Repeat the
384 command for each partition.
385 <PRE>   
386    # <B>mkdir /vicep</B><VAR>xx</VAR>
387    
388 </PRE>
389 <P><LI>Add a line with the following format to the file systems registry file,
390 <B>/etc/fstab</B>, for each directory just created. The entry maps
391 the directory name to the disk partition to be mounted on it.
392 <PRE>   
393    /dev/<VAR>disk</VAR> /vicep<VAR>xx</VAR> ufs rw 0 2
394 </PRE> 
395 <P>The following is an example for the first partition being
396 configured. 
397 <PRE>   
398    /dev/rz3a /vicepa ufs rw 0 2
399    
400 </PRE>
401 <P><LI>Create a file system on each partition that is to be mounted at a
402 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
403 probably appropriate, but consult the Digital UNIX documentation for more
404 information. 
405 <PRE>   
406    #<B> newfs -v /dev/</B><VAR>disk</VAR>
407    
408 </PRE>
409 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
410 mount all partitions at once or the <B>mount</B> command to mount each
411 partition in turn.
412 <A NAME="IDX2727"></A>
413 <A NAME="IDX2728"></A>
414 <A NAME="IDX2729"></A>
415 <A NAME="IDX2730"></A>
416 <P><LI>Install the <B>vfsck</B> binary to the <B>/sbin</B> and
417 <B>/usr/sbin</B> directories. The AFS CD-ROM must still be mounted
418 at the <B>/cdrom</B> directory.
419 <PRE>   
420    # <B>cd /cdrom/alpha_dux40/root.server/etc</B>
421    
422    # <B>cp vfsck /sbin/vfsck</B>
423    
424    # <B>cp vfsck /usr/sbin/vfsck</B>
425    
426 </PRE>
427 <P><LI>Rename the Digital UNIX <B>fsck</B> binaries and create symbolic links
428 to the <B>vfsck</B> program.
429 <PRE>   
430    # <B>cd /sbin</B>
431    
432    # <B>mv ufs_fsck ufs_fsck.noafs</B>
433    
434    # <B>ln -s vfsck ufs_fsck</B>
435    
436    # <B>cd /usr/sbin</B>
437    
438    # <B>mv ufs_fsck ufs_fsck.noafs</B>
439    
440    # <B>ln -s vfsck ufs_fsck</B>
441    
442 </PRE>
443 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
444 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ30">Enabling AFS Login on Digital UNIX Systems</A>.
445 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
446 </OL>
447 <P><H4><A NAME="HDRWQ103">Getting Started on HP-UX Systems</A></H4>
448 <P>Begin by building AFS modifications into the kernel, then
449 configure server partitions and replace the HP-UX <B>fsck</B> program with
450 a version that correctly handles AFS volumes.
451 <P>If the machine's hardware and software configuration exactly matches
452 another HP-UX machine on which AFS is already built into the kernel, you can
453 copy the kernel from that machine to this one. In general, however, it
454 is better to build AFS modifications into the kernel on each machine according
455 to the following instructions.
456 <OL TYPE=1>
457 <A NAME="IDX2731"></A>
458 <A NAME="IDX2732"></A>
459 <A NAME="IDX2733"></A>
460 <A NAME="IDX2734"></A>
461 <P><LI>Move the existing kernel-related files to a safe location. 
462 <PRE>   
463    # <B>cp /stand/vmunix /stand/vmunix.noafs</B>
464    
465    # <B>cp /stand/system /stand/system.noafs</B>
466    
467 </PRE>
468 <P><LI>Mount the AFS CD-ROM for HP-UX on the local <B>/cdrom</B>
469 directory. For instructions on mounting CD-ROMs (either locally or
470 remotely via NFS), see your HP-UX documentation. Then change directory
471 as indicated. 
472 <PRE>   
473    # <B>cd /cdrom/hp_ux110/root.client</B>
474    
475 </PRE>
476 <P><LI>Copy the AFS initialization file to the local directory for initialization
477 files (by convention, <B>/sbin/init.d</B> on HP-UX
478 machines). Note the removal of the <B>.rc</B> extension as
479 you copy the file.
480 <PRE>   
481    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
482    
483 </PRE>
484 <P><LI>Copy the file <B>afs.driver</B> to the local
485 <B>/usr/conf/master.d</B> directory, changing its name to
486 <B>afs</B> as you do. 
487 <PRE>     
488    # <B>cp  usr/vice/etc/afs.driver  /usr/conf/master.d/afs</B>
489    
490 </PRE>
491 <P><LI>Copy the AFS kernel module to the local <B>/usr/conf/lib</B>
492 directory. 
493 <P>If the machine's kernel supports NFS server functionality:
494 <PRE>   
495    # <B>cp bin/libafs.a /usr/conf/lib</B>   
496 </PRE>
497 <P>If the machine's kernel does not support NFS server functionality,
498 change the file's name as you copy it:
499 <PRE>   
500    # <B>cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</B>
501    
502 </PRE>
503 <P><LI>Incorporate the AFS driver into the kernel, either using the
504 <B>SAM</B> program or a series of individual commands. 
505 <UL>
506 <P><LI>To use the <B>SAM</B> program: 
507 <OL TYPE=a>
508 <P><LI>Invoke the <B>SAM</B> program, specifying the hostname of the local
509 machine as <VAR>local_hostname</VAR>. The <B>SAM</B> graphical user
510 interface pops up. 
511 <PRE>   
512    # <B>sam -display</B> <VAR>local_hostname</VAR><B>:0</B> 
513    
514 </PRE>
515 <P><LI>Choose the <B>Kernel Configuration</B> icon, then the
516 <B>Drivers</B> icon. From the list of drivers, select
517 <B>afs</B>.
518 <P><LI>Open the pull-down <B>Actions</B> menu and choose the <B>Add Driver
519 to Kernel</B> option.
520 <P><LI>Open the <B>Actions</B> menu again and choose the <B>Create a New
521 Kernel</B> option.
522 <P><LI>Confirm your choices by choosing <B>Yes</B> and <B>OK</B> when
523 prompted by subsequent pop-up windows. The <B>SAM</B> program
524 builds the kernel and reboots the system.
525 <P><LI>Login again as the superuser <B>root</B>.
526 <PRE>   
527    login: <B>root</B>
528    Password: <VAR>root_password</VAR>
529    
530 </PRE>
531 </OL>
532 <P><LI>To use individual commands: 
533 <OL TYPE=a>
534 <P><LI>Edit the file <B>/stand/system</B>, adding an entry for <B>afs</B>
535 to the <TT>Subsystems</TT> section.
536 <P><LI>Change to the <B>/stand/build</B> directory and issue the
537 <B>mk_kernel</B> command to build the kernel. 
538 <PRE>   
539    # <B>cd /stand/build</B>
540       
541    # <B>mk_kernel</B>
542    
543 </PRE>
544 <P><LI>Move the new kernel to the standard location (<B>/stand/vmunix</B>),
545 reboot the machine to start using it, and login again as the superuser
546 <B>root</B>.
547 <PRE>   
548    # <B>mv /stand/build/vmunix_test /stand/vmunix</B>
549       
550    # <B>cd /</B>
551       
552    # <B>shutdown -r now</B>             
553    
554    login: <B>root</B>
555    Password: <VAR>root_password</VAR>
556    
557 </PRE>
558 </OL>
559 </UL>
560 <A NAME="IDX2735"></A>
561 <A NAME="IDX2736"></A>
562 <A NAME="IDX2737"></A>
563 <A NAME="IDX2738"></A>
564 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
565 partition you are configuring (there must be at least one). Repeat the
566 command for each partition.
567 <PRE>   
568    # <B>mkdir /vicep</B><VAR>xx</VAR>
569    
570 </PRE>
571 <P><LI>Use the <B>SAM</B> program to create a file system on each
572 partition. For instructions, consult the HP-UX documentation.
573 <P><LI>On some HP-UX systems that use logical volumes, the <B>SAM</B> program
574 automatically mounts the partitions. If it has not, mount each
575 partition by issuing either the <B>mount -a</B> command to mount all
576 partitions at once or the <B>mount</B> command to mount each partition in
577 turn.
578 <A NAME="IDX2739"></A>
579 <A NAME="IDX2740"></A>
580 <A NAME="IDX2741"></A>
581 <A NAME="IDX2742"></A>
582 <P><LI>Create the command configuration file
583 <B>/sbin/lib/mfsconfig.d/afs</B>. Use a text editor to place
584 the indicated two lines in it: 
585 <PRE>   
586    format_revision 1
587    fsck            0        m,P,p,d,f,b:c:y,n,Y,N,q,
588    
589 </PRE>
590 <P><LI>Create and change directory to an AFS-specific command directory called
591 <B>/sbin/fs/afs</B>. 
592 <PRE>   
593    # <B>mkdir /sbin/fs/afs</B>
594    
595    # <B>cd  /sbin/fs/afs</B>
596    
597 </PRE>
598 <P><LI>Copy the AFS-modified version of the <B>fsck</B> program (the
599 <B>vfsck</B> binary) and related files from the distribution directory to
600 the new AFS-specific command directory. 
601 <PRE>   
602    # <B>cp -p /cdrom/hp_ux110/root.server/etc/*  .</B>
603           
604 </PRE>
605 <P><LI>Change the <B>vfsck</B> binary's name to <B>fsck</B> and set
606 the mode bits appropriately on all of the files in the <B>/sbin/fs/afs</B>
607 directory.
608 <PRE>      
609    # <B>mv  vfsck  fsck</B>
610    
611    # <B>chmod  755  *</B>
612    
613 </PRE>
614 <P><LI>Edit the <B>/etc/fstab</B> file, changing the file system type for
615 each AFS server partition from <TT>hfs</TT> to <TT>afs</TT>. This
616 ensures that the AFS-modified <B>fsck</B> program runs on the appropriate
617 partitions. 
618 <P>The sixth line in the following example of an edited file shows an AFS
619 server partition, <B>/vicepa</B>. 
620 <PRE>   
621    /dev/vg00/lvol1 / hfs defaults 0 1
622    /dev/vg00/lvol4 /opt hfs defaults 0 2
623    /dev/vg00/lvol5 /tmp hfs defaults 0 2
624    /dev/vg00/lvol6 /usr hfs defaults 0 2
625    /dev/vg00/lvol8 /var hfs defaults 0 2
626    /dev/vg00/lvol9 /vicepa afs defaults 0 2
627    /dev/vg00/lvol7 /usr/vice/cache hfs defaults 0 2
628    
629 </PRE>
630 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
631 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ35">Enabling AFS Login on HP-UX Systems</A>.
632 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
633 </OL>
634 <P><H4><A NAME="HDRWQ104">Getting Started on IRIX Systems</A></H4>
635 <P>Begin by incorporating AFS modifications into the
636 kernel. Either use the <B>ml</B> dynamic loader program, or build a
637 static kernel. Then configure partitions to house AFS volumes.
638 AFS supports use of both EFS and XFS partitions for housing AFS
639 volumes. SGI encourages use of XFS partitions.
640 <A NAME="IDX2743"></A>
641 <A NAME="IDX2744"></A>
642 <P>You do not need to replace IRIX <B>fsck</B> program, because the
643 version that SGI distributes handles AFS volumes properly.
644 <OL TYPE=1>
645 <A NAME="IDX2745"></A>
646 <A NAME="IDX2746"></A>
647 <A NAME="IDX2747"></A>
648 <P><LI>Prepare for incorporating AFS into the kernel by performing the following
649 procedures. 
650 <OL TYPE=a>
651 <P><LI>Mount the AFS CD-ROM for IRIX on the <B>/cdrom</B> directory.
652 For instructions on mounting CD-ROMs (either locally or remotely via NFS), see
653 your IRIX documentation. Then change directory as indicated.
654 <PRE>   
655    # <B>cd  /cdrom/sgi_65/root.client</B>
656    
657 </PRE>
658 <P><LI>Copy the AFS initialization script to the local directory for
659 initialization files (by convention, <B>/etc/init.d</B> on IRIX
660 machines). Note the removal of the <B>.rc</B> extension as
661 you copy the script.
662 <PRE>   
663    # <B>cp -p   usr/vice/etc/afs.rc  /etc/init.d/afs</B>
664    
665 </PRE>
666 <P><LI>Issue the <B>uname -m</B> command to determine the machine's CPU
667 board type. The <B>IP</B><VAR>xx</VAR> value in the output must match
668 one of the supported CPU board types listed in the <I>IBM AFS Release
669 Notes</I> for the current version of AFS.
670 <PRE>   
671    # <B>uname -m</B>
672     
673 </PRE>
674 </OL>
675 <P><LI>Incorporate AFS into the kernel, either using the <B>ml</B> program or
676 by building AFS modifications into a static kernel. 
677 <UL>
678 <A NAME="IDX2748"></A>
679 <P><LI>To use the <B>ml</B> program: 
680 <A NAME="IDX2749"></A>
681 <A NAME="IDX2750"></A>
682 <A NAME="IDX2751"></A>
683 <A NAME="IDX2752"></A>
684 <A NAME="IDX2753"></A>
685 <A NAME="IDX2754"></A>
686 <OL TYPE=a>
687 <P><LI>Create the local <B>/usr/vice/etc/sgiload</B> directory to house the
688 AFS kernel library file.
689 <PRE>   
690    # <B>mkdir /usr/vice/etc/sgiload</B>
691    
692 </PRE>
693 <P><LI>Copy the appropriate AFS kernel library file to the
694 <B>/usr/vice/etc/sgiload</B> directory. The
695 <B>IP</B><VAR>xx</VAR> portion of the library file name must match the value
696 previously returned by the <B>uname -m</B> command. Also choose the
697 file appropriate to whether the machine's kernel supports NFS server
698 functionality (NFS must be supported for the machine to act as an NFS/AFS
699 Translator). Single- and multiprocessor machines use the same library
700 file. 
701 <P>(You can choose to copy all of the kernel library files into the <B>
702 /usr/vice/etc/sgiload</B> directory, but they require a significant amount
703 of space.) 
704 <P>If the machine's kernel supports NFS server functionality:
705 <PRE>   
706    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.o  /usr/vice/etc/sgiload</B>   
707 </PRE> 
708 <P>If the machine's kernel does not support NFS server
709 functionality:
710 <PRE>   
711    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.nonfs.o</B>   \
712                    <B>/usr/vice/etc/sgiload</B>
713    
714 </PRE>
715 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afsml</B>
716 configuration variable. 
717 <PRE>   
718    # <B>/etc/chkconfig -f afsml on</B>   
719 </PRE> 
720 <P>If the machine is to function as an NFS/AFS Translator and the kernel
721 supports NFS server functionality, activate the <B>afsxnfs</B>
722 variable.
723 <PRE>   
724    # <B>/etc/chkconfig -f afsxnfs on</B>
725    
726 </PRE>
727 <P><LI>Run the <B>/etc/init.d/afs</B> script to load AFS extensions
728 into the kernel. The script invokes the <B>ml</B> command,
729 automatically determining which kernel library file to use based on this
730 machine's CPU type and the activation state of the <B>afsxnfs</B>
731 variable. 
732 <P>You can ignore any error messages about the inability to start the BOS
733 Server or the Cache Manager or AFS client.
734 <PRE>   
735    # <B>/etc/init.d/afs start</B>
736    
737 </PRE>
738 <P><LI>Proceed to Step <A HREF="#LIWQ105">3</A>.
739 </OL>
740 <A NAME="IDX2755"></A>
741 <P><LI>If you prefer to build a kernel, and the machine's hardware and
742 software configuration exactly matches another IRIX machine on which AFS is
743 already built into the kernel, you can copy the kernel from that machine to
744 this one. In general, however, it is better to build AFS modifications
745 into the kernel on each machine according to the following
746 instructions. 
747 <OL TYPE=a>
748 <P><LI>Copy the kernel initialization file <B>afs.sm</B> to the local
749 <B>/var/sysgen/system</B> directory, and the kernel master file
750 <B>afs</B> to the local <B>/var/sysgen/master.d</B>
751 directory.
752 <PRE>   
753    # <B>cp -p  bin/afs.sm  /var/sysgen/system</B>
754    
755    # <B>cp -p  bin/afs  /var/sysgen/master.d</B>
756    
757 </PRE>
758 <P><LI>Copy the appropriate AFS kernel library file to the local file
759 <B>/var/sysgen/boot/afs.a</B>; the <B>IP</B><VAR>xx</VAR>
760 portion of the library file name must match the value previously returned by
761 the <B>uname -m</B> command. Also choose the file appropriate to
762 whether the machine's kernel supports NFS server functionality (NFS must
763 be supported for the machine to act as an NFS/AFS Translator). Single-
764 and multiprocessor machines use the same library file. 
765 <P>If the machine's kernel supports NFS server functionality:
766 <PRE>   
767    # <B>cp -p   bin/libafs.IP</B><VAR>xx</VAR><B>.a   /var/sysgen/boot/afs.a</B>   
768 </PRE> 
769 <P>If the machine's kernel does not support NFS server
770 functionality:
771 <PRE>   
772    # <B>cp -p  bin/libafs.IP</B><VAR>xx</VAR><B>.nonfs.a  /var/sysgen/boot/afs.a</B>
773    
774 </PRE>
775 <P><LI>Issue the <B>chkconfig</B> command to deactivate the <B>afsml</B>
776 configuration variable. 
777 <PRE>   
778    # <B>/etc/chkconfig -f afsml off</B>   
779 </PRE> 
780 <P>If the machine is to function as an NFS/AFS Translator and the kernel
781 supports NFS server functionality, activate the <B>afsxnfs</B>
782 variable. 
783 <PRE>    
784    # <B>/etc/chkconfig -f afsxnfs on</B>
785    
786 </PRE>
787 <P><LI>Copy the existing kernel file, <B>/unix</B>, to a safe
788 location. Compile the new kernel, which is created in the file
789 <B>/unix.install</B>. It overwrites the existing
790 <B>/unix</B> file when the machine reboots in the next step. 
791 <PRE>   
792    # <B>cp /unix /unix_noafs</B>
793    
794    # <B>autoconfig</B>
795    
796 </PRE>
797 <P><LI>Reboot the machine to start using the new kernel, and login again as the
798 superuser <B>root</B>. 
799 <PRE>   
800    # <B>cd /</B>
801          
802    # <B>shutdown -i6 -g0 -y</B>
803    
804    login: <B>root</B>
805    Password: <VAR>root_password</VAR>
806    
807 </PRE>
808 </OL>
809 </UL>
810 <A NAME="IDX2756"></A>
811 <A NAME="IDX2757"></A>
812 <A NAME="IDX2758"></A>
813 <A NAME="IDX2759"></A>
814 <P><LI><A NAME="LIWQ105"></A>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each
815 AFS server partition you are configuring (there must be at least one).
816 Repeat the command for each partition.
817 <PRE>   
818    # <B>mkdir /vicep</B><VAR>xx</VAR>
819    
820 </PRE>
821 <P><LI>Add a line with the following format to the file systems registry file,
822 <B>/etc/fstab</B>, for each partition (or logical volume created with the
823 XLV volume manager) to be mounted on one of the directories created in the
824 previous step. 
825 <P>For an XFS partition or logical volume:
826 <PRE>   
827    /dev/dsk/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  xfs  rw,raw=/dev/rdsk/<VAR>disk</VAR>  0  0   
828 </PRE> 
829 <P>For an EFS partition:
830 <PRE>   
831    /dev/dsk/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  efs  rw,raw=/dev/rdsk/<VAR>disk</VAR>  0  0   
832 </PRE> 
833 <P>The following are examples of an entry for each file system type:
834 <PRE>   
835    /dev/dsk/dks0d2s6 /vicepa  xfs rw,raw=/dev/rdsk/dks0d2s6  0 0
836    /dev/dsk/dks0d3s1 /vicepb  efs rw,raw=/dev/rdsk/dks0d3s1  0 0
837    
838 </PRE>
839 <P><LI>Create a file system on each partition that is to be mounted on a
840 <B>/vicep</B><VAR>xx</VAR> directory. The following commands are
841 probably appropriate, but consult the IRIX documentation for more
842 information. In both cases, <VAR>raw_device</VAR> is a raw device name
843 like <B>/dev/rdsk/dks0d0s0</B> for a single disk partition or
844 <B>/dev/rxlv/xlv0</B> for a logical volume. 
845 <P>For XFS file systems, include the indicated options to configure the
846 partition or logical volume with inodes large enough to accommodate
847 AFS-specific information:
848 <PRE>   
849    # <B>mkfs -t xfs -i size=512 -l size=4000b</B> <VAR>raw_device</VAR>   
850 </PRE> 
851 <P>For EFS file systems: 
852 <PRE>   
853    # <B>mkfs -t efs</B> <VAR>raw_device</VAR>
854    
855 </PRE>
856 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
857 mount all partitions at once or the <B>mount</B> command to mount each
858 partition in turn.
859 <P><LI><B>(Optional)</B> If you have configured partitions or logical volumes
860 to use XFS, issue the following command to verify that the inodes are
861 configured properly (are large enough to accommodate AFS-specific
862 information). If the configuration is correct, the command returns no
863 output. Otherwise, it specifies the command to run in order to
864 configure each partition or logical volume properly. 
865 <PRE>   
866    # <B>/usr/afs/bin/xfs_size_check</B>
867    
868 </PRE>
869 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
870 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ40">Enabling AFS Login on IRIX Systems</A>.
871 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
872 </OL>
873 <P><H4><A NAME="HDRWQ106">Getting Started on Linux Systems</A></H4>
874 <A NAME="IDX2760"></A>
875 <A NAME="IDX2761"></A>
876 <P>Begin by running the AFS initialization script to call the
877 <B>insmod</B> program, which dynamically loads AFS modifications into the
878 kernel. Then create partitions for storing AFS volumes. You do
879 not need to replace the Linux <B>fsck</B> program.
880 <OL TYPE=1>
881 <A NAME="IDX2762"></A>
882 <A NAME="IDX2763"></A>
883 <A NAME="IDX2764"></A>
884 <A NAME="IDX2765"></A>
885 <P><LI>Mount the AFS CD-ROM for Linux on the local <B>/cdrom</B>
886 directory. For instructions on mounting CD-ROMs (either locally or
887 remotely via NFS), see your Linux documentation. Then change directory
888 as indicated. 
889 <PRE>   
890    # <B>cd  /cdrom/i386_linux22/root.client/usr/vice/etc</B>
891    
892 </PRE>
893 <P><LI>Copy the AFS kernel library files to the local
894 <B>/usr/vice/etc/modload</B> directory. The filenames for the
895 libraries have the format
896 <B>libafs-</B><VAR>version</VAR><B>.o</B>, where <VAR>version</VAR>
897 indicates the kernel build level. The string <B>.mp</B> in
898 the <VAR>version</VAR> indicates that the file is appropriate for machines
899 running a multiprocessor kernel. 
900 <PRE>   
901    # <B>cp -rp  modload  /usr/vice/etc</B>
902    
903 </PRE>
904 <P><LI>Copy the AFS initialization script to the local directory for
905 initialization files (by convention, <B>/etc/rc.d/init.d</B>
906 on Linux machines). Note the removal of the <B>.rc</B>
907 extension as you copy the script.
908 <PRE>   
909    # <B>cp -p   afs.rc  /etc/rc.d/init.d/afs</B> 
910     
911 </PRE>
912 <P><LI>Run the AFS initialization script to load AFS extensions into the
913 kernel. You can ignore any error messages about the inability to start
914 the BOS Server or the Cache Manager or AFS client.
915 <PRE>   
916    # <B>/etc/rc.d/init.d/afs  start</B>
917    
918 </PRE>
919 <A NAME="IDX2766"></A>
920 <A NAME="IDX2767"></A>
921 <A NAME="IDX2768"></A>
922 <A NAME="IDX2769"></A>
923 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
924 partition you are configuring (there must be at least one). Repeat the
925 command for each partition.
926 <PRE>   
927    # <B>mkdir /vicep</B><VAR>xx</VAR>
928    
929 </PRE>
930 <P><LI>Add a line with the following format to the file systems registry file,
931 <B>/etc/fstab</B>, for each directory just created. The entry maps
932 the directory name to the disk partition to be mounted on it.
933 <PRE>   
934    /dev/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  ext2  defaults  0  2   
935 </PRE> 
936 <P>The following is an example for the first partition being
937 configured. 
938 <PRE>   
939    /dev/sda8 /vicepa ext2 defaults 0 2
940    
941 </PRE>
942 <P><LI>Create a file system on each partition that is to be mounted at a
943 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
944 probably appropriate, but consult the Linux documentation for more
945 information. 
946 <PRE>   
947    #<B> mkfs -v /dev/</B><VAR>disk</VAR>
948    
949 </PRE>
950 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
951 mount all partitions at once or the <B>mount</B> command to mount each
952 partition in turn.
953 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
954 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ44">Enabling AFS Login on Linux Systems</A>.
955 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
956 </OL>
957 <P><H4><A NAME="HDRWQ107">Getting Started on Solaris Systems</A></H4>
958 <P>Begin by running the AFS initialization script to call the
959 <B>modload</B> program, which dynamically loads AFS modifications into the
960 kernel. Then configure partitions and replace the Solaris
961 <B>fsck</B> program with a version that correctly handles AFS
962 volumes.
963 <OL TYPE=1>
964 <A NAME="IDX2770"></A>
965 <A NAME="IDX2771"></A>
966 <A NAME="IDX2772"></A>
967 <A NAME="IDX2773"></A>
968 <P><LI>Mount the AFS CD-ROM for Solaris on the <B>/cdrom</B>
969 directory. For instructions on mounting CD-ROMs (either locally or
970 remotely via NFS), see your Solaris documentation. Then change
971 directory as indicated. 
972 <PRE>   
973    # <B>cd  /cdrom/sun4x_56/root.client/usr/vice/etc</B>
974    
975 </PRE>
976 <P><LI>Copy the AFS initialization script to the local directory for
977 initialization files (by convention, <B>/etc/init.d</B> on Solaris
978 machines). Note the removal of the <B>.rc</B> extension as
979 you copy the script. 
980 <PRE>   
981    # <B>cp -p  afs.rc  /etc/init.d/afs</B>
982    
983 </PRE>
984 <P><LI>Copy the appropriate AFS kernel library file to the local file
985 <B>/kernel/fs/afs</B>. 
986 <P>If the machine is running Solaris 2.6 or the 32-bit version of
987 Solaris 7, its kernel supports NFS server functionality, and the
988 <B>nfsd</B> process is running:
989 <PRE>   
990    # <B>cp -p modload/libafs.o /kernel/fs/afs</B>   
991 </PRE> 
992 <P>If the machine is running Solaris 2.6 or the 32-bit version of
993 Solaris 7, and its kernel does not support NFS server functionality or the
994 <B>nfsd</B> process is not running:
995 <PRE>   
996    # <B>cp -p modload/libafs.nonfs.o /kernel/fs/afs</B>   
997 </PRE> 
998 <P>If the machine is running the 64-bit version of Solaris 7, its kernel
999 supports NFS server functionality, and the <B>nfsd</B> process is
1000 running:
1001 <PRE>   
1002    # <B>cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</B>   
1003 </PRE> 
1004 <P>If the machine is running the 64-bit version of Solaris 7, and its
1005 kernel does not support NFS server functionality or the <B>nfsd</B>
1006 process is not running:
1007 <PRE>   
1008    # <B>cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</B>
1009    
1010 </PRE>
1011 <P><LI>Run the AFS initialization script to load AFS modifications into the
1012 kernel. You can ignore any error messages about the inability to start
1013 the BOS Server or the Cache Manager or AFS client.
1014 <PRE>   
1015    # <B>/etc/init.d/afs start</B>   
1016 </PRE> 
1017 <P>When an entry called <TT>afs</TT> does not already exist in the local
1018 <B>/etc/name_to_sysnum</B> file, the script automatically creates it and
1019 reboots the machine to start using the new version of the file. If this
1020 happens, log in again as the superuser <B>root</B> after the reboot and
1021 run the initialization script again. This time the required entry
1022 exists in the <B>/etc/name_to_sysnum</B> file, and the <B>modload</B>
1023 program runs. 
1024 <PRE>   
1025    login: <B>root</B>
1026    Password: <VAR>root_password</VAR>
1027    
1028    # <B>/etc/init.d/afs start</B>
1029    
1030 </PRE>
1031 <A NAME="IDX2774"></A>
1032 <A NAME="IDX2775"></A>
1033 <A NAME="IDX2776"></A>
1034 <A NAME="IDX2777"></A>
1035 <P><LI>Create the <B>/usr/lib/fs/afs</B> directory to house the AFS-modified
1036 <B>fsck</B> program and related files. 
1037 <PRE>  
1038    # <B>mkdir /usr/lib/fs/afs</B>
1039    
1040    # <B>cd /usr/lib/fs/afs</B>  
1041   
1042 </PRE>
1043 <P><LI>Copy the <B>vfsck</B> binary to the newly created directory, changing
1044 the name as you do so. 
1045 <PRE>   
1046    # <B>cp  /cdrom/sun4x_56/root.server/etc/vfsck  fsck</B>
1047   
1048 </PRE>
1049 <P><LI>Working in the <B>/usr/lib/fs/afs</B> directory, create the following
1050 links to Solaris libraries: 
1051 <PRE>  
1052    # <B>ln -s /usr/lib/fs/ufs/clri</B>  
1053    # <B>ln -s /usr/lib/fs/ufs/df</B>
1054    # <B>ln -s /usr/lib/fs/ufs/edquota</B>
1055    # <B>ln -s /usr/lib/fs/ufs/ff</B>
1056    # <B>ln -s /usr/lib/fs/ufs/fsdb</B>  
1057    # <B>ln -s /usr/lib/fs/ufs/fsirand</B>
1058    # <B>ln -s /usr/lib/fs/ufs/fstyp</B>
1059    # <B>ln -s /usr/lib/fs/ufs/labelit</B>
1060    # <B>ln -s /usr/lib/fs/ufs/lockfs</B>
1061    # <B>ln -s /usr/lib/fs/ufs/mkfs</B>  
1062    # <B>ln -s /usr/lib/fs/ufs/mount</B>
1063    # <B>ln -s /usr/lib/fs/ufs/ncheck</B>
1064    # <B>ln -s /usr/lib/fs/ufs/newfs</B>
1065    # <B>ln -s /usr/lib/fs/ufs/quot</B>
1066    # <B>ln -s /usr/lib/fs/ufs/quota</B>
1067    # <B>ln -s /usr/lib/fs/ufs/quotaoff</B>
1068    # <B>ln -s /usr/lib/fs/ufs/quotaon</B>
1069    # <B>ln -s /usr/lib/fs/ufs/repquota</B>
1070    # <B>ln -s /usr/lib/fs/ufs/tunefs</B>
1071    # <B>ln -s /usr/lib/fs/ufs/ufsdump</B>
1072    # <B>ln -s /usr/lib/fs/ufs/ufsrestore</B>
1073    # <B>ln -s /usr/lib/fs/ufs/volcopy</B>
1074    
1075 </PRE>
1076 <P><LI>Append the following line to the end of the file
1077 <B>/etc/dfs/fstypes</B>. 
1078 <PRE>  
1079    afs AFS Utilities
1080   
1081 </PRE>
1082 <P><LI>Edit the <B>/sbin/mountall</B> file, making two changes. 
1083 <UL>
1084 <P><LI>Add an entry for AFS to the <TT>case</TT> statement for option 2, so
1085 that it reads as follows:
1086 <PRE>  
1087    case "$2" in
1088    ufs)    foptions="-o p"
1089            ;;
1090    afs)    foptions="-o p"
1091            ;;
1092    s5)     foptions="-y -t /var/tmp/tmp$$ -D"
1093            ;;
1094    *)      foptions="-y"
1095            ;;
1096   
1097 </PRE>
1098 <P><LI>Edit the file so that all AFS and UFS partitions are checked in
1099 parallel. Replace the following section of code:
1100 <PRE>  
1101    # For  fsck purposes, we make a distinction between ufs and
1102    # other file systems
1103    #
1104    if [ "$fstype" = "ufs" ]; then
1105         ufs_fscklist="$ufs_fscklist $fsckdev"
1106         saveentry $fstype "$OPTIONS" $special $mountp
1107         continue
1108    fi  
1109 </PRE> 
1110 <P>with the following section of code:
1111 <PRE>  
1112    # For fsck purposes, we make a distinction between ufs/afs
1113    # and other file systems.
1114    #
1115    if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
1116         ufs_fscklist="$ufs_fscklist $fsckdev"
1117         saveentry $fstype "$OPTIONS" $special $mountp
1118         continue
1119    fi
1120   
1121 </PRE>
1122 </UL>
1123 <A NAME="IDX2778"></A>
1124 <A NAME="IDX2779"></A>
1125 <A NAME="IDX2780"></A>
1126 <A NAME="IDX2781"></A>
1127 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
1128 partition you are configuring (there must be at least one). Repeat the
1129 command for each partition.
1130 <PRE>   
1131    # <B>mkdir /vicep</B><VAR>xx</VAR>
1132    
1133 </PRE>
1134 <P><LI>Add a line with the following format to the file systems registry file,
1135 <B>/etc/vfstab</B>, for each partition to be mounted on a directory
1136 created in the previous step. Note the value <TT>afs</TT> in the
1137 fourth field, which tells Solaris to use the AFS-modified <B>fsck</B>
1138 program on this partition.
1139 <PRE>   
1140    /dev/dsk/<VAR>disk</VAR>   /dev/rdsk/<VAR>disk</VAR>   /vicep<VAR>xx</VAR>   afs   <VAR>boot_order</VAR>  yes  
1141 </PRE> 
1142 <P>The following is an example for the first partition being
1143 configured.
1144 <PRE>  
1145    /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
1146   
1147 </PRE>
1148 <P><LI>Create a file system on each partition that is to be mounted at a
1149 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
1150 probably appropriate, but consult the Solaris documentation for more
1151 information. 
1152 <PRE>  
1153    # <B>newfs -v /dev/rdsk/</B><VAR>disk</VAR>
1154   
1155 </PRE>
1156 <P><LI>Issue the <B>mountall</B> command to mount all partitions at
1157 once.
1158 <P><LI>If the machine is to remain an AFS client, incorporate AFS into its
1159 authentication system, following the instructions in <A HREF="auqbg005.htm#HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris Systems</A>.
1160 <P><LI>Proceed to <A HREF="#HDRWQ108">Starting Server Programs</A>.
1161 </OL>
1162 <A NAME="IDX2782"></A>
1163 <A NAME="IDX2783"></A>
1164 <P><H3><A NAME="HDRWQ108" HREF="auqbg002.htm#ToC_106">Starting Server Programs</A></H3>
1165 <P>In this section you initialize the BOS Server, the Update
1166 Server, the controller process for NTPD, and the <B>fs</B> process.
1167 You begin by copying the necessary server files to the local disk.
1168 <OL TYPE=1>
1169 <A NAME="IDX2784"></A>
1170 <A NAME="IDX2785"></A>
1171 <A NAME="IDX2786"></A>
1172 <P><LI>Copy file server binaries to the local <B>/usr/afs/bin</B>
1173 directory. 
1174 <UL>
1175 <P><LI>On a machine of an existing system type, you can either load files from
1176 the AFS CD-ROM or use a remote file transfer protocol to copy files from an
1177 existing server machine of the same system type. To load from the
1178 CD-ROM, see the instructions just following for a machine of a new system
1179 type. If using a remote file transfer protocol, copy the complete
1180 contents of the existing server machine's <B>/usr/afs/bin</B>
1181 directory.
1182 <P><LI>On a machine of a new system type, you must use the following instructions
1183 to copy files from the AFS CD-ROM. 
1184 <OL TYPE=a>
1185 <P><LI>On the local <B>/cdrom</B> directory, mount the AFS CD-ROM for this
1186 machine's system type, if it is not already. For instructions on
1187 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
1188 system documentation.
1189 <P><LI>Copy files from the CD-ROM to the local <B>/usr/afs</B>
1190 directory.
1191 <PRE>   
1192    # <B>cd /cdrom/</B><VAR>sysname</VAR><B>/root.server/usr/afs</B>
1193    
1194    # <B>cp -rp  *  /usr/afs</B>
1195    
1196 </PRE>
1197 </OL>
1198 </UL>
1199 <A NAME="IDX2787"></A>
1200 <A NAME="IDX2788"></A>
1201 <A NAME="IDX2789"></A>
1202 <A NAME="IDX2790"></A>
1203 <A NAME="IDX2791"></A>
1204 <A NAME="IDX2792"></A>
1205 <A NAME="IDX2793"></A>
1206 <A NAME="IDX2794"></A>
1207 <A NAME="IDX2795"></A>
1208 <A NAME="IDX2796"></A>
1209 <A NAME="IDX2797"></A>
1210 <A NAME="IDX2798"></A>
1211 <P><LI>Copy the contents of the <B>/usr/afs/etc</B> directory from an
1212 existing file server machine, using a remote file transfer protocol such as
1213 <B>ftp</B> or NFS. If you use a system control machine, it is best
1214 to copy the contents of its <B>/usr/afs/etc</B> directory. If you
1215 choose not to run a system control machine, copy the directory's contents
1216 from any existing file server machine.
1217 <A NAME="IDX2799"></A>
1218 <A NAME="IDX2800"></A>
1219 <A NAME="IDX2801"></A>
1220 <A NAME="IDX2802"></A>
1221 <A NAME="IDX2803"></A>
1222 <A NAME="IDX2804"></A>
1223 <P><LI>Change to the <B>/usr/afs/bin</B> directory and start the BOS Server
1224 (<B>bosserver</B> process). Include the <B>-noauth</B> flag to
1225 prevent the AFS processes from performing authorization checking. This
1226 is a grave compromise of security; finish the remaining instructions in
1227 this section in an uninterrupted pass. 
1228 <PRE>    
1229    # <B>cd /usr/afs/bin</B>
1230     
1231    # <B>./bosserver -noauth &amp;</B>
1232     
1233 </PRE>
1234 <A NAME="IDX2805"></A>
1235 <A NAME="IDX2806"></A>
1236 <A NAME="IDX2807"></A>
1237 <A NAME="IDX2808"></A>
1238 <A NAME="IDX2809"></A>
1239 <A NAME="IDX2810"></A>
1240 <P><LI><A NAME="LIWQ109"></A>If you run a system control machine, create the
1241 <B>upclientetc</B> process as an instance of the client portion of the
1242 Update Server. It accepts updates of the common configuration files
1243 stored in the system control machine's <B>/usr/afs/etc</B> directory
1244 from the <B>upserver</B> process (server portion of the Update Server)
1245 running on that machine. The cell's first file server machine was
1246 installed as the system control machine in <A HREF="auqbg005.htm#HDRWQ61">Starting the Server Portion of the Update Server</A>. (If you do not run a system control machine, you
1247 must update the contents of the <B>/usr/afs/etc</B> directory on each file
1248 server machine, using the appropriate <B>bos</B> commands.) 
1249 <P>By default, the Update Server performs updates every 300 seconds (five
1250 minutes). Use the <B>-t</B> argument to specify a different number
1251 of seconds. For the <VAR>machine&nbsp;name</VAR> argument, substitute the
1252 name of the machine you are installing. The command appears on multiple
1253 lines here only for legibility reasons.
1254 <PRE>      
1255    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>upclientetc simple</B>  \ 
1256          <B>"/usr/afs/bin/upclient</B>  &lt;<VAR>system&nbsp;control&nbsp;machine</VAR>>  \  
1257          [<B>-t</B>  &lt;<VAR>time</VAR>>]  <B>/usr/afs/etc" -cell</B>  &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
1258    
1259 </PRE>
1260 <A NAME="IDX2811"></A>
1261 <A NAME="IDX2812"></A>
1262 <A NAME="IDX2813"></A>
1263 <P><LI><A NAME="LIWQ110"></A>Create an instance of the Update Server to handle distribution
1264 of the file server binaries stored in the <B>/usr/afs/bin</B>
1265 directory. 
1266 <UL>
1267 <P><LI>If this is the first file server machine of its AFS system type, create
1268 the <B>upserver</B> process as an instance of the server portion of the
1269 Update Server. It distributes its copy of the file server process
1270 binaries to the other file server machines of this system type that you
1271 install in future. Creating this process makes this machine the binary
1272 distribution machine for its type.
1273 <PRE>   
1274    # <B>./bos create </B> &lt;<VAR>machine&nbsp;name</VAR>> <B>upserver  simple</B>  \ 
1275          <B>"/usr/afs/bin/upserver -clear /usr/afs/bin" </B>  \
1276          <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
1277     
1278 </PRE>
1279 <P><LI>If this machine is an existing system type, create the
1280 <B>upclientbin</B> process as an instance of the client portion of the
1281 Update Server. It accepts updates of the AFS binaries from the
1282 <B>upserver</B> process running on the binary distribution machine for its
1283 system type. For distribution to work properly, the <B>upserver</B>
1284 process must already by running on that machine. 
1285 <P>Use the <B>-clear</B> argument to specify that the
1286 <B>upclientbin</B> process requests unencrypted transfer of the binaries
1287 in the <B>/usr/afs/bin</B> directory. Binaries are not sensitive
1288 and encrypting them is time-consuming.
1289 <P>By default, the Update Server performs updates every 300 seconds (five
1290 minutes). Use the <B>-t</B> argument to specify an different number
1291 of seconds.
1292 <PRE>   
1293    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>upclientbin simple</B>  \ 
1294         <B>"/usr/afs/bin/upclient</B> &lt;<VAR>binary&nbsp;distribution&nbsp;machine</VAR>>   \
1295         [<B>-t</B> &lt;<VAR>time</VAR>>] <B>-clear /usr/afs/bin" -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
1296    
1297 </PRE>
1298 </UL>
1299 <A NAME="IDX2814"></A>
1300 <A NAME="IDX2815"></A>
1301 <A NAME="IDX2816"></A>
1302 <A NAME="IDX2817"></A>
1303 <P><LI>Start the <B>runntp</B> process, which configures the Network Time
1304 Protocol Daemon (NTPD) to choose a database server machine chosen randomly
1305 from the local <B>/usr/afs/etc/CellServDB</B> file as its time
1306 source. In the standard configuration, the first database server
1307 machine installed in your cell refers to a time source outside the cell, and
1308 serves as the basis for clock synchronization on all server machines. 
1309 <PRE>   
1310    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>runntp simple</B>  \ 
1311          <B>/usr/afs/bin/runntp -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
1312 </PRE> 
1313 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Do not run the <B>runntp</B> process if NTPD or another time
1314 synchronization protocol is already running on the machine. Some
1315 versions of some operating systems run a time synchronization program by
1316 default, as detailed in the <I>IBM AFS Release Notes</I>. 
1317 <P>Attempting to run multiple instances of the NTPD causes an error.
1318 Running NTPD together with another time synchronization protocol is
1319 unnecessary and can cause instability in the clock setting.
1320 </TD></TR></TABLE>
1321 <A NAME="IDX2818"></A>
1322 <A NAME="IDX2819"></A>
1323 <A NAME="IDX2820"></A>
1324 <A NAME="IDX2821"></A>
1325 <A NAME="IDX2822"></A>
1326 <A NAME="IDX2823"></A>
1327 <A NAME="IDX2824"></A>
1328 <A NAME="IDX2825"></A>
1329 <A NAME="IDX2826"></A>
1330 <A NAME="IDX2827"></A>
1331 <P><LI>Start the <B>fs</B> process, which binds together the File Server,
1332 Volume Server, and Salvager. 
1333 <PRE>   
1334    # <B>./bos create </B> &lt;<VAR>machine&nbsp;name</VAR>> <B>fs fs </B>  \ 
1335          <B>/usr/afs/bin/fileserver /usr/afs/bin/volserver</B>  \ 
1336          <B>/usr/afs/bin/salvager -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
1337    
1338 </PRE>
1339 </OL>
1340 <A NAME="IDX2828"></A>
1341 <A NAME="IDX2829"></A>
1342 <P><H3><A NAME="HDRWQ111" HREF="auqbg002.htm#ToC_107">Installing Client Functionality</A></H3>
1343 <P>If you want this machine to be a client as well as a server,
1344 follow the instructions in this section. Otherwise, skip to <A HREF="#HDRWQ112">Completing the Installation</A>.
1345 <P>Begin by loading the necessary client files to the local disk. Then
1346 create the necessary configuration files and start the Cache Manager.
1347 For more detailed explanation of the procedures involved, see the
1348 corresponding instructions in <A HREF="auqbg005.htm#HDRWQ17">Installing the First AFS Machine</A> (in the sections following <A HREF="auqbg005.htm#HDRWQ63">Overview: Installing Client Functionality</A>).
1349 <P>If another AFS machine of this machine's system type exists, the AFS
1350 binaries are probably already accessible in your AFS filespace (the
1351 conventional location is
1352 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>).
1353 If not, or if this is the first AFS machine of its type, copy the AFS binaries
1354 for this system type into an AFS volume by following the instructions in <A HREF="auqbg005.htm#HDRWQ83">Storing AFS Binaries in AFS</A>. Because this machine is not yet an AFS client, you
1355 must perform the procedure on an existing AFS machine. However,
1356 remember to perform the final step (linking the local directory
1357 <B>/usr/afsws</B> to the appropriate location in the AFS file tree) on
1358 this machine itself. If you also want to create AFS volumes to house
1359 UNIX system binaries for the new system type, see <A HREF="auqbg005.htm#HDRWQ88">Storing System Binaries in AFS</A>.
1360 <A NAME="IDX2830"></A>
1361 <A NAME="IDX2831"></A>
1362 <A NAME="IDX2832"></A>
1363 <OL TYPE=1>
1364 <P><LI>Copy client binaries and files to the local disk. 
1365 <UL>
1366 <P><LI>On a machine of an existing system type, you can either load files from
1367 the AFS CD-ROM or use a remote file transfer protocol to copy files from an
1368 existing server machine of the same system type. To load from the
1369 CD-ROM, see the instructions just following for a machine of a new system
1370 type. If using a remote file transfer protocol, copy the complete
1371 contents of the existing client machine's <B>/usr/vice/etc</B>
1372 directory.
1373 <P><LI>On a machine of a new system type, you must use the following instructions
1374 to copy files from the AFS CD-ROM. 
1375 <OL TYPE=a>
1376 <P><LI>On the local <B>/cdrom</B> directory, mount the AFS CD-ROM for this
1377 machine's system type, if it is not already. For instructions on
1378 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
1379 system documentation.
1380 <P><LI>Copy files to the local <B>/usr/vice/etc</B> directory.
1381 <P>This step places a copy of the AFS initialization script (and related
1382 files, if applicable) into the <B>/usr/vice/etc</B> directory. In
1383 the preceding instructions for incorporating AFS into the kernel, you copied
1384 the script directly to the operating system's conventional location for
1385 initialization files. When you incorporate AFS into the machine's
1386 startup sequence in a later step, you can choose to link the two files.
1387 <P>On some system types that use a dynamic kernel loader program, you
1388 previously copied AFS library files into a subdirectory of the
1389 <B>/usr/vice/etc</B> directory. On other system types, you copied
1390 the appropriate AFS library file directly to the directory where the operating
1391 system accesses it. The following commands do not copy or recopy the
1392 AFS library files into the <B>/usr/vice/etc</B> directory, because on some
1393 system types the library files consume a large amount of space. If you
1394 want to copy them, add the <B>-r</B> flag to the first <B>cp</B>
1395 command and skip the second <B>cp</B> command.
1396 <PRE>   
1397    # <B>cd /cdrom/</B><VAR>sysname</VAR><B>/root.client/usr/vice/etc</B>
1398    
1399    # <B>cp -p  *  /usr/vice/etc</B>
1400   
1401    # <B>cp -rp  C  /usr/vice/etc</B>
1402    
1403 </PRE>
1404 </OL>
1405 </UL>
1406 <A NAME="IDX2833"></A>
1407 <A NAME="IDX2834"></A>
1408 <A NAME="IDX2835"></A>
1409 <A NAME="IDX2836"></A>
1410 <A NAME="IDX2837"></A>
1411 <A NAME="IDX2838"></A>
1412 <P><LI>Change to the <B>/usr/vice/etc</B> directory and create the
1413 <B>ThisCell</B> file as a copy of the <B>/usr/afs/etc/ThisCell</B>
1414 file. You must first remove the symbolic link to the
1415 <B>/usr/afs/etc/ThisCell</B> file that the BOS Server created
1416 automatically in <A HREF="#HDRWQ108">Starting Server Programs</A>.
1417 <PRE>   
1418    # <B>cd  /usr/vice/etc</B>
1419    
1420    # <B>rm  ThisCell</B>
1421  
1422    # <B>cp  /usr/afs/etc/ThisCell  ThisCell</B>
1423       
1424 </PRE>
1425 <P><LI>Remove the symbolic link to the <B>/usr/afs/etc/CellServDB</B>
1426 file. 
1427 <PRE>   
1428    # <B>rm  CellServDB</B>
1429    
1430 </PRE>
1431 <A NAME="IDX2839"></A>
1432 <A NAME="IDX2840"></A>
1433 <A NAME="IDX2841"></A>
1434 <P><LI>Create the <B>/usr/vice/etc/CellServDB</B> file. Use a network
1435 file transfer program such as <B>ftp</B> or NFS to copy it from one of the
1436 following sources, which are listed in decreasing order of preference:
1437 <UL>
1438 <P><LI>Your cell's central <B>CellServDB</B> source file (the
1439 conventional location is
1440 <B>/afs/</B><VAR>cellname</VAR><B>/common/etc/CellServDB</B>)
1441 <P><LI>The global <B>CellServDB</B> file maintained by the AFS Product
1442 Support group
1443 <P><LI>An existing client machine in your cell
1444 <P><LI>The <B>CellServDB.sample</B> file included in the
1445 <VAR>sysname</VAR><B>/root.client/usr/vice/etc</B> directory of each
1446 AFS CD-ROM; add an entry for the local cell by following the instructions
1447 in <A HREF="auqbg005.htm#HDRWQ66">Creating the Client CellServDB File</A>
1448 </UL>
1449 <A NAME="IDX2842"></A>
1450 <A NAME="IDX2843"></A>
1451 <A NAME="IDX2844"></A>
1452 <A NAME="IDX2845"></A>
1453 <P><LI>Create the <B>cacheinfo</B> file for either a disk cache or a memory
1454 cache. For a discussion of the appropriate values to record in the
1455 file, see <A HREF="auqbg005.htm#HDRWQ67">Configuring the Cache</A>.
1456 <P>To configure a disk cache, issue the following commands. If you are
1457 devoting a partition exclusively to caching, as recommended, you must also
1458 configure it, make a file system on it, and mount it at the directory created
1459 in this step.
1460 <PRE>   
1461    # <B>mkdir /usr/vice/cache</B>
1462    
1463    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > cacheinfo</B>   
1464 </PRE> 
1465 <P>To configure a memory cache:
1466 <PRE>    
1467    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > cacheinfo</B>
1468    
1469 </PRE>
1470 <A NAME="IDX2846"></A>
1471 <A NAME="IDX2847"></A>
1472 <A NAME="IDX2848"></A>
1473 <A NAME="IDX2849"></A>
1474 <A NAME="IDX2850"></A>
1475 <A NAME="IDX2851"></A>
1476 <P><LI>Create the local directory on which to mount the AFS filespace, by
1477 convention <B>/afs</B>. If the directory already exists, verify
1478 that it is empty. 
1479 <PRE>   
1480    # <B>mkdir /afs</B>
1481    
1482 </PRE>
1483 <P><LI>On AIX systems, add the following line to the <B>/etc/vfs</B>
1484 file. It enables AIX to unmount AFS correctly during shutdown.
1485 <PRE>   
1486    afs     4     none     none
1487    
1488 </PRE>
1489 <P><LI>On Linux systems, copy the <B>afsd</B> options file from the
1490 <B>/usr/vice/etc</B> directory to the <B>/etc/sysconfig</B> directory,
1491 removing the <B>.conf</B> extension as you do so.
1492 <PRE>   
1493    # <B>cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</B>
1494    
1495 </PRE>
1496 <P><LI>Edit the machine's AFS initialization script or <B>afsd</B>
1497 options file to set appropriate values for <B>afsd</B> command
1498 parameters. The script resides in the indicated location on each system
1499 type:
1500 <UL>
1501 <P><LI>On AIX systems, <B>/etc/rc.afs</B>
1502 <P><LI>On Digital UNIX systems, <B>/sbin/init.d/afs</B>
1503 <P><LI>On HP-UX systems, <B>/sbin/init.d/afs</B>
1504 <P><LI>On IRIX systems, <B>/etc/init.d/afs</B>
1505 <P><LI>On Linux systems, <B>/etc/sysconfig/afs</B> (the <B>afsd</B>
1506 options file)
1507 <P><LI>On Solaris systems, <B>/etc/init.d/afs</B>
1508 </UL> 
1509 <P>Use one of the methods described in <A HREF="auqbg005.htm#HDRWQ70">Configuring the Cache Manager</A> to add the following flags to the <B>afsd</B> command
1510 line. If you intend for the machine to remain an AFS client, also set
1511 any performance-related arguments you wish.
1512 <UL>
1513 <P><LI>Add the <B>-nosettime</B> flag, because this is a file server machine
1514 that is also a client.
1515 <P><LI>Add the <B>-memcache</B> flag if the machine is to use a memory
1516 cache.
1517 <P><LI>Add the <B>-verbose</B> flag to display a trace of the Cache
1518 Manager's initialization on the standard output stream.
1519 </UL>
1520 <P><LI>If appropriate, follow the instructions in <A HREF="auqbg005.htm#HDRWQ83">Storing AFS Binaries in AFS</A> to copy the AFS binaries for this system type into an AFS
1521 volume. See the introduction to this section for further
1522 discussion.
1523 </OL>
1524 <P><H3><A NAME="HDRWQ112" HREF="auqbg002.htm#ToC_108">Completing the Installation</A></H3>
1525 <P>At this point you run the machine's AFS initialization
1526 script to verify that it correctly loads AFS modifications into the kernel and
1527 starts the BOS Server, which starts the other server processes. If you
1528 have installed client files, the script also starts the Cache Manager.
1529 If the script works correctly, perform the steps that incorporate it into the
1530 machine's startup and shutdown sequence. If there are problems
1531 during the initialization, attempt to resolve them. The AFS Product
1532 Support group can provide assistance if necessary.
1533 <P>If the machine is configured as a client using a disk cache, it can take a
1534 while for the <B>afsd</B> program to create all of the
1535 <B>V</B><VAR>n</VAR> files in the cache directory. Messages on the
1536 console trace the initialization process.
1537 <OL TYPE=1>
1538 <P><LI>Issue the <B>bos shutdown</B> command to shut down the AFS server
1539 processes other than the BOS Server. Include the <B>-wait</B> flag
1540 to delay return of the command shell prompt until all processes shut down
1541 completely. 
1542 <PRE>      
1543    # <B>/usr/afs/bin/bos shutdown</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-wait</B>
1544    
1545 </PRE>
1546 <P><LI>Issue the <B>ps</B> command to learn the BOS Server's process ID
1547 number (PID), and then the <B>kill</B> command to stop the
1548 <B>bosserver</B> process.
1549 <PRE>   
1550    # <B>ps</B> <VAR>appropriate_ps_options</VAR> <B>| grep bosserver</B>
1551    
1552    # <B>kill</B> <VAR>bosserver_PID</VAR>
1553    
1554 </PRE>
1555 <A NAME="IDX2852"></A>
1556 <A NAME="IDX2853"></A>
1557 <A NAME="IDX2854"></A>
1558 <A NAME="IDX2855"></A>
1559 <A NAME="IDX2856"></A>
1560 <A NAME="IDX2857"></A>
1561 <P><LI>Run the AFS initialization script by issuing the appropriate commands for
1562 this system type. 
1563 <P><B>On AIX systems:</B> 
1564 <OL TYPE=a>
1565 <P><LI>Reboot the machine and log in again as the local superuser
1566 <B>root</B>. 
1567 <PRE>   
1568    # <B>cd /</B>
1569    
1570    # <B>shutdown -r now</B>
1571    
1572    login: <B>root</B>
1573    Password: <VAR>root_password</VAR>
1574    
1575 </PRE>
1576 <P><LI>Run the AFS initialization script. 
1577 <PRE>   
1578    # <B>/etc/rc.afs</B>
1579    
1580 </PRE>
1581 <P><LI>Edit the AIX initialization file, <B>/etc/inittab</B>, adding the
1582 following line to invoke the AFS initialization script. Place it just
1583 after the line that starts NFS daemons.
1584 <PRE>   
1585    rcafs:2:wait:/etc/rc.afs > /dev/console 2>&amp;1 # Start AFS services
1586    
1587 </PRE>
1588 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1589 in both the <B>/usr/vice/etc</B> and <B>/etc</B> directories.
1590 If you want to avoid potential confusion by guaranteeing that they are always
1591 the same, create a link between them. You can always retrieve the
1592 original script from the AFS CD-ROM if necessary.
1593 <PRE>   
1594    # <B>cd  /usr/vice/etc</B>
1595    
1596    # <B>rm  rc.afs</B>
1597   
1598    # <B>ln -s  /etc/rc.afs</B>
1599    
1600 </PRE>
1601 <P><LI>Proceed to Step <A HREF="#LIWQ113">4</A>.
1602 </OL> 
1603 <A NAME="IDX2858"></A>
1604 <P><B>On Digital UNIX systems:</B> 
1605 <OL TYPE=a>
1606 <P><LI>Run the AFS initialization script. 
1607 <PRE>   
1608    # <B>/sbin/init.d/afs  start</B>
1609    
1610 </PRE>
1611 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
1612 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1613 initialization script into the Digital UNIX startup and shutdown
1614 sequence.
1615 <PRE>   
1616    # <B>cd  /sbin/init.d</B>
1617    
1618    # <B>ln -s  ../init.d/afs  /sbin/rc3.d/S67afs</B>
1619    
1620    # <B>ln -s  ../init.d/afs  /sbin/rc0.d/K66afs</B>
1621    
1622 </PRE>
1623 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1624 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
1625 directories. If you want to avoid potential confusion by guaranteeing
1626 that they are always the same, create a link between them. You can
1627 always retrieve the original script from the AFS CD-ROM if necessary.
1628 <PRE>   
1629    # <B>cd /usr/vice/etc</B>
1630    
1631    # <B>rm afs.rc</B>
1632   
1633    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
1634    
1635 </PRE>
1636 <P><LI>Proceed to Step <A HREF="#LIWQ113">4</A>.
1637 </OL> 
1638 <A NAME="IDX2859"></A>
1639 <P><B>On HP-UX systems:</B> 
1640 <OL TYPE=a>
1641 <P><LI>Run the AFS initialization script. 
1642 <PRE>   
1643    # <B>/sbin/init.d/afs  start</B>
1644    
1645 </PRE>
1646 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
1647 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1648 initialization script into the HP-UX startup and shutdown sequence.
1649 <PRE>   
1650    # <B>cd /sbin/init.d</B>
1651    
1652    # <B>ln -s ../init.d/afs /sbin/rc2.d/S460afs</B>
1653   
1654    # <B>ln -s ../init.d/afs /sbin/rc2.d/K800afs</B>
1655    
1656 </PRE>
1657 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1658 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
1659 directories. If you want to avoid potential confusion by guaranteeing
1660 that they are always the same, create a link between them. You can
1661 always retrieve the original script from the AFS CD-ROM if necessary.
1662 <PRE>   
1663    # <B>cd /usr/vice/etc</B>
1664    
1665    # <B>rm afs.rc</B>
1666   
1667    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
1668    
1669 </PRE>
1670 <P><LI>Proceed to Step <A HREF="#LIWQ113">4</A>.
1671 </OL> 
1672 <A NAME="IDX2860"></A>
1673 <A NAME="IDX2861"></A>
1674 <A NAME="IDX2862"></A>
1675 <A NAME="IDX2863"></A>
1676 <A NAME="IDX2864"></A>
1677 <A NAME="IDX2865"></A>
1678 <A NAME="IDX2866"></A>
1679 <P><B>On IRIX systems:</B> 
1680 <OL TYPE=a>
1681 <P><LI>If you have configured the machine to use the <B>ml</B> dynamic loader
1682 program, reboot the machine and log in again as the local superuser
1683 <B>root</B>. 
1684 <PRE>   
1685    # <B>cd /</B>
1686         
1687    # <B>shutdown -i6 -g0 -y</B>
1688    
1689    login: <B>root</B>
1690    Password: <VAR>root_password</VAR>
1691    
1692 </PRE>
1693 <P><LI>Issue the <B>chkconfig</B> command to activate the
1694 <B>afsserver</B> configuration variable.
1695 <PRE>   
1696    # <B>/etc/chkconfig -f afsserver on</B>   
1697 </PRE> 
1698 <P>If you have configured this machine as an AFS client and want to it remain
1699 one, also issue the <B>chkconfig</B> command to activate the
1700 <B>afsclient</B> configuration variable. 
1701 <PRE>   
1702    # <B>/etc/chkconfig -f afsclient on</B> 
1703    
1704 </PRE>
1705 <P><LI>Run the AFS initialization script. 
1706 <PRE>   
1707    # <B>/etc/init.d/afs  start</B>
1708    
1709 </PRE>
1710 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
1711 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1712 initialization script into the IRIX startup and shutdown sequence.
1713 <PRE>   
1714    # <B>cd /etc/init.d</B>
1715    
1716    # <B>ln -s ../init.d/afs /etc/rc2.d/S35afs</B>
1717   
1718    # <B>ln -s ../init.d/afs /etc/rc0.d/K35afs</B>
1719    
1720 </PRE>
1721 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1722 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
1723 directories. If you want to avoid potential confusion by guaranteeing
1724 that they are always the same, create a link between them. You can
1725 always retrieve the original script from the AFS CD-ROM if necessary.
1726 <PRE>   
1727    # <B>cd /usr/vice/etc</B>
1728    
1729    # <B>rm afs.rc</B>
1730   
1731    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
1732    
1733 </PRE>
1734 <P><LI>Proceed to Step <A HREF="#LIWQ113">4</A>.
1735 </OL> 
1736 <A NAME="IDX2867"></A>
1737 <P><B>On Linux systems:</B> 
1738 <OL TYPE=a>
1739 <P><LI>Reboot the machine and log in again as the local superuser
1740 <B>root</B>. 
1741 <PRE>  
1742    # <B>cd /</B>
1743          
1744    # <B>shutdown -r now</B>
1745    
1746    login: <B>root</B>
1747    Password: <VAR>root_password</VAR>
1748    
1749 </PRE>
1750 <P><LI>Run the AFS initialization script. 
1751 <PRE>   
1752    # <B>/etc/rc.d/init.d/afs  start</B>
1753    
1754 </PRE>
1755 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afs</B>
1756 configuration variable. Based on the instruction in the AFS
1757 initialization file that begins with the string <TT>#chkconfig</TT>, the
1758 command automatically creates the symbolic links that incorporate the script
1759 into the Linux startup and shutdown sequence. 
1760 <PRE>   
1761    # <B>/sbin/chkconfig  --add afs</B>
1762    
1763 </PRE>
1764 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1765 in both the <B>/usr/vice/etc</B> and
1766 <B>/etc/rc.d/init.d</B> directories, and copies of the
1767 <B>afsd</B> options file in both the <B>/usr/vice/etc</B> and
1768 <B>/etc/sysconfig</B> directories. If you want to avoid potential
1769 confusion by guaranteeing that the two copies of each file are always the
1770 same, create a link between them. You can always retrieve the original
1771 script or options file from the AFS CD-ROM if necessary.
1772 <PRE>   
1773    # <B>cd /usr/vice/etc</B>
1774    
1775    # <B>rm afs.rc afs.conf</B>
1776     
1777    # <B>ln -s  /etc/rc.d/init.d/afs  afs.rc</B>
1778    
1779    # <B>ln -s  /etc/sysconfig/afs  afs.conf</B>
1780    
1781 </PRE>
1782 <P><LI>Proceed to Step <A HREF="#LIWQ113">4</A>.
1783 </OL> 
1784 <A NAME="IDX2868"></A>
1785 <P><B>On Solaris systems:</B> 
1786 <OL TYPE=a>
1787 <P><LI>Reboot the machine and log in again as the local superuser
1788 <B>root</B>. 
1789 <PRE>   
1790    # <B>cd /</B>
1791       
1792    # <B>shutdown -i6 -g0 -y</B>
1793    
1794    login: <B>root</B>
1795    Password: <VAR>root_password</VAR>
1796    
1797 </PRE>
1798 <P><LI>Run the AFS initialization script. 
1799 <PRE>   
1800    # <B>/etc/init.d/afs  start</B>
1801    
1802 </PRE>
1803 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
1804 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1805 initialization script into the Solaris startup and shutdown sequence.
1806 <PRE>   
1807    # <B>cd /etc/init.d</B>
1808   
1809    # <B>ln -s ../init.d/afs /etc/rc3.d/S99afs</B>
1810   
1811    # <B>ln -s ../init.d/afs /etc/rc0.d/K66afs</B>
1812    
1813 </PRE>
1814 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1815 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
1816 directories. If you want to avoid potential confusion by guaranteeing
1817 that they are always the same, create a link between them. You can
1818 always retrieve the original script from the AFS CD-ROM if necessary.
1819 <PRE>   
1820    # <B>cd /usr/vice/etc</B>
1821    
1822    # <B>rm afs.rc</B>
1823   
1824    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
1825    
1826 </PRE>
1827 </OL>
1828 <P><LI><A NAME="LIWQ113"></A>Verify that <B>/usr/afs</B> and its subdirectories on the
1829 new file server machine meet the ownership and mode bit requirements outlined
1830 in <A HREF="auqbg005.htm#HDRWQ96">Protecting Sensitive AFS Directories</A>. If necessary, use the <B>chmod</B> command to
1831 correct the mode bits.
1832 <P><LI>To configure this machine as a database server machine, proceed to <A HREF="#HDRWQ114">Installing Database Server Functionality</A>.
1833 </OL>
1834 <A NAME="IDX2869"></A>
1835 <A NAME="IDX2870"></A>
1836 <HR><H2><A NAME="HDRWQ114" HREF="auqbg002.htm#ToC_109">Installing Database Server Functionality</A></H2>
1837 <P>This section explains how to install database server
1838 functionality. Database server machines have two defining
1839 characteristics. First, they run the Authentication Server, Protection
1840 Server, and Volume Location (VL) Server processes. They also run the
1841 Backup Server if the cell uses the AFS Backup System, as is assumed in these
1842 instructions. Second, they appear in the <B>CellServDB</B> file of
1843 every machine in the cell (and of client machines in foreign cells, if they
1844 are to access files in this cell).
1845 <P>Note the following requirements for database server machines.
1846 <UL>
1847 <P><LI>In the conventional configuration, database server machines also serve as
1848 file server machines (run the File Server, Volume Server and Salvager
1849 processes). If you choose not to run file server functionality on a
1850 database server machine, then the kernel does not have to incorporate AFS
1851 modifications, but the local <B>/usr/afs</B> directory must house most of
1852 the standard files and subdirectories. In particular, the
1853 <B>/usr/afs/etc/KeyFile</B> file must contain the same keys as all other
1854 server machines in the cell. If you run a system control machine, run
1855 the <B>upclientetc</B> process on every database server machine other than
1856 the system control machine; if you do not run a system control machine,
1857 use the <B>bos addkey</B> command as instructed in the chapter in the
1858 <I>IBM AFS Administration Guide</I> about maintaining server encryption
1859 keys.
1860 <P>The instructions in this section assume that the machine on which you are
1861 installing database server functionality is already a file server
1862 machine. Contact the AFS Product Support group to learn how to install
1863 database server functionality on a non-file server machine.
1864 <P><LI>During the installation of database server functionality, you must restart
1865 all of the database server machines to force the election of a new Ubik
1866 coordinator (synchronization site) for each database server process.
1867 This can cause a system outage, which usually lasts less than 5
1868 minutes.
1869 <P><LI>Updating the kernel memory list of database server machines on each client
1870 machine is generally the most time-consuming part of installing a new database
1871 server machine. It is, however, crucial for correct functioning in your
1872 cell. Incorrect knowledge of your cell's database server machines
1873 can prevent your users from authenticating, accessing files, and issuing AFS
1874 commands. 
1875 <P>You update a client's kernel memory list by changing the
1876 <B>/usr/vice/etc/CellServDB</B> file and then either rebooting or issuing
1877 the <B>fs newcell</B> command. For instructions, see the chapter in
1878 the <I>IBM AFS Administration Guide</I> about administering client
1879 machines.
1880 <P>The point at which you update your clients' knowledge of database
1881 server machines depends on which of the database server machines has the
1882 lowest IP address. The following instructions indicate the appropriate
1883 place to update your client machines in either case. 
1884 <UL>
1885 <P><LI>If the new database server machine has a lower IP address than any
1886 existing database server machine, update the <B>CellServDB</B> file on
1887 every client machine before restarting the database server processes.
1888 If you do not, users can become unable to update (write to) any of the AFS
1889 databases. This is because the machine with the lowest IP address is
1890 usually elected as the Ubik coordinator, and only the Coordinator accepts
1891 database writes. On client machines that do not have the new list of
1892 database server machines, the Cache Manager cannot locate the new
1893 coordinator. (Be aware that if clients contact the new coordinator
1894 before it is actually in service, they experience a timeout before contacting
1895 another database server machine. This is a minor, and temporary,
1896 problem compared to being unable to write to the database.)
1897 <P><LI>If the new database server machine does not have the lowest IP address of
1898 any database server machine, then it is better to update clients after
1899 restarting the database server processes. Client machines do not start
1900 using the new database server machine until you update their kernel memory
1901 list, but that does not usually cause timeouts or update problems (because the
1902 new machine is not likely to become the coordinator).
1903 </UL>
1904 </UL>
1905 <A NAME="IDX2871"></A>
1906 <P><H3><A NAME="Header_110" HREF="auqbg002.htm#ToC_110">Summary of Procedures</A></H3>
1907 <P>To install a database server machine, perform the following
1908 procedures.
1909 <OL TYPE=1>
1910 <P><LI>Install the <B>bos</B> suite of commands locally, as a precaution
1911 <P><LI>Add the new machine to the <B>/usr/afs/etc/CellServDB</B> file on
1912 existing file server machines
1913 <P><LI>Update your cell's central <B>CellServDB</B> source file and the
1914 file you make available to foreign cells
1915 <P><LI>Update every client machine's <B>/usr/vice/etc/CellServDB</B>
1916 file and kernel memory list of database server machines
1917 <P><LI>Start the database server processes (Authentication Server, Backup Server,
1918 Protection Server, and Volume Location Server)
1919 <P><LI>Restart the database server processes on every database server machine
1920 <P><LI>Notify the AFS Product Support group that you have installed a new
1921 database server machine
1922 </OL>
1923 <A NAME="IDX2872"></A>
1924 <A NAME="IDX2873"></A>
1925 <A NAME="IDX2874"></A>
1926 <P><H3><A NAME="Header_111" HREF="auqbg002.htm#ToC_111">Instructions</A></H3>
1927 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">It is assumed that your PATH environment variable includes the directory
1928 that houses the AFS command binaries. If not, you possibly need to
1929 precede the command names with the appropriate pathname.
1930 </TD></TR></TABLE>
1931 <OL TYPE=1>
1932 <P><LI>You can perform the following instructions on either a server or client
1933 machine. Login as an AFS administrator who is listed in the
1934 <B>/usr/afs/etc/UserList</B> file on all server machines.
1935 <PRE>   
1936    % <B>klog</B> <VAR>admin_user</VAR>
1937    Password: <VAR>admin_password</VAR>
1938    
1939 </PRE>
1940 <P><LI>If you are working on a client machine configured in the conventional
1941 manner, the <B>bos</B> command suite resides in the
1942 <B>/usr/afsws/bin</B> directory, a symbolic link to an AFS
1943 directory. An error during installation can potentially block access to
1944 AFS, in which case it is helpful to have a copy of the <B>bos</B> binary
1945 on the local disk. This step is not necessary if you are working on a
1946 server machine, where the binary resides in the local <B>/usr/afs/bin</B>
1947 directory.
1948 <PRE>   
1949    % <B>cp  /usr/afsws/bin/bos   /tmp</B>
1950    
1951 </PRE>
1952 <A NAME="IDX2875"></A>
1953 <A NAME="IDX2876"></A>
1954 <A NAME="IDX2877"></A>
1955 <A NAME="IDX2878"></A>
1956 <A NAME="IDX2879"></A>
1957 <P><LI><A NAME="LIWQ115"></A>Issue the <B>bos addhost</B> command to add the new
1958 database server machine to the <B>/usr/afs/etc/CellServDB</B> file on
1959 existing server machines (as well as the new database server machine
1960 itself). 
1961 <P>Substitute the new database server machine's fully-qualified hostname
1962 for the <VAR>host name</VAR> argument. If you run a system control
1963 machine, substitute its fully-qualified hostname for the
1964 <VAR>machine&nbsp;name</VAR> argument. If you do not run a system control
1965 machine, repeat the <B>bos addhost</B> command once for each server
1966 machine in your cell (including the new database server machine itself), by
1967 substituting each one's fully-qualified hostname for the
1968 <VAR>machine&nbsp;name</VAR> argument in turn.
1969 <PRE>   
1970    % <B>bos addhost</B> &lt;<VAR>machine&nbsp;name</VAR>>  &lt;<VAR>host&nbsp;name</VAR>>   
1971 </PRE> 
1972 <P>If you run a system control machine, wait for the Update Server to
1973 distribute the new <B>CellServDB</B> file, which takes up to five minutes
1974 by default. If you are issuing individual <B>bos addhost</B>
1975 commands, attempt to issue all of them within five minutes.
1976 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">It is best to maintain a one-to-one mapping between hostnames and IP
1977 addresses on a multihomed database server machine (the conventional
1978 configuration for any AFS machine). The BOS Server uses the
1979 <B>gethostbyname(&nbsp;)</B> routine to obtain the IP address
1980 associated with the <VAR>host name</VAR> argument. If there is more than
1981 one address, the BOS Server records in the <B>CellServDB</B> entry the one
1982 that appears first in the list of addresses returned by the routine.
1983 The routine possibly returns addresses in a different order on different
1984 machines, which can create inconsistency.
1985 </TD></TR></TABLE>
1986 <P><LI><B>(Optional)</B> Issue the <B>bos listhosts</B> command on each
1987 server machine to verify that the new database server machine appears in its
1988 <B>CellServDB</B> file. 
1989 <PRE>   
1990    % <B>bos listhosts</B> &lt;<VAR>machine&nbsp;name</VAR>>
1991    
1992 </PRE>
1993 <P><LI><A NAME="LIWQ116"></A>Add the new database server machine to your cell's central
1994 <B>CellServDB</B> source file, if you use one. The standard
1995 location is
1996 <B>/afs/</B><VAR>cellname</VAR><B>/common/etc/CellServDB</B>. 
1997 <P>If you are willing to make your cell accessible to users in foreign cells,
1998 add the new database server machine to the file that lists your cell's
1999 database server machines. The conventional location is
2000 <B>/afs/</B><VAR>cellname</VAR><B>/service/etc/CellServDB.local</B>.
2001 <A NAME="IDX2880"></A>
2002 <A NAME="IDX2881"></A>
2003 <A NAME="IDX2882"></A>
2004 <P><LI><A NAME="LIWQ117"></A>If this machine's IP address is lower than any existing
2005 database server machine's, update every client machine's
2006 <B>/usr/vice/etc/CellServDB</B> file and kernel memory list to include
2007 this machine. (If this machine's IP address is not the lowest, it
2008 is acceptable to wait until Step <A HREF="#LIWQ123">12</A>.) 
2009 <P>There are several ways to update the <B>CellServDB</B> file on client
2010 machines, as detailed in the chapter of the <I>IBM AFS Administration
2011 Guide</I> about administering client machines. One option is to copy
2012 over the central update source (which you updated in Step <A HREF="#LIWQ116">5</A>), with or without using the <B>package</B>
2013 program. To update the machine's kernel memory list, you can
2014 either reboot after changing the <B>CellServDB</B> file or issue the
2015 <B>fs newcell</B> command.
2016 <A NAME="IDX2883"></A>
2017 <A NAME="IDX2884"></A>
2018 <A NAME="IDX2885"></A>
2019 <A NAME="IDX2886"></A>
2020 <A NAME="IDX2887"></A>
2021 <P><LI><A NAME="LIWQ118"></A>Start the Authentication Server (the <B>kaserver</B>
2022 process). 
2023 <PRE>   
2024    % <B>bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver simple /usr/afs/bin/kaserver</B>
2025    
2026 </PRE>
2027 <A NAME="IDX2888"></A>
2028 <A NAME="IDX2889"></A>
2029 <P><LI><A NAME="LIWQ119"></A>Start the Backup Server (the <B>buserver</B>
2030 process). You must perform other configuration procedures before
2031 actually using the AFS Backup System, as detailed in the <I>IBM AFS
2032 Administration Guide</I>. 
2033 <PRE>   
2034    % <B>bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>buserver simple /usr/afs/bin/buserver</B>
2035    
2036 </PRE>
2037 <A NAME="IDX2890"></A>
2038 <A NAME="IDX2891"></A>
2039 <P><LI><A NAME="LIWQ120"></A>Start the Protection Server (the <B>ptserver</B>
2040 process). 
2041 <PRE>   
2042    % <B>bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>ptserver simple /usr/afs/bin/ptserver</B>
2043     
2044 </PRE>
2045 <A NAME="IDX2892"></A>
2046 <A NAME="IDX2893"></A>
2047 <P><LI><A NAME="LIWQ121"></A>Start the Volume Location (VL) Server (the <B>vlserver</B>
2048 process). 
2049 <PRE>      
2050    % <B>bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>vlserver simple /usr/afs/bin/vlserver</B>
2051    
2052 </PRE>
2053 <A NAME="IDX2894"></A>
2054 <A NAME="IDX2895"></A>
2055 <A NAME="IDX2896"></A>
2056 <A NAME="IDX2897"></A>
2057 <P><LI><A NAME="LIWQ122"></A>Issue the <B>bos restart</B> command on every database
2058 server machine in the cell, including the new machine. The command
2059 restarts the Authentication, Backup, Protection, and VL Servers, which forces
2060 an election of a new Ubik coordinator for each process. The new machine
2061 votes in the election and is considered as a potential new coordinator.
2062 <P>
2063 <P>A cell-wide service outage is possible during the election of a new
2064 coordinator for the VL Server, but it normally lasts less than five
2065 minutes. Such an outage is particularly likely if you are installing
2066 your cell's second database server machine. Messages tracing the
2067 progress of the election appear on the console.
2068 <P>Repeat this command on each of your cell's database server machines in
2069 quick succession. Begin with the machine with the lowest IP
2070 address. 
2071 <PRE>   
2072    %  <B>bos restart</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver buserver ptserver vlserver</B>    
2073 </PRE> 
2074 <P>If an error occurs, restart all server processes on the database server
2075 machines again by using one of the following methods:
2076 <UL>
2077 <P><LI>Issue the <B>bos restart</B> command with the <B>-bosserver</B>
2078 flag for each database server machine
2079 <P><LI>Reboot each database server machine, either using the <B>bos exec</B>
2080 command or at its console
2081 </UL>
2082 <P><LI><A NAME="LIWQ123"></A>If you did not update the <B>CellServDB</B> file on client
2083 machines in Step <A HREF="#LIWQ117">6</A>, do so now.
2084 <P><LI><A NAME="LIWQ124"></A>Send the new database server machine's name and IP address
2085 to the AFS Product Support group. 
2086 <P>If you wish to participate in the AFS global name space, your cell's
2087 entry appear in a <B>CellServDB</B> file that the AFS Product Support
2088 group makes available to all AFS sites. Otherwise, they list your cell
2089 in a private file that they do not share with other AFS sites.
2090 </OL>
2091 <A NAME="IDX2898"></A>
2092 <A NAME="IDX2899"></A>
2093 <A NAME="IDX2900"></A>
2094 <A NAME="IDX2901"></A>
2095 <HR><H2><A NAME="HDRWQ125" HREF="auqbg002.htm#ToC_112">Removing Database Server Functionality</A></H2>
2096 <P>Removing database server machine functionality is nearly the
2097 reverse of installing it.
2098 <P><H3><A NAME="Header_113" HREF="auqbg002.htm#ToC_113">Summary of Procedures</A></H3>
2099 <P>To decommission a database server machine, perform the following
2100 procedures.
2101 <OL TYPE=1>
2102 <P><LI>Install the <B>bos</B> suite of commands locally, as a precaution
2103 <P><LI>Notify the AFS Product Support group that you are decommissioning a
2104 database server machine
2105 <P><LI>Update your cell's central <B>CellServDB</B> source file and the
2106 file you make available to foreign cells
2107 <P><LI>Update every client machine's <B>/usr/vice/etc/CellServDB</B>
2108 file and kernel memory list of database server machines
2109 <P><LI>Remove the machine from the <B>/usr/afs/etc/CellServDB</B> file on
2110 file server machines
2111 <P><LI>Stop the database server processes and remove them from the
2112 <B>/usr/afs/local/BosConfig</B> file if desired
2113 <P><LI>Restart the database server processes on the remaining database server
2114 machines
2115 </OL>
2116 <P><H3><A NAME="Header_114" HREF="auqbg002.htm#ToC_114">Instructions</A></H3>
2117 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">It is assumed that your PATH environment variable includes the directory
2118 that houses the AFS command binaries. If not, you possibly need to
2119 precede the command names with the appropriate pathname.
2120 </TD></TR></TABLE>
2121 <OL TYPE=1>
2122 <P><LI>You can perform the following instructions on either a server or client
2123 machine. Login as an AFS administrator who is listed in the
2124 <B>/usr/afs/etc/UserList</B> file on all server machines.
2125 <PRE>   
2126    % <B>klog</B> <VAR>admin_user</VAR>
2127    Password: <VAR>admin_password</VAR>
2128    
2129 </PRE>
2130 <P><LI>If you are working on a client machine configured in the conventional
2131 manner, the <B>bos</B> command suite resides in the
2132 <B>/usr/afsws/bin</B> directory, a symbolic link to an AFS
2133 directory. An error during installation can potentially block access to
2134 AFS, in which case it is helpful to have a copy of the <B>bos</B> binary
2135 on the local disk. This step is not necessary if you are working on a
2136 server machine, where the binary resides in the local <B>/usr/afs/bin</B>
2137 directory.
2138 <PRE>      
2139    % <B>cp  /usr/afsws/bin/bos   /tmp</B>
2140    
2141 </PRE>
2142 <P><LI><A NAME="LIWQ126"></A>Send the revised list of your cell's database server
2143 machines to the AFS Product Support group. 
2144 <P>This step is particularly important if your cell is included in the global
2145 <B>CellServDB</B> file. If the administrators in foreign cells do
2146 not learn about the change in your cell, they cannot update the
2147 <B>CellServDB</B> file on their client machines. Users in foreign
2148 cells continue to send database requests to the decommissioned machine, which
2149 creates needless network traffic and activity on the machine. Also, the
2150 users experience time-out delays while their request is forwarded to a valid
2151 database server machine.
2152 <P><LI><A NAME="LIWQ127"></A>Remove the decommissioned machine from your cell's central
2153 <B>CellServDB</B> source file, if you use one. The conventional
2154 location is
2155 <B>/afs/</B><VAR>cellname</VAR><B>/common/etc/CellServDB</B>. 
2156 <P>If you maintain a file that users in foreign cells can access to learn
2157 about your cell's database server machines, update it also. The
2158 conventional location is
2159 <B>/afs/</B><VAR>cellname</VAR><B>/service/etc/CellServDB.local</B>.
2160 <A NAME="IDX2902"></A>
2161 <A NAME="IDX2903"></A>
2162 <A NAME="IDX2904"></A>
2163 <A NAME="IDX2905"></A>
2164 <P><LI><A NAME="LIWQ128"></A>Update every client machine's
2165 <B>/usr/vice/etc/CellServDB</B> file and kernel memory list to exclude
2166 this machine. Altering the <B>CellServDB</B> file and kernel memory
2167 list before stopping the actual database server processes avoids possible
2168 time-out delays that result when users send requests to a decommissioned
2169 database server machine that is still listed in the file. 
2170 <P>There are several ways to update the <B>CellServDB</B> file on client
2171 machines, as detailed in the chapter of the <I>IBM AFS Administration
2172 Guide</I> about administering client machines. One option is to copy
2173 over the central update source (which you updated in Step <A HREF="#LIWQ116">5</A>), with or without using the <B>package</B>
2174 program. To update the machine's kernel memory list, you can
2175 either reboot after changing the <B>CellServDB</B> file or issue the
2176 <B>fs newcell</B> command.
2177 <A NAME="IDX2906"></A>
2178 <A NAME="IDX2907"></A>
2179 <A NAME="IDX2908"></A>
2180 <A NAME="IDX2909"></A>
2181 <P><LI><A NAME="LIWQ129"></A>Issue the <B>bos removehost</B> command to remove the
2182 decommissioned database server machine from the
2183 <B>/usr/afs/etc/CellServDB</B> file on server machines. 
2184 <P>Substitute the decommissioned database server machine's
2185 fully-qualified hostname for the <VAR>host name</VAR> argument. If you
2186 run a system control machine, substitute its fully-qualified hostname for the
2187 <VAR>machine&nbsp;name</VAR> argument. If you do not run a system control
2188 machine, repeat the <B>bos removehost</B> command once for each server
2189 machine in your cell (including the decommissioned database server machine
2190 itself), by substituting each one's fully-qualified hostname for the
2191 <VAR>machine&nbsp;name</VAR> argument in turn.
2192 <PRE>   
2193    % <B>bos removehost</B> &lt;<VAR>machine&nbsp;name</VAR>>  &lt;<VAR>host&nbsp;name</VAR>>   
2194 </PRE> 
2195 <P>If you run a system control machine, wait for the Update Server to
2196 distribute the new <B>CellServDB</B> file, which takes up to five minutes
2197 by default. If issuing individual <B>bos removehost</B> commands,
2198 attempt to issue all of them within five minutes.
2199 <P><LI><B>(Optional)</B> Issue the <B>bos listhosts</B> command on each
2200 server machine to verify that the decommissioned database server machine no
2201 longer appears in its <B>CellServDB</B> file. 
2202 <PRE>   
2203    % <B>bos listhosts</B> &lt;<VAR>machine&nbsp;name</VAR>>
2204    
2205 </PRE>
2206 <A NAME="IDX2910"></A>
2207 <A NAME="IDX2911"></A>
2208 <A NAME="IDX2912"></A>
2209 <A NAME="IDX2913"></A>
2210 <A NAME="IDX2914"></A>
2211 <A NAME="IDX2915"></A>
2212 <A NAME="IDX2916"></A>
2213 <P><LI><A NAME="LIWQ130"></A>Issue the <B>bos stop</B> command to stop the database
2214 server processes on the machine, by substituting its fully-qualified hostname
2215 for the <VAR>machine&nbsp;name</VAR> argument. The command changes each
2216 process's status in the <B>/usr/afs/local/BosConfig</B> file to
2217 <TT>NotRun</TT>, but does not remove its entry from the file. 
2218 <PRE>   
2219    % <B>bos stop</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver buserver ptserver vlserver</B>
2220     
2221 </PRE>
2222 <A NAME="IDX2917"></A>
2223 <A NAME="IDX2918"></A>
2224 <A NAME="IDX2919"></A>
2225 <A NAME="IDX2920"></A>
2226 <A NAME="IDX2921"></A>
2227 <P><LI><A NAME="LIWQ131"></A><B>(Optional)</B> Issue the <B>bos delete</B> command
2228 to remove the entries for database server processes from the
2229 <B>BosConfig</B> file. This step is unnecessary if you plan to
2230 restart the database server functionality on this machine in future. 
2231 <PRE>   
2232    % <B>bos delete</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver buserver ptserver vlserver</B>
2233     
2234 </PRE>
2235 <A NAME="IDX2922"></A>
2236 <A NAME="IDX2923"></A>
2237 <A NAME="IDX2924"></A>
2238 <A NAME="IDX2925"></A>
2239 <P><LI><A NAME="LIWQ132"></A>Issue the <B>bos restart</B> command on every database
2240 server machine in the cell, to restart the Authentication, Backup, Protection,
2241 and VL Servers. This forces the election of a Ubik coordinator for each
2242 process, ensuring that the remaining database server processes recognize that
2243 the machine is no longer a database server. 
2244 <P>A cell-wide service outage is possible during the election of a new
2245 coordinator for the VL Server, but it normally lasts less than five
2246 minutes. Messages tracing the progress of the election appear on the
2247 console.
2248 <P>Repeat this command on each of your cell's database server machines in
2249 quick succession. Begin with the machine with the lowest IP
2250 address. 
2251 <PRE>   
2252    %  <B>bos restart</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver buserver ptserver vlserver</B>    
2253 </PRE> 
2254 <P>If an error occurs, restart all server processes on the database server
2255 machines again by using one of the following methods:
2256 <UL>
2257 <P><LI>Issue the <B>bos restart</B> command with the <B>-bosserver</B>
2258 flag for each database server machine
2259 <P><LI>Reboot each database server machine, either using the <B>bos exec</B>
2260 command or at its console
2261 </UL>
2262 </OL>
2263 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg005.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Top_Of_Page"><IMG SRC="../top.gif" BORDER="0" ALT="[Top of Topic]"></A> <A HREF="auqbg007.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
2264 <!-- Begin Footer Records  ========================================== -->
2265 <P><HR><B> 
2266 <br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A>  All Rights Reserved 
2267 </B> 
2268 <!-- End Footer Records  ============================================ -->
2269 <A NAME="Bot_Of_Page"></A>
2270 </BODY></HTML>