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