afsd's -mem_alloc_sleep is obselete -- update documentation
[openafs.git] / doc / man-pages / pod8 / afsd.pod
1 =head1 NAME
2
3 afsd, afsd.fuse - Initializes the Cache Manager and starts related daemons
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<afsd> [B<-afsdb>] [B<-backuptree>]
11      S<<< [B<-biods> <I<number of bkg I/O daemons (aix vm)>>] >>>
12      S<<< [B<-blocks> <I<1024 byte blocks in cache>>] >>>
13      S<<< [B<-cachedir> <I<cache directory>>] >>>
14      S<<< [B<-chunksize> <I<log(2) of chunk size>>] >>>
15      S<<< [B<-confdir> <I<configuration directory>>] >>>
16      S<<< [B<-daemons> <I<number of daemons to use>>] >>>
17      S<<< [B<-dcache> <I<number of dcache entries>>] >>> [B<-debug>]
18      [B<-dynroot>] [B<-dynroot-sparse>] [B<-enable_peer_stats>]
19      [B<-enable_process_stats>] [B<-fakestat>] [B<-fakestat-all>]
20      S<<< [B<-files> <I<files in cache>>] >>>
21      S<<< [B<-files_per_subdir> <I<log(2) of files per dir>> ] >>>
22      [B<-help>] S<<< [B<-logfile> <I<Place to keep the CM log>>] >>>
23      [B<-mem_alloc_sleep>] [B<-memcache>]
24      S<<< [B<-mountdir> <I<mount location>>] >>> [B<-nomount>]
25      [B<-nosettime>]
26      S<<< [B<-prealloc> <I<number of 'small' preallocated blocks>>] >>>
27      [B<-rmtsys>] S<<< [B<-rootvol> <I<name of AFS root volume>>] >>>
28      [B<-rxbind>] S<<< [B<-rxmaxmtu> value for maximum MTU ] >>> 
29      S<<< [B<-rxpck> value for rx_extraPackets ] >>>
30      [B<-settime>] [B<-shutdown>]
31      S<<< [B<-splitcache> <I<RW/RO ratio>>] >>>
32      S<<< [B<-stat> <I<number of stat entries>>] >>> [B<-verbose>]
33      [B<-disable-dynamic-vcaches>] 
34      S<<< [B<-volumes> <I<number of volume entries>>] >>>
35      [B<-waitclose>]
36
37 =for html
38 </div>
39
40 =head1 DESCRIPTION
41
42 The B<afsd> command initializes the Cache Manager on an AFS client machine
43 by transferring AFS-related configuration information into kernel memory
44 and starting several daemons. B<afsd.fuse> is an experimental variant that
45 inititalizes a FUSE-based Cache Manager instead of one based on a kernel
46 module.
47
48 The B<afsd> command performs the following actions:
49
50 =over 4
51
52 =item *
53
54 Sets a field in kernel memory that defines the machine's cell
55 membership. Some Cache Manager-internal operations and system calls
56 consult this field to learn which cell to execute in. (The AFS command
57 interpreters refer to the F</usr/vice/etc/ThisCell> file instead.) This
58 information is transferred into the kernel from the
59 F</usr/vice/etc/ThisCell> file and cannot be changed until the B<afsd>
60 program runs again.
61
62 =item *
63
64 Places in kernel memory the names and Internet addresses of the database
65 server machines in the local cell and (optionally) foreign cells. The
66 appearance of a cell's database server machines in this list enables the
67 Cache Manager to contact them and to access files in the cell. Omission of
68 a cell from this list, or incorrect information about its database server
69 machines, prevents the Cache Manager from accessing files in it.
70
71 By default, the list of database server machines is transferred into the
72 kernel from the F</usr/vice/etc/CellServDB> file. Alternatively, when the
73 B<-afsdb> option is used, the list of database server machines is taken
74 from the AFSDB DNS records for each cell. After initialization, use the
75 B<fs newcell> command to change the kernel-resident list without having to
76 reboot.
77
78 =item *
79
80 Mounts the root of the AFS filespace on a directory on the machine's local
81 disk, according to either the first field in the
82 F</usr/vice/etc/cacheinfo> file (the default) or the B<afsd> command's
83 B<-mountdir> argument. The conventional value is F</afs>.
84
85 =item *
86
87 Determines which volume to mount at the root of the AFS file tree.  The
88 default is the volume C<root.afs>; use the B<-rootvol> argument to
89 override it. Although the base (read/write) form of the volume name is the
90 appropriate value, the Cache Manager has a bias for accessing the
91 read-only version of the volume (by convention, C<root.afs.readonly>) if
92 it is available.
93
94 =item *
95
96 Configures the cache on disk (the default) or in machine memory if the
97 B<-memcache> argument is provided. In the latter case, the B<afsd> program
98 allocates space in machine memory for caching, and the Cache Manager uses
99 no disk space for caching even if the machine has a disk.
100
101 =item *
102
103 Defines the name of the local disk directory devoted to caching, when the
104 B<-memcache> argument is not used. If necessary, the B<afsd> program
105 creates the directory (its parent directory must already exist). It does
106 not remove the directory that formerly served this function, if one
107 exists.
108
109 The second field in the F</usr/vice/etc/cacheinfo> file is the source for
110 this name. The standard value is F</usr/vice/cache>. Use the B<-cachedir>
111 argument to override the value in the B<cacheinfo> file.
112
113 =item *
114
115 Sets the size of the cache. The default source for the value is the third
116 field in the F</usr/vice/etc/cacheinfo> file, which specifies a number of
117 kilobytes.
118
119 For a memory cache, the following arguments to the afsd command override
120 the value in the B<cacheinfo> file:
121
122 =over 4
123
124 =item *
125
126 The B<-blocks> argument, to specify a different number of kilobyte blocks.
127
128 =item *
129
130 The B<-dcache> and B<-chunksize> arguments together, to set both the
131 number of dcache entries and the chunk size (see below for definition of
132 these parameters). In this case, the B<afsd> program derives cache size by
133 multiplying the two values. Using this combination is not recommended, as
134 it requires the issuer to perform the calculation beforehand to determine
135 the resulting cache size.
136
137 =item *
138
139 The B<-dcache> argument by itself. In this case, the B<afsd> program
140 derives cache size by multiplying the value specified by the B<-dcache>
141 argument by the default memory cache chunk size of eight kilobytes. Using
142 this argument is not recommended, as it requires the issuer to perform the
143 calculation beforehand to determine the resulting cache size.
144
145 =back
146
147 For satisfactory memory cache performance, the specified value must leave
148 enough memory free to accommodate all other processes and commands that
149 can run on the machine. If the value exceeds the amount of memory
150 available, the B<afsd> program exits without initializing the Cache
151 Manager and produces the following message on the standard output stream:
152
153    afsd: memCache allocation failure at <number> KB
154
155 where <number> is how many kilobytes were allocated just before the
156 failure.
157
158 For a disk cache, use the B<-blocks> argument to the B<afsd> command to
159 override the value in the B<cacheinfo> file. The value specified in either
160 way sets an absolute upper limit on cache size; values provided for other
161 arguments (such as B<-dcache> and B<-chunksize>) never result in a larger
162 cache. The B<afsd> program rejects any setting larger than 95% of the
163 partition size, and exits after generating an error message on the
164 standard output stream, because the cache implementation itself requires a
165 small amount of disk space and overfilling the partition can cause the
166 client machine to panic.
167
168 To change the size of a disk cache after initialization without rebooting,
169 use the B<fs setcachesize> command; the setting persists until the B<afsd>
170 command runs again or the B<fs setcachesize> command is reissued. The B<fs
171 setcachesize> command does not work for memory caches.
172
173 =item *
174
175 Sets the size of each cache I<chunk>, and by implication the amount of
176 data that the Cache Manager requests at a time from the File Server (how
177 much data per fetch RPC, since AFS uses partial file transfer).
178
179 For a disk cache, a chunk is a F<VI<n>> file and this parameter sets the
180 maximum size to which each one can expand.  For a memory cache, each chunk
181 is a collection of contiguous memory blocks. The default for a disk cache
182 is between 256 KB and 1 MB depending on the size of the cache. The default
183 for a memory cache is 8 KB.
184
185 To override the default chunk size for either type of cache, use the
186 B<-chunksize> argument to provide an integer to be used as an exponent of
187 two; see L<OPTIONS> for details. For a memory cache, if total cache size
188 divided by chunk size leaves a remainder, the B<afsd> program rounds down
189 the number of dcache entries, resulting in a slightly smaller cache.
190
191 =item *
192
193 Sets the number of chunks in the cache. For a memory cache, the number of
194 chunks is equal to the cache size divided by the chunk size.  For a disk
195 cache, the number of chunks (F<VI<n>> files) is set to the largest
196 of the following unless the B<-files> argument is used to set the value
197 explicitly:
198
199 =over 4
200
201 =item *
202
203 100
204
205 =item *
206
207 1.5 times the result of dividing cache size by chunk size
208 (I<cachesize>/I<chunksize> * 1.5)
209
210 =item *
211
212 The result of dividing cachesize by 10 KB (I<cachesize>/10240)
213
214 =back
215
216 =item *
217
218 Sets the number of I<dcache entries> allocated in machine memory for
219 storing information about the chunks in the cache.
220
221 For a disk cache, the F</usr/vice/cache/CacheItems> file contains one
222 entry for each F<VI<n>> file. By default, one half the number of
223 these entries (but not more that 2,000) are duplicated as dcache entries
224 in machine memory for quicker access.
225
226 For a memory cache, there is no F<CacheItems> file so all information
227 about cache chunks must be in memory as dcache entries.  Thus, there is no
228 default number of dcache entries for a memory cache; instead, the B<afsd>
229 program derives it by dividing the cache size by the chunk size.
230
231 To set the number of dcache entries, use the B<-dcache> argument; the
232 specified value can exceed the default limit of 2,000. Using this argument
233 is not recommended for either type of cache. Increasing the number of
234 dcache entries for a disk cache sometimes improves performance (because
235 more entries are retrieved from memory rather than from disk), but only
236 marginally. Using this argument for a memory cache requires the issuer to
237 calculate the cache size by multiplying this value by the chunk size.
238
239 =item *
240
241 Sets the number of I<stat> entries available in machine memory for caching
242 status information about cached AFS files. The default is based on the
243 size of the cache. Use the B<-stat> argument to override the default.
244
245 =item *
246
247 If the B<-settime> option is specified, then it randomly selects a file
248 server machine in the local cell as the source for the correct time. Every
249 five minutes thereafter, the local clock is adjusted (if necessary) to
250 match the file server machine's clock. This is not enabled by default.  It
251 is recommended, instead, that the Network Time Protocol Daemon be used to
252 synchronize the time.
253
254 =back
255
256 In addition to setting cache configuration parameters, the B<afsd> program
257 starts the following daemons. (On most system types, these daemons appear
258 as nameless entries in the output of the UNIX B<ps> command.)
259
260 =over 4
261
262 =item *
263
264 One I<callback> daemon, which handles callbacks. It also responds to the
265 File Server's periodic probes, which check that the client machine is
266 still alive.
267
268 =item *
269
270 One I<maintenance> daemon, which performs the following tasks:
271
272 =over 4
273
274 =item *
275
276 Garbage collects obsolete data (for example, expired tokens) from kernel
277 memory.
278
279 =item *
280
281 Synchronizes files.
282
283 =item *
284
285 Refreshes information from read-only volumes once per hour.
286
287 =item *
288
289 Does delayed writes for NFS clients if the machine is running the NFS/AFS
290 Translator.
291
292 =back
293
294 =item *
295
296 One I<cache-truncation> daemon, which flushes the cache when free space is
297 required, by writing cached data and status information to the File
298 Server.
299
300 =item *
301
302 One I<server connection> daemon, which sends a probe to the File
303 Server every few minutes to check that it is still accessible. If the
304 B<-settime> option is set, it also synchronizes the machine's clock
305 with the clock on a randomly-chosen file server machine. There is
306 always one server connection daemon.
307
308 =item *
309
310 One or more I<background> daemons that improve performance by pre-fetching
311 files and performing background (delayed) writes of saved data into AFS.
312
313 The default number of background daemons is two, enough to service at
314 least five simultaneous users of the machine. To increase the number, use
315 the B<-daemons> argument. A value greater than six is not generally
316 necessary.
317
318 =item *
319
320 On some system types, one I<Rx listener> daemon, which listens for
321 incoming RPCs.
322
323 =item *
324
325 On some system types, one I<Rx event> daemon, which reviews the Rx
326 system's queue of tasks and performs them as appropriate. Most items in
327 the queue are retransmissions of failed packets.
328
329 =item *
330
331 On machines that run AIX with virtual memory (VM) integration, one or more
332 I<VM> daemons (sometimes called I<I/O> daemons, which transfer data
333 between disk and machine memory. The number of them depends on the setting
334 of the B<-biods> and B<-daemons> arguments:
335
336 =over 4
337
338 =item *
339
340 If the B<-biods> argument is used, it sets the number of VM daemons.
341
342 =item *
343
344 If only the B<-daemons> argument is used, the number of VM daemons is
345 twice the number of background daemons.
346
347 =item *
348
349 If neither argument is used, there are five VM daemons.
350
351 =back
352
353 =back
354
355 B<afsd.fuse> is a variant of B<afsd> that, instead of initializing a Cache
356 Manager implemented as a kernel module, initializes a FUSE-based AFS
357 client.  FUSE (Filesystem in USErspace) is a Linux-only mechanism for
358 providing a file system through a purely user-space daemon without a
359 kernel module component.  B<afsd.fuse> takes all of the same options as
360 B<afsd>.
361
362 This command does not use the syntax conventions of the AFS command
363 suites. Provide the command name and all option names in full.
364
365 =head1 CAUTIONS
366
367 Before using the B<-shutdown> parameter, use the standard UNIX B<umount>
368 command to unmount the AFS root directory (by convention, F</afs>).  On
369 Linux, unloading the AFS kernel module and then loading it again before
370 restarting AFS after B<-shutdown> is recommended.
371
372 AFS has for years had difficulties with being stopped and restarted
373 without an intervening reboot.  While most of these issues have been
374 ironed out, stopping and restarting AFS is not recommended unless
375 necessary and rebooting before restarting AFS is still the safest course
376 of action. This does not apply to Linux; it should be safe to restart the
377 AFS client on Linux without rebooting.
378
379 In contrast to many client-server applications, not all communication is
380 initiated by the client. When the AFS client opens a file, it registers a
381 callback with the AFS server. If the file changes, the server notifies the
382 client that the file has changed and that all cached copies should be
383 discarded. In order to enable full functionality on the AFS client,
384 including all command-line utilities, the following UDP ports must be open
385 on an firewalls between the client and the server:
386
387    fileserver      7000/udp 
388    cachemanager    7001/udp (OpenAFS client. Arla uses 4711/udp)
389    ptserver        7002/udp
390    vlserver        7003/udp
391    kaserver        7004/udp (not needed with Kerberos v5)
392    volserver       7005/udp
393    reserved        7006/udp (for future use)
394    bosserver       7007/udp
395
396 Clients will also need to be able to contact your Kerberos KDC to
397 authenticate.  If you are using B<kaserver> and B<klog>, you need to allow
398 inbound and outbound UDP on ports >1024 (probably 1024<port<2048 would
399 suffice depending on the number of simultaneous B<klog>s).
400
401 Be sure to set the UDP timeouts on the firewall to be at least twenty
402 minutes for the best callback performance.
403
404 B<afsd.fuse> was first introduced in OpenAFS 1.5.74.  It is only available
405 if OpenAFS was built with the C<--enable-fuse-client> configure switch.
406 It should be considered experimental.
407
408 =head1 OPTIONS
409
410 =over 4
411
412 =item B<-afsdb>
413
414 Enable afsdb support. This will use DNS to lookup the AFSDB record and
415 use that for the database servers for each cell instead of the values
416 in the F<CellServDB> file. This has the advantage of only needing to
417 update one DNS record to reconfigure the AFS clients for a new
418 database server as opposed to touching all of the clients, and also
419 allows one to access a cell without preconfiguring its database
420 servers in F<CellServDB>. The format of AFSDB records is defined in
421 RFC 1183.
422
423 =item B<-backuptree>
424
425 Prefer backup volumes for mountpoints in backup volumes. This option means
426 that the AFS client will prefer to resolve mount points to backup volumes
427 when a parent of the current volume is a backup volume. This is similar to
428 the standard behaviour of preferring read-only volumes over read-write
429 volumes when the parent volume is a read-only volume.
430
431 =item B<-biods> <I<number of I/O daemons>>
432
433 Sets the number of VM daemons dedicated to performing I/O operations on a
434 machine running a version of AIX with virtual memory (VM) integration.  If
435 both this argument and the B<-daemons> argument are omitted, the default
436 is five. If this argument is omitted but the B<-daemons> argument is
437 provided, the number of VM daemons is set to twice the value of the
438 B<-daemons> argument.
439
440 =item B<-blocks> <I<blocks in cache>>
441
442 Specifies the number of kilobyte blocks to be made available for caching
443 in the machine's cache directory (for a disk cache) or memory (for a
444 memory cache), overriding the default defined in the third field of the
445 F</usr/vice/etc/cacheinfo> file. For a disk cache, the value cannot exceed
446 95% of the space available in the cache partition. If using a memory
447 cache, do not combine this argument with the B<-dcache> argument, since
448 doing so can possibly result in a chunk size that is not an exponent of 2.
449
450 =item B<-cachedir> <I<cache directory>>
451
452 Names the local disk directory to be used as the cache. This value
453 overrides the default defined in the second field of the
454 F</usr/vice/etc/cacheinfo> file.
455
456 =item B<-chunksize> <I<chunk size>>
457
458 Sets the size of each cache chunk. The integer provided, which must be
459 from the range C<0> to C<30>, is used as an exponent on the number 2. If not
460 supplied, a default chunksize will be determined based on the cache type and
461 cache size, and will range from C<13> (8KB) for memory cache and C<18> to
462 C<20> (256 KB to 1MB) for disk cache. A value of C<0> or less, or greater than
463 C<30>, sets chunk size to the appropriate default. Values less than C<10>
464 (which sets chunk size to a 1 KB) are not recommended.  Combining this
465 argument with the B<-dcache> argument is not recommended because it
466 requires that the issuer calculate the cache size that results.
467
468 B<-chunksize> is an important option when tuning for performance. Setting
469 this option to larger values can increase performance when dealing with
470 large files.
471
472 =item B<-confdir> <I<configuration directory>>
473
474 Names a directory other than the F</usr/vice/etc> directory from which to
475 fetch the F<cacheinfo>, F<ThisCell>, and F<CellServDB> configuration
476 files.
477
478 =item B<-daemons> <I<number of daemons to use>>
479
480 Specifies the number of background daemons to run on the machine.  These
481 daemons improve efficiency by doing prefetching and background writing of
482 saved data. This value overrides the default of C<2>, which is adequate
483 for a machine serving up to five users. Values greater than C<6> are not
484 generally more effective than C<6>.
485
486 Note: On AIX machines with integrated virtual memory (VM), the number of
487 VM daemons is set to twice the value of this argument, if it is provided
488 and the B<-biods> argument is not. If both arguments are omitted, there
489 are five VM daemons.
490
491 =item B<-dcache> <I<number of dcache entries>>
492
493 Sets the number of dcache entries in memory, which are used to store
494 information about cache chunks. For a disk cache, this overrides the
495 default, which is 50% of the number of F<VI<n>> files (cache chunks). For
496 a memory cache, this argument effectively sets the number of cache chunks,
497 but its use is not recommended, because it requires the issuer to
498 calculate the resulting total cache size (derived by multiplying this
499 value by the chunk size). Do not combine this argument with the B<-blocks>
500 argument, since doing so can possibly result in a chunk size that is not
501 an exponent of 2.
502
503 =item B<-debug>
504
505 Generates a highly detailed trace of the B<afsd> program's actions on the
506 standard output stream. The information is useful mostly for debugging
507 purposes.
508
509 =item B<-dynroot>
510
511 The standard behaviour of the AFS client without the B<-dynroot> option is
512 to mount the root.afs volume from the default cell on the F</afs> path. The 
513 F</afs> folder and root.afs volume traditionally shows the folders for 
514 F<ThisCell> and other cells as configured by the AFS cell administrator.
515
516 The B<-dynroot> option changes this. Using this option, the AFS client
517 does not mount the root.afs volume on F</afs>. Instead it uses the
518 contents of the F<CellServDB> file to populate the listing of cells in
519 F</afs>. This is known as a DYNamic ROOT. A cell is not contacted until
520 the path F</afs/I<cellname>> if accessed. This functions similarly to an
521 automounter.  The main advantage of using B<-dynroot> is that the AFS
522 client will start properly even without network access, whereas the client
523 not using B<-dynroot> will freeze upon startup if cannot contact the
524 default cell specified in F<ThisCell> and mount the root.afs
525 volume. Dynamic root mode is also sometimes called travelling mode because
526 it works well for laptops which don't always have network connectivity.
527
528 Two advantages of not using dynroot are that listing F</afs> will usually
529 be faster because the contents of F</afs> are limited to what the AFS
530 administrator decides and that symbolic links are traditionally created
531 by the AFS administrator to provide a short name for the cell (i.e.
532 cellname.domain.com is aliased to cellname).  However, with dynroot, the
533 local system administrator can limit the default contents of F</afs> by
534 installing a stripped-down F<CellServDB> file, and if dynroot is in effect,
535 the F<CellAlias> file can be used to provide shortname for common AFS cells
536 which provides equivalent functionality to the most commonly used symbolic
537 links.
538
539 =item B<-dynroot-sparse>
540
541 In addition to operating in the manner described for dynroot above,
542 cells other than the local cell are not shown by default until a lookup
543 occurs. Cell aliases as set in the CellAliases file are shown as normal,
544 although they may appear to be dangling links until traversed.
545
546 =item B<-enable_peer_stats>
547
548 Activates the collection of Rx statistics and allocates memory for their
549 storage. For each connection with a specific UDP port on another machine,
550 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
551 so on) sent or received. To display or otherwise access the records, use
552 the Rx Monitoring API.
553
554 =item B<-enable_process_stats>
555
556 Activates the collection of Rx statistics and allocates memory for their
557 storage. A separate record is kept for each type of RPC (FetchFile,
558 GetStatus, and so on) sent or received, aggregated over all connections to
559 other machines. To display or otherwise access the records, use the Rx
560 Monitoring API.
561
562 =item B<-fakestat>
563
564 Return fake values for stat calls on cross-cell mounts. This option makes
565 an C<ls -l> of F</afs> much faster since each cell isn't contacted, and
566 this and the B<-fakestat-all> options are useful on Mac OS X so that the
567 Finder program doesn't try to contact every AFS cell the system knows
568 about.
569
570 Note that, for the purposes of B<-fakestat>, local cellular mounts count
571 as "cross-cell" mounts. That is, if the local cell is C<localcell>, a
572 mount for C<localcell:root.cell> will count as a "cross-cell" mount and
573 so stat calls for it will be faked with B<-fakestat>. In practice, local
574 cellular mounts are rare and generally discouraged, so this should not
575 generally make a difference.
576
577 =item B<-fakestat-all>
578
579 Return fake values for stat calls on all mounts, not just cross-cell
580 mounts. This and the B<-fakestat> options are useful on Mac OS X so that
581 the Finder program doesn't hang when browsing AFS directories.
582
583 =item B<-files> <I<files in cache>>
584
585 Specifies the number of F<VI<n>> files to create in the cache directory
586 for a disk cache, overriding the default that is calculated as described
587 in L<DESCRIPTION>. Each F<VI<n>> file accommodates a chunk of data, and
588 can grow to a maximum size of 64 KB by default. Do not combine this
589 argument with the B<-memcache> argument.
590
591 =item B<-files_per_subdir> <I<files per cache subdirectory>>
592
593 Limits the number of cache files in each subdirectory of the cache
594 directory. The value of the option should be the base-two log of the
595 number of cache files per cache subdirectory (so 10 for 1024 files, 14 for
596 16384 files, and so forth).
597
598 =item B<-help>
599
600 Prints the online help for this command. All other valid options are
601 ignored.
602
603 =item B<-logfile> <I<log file location>>
604
605 This option is obsolete and no longer has any effect.
606
607 =item B<-mem_alloc_sleep>
608
609 This option is obsolete and no longer has any effect.
610
611 =item B<-memcache>
612
613 Initializes a memory cache rather than a disk cache. Do not combine this
614 flag with the B<-files> argument.
615
616 =item B<-mountdir> <I<mount location>>
617
618 Names the local disk directory on which to mount the root of the AFS
619 filespace. This value overrides the default defined in the first field of
620 the F</usr/vice/etc/cacheinfo> file. If a value other than the F</afs>
621 directory is used, the machine cannot access the filespace of cells that
622 do use that value.
623
624 =item B<-nomount>
625
626 Do not mount AFS on startup. The afs global mount must be mounted via
627 some other means. This is useful on Mac OS X where /afs is sometimes
628 mounted in /Network/afs like other network file systems.
629
630 =item B<-nosettime>
631
632 This is enabled by default. It prevents the Cache Manager from
633 synchronizing its clock with the clock on a server machine selected at
634 random by checking the time on the server machine every five minutes.
635 This is the recommended behavior; instead of the AFS Cache Manager, the
636 Network Time Protocol Daemon should be used to synchronize the system
637 time.
638
639 =item B<-prealloc> <I<number of preallocated blocks>>
640
641 Specifies the number of pieces of memory to preallocate for the Cache
642 Manager's internal use. The default initial value is C<400>, but the Cache
643 Manager dynamically allocates more memory as it needs it.
644
645 =item B<-rmtsys>
646
647 Initializes an additional daemon to execute AFS-specific system calls on
648 behalf of NFS client machines. Use this flag only if the machine is an
649 NFS/AFS translator machine serving users of NFS client machines who
650 execute AFS commands.
651
652 =item B<-rootvol> <I<name of AFS root volume>>
653
654 Names the read/write volume corresponding to the root directory for the
655 AFS file tree (which is usually the F</afs> directory). This value
656 overrides the default of the C<root.afs> volume. This option is ignored if
657 B<-dynroot> is given.
658
659 =item B<-rxbind>
660
661 Bind the Rx socket (one interface only).
662
663 =item B<-rxmaxmtu> <I<value for maximum MTU>>
664
665 Set a limit for the largest maximum transfer unit (network packet size) that
666 the AFS client on this machine will be willing to transmit. This switch can
667 be used where an artificial limit on the network precludes packets as large
668 as the discoverable MTU from being transmitted successfully.
669
670 =item B<-rxpck> <I<value for rx_extraPackets>>
671
672 Set rx_extraPackets to this value. This sets the number of extra Rx
673 packet structures that are available to handle Rx connections. This
674 value should be increased if the "rxdebug 127.0.0.1 -port 7001
675 -rxstats" command shows no free Rx packets. Increasing this value may
676 improve OpenAFS client performance in some circumstances.
677
678 =item B<-settime>
679
680 Enable native AFS time synchronization. This option is the opposite of
681 B<-nosettime> and cannot be used with the B<-nosettime> option.
682
683 =item B<-shutdown>
684
685 Shuts down the Cache Manager. Before calling B<afsd> with this option,
686 unmount the AFS file system with B<umount>.
687
688 =item B<-splitcache> <I<RW/RO Ratio>>
689
690 This allows the user to set a certain percentage of the AFS cache be
691 reserved for read/write content and the rest to be reserved for read-only
692 content. The ratio should be written as a fraction.  For example,
693 C<-splitcache 75/25> devotes 75% of your cache space to read/write content
694 and 25% to read-only.
695
696 =item B<-stat> <I<number of stat entries>>
697
698 Specifies the number of entries to allocate in the machine's memory for
699 recording status information about the AFS files in the cache. If this value
700 is not specified, the number of stat entires will be autotuned based on the
701 size of the disk cache.
702
703 =item B<-verbose>
704
705 Generates a detailed trace of the B<afsd> program's actions on the
706 standard output stream.
707
708 =item B<-volumes> <I<number of volume entries>>
709
710 Specifies the number of memory structures to allocate for storing volume
711 location information. The default value is C<200>.
712
713 =item B<-disable-dynamic-vcaches>
714
715 By default, dynamic vcache overrides the B<-stat> option by using the value of
716 B<-stat> (or the default) as the initial size of the stat (or vcache) pool and
717 increases the pool dynamically as needed on supported platforms. This flag will
718 disable this new functionality and honor the '-stat' setting.
719
720 =item B<-waitclose>
721
722 Has no effect on the operation of the Cache Manager. The behavior it
723 affected in previous versions of the Cache Manager, to perform synchronous
724 writes to the File Server, is now the default behavior. To perform
725 asynchronous writes in certain cases, use the B<fs storebehind> command.
726
727 =back
728
729 =head1 EXAMPLES
730
731 The B<afsd> command is normally included in the machine's AFS
732 initialization file, rather than typed at the command shell prompt. For
733 most disk caches, the appropriate form is
734
735    % /usr/vice/etc/afsd
736
737 The following command is appropriate when enabling a machine to act as an
738 NFS/AFS Translator machine serving more than five users.
739
740    % /usr/vice/etc/afsd -daemons 4 -rmtsys
741
742 The following command initializes a memory cache and sets chunk size to 16
743 KB (2^14).
744
745    % /usr/vice/etc/afsd -memcache -chunksize 14
746
747 =head1 PRIVILEGE REQUIRED
748
749 The issuer must be logged in as the local superuser root.
750
751 =head1 SEE ALSO
752
753 L<fs_newcell(1)>,
754 L<afs_cache(5)>,
755 L<CellServDB(5)>,
756 L<cacheinfo(5)>
757
758 RFC 1183 L<http://www.faqs.org/rfcs/rfc1183.html>
759
760 =head1 COPYRIGHT
761
762 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
763
764 This documentation is covered by the IBM Public License Version 1.0.  It
765 was converted from HTML to POD by software written by Chas Williams and
766 Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.