<div class="synopsis">
B<fileserver> S<<< [B<-auditlog> <I<path to log file>>] >>>
+ S<<< [B<-audit-interface> (file | sysvmq)] >>>
S<<< [B<-d> <I<debug level>>] >>>
S<<< [B<-p> <I<number of processes>>] >>>
S<<< [B<-spare> <I<number of spare blocks>>] >>>
S<<< [B<-fs-state-dont-save>] >>>
S<<< [B<-fs-state-dont-restore>] >>>
S<<< [B<-fs-state-verify>] (none | save | restore | both)] >>>
+ S<<< [B<-vhandle-setaside> <I<fds reserved for non-cache io>>] >>>
+ S<<< [B<-vhandle-max-cachesize> <I<max open files>>] >>>
+ S<<< [B<-vhandle-initial-cachesize> <I<fds reserved for non-cache io>>] >>>
S<<< [B<-vhashsize> <I<log(2) of number of volume hash buckets>>] >>>
S<<< [B<-vlrudisable>] >>>
S<<< [B<-vlruthresh> <I<minutes before eligibility for soft detach>>] >>>
S<<< [B<-vlruinterval> <I<seconds between VLRU scans>>] >>>
S<<< [B<-vlrumax> <I<max volumes to soft detach in one VLRU scan>>] >>>
+ S<<< [B<-unsafe-nosalvage>] >>>
S<<< [B<-vattachpar> <I<number of volume attach threads>>] >>>
S<<< [B<-m> <I<min percentage spare in partition>>] >>>
S<<< [B<-lock>] >>>
Parameter (Argument) Small (-S) Medium Large (-L)
---------------------------------------------------------------------
- Number of LWPs (-p) 6 9 12
+ Number of LWPs (-p) 6 9 128
Number of cached dir blocks (-b) 70 90 120
Number of cached large vnodes (-l) 200 400 600
Number of cached small vnodes (-s) 200 400 600
=head1 CAUTIONS
+There are two strategies the File Server can use for attaching AFS volumes
+at startup and handling volume salvages. The traditional method assumes
+all volumes are salvaged before the File Server starts and attaches all
+volumes at start before serving files. The newer demand-attach method
+attaches volumes only on demand, salvaging them at that time as needed,
+and detaches volumes that are not in use. A demand-attach File Server can
+also save state to disk for faster restarts.
+
+The choice of traditional or demand-attach File Server must be made at
+compile time, and the required setup in F<BosConfig> is different for the
+two servers. When changing from a traditional File Server to
+demand-attach or vice versa, you will need to stop and remove the C<fs> or
+C<dafs> node in F<BosConfig> and create a new node of the appropriate
+type. See L<bos_create(8)> for more information.
+
Do not use the B<-k> and B<-w> arguments, which are intended for use
by the OpenAFS developers only. Changing them from their default
values can result in unpredictable File Server behavior. In any case,
have names that are 15 octets or less in length. A name that is 15 octets
long requires the use of only one block in the directory. Additional
sequential blocks are required to store entries with names that are longer
-than 15 octets. Each additional block provides an additional length of 16
+than 15 octets. Each additional block provides an additional length of 32
octets for the name of the entry. Note that if file names use an encoding
like UTF-8, a single character may be encoded into multiple octets.
=item B<-auditlog> <I<log path>>
-Set and enable auditing.
+Turns on audit logging, and sets the path for the audit log. The audit
+log records information about RPC calls, including the name of the RPC
+call, the host that submitted the call, the authenticated entity (user)
+that issued the call, the parameters for the call, and if the call
+succeeded or failed.
+
+=item B<-audit-interface> (file | sysvmq)
+
+Specifies what audit interface to use. The C<file> interface writes audit
+messages to the file passed to B<-auditlog>. The C<sysvmq> interface
+writes audit messages to a SYSV message (see L<msgget(2)> and
+L<msgrcv(2)>). The message queue the C<sysvmq> interface writes to has the
+key C<ftok(path, 1)>, where C<path> is the path specified in the
+B<-auditlog> option.
+
+Defaults to C<file>.
=item B<-d> <I<debug level>>
Force the fileserver to only bind to one IP address.
-=item B<-allow-dotted-principal>
+=item B<-allow-dotted-principals>
By default, the RXKAD security layer will disallow access by Kerberos
principals with a dot in the first component of their name. This is to avoid
This option is only supported by the demand-attach file server.
+=item B<-vhandle-setaside> <I<fds reserved for non-cache io>>
+
+Number of file handles set aside for I/O not in the cache. Defaults to 128.
+
+=item B<-vhandle-max-cachesize> <I<max open files>>
+
+Maximum number of available file handles.
+
+=item B<-vhandle-initial-cachesize> <I<initial open file cache>>
+
+Number of file handles set aside for I/O in the cache. Defaults to 128.
+
=item B<-vhashsize <I<size>>
The log(2) number of of volume hash buckets. Default is 8 (i.e., by
This option is only supported by the demand-attach file server.
+=item B<-unsafe-nosalvage>
+
+This option causes the fileserver to bypass the normal safety check when
+attaching volumes that checks the inUse field in the volume header. With
+this option, volumes that were in use at the time of an unclean shutdown
+will not be salvaged immediately the next time they are accessed, and thus
+risk (possibly silent and/or irrevocable) corruption. Volumes will still
+be salvaged when an internal inconsistency is detected or other cases
+where a salvage would normally occur.
+
+Due to the increased risk of data corruption, the use of this flag is
+strongly discouraged. Only use it if you really know what you are doing.
+
+This option is only supported by the demand-attach file server.
+
=item B<-vattachpar> <I<number of volume attach threads>>
The number of threads assigned to attach and detach volumes. The default
=head1 EXAMPLES
-The following B<bos create> command creates an fs process on the file
-server machine C<fs2.abc.com> that uses the large configuration size, and
-allows volumes to exceed their quota by 10%. Type the command on a single
-line:
+The following B<bos create> command creates a traditional fs process on
+the file server machine C<fs2.abc.com> that uses the large configuration
+size, and allows volumes to exceed their quota by 10%. Type the command on
+a single line:
% bos create -server fs2.abc.com -instance fs -type fs \
- -cmd "/usr/afs/bin/fileserver -pctspare 10 \
- -L" /usr/afs/bin/volserver /usr/afs/bin/salvager
+ -cmd "/usr/afs/bin/fileserver -pctspare 10 -L" \
+ /usr/afs/bin/volserver /usr/afs/bin/salvager
+
+The following is an equivalent B<bos create> command for a demand-attach
+File Server:
+ % bos create -server fs2.abc.com -instance dafs -type dafs \
+ -cmd "/usr/afs/bin/fileserver -pctspare 10 -L" \
+ /usr/afs/bin/volserver \
+ /usr/afs/bin/salvageserver \
+ /usr/afs/bin/salvager
=head1 TROUBLESHOOTING
If the blocked connection count is ever above 0, the server is having
problems replying to clients in a timely fashion. If it gets above 10,
-roughly, there will be noticable slowness by the user. The total number of
+roughly, there will be noticeable slowness by the user. The total number of
connections is a mostly irrelevant number that goes essentially
monotonically for as long as the server has been running and then goes back
down to zero when it's restarted.
L<bos_create(8)>,
L<bos_getlog(8)>,
L<fs_setacl(1)>,
+L<msgget(2)>,
+L<msgrcv(2)>,
L<salvager(8)>,
L<volserver(8)>,
L<vos_examine(1)>