volserver - Initializes the Volume Server component of the dafs process


volserver [-log] [-p <number of processes>] [-afscompat [yes | no]] [-auditlog [<log path>] | yes | on] [-audit-interface (file | syslog | sysvmq)] [-restricted_query (anyuser | admin)] [-maxthreads <maximum number of worker threads>] [-threadidle <maximum idle lifetime for a worker thread in seconds>] [-udpsize <size of socket buffer in bytes>] [-debug <debug level>] [-enable_peer_stats] [-enable_process_stats] [-allow-dotted-principals] [-help]


The volserver command initializes the Volume Server component of the dafs bnode process. In the conventional configuration, its binary file is located in the /usr/local/libexec/yfs directory on a file server machine.

The volserver command is not normally issued at the command shell prompt but instead executed by the bosserver(8) as part of the dafs bnode created using bos create(8).

When -syslog mode is disabled, the Volume Server creates the /var/log/yfs/VolserLog log file during startup, if the file does not already exist. It does not write a detailed trace by default, but the -debug option may be used to increase the amount of detail. The bos getlog command can be used to remotely fetch the contents of the log file.

The Volume Server processes the vos commands that administrators use to create, delete, move, and replicate volumes, as well as prepare them for archiving to tape or other media.


-afscompat [yes | no]

Ensures that no data or metadata will be accepted that prevents interoperability with AFS3-protocol clients such as OpenAFS. It does not disable the AuriStorFS protocol extensions or use of the yfs-rxgk security class.

When set this option prevents use of volume maximum acls, security policies and quotas larger than 2TB. See vos_setmaxacl(1), vos_setseclevels(1) and vos_setquota(1)

-allow-dotted-principals [yes | no]

By default, the RXKAD security layer will disallow access by Kerberos v5 principals with a dot in the first component of their name. This is to avoid the confusion where principals user/admin and user.admin are both mapped to the Kerberos v4 user.admin PTS entry. Sites whose Kerberos realms don't have these collisions between principal names may disable this check by starting the server with this option.

The default is no.

-auditlog [<log path> | yes | on]

Turns on audit logging, and optionally 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. If yes is specified, /var/log/yfs/VolserAuditLog is used in conjunction with -audit-interface file.

-audit-interface (file | syslog | sysvmq)

Specifies the audit interface to use. The file interface writes audit messages to the file specified by -auditlog. The sysvmq interface writes audit messages to a SYSV message queue (see msgget(2) and msgrcv(2)). The message queue the sysvmq interface writes to has the key ftok(path, 1), where path is the path specified in the -auditlog option. The syslog interface writes audit messages to the syslog(1) facility. The path provided is used as the syslog ident.

Defaults to file.

-config <configuration file>

Sets an alternate location for the configuration file that will be parsed for configuration options for this service. If this option is not specified, /etc/yfs/server/yfs-server.conf will be used. The default value of 0 produces messages during startup and shutdown, and error messages when processing Rx calls.

-debug <debug level>

Sets the detail level for the debugging trace written to the /var/log/yfs/VolserLog file. Provide one of the following values, each of which produces an increasingly detailed trace: 0, 1, 5, 25, and 125.

-dead-time <service connection dead time in seconds>

Specifies the number of seconds any incoming connection and outbound volume forward connection will survive a total loss of packet delivery. The default is 420 seconds (7 minutes).

-enable-peer-stats [yes | no]

Activates the collection of Rx statistics and allocates memory for their storage. For each connection with a specific UDP port on another machine, a separate record is kept for each type of RPC (FetchFile, GetStatus, and so on) sent or received. To display or otherwise access the records, use the Rx Monitoring API.

-enable-process-stats [yes | no]

Activates the collection of Rx statistics and allocates memory for their storage. A separate record is kept for each type of RPC (CreateVolume, Forward, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API.


Prints the online help for this command. All other valid options are ignored.


Records in the /var/log/yfs/VolserLog file the names of all users who successfully initiate a vos command. The Volume Server also records any file removals that result from issuing the vos release command with the -f flag. The -auditlog options should be used in preference to -log.

-logfile <log file>

Sets the file to use for server logging. If logfile is not specified and no other logging options are supplied, this will be /var/log/yfs/VolserLog. Note that this option is intended for debugging and testing purposes. Changing the location of the log file from the command line may result in undesirable interactions with tools such as bos getlog.

-maxthreads <maximum number of worker threads>

Specifies the maximum number of worker threads that can be started to service incoming remote procedure calls. The default is either 1024 or 32 less than the maximum number of file descriptors the volserver process is permitted to open, if that is smaller.

-restricted-query (anyuser | admin)

Restrict RPCs that query information about volumes to a specific group of users. You can use admin to restrict to AFS administrators and members of the ReaderList(5). The anyuser option doesn't restrict the RPCs and leaves it open for all users including unauthenticated users.

The default is admin.

-rxbind [yes | no]

Bind the Rx socket if only a single interface remains after applying the netinfo and netrestrict configuration from yfs-server.conf(5)

The default is no.

-rxmaxmtu <bytes>

Specify the maximum transmission unit (MTU) value. The value must be between the minimum (520) and maximum (16384) Rx packet sizes.

It artificially limits the maximum Rx data packet size that will be transmitted. It can be used when the maximum size that can be successfully transmitted is smaller than the reported network interface MTU.

-rxwindow <packets>

Specify the maximum sliding window size that RX may use on the wire. Larger windows improve performance on networks with a high latency, at the expense of higher memory usage. The value specified must be between 16 and 8192. The default is 8192.

-sync <sync behavior>

This is the same as the -sync option in fileserver(8). See fileserver(8).

-syslog[=<syslog facility>]

Specifies that logging output should go to syslog instead of the normal log file. -syslog=FACILITY can be used to specify to which facility the log message should be sent.

-threadidle <maximum idle lifetime for a worker thread in seconds>

Specifies the maximum number of seconds that a worker thread can remain idle before it will be terminated. The default is 20 minutes (1200 seconds). This value should be increased if the volserver workload is known to experience a spike in the number of serviced remote procedure calls on a periodic cycle longer than the default.

-udpsize <size of socket buffer>

Sets the size of the UDP buffer in bytes, which is 64 KB by default. Provide a positive integer, preferably larger than the default.


The following bos create command creates a volserver process on the machine as part of the dafs process:

   % bos create -server -instance dafs -type dafs \
                -cmd "/usr/local/libexec/yfs/fileserver" \
                /usr/local/libexec/yfs/volserver \
                /usr/local/libexec/yfs/salvageserver \


The issuer must be logged in as the superuser root on a file server machine to issue the command at a command shell prompt. It is conventional instead to create and start the process by issuing the bos create command.


BosConfig(5), VolserLog(5), bos_create(8), bos_getlog(8), vos(1), volserver(8), yfs-server.conf(5)


IBM Corporation 2000. All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.


"AFS" is a registered mark of International Business Machines Corporation, used under license. (USPTO Registration 1598389)

"OpenAFS" is a registered mark of International Business Machines Corporation. (USPTO Registration 4577045)

The "AuriStor" name, log 'S' brand mark, and icon are registered marks of AuriStor, Inc. (USPTO Registrations 4849419, 4849421, and 4928460) (EUIPO Registration 015539653).

"Your File System" is a registered mark of AuriStor, Inc. (USPTO Registrations 4801402 and 4849418).

"YFS" and "AuriStor File System" are trademarks of AuriStor, Inc.