viced: make -vhashsize usable for non-DAFS
[openafs.git] / doc / man-pages / pod8 / fragments / fileserver-options.pod
1 =over 4
2
3 =item B<-auditlog> <I<log path>>
4
5 Turns on audit logging, and sets the path for the audit log.  The audit
6 log records information about RPC calls, including the name of the RPC
7 call, the host that submitted the call, the authenticated entity (user)
8 that issued the call, the parameters for the call, and if the call
9 succeeded or failed.
10
11 =item B<-audit-interface> (file | sysvmq)
12
13 Specifies what audit interface to use. The C<file> interface writes audit
14 messages to the file passed to B<-auditlog>. The C<sysvmq> interface
15 writes audit messages to a SYSV message (see L<msgget(2)> and
16 L<msgrcv(2)>). The message queue the C<sysvmq> interface writes to has the
17 key C<ftok(path, 1)>, where C<path> is the path specified in the
18 B<-auditlog> option.
19
20 Defaults to C<file>.
21
22 =item B<-d> <I<debug level>>
23
24 Sets the detail level for the debugging trace written to the
25 F</usr/afs/logs/FileLog> file. Provide one of the following values, each
26 of which produces an increasingly detailed trace: C<0>, C<1>, C<5>, C<25>,
27 and C<125>. The default value of C<0> produces only a few messages.
28
29 =item B<-p> <I<number of processes>>
30
31 Sets the number of threads (or LWPs) to run. Provide a positive integer. 
32 The File Server creates and uses five threads for special purposes, 
33 in addition to the number specified (but if this argument specifies 
34 the maximum possible number, the File Server automatically uses five 
35 of the threads for its own purposes).
36
37 The maximum number of threads can differ in each release of OpenAFS.
38 Consult the I<OpenAFS Release Notes> for the current release.
39
40 =item B<-spare> <I<number of spare blocks>>
41
42 Specifies the number of additional kilobytes an application can store in a
43 volume after the quota is exceeded. Provide a positive integer; a value of
44 C<0> prevents the volume from ever exceeding its quota. Do not combine
45 this argument with the B<-pctspare> argument.
46
47 =item B<-pctspare> <I<percentage spare>>
48
49 Specifies the amount by which the File Server allows a volume to exceed
50 its quota, as a percentage of the quota. Provide an integer between C<0>
51 and C<99>. A value of C<0> prevents the volume from ever exceeding its
52 quota. Do not combine this argument with the B<-spare> argument.
53
54 =item B<-b> <I<buffers>>
55
56 Sets the number of directory buffers. Provide a positive integer.
57
58 =item B<-l> <I<large vnodes>>
59
60 Sets the number of large vnodes available in memory for caching directory
61 elements. Provide a positive integer.
62
63 =item B<-s> <I<small nodes>>
64
65 Sets the number of small vnodes available in memory for caching file
66 elements. Provide a positive integer.
67
68 =item B<-vc> <I<volume cachesize>>
69
70 Sets the number of volumes the File Server can cache in memory.  Provide a
71 positive integer.
72
73 =item B<-w> <I<call back wait interval>>
74
75 Sets the interval at which the daemon spawned by the File Server performs
76 its maintenance tasks. Do not use this argument; changing the default
77 value can cause unpredictable behavior.
78
79 =item B<-cb> <I<number of callbacks>>
80
81 Sets the number of callbacks the File Server can track. Provide a positive
82 integer.
83
84 =item B<-banner>
85
86 Prints the following banner to F</dev/console> about every 10 minutes.
87
88    File Server is running at I<time>.
89
90 =item B<-novbc>
91
92 Prevents the File Server from breaking the callbacks that Cache Managers
93 hold on a volume that the File Server is reattaching after the volume was
94 offline (as a result of the B<vos restore> command, for example). Use of
95 this flag is strongly discouraged.
96
97 =item B<-nobusy>
98
99 This option slightly changes the error codes reported to clients when an
100 unattached volume is accessed by a client during fileserver startup.
101
102 Normally, non-DAFS fileservers start accepting requests immediately on startup,
103 but attachment of volumes can take a while. So if a client tries to access a
104 volume that is not attached simply because the fileserver hasn't attached it
105 yet, that client will get an error. With the B<-nobusy> option present, the
106 fileserver will immediately respond with an error code that indicates the
107 server is starting up. However, some older clients (before OpenAFS 1.0) don't
108 understand this error code, and may not function optimally. So the default
109 behavior, without the B<-nobusy> option, is to at first respond with a
110 different error code that is understood by more clients, but is
111 indistinguishable from other scenarios where the volume is busy and not
112 attached for other reasons.
113
114 There is usually no reason to use this option under normal operation.
115
116 =item B<-implicit> <I<admin mode bits>>
117
118 Defines the set of permissions granted by default to the
119 system:administrators group on the ACL of every directory in a volume
120 stored on the file server machine. Provide one or more of the standard
121 permission letters (C<rlidwka>) and auxiliary permission letters
122 (C<ABCDEFGH>), or one of the shorthand notations for groups of permissions
123 (C<all>, C<none>, C<read>, and C<write>). To review the meaning of the
124 permissions, see the B<fs setacl> reference page.
125
126 =item B<-readonly>
127
128 Don't allow writes to this fileserver.
129
130 =item B<-hr> <I<number of hours between refreshing the host cps>>
131
132 Specifies how often the File Server refreshes its knowledge of the
133 machines that belong to protection groups (refreshes the host CPSs for
134 machines). The File Server must update this information to enable users
135 from machines recently added to protection groups to access data for which
136 those machines now have the necessary ACL permissions.
137
138 =item B<-busyat> <I<< redirect clients when queue > n >>>
139
140 Defines the number of incoming RPCs that can be waiting for a response
141 from the File Server before the File Server returns the error code
142 C<VBUSY> to the Cache Manager that sent the latest RPC. In response, the
143 Cache Manager retransmits the RPC after a delay. This argument prevents
144 the accumulation of so many waiting RPCs that the File Server can never
145 process them all. Provide a positive integer.  The default value is
146 C<600>.
147
148 =item B<-rxpck> <I<number of rx extra packets>>
149
150 Controls the number of Rx packets the File Server uses to store data for
151 incoming RPCs that it is currently handling, that are waiting for a
152 response, and for replies that are not yet complete. Provide a positive
153 integer.
154
155 =item B<-rxdbg>
156
157 Writes a trace of the File Server's operations on Rx packets to the file
158 F</usr/afs/logs/rx_dbg>.
159
160 =item B<-rxdbge>
161
162 Writes a trace of the File Server's operations on Rx events (such as
163 retransmissions) to the file F</usr/afs/logs/rx_dbg>.
164
165 =item B<-rxmaxmtu> <I<bytes>>
166
167 Defines the maximum size of an MTU.  The value must be between the
168 minimum and maximum packet data sizes for Rx.
169
170 =item B<-jumbo>
171
172 Allows the server to send and receive jumbograms. A jumbogram is
173 a large-size packet composed of 2 to 4 normal Rx data packets that share
174 the same header. The fileserver does not use jumbograms by default, as some
175 routers are not capable of properly breaking the jumbogram into smaller
176 packets and reassembling them.
177
178 =item B<-nojumbo>
179
180 Deprecated; jumbograms are disabled by default.
181
182 =item B<-rxbind>
183
184 Force the fileserver to only bind to one IP address.
185
186 =item B<-allow-dotted-principals>
187
188 By default, the RXKAD security layer will disallow access by Kerberos
189 principals with a dot in the first component of their name. This is to avoid
190 the confusion where principals user/admin and user.admin are both mapped to the
191 user.admin PTS entry. Sites whose Kerberos realms don't have these collisions 
192 between principal names may disable this check by starting the server
193 with this option.
194
195 =item B<-L>
196
197 Sets values for many arguments in a manner suitable for a large file
198 server machine. Combine this flag with any option except the B<-S> flag;
199 omit both flags to set values suitable for a medium-sized file server
200 machine.
201
202 =item B<-S>
203
204 Sets values for many arguments in a manner suitable for a small file
205 server machine. Combine this flag with any option except the B<-L> flag;
206 omit both flags to set values suitable for a medium-sized file server
207 machine.
208
209 =item B<-realm> <I<Kerberos realm name>>
210
211 Defines the Kerberos realm name for the File Server to use. If this
212 argument is not provided, it uses the realm name corresponding to the cell
213 listed in the local F</usr/afs/etc/ThisCell> file.
214
215 =item B<-udpsize> <I<size of socket buffer in bytes>>
216
217 Sets the size of the UDP buffer, which is 64 KB by default. Provide a
218 positive integer, preferably larger than the default.
219
220 =item B<-sendsize> <I<size of send buffer in bytes>>
221
222 Sets the size of the send buffer, which is 16384 bytes by default.
223
224 =item B<-abortthreshold> <I<abort threshold>>
225
226 Sets the abort threshold, which is triggered when an AFS client sends
227 a number of FetchStatus requests in a row and all of them fail due to
228 access control or some other error. When the abort threshold is
229 reached, the file server starts to slow down the responses to the
230 problem client in order to reduce the load on the file server.
231
232 The throttling behaviour can cause issues especially for some versions
233 of the Windows OpenAFS client. When using Windows Explorer to navigate
234 the AFS directory tree, directories with only "look" access for the
235 current user may load more slowly because of the throttling. This is
236 because the Windows OpenAFS client sends FetchStatus calls one at a
237 time instead of in bulk like the Unix Open AFS client.
238
239 Setting the threshold to 0 disables the throttling behavior. This
240 option is available in OpenAFS versions 1.4.1 and later.
241
242 =item B<-enable_peer_stats>
243
244 Activates the collection of Rx statistics and allocates memory for their
245 storage. For each connection with a specific UDP port on another machine,
246 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
247 so on) sent or received. To display or otherwise access the records, use
248 the Rx Monitoring API.
249
250 =item B<-enable_process_stats>
251
252 Activates the collection of Rx statistics and allocates memory for their
253 storage. A separate record is kept for each type of RPC (FetchFile,
254 GetStatus, and so on) sent or received, aggregated over all connections to
255 other machines. To display or otherwise access the records, use the Rx
256 Monitoring API.
257
258 =item B<-syslog> [<loglevel>]
259
260 Use syslog instead of the normal logging location for the fileserver
261 process.  If provided, log messages are at <loglevel> instead of the
262 default LOG_USER.
263
264 =item B<-mrafslogs>
265
266 Use MR-AFS (Multi-Resident) style logging.  This option is deprecated.
267
268 =item B<-transarc-logs>
269
270 Use Transarc style logging features. Rename the existing log file
271 F</usr/afs/logs/FileLog> to F</usr/afs/logs/FileLog.old> when the fileserver is
272 restarted.  This option is provided for compatibility with older versions.
273
274 =item B<-saneacls>
275
276 Offer the SANEACLS capability for the fileserver.  This option is
277 currently unimplemented.
278
279 =item B<-help>
280
281 Prints the online help for this command. All other valid options are
282 ignored.
283
284 =item B<-vhandle-setaside> <I<fds reserved for non-cache io>>
285
286 Number of file handles set aside for I/O not in the cache. Defaults to 128.
287
288 =item B<-vhandle-max-cachesize> <I<max open files>>
289
290 Maximum number of available file handles.
291
292 =item B<-vhandle-initial-cachesize> <I<initial open file cache>>
293
294 Number of file handles set aside for I/O in the cache. Defaults to 128.
295
296 =item B<-vattachpar> <I<number of volume attach threads>>
297
298 The number of threads assigned to attach and detach volumes.  The default
299 is 1.  Warning: many of the I/O parallelism features of Demand-Attach
300 Fileserver are turned off when the number of volume attach threads is only
301 1.
302
303 This option is only meaningful for a file server built with pthreads
304 support.
305
306 =item B<-m> <I<min percentage spare in partition>>
307
308 Specifies the percentage of each AFS server partition that the AIX version
309 of the File Server creates as a reserve. Specify an integer value between
310 C<0> and C<30>; the default is 8%. A value of C<0> means that the
311 partition can become completely full, which can have serious negative
312 consequences.  This option is not supported on platforms other than AIX.
313
314 =item B<-lock>
315
316 Prevents any portion of the fileserver binary from being paged (swapped)
317 out of memory on a file server machine running the IRIX operating system.
318 This option is not supported on platforms other than IRIX.
319
320 =item B<-offline-timeout> <I<timeout in seconds>>
321
322 Setting this option to I<N> means that if any clients are reading from a
323 volume when we want to offline that volume (for example, as part of
324 releasing a volume), we will wait I<N> seconds for the clients' request
325 to finish. If the clients' requests have not finished, we will then
326 interrupt the client requests and send an error to those clients,
327 allowing the volume to go offline.
328
329 If a client is interrupted, from the client's point of view, it will
330 appear as if they had accessed the volume after it had gone offline. For
331 RO volumes, this mean the client should fail-over to other valid RO
332 sites for that volume. This option may speed up volume releases if
333 volumes are being accessed by clients that have slow or unreliable
334 network connections.
335
336 Setting this option to C<0> means to interrupt clients immediately if a
337 volume is waiting to go offline. Setting this option to C<-1> means to
338 wait forever for client requests to finish. The default value is C<-1>.
339
340 For the LWP fileserver, the only valid value for this option is C<-1>.
341
342 =item B<-offline-shutdown-timeout> <I<timeout in seconds>>
343
344 This option behaves similarly to B<-offline-timeout> but applies to
345 volumes that are going offline as part of the fileserver shutdown
346 process. If the value specified is I<N>, we will interrupt any clients
347 reading from volumes after I<N> seconds have passed since we first
348 needed to wait for a volume to offline during the shutdown process.
349
350 Setting this option to C<0> means to interrupt all clients reading from
351 volumes immediately during the shutdown process. Setting this option to
352 C<-1> means to wait forever for client requests to finish during the
353 shutdown process.
354
355 If B<-offline-timeout> is specified, the default value of
356 B<-offline-shutdown-timeout> is the value specified for
357 B<-offline-timeout>. Otherwise, the default value is C<-1>.
358
359 For the LWP fileserver, the only valid value for this option is C<-1>.
360
361 =item B<-sync> <always | onclose | none>
362
363 This option changes how hard the fileserver tries to ensure that data written
364 to volumes actually hits the physical disk.
365
366 Normally, when the fileserver writes to disk, the underlying filesystem or
367 Operating System may delay writes from actually going to disk, and reorder
368 which writes hit the disk first. So, during an unclean shutdown of the machine
369 (if the power goes out, or the machine crashes, etc), file data may become lost
370 that the server previously told clients was already successfully written.
371
372 To try to mitigate this, the fileserver will try to "sync" file data to the
373 physical disk at numerous points during various I/O. However, this can result
374 in significantly reduced performance. Depending on the usage patterns, this may
375 or may not be acceptable. This option dictates specifically what the fileserver
376 does when it wants to perform a "sync".
377
378 There are several options; pass one of these as the argument to -sync. The
379 default is C<onclose>.
380
381 =over 4
382
383 =item always
384
385 This causes a sync operation to always sync immediately and synchronously.
386 This is the slowest option that provides the greatest protection against data
387 loss in the event of a crash.
388
389 Note that this is still not a 100% guarantee that data will not be lost or
390 corrupted during a crash. The underlying filesystem itself may cause data to
391 be lost or corrupt in such a situation. And OpenAFS itself does not (yet) even
392 guarantee that all data is consistent at any point in time; so even if the
393 filesystem and OS do not buffer or reorder any writes, you are not guaranteed
394 that all data will be okay after a crash.
395
396 This was the only behavior allowed in OpenAFS releases prior to 1.4.5.
397
398 =item onclose
399
400 This causes a sync to do nothing immediately, but causes the relevant file to
401 be flagged as potentially needing a sync. When a volume is detached, volume
402 metadata files flaged for synced are synced, as well as data files that have
403 been accessed recently. Events that cause a volume to detach include:
404 performing volume operations (dump, restore, clone, etc), a clean shutdown
405 of the fileserver, or during DAFS "soft detachment".
406
407 Effectively this option is the same as C<never> while a volume is attached and
408 actively being used, but if a volume is detached, there is an additional
409 guarantee for the data's consistency.
410
411 After the removal of the C<delayed> option after the OpenAFS 1.6 series, this
412 option became the default.
413
414 =item never
415
416 This causes all syncs to never do anything. This is the fastest option, with
417 the weakest guarantees for data consistency.
418
419 Depending on the underlying filesystem and Operating System, there may be
420 guarantees that any data written to disk will hit the physical media after a
421 certain amount of time. For example, Linux's pdflush process usually makes this
422 guarantee, and ext3 can make certain various consistency guarantees according
423 to the options given. ZFS on Solaris can also provide similar guarantees, as
424 can various other platforms and filesystems. Consult the documentation for
425 your platform if you are unsure.
426
427 =item delayed
428
429 This option used to exist in OpenAFS 1.6, but was later removed due to issues
430 encountered with data corruption during normal operation. Outside of the
431 OpenAFS 1.6 series, it is not a valid option, and the fileserver will fail to
432 start if you specify this (or any other unknown option). It caused syncs to
433 occur in a background thread, executing every 10 seconds.
434
435 This was the only behavior allowed in OpenAFS releases starting from 1.4.5 up
436 to and including 1.6.2. It was also the default for the 1.6 series starting in
437 OpenAFS 1.6.3.
438
439 =back
440
441 Which option you choose is not an easy decision to make. Various developers
442 and experts sometimes disagree on which option is the most reasonable, and it
443 may depend on the specific scenario and workload involved. Some argue that
444 the C<always> option does not provide significantly greater guarantees over
445 any other option, whereas others argue that choosing anything besides the
446 C<always> option allows for an unacceptable risk of data loss. This may
447 depend on your usage patterns, your platform and filesystem, and who you talk
448 to about this topic.
449
450 =item B<-logfile> <I<log file>>
451
452 Sets the file to use for server logging.  If logfile is not specified and
453 no other logging options are supplied, this will be F</usr/afs/logs/FileLog>.
454 Note that this option is intended for debugging and testing purposes.
455 Changing the location of the log file from the command line may result
456 in undesirable interactions with tools such as B<bos>.
457
458 =item B<-vhashsize <I<size>>
459
460 The log(2) of the number of volume hash buckets.  Default is 8 (i.e., by
461 default, there are 2^8 = 256 volume hash buckets). The minimum that can
462 be specified is 6 (64 hash buckets). In OpenAFS 1.5.77 and earlier, the
463 maximum that can be specified is 14 (16384 buckets). After 1.5.77, the
464 maximum that can be specified is 28 (268435456 buckets).
465
466 =item B<-config> <I<configuration directory>>
467
468 Set the location of the configuration directory used to configure this
469 service.  In a typical configuration this will be F</usr/afs/etc> - this
470 option allows the use of alternative configuration locations for testing
471 purposes.