vlserver: Add options for config, log and db
[openafs.git] / doc / man-pages / pod8 / vlserver.pod
1 =head1 NAME
2
3 vlserver - Initializes the Volume Location Server
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 vlserver S<<< [B<-p> <I<number of threads>>] >>> [B<-nojumbo>]
11 [B<-jumbo>] [B<-rxbind>] S<<< [B<-d> <I<debug level>>] >>>
12 [B<-allow-dotted-principals>] S<<< [B<-database <I<database path>>] >>>
13 S<<< [B<-logfile <I<log file>>] >>> S<<< [B<-config <I<configuration path>>] >>>
14 [B<-enable_peer_stats>] [B<-enable_process_stats>]
15 S<<< [B<-auditlog> <I<log path>>] >>> S<<< [B<-audit-interface> (file | sysvmq)] >>>
16 [B<-help>]
17
18 =for html
19 </div>
20
21 =head1 DESCRIPTION
22
23 The B<vlserver> command initializes the Volume Location (VL) Server, which
24 runs on every database server machine. In the conventional configuration,
25 its binary file is located in the F</usr/afs/bin> directory on a file
26 server machine.
27
28 The B<vlserver> command is not normally issued at the command shell prompt
29 but rather placed into a file server machine's F</usr/afs/local/BosConfig>
30 file with the B<bos create> command. If it is ever issued at the command
31 shell prompt, the issuer must be logged onto a database server machine as
32 the local superuser C<root>.
33
34 As it initializes, the VL Server process creates the two files that
35 constitute the Volume Location Database (VLDB), F<vldb.DB0> and
36 F<vldb.DBSYS1>, in the F</usr/afs/db> directory if they do not already
37 exist. Use the commands in the B<vos> suite to administer the database.
38
39 The VL Server maintains the record of volume locations in the Volume
40 Location Database (VLDB). When the Cache Manager fills a file request from
41 an application program, it first contacts the VL Server to learn which
42 file server machine currently houses the volume that contains the file.
43 The Cache Manager then requests the file from the File Server process
44 running on that file server machine.
45
46 The VL Server records a trace of its activity in the
47 F</usr/afs/logs/VLLog> file. Use the B<bos getlog> command to display the
48 contents of the file. By default, it records on a minimal number of
49 messages. For instructions on increasing the amount of logging, see
50 L<VLLog(5)>.
51
52 By default, the VL Server runs nine lightweight processes (LWPs). To
53 change the number, use the B<-p> argument.
54
55 This command does not use the syntax conventions of the AFS command
56 suites. Provide the command name and all option names in full.
57
58 =head1 OPTIONS
59
60 =over 4
61
62 =item B<-d> <I<debug level>>
63
64 Sets the detail level for the debugging trace written to the
65 F</usr/afs/logs/VLLog> file. Provide one of the following values, each
66 of which produces an increasingly detailed trace: C<0>, C<1>, C<5>, C<25>,
67 and C<125>. 
68
69 =item B<-p> <I<number of threads>>
70
71 Sets the number of server lightweight processes (LWPs or pthreads) to run.
72 Provide an integer between C<3> and C<16>. The default is C<9>.
73
74 =item B<-jumbo>
75
76 Allows the server to send and receive jumbograms. A jumbogram is
77 a large-size packet composed of 2 to 4 normal Rx data packets that share
78 the same header. The VL Server does not use jumbograms by default, as some
79 routers are not capable of properly breaking the jumbogram into smaller
80 packets and reassembling them.
81
82 =item B<-nojumbo>
83
84 Deprecated; Jumbograms are disabled by default. 
85
86 =item B<-enable_peer_stats>
87
88 Activates the collection of Rx statistics and allocates memory for their
89 storage. For each connection with a specific UDP port on another machine,
90 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
91 so on) sent or received. To display or otherwise access the records, use
92 the Rx Monitoring API.
93
94 =item B<-enable_process_stats>
95
96 Activates the collection of Rx statistics and allocates memory for their
97 storage. A separate record is kept for each type of RPC (FetchFile,
98 GetStatus, and so on) sent or received, aggregated over all connections to
99 other machines. To display or otherwise access the records, use the Rx
100 Monitoring API.
101
102 =item B<-allow-dotted-principals>
103
104 By default, the RXKAD security layer will disallow access by Kerberos
105 principals with a dot in the first component of their name. This is to avoid
106 the confusion where principals user/admin and user.admin are both mapped to the
107 user.admin PTS entry. Sites whose Kerberos realms don't have these collisions 
108 between principal names may disable this check by starting the server
109 with this option.
110
111 =item B<-auditlog> <I<log path>>
112
113 Turns on audit logging, and sets the path for the audit log.  The audit
114 log records information about RPC calls, including the name of the RPC
115 call, the host that submitted the call, the authenticated entity (user)
116 that issued the call, the parameters for the call, and if the call
117 succeeded or failed.
118
119 =item B<-audit-interface> (file | sysvmq)
120
121 Specifies what audit interface to use. Defaults to C<file>. See
122 L<fileserver(8)> for an explanation of each interface.
123
124 =item B<-rxbind>
125
126 Bind the Rx socket to the primary interface only.  (If not specified, the
127 Rx socket will listen on all interfaces.)
128
129 =item B<-logfile <I<log file>>
130
131 Sets the file to use for server logging. If logfile is not specified, and
132 no other logging options are supplied, this will be F</usr/afs/logs/VLLog>.
133 Note that this option is intended for debugging and testing purposes.
134 Changing the location of the log file from the command line may result
135 in undesirable interactions with tools such as B<bos>.
136
137 =item B<-database <I<databse path>>
138
139 Set the location of the database used by this program. This option is
140 intended primarily for testing purposes.
141
142 =item B<-config <I<configuration directory>>
143
144 Set the location of the configuration directory used to configure this
145 service. In a typical configuration this will be F</usr/afs/etc> - this
146 option allows the use of alternative configuration locations for testing
147 purposes.
148
149 =item B<-help>
150
151 Prints the online help for this command. All other valid options are
152 ignored.
153
154 =back
155
156 =head1 EXAMPLES
157
158 The following B<bos create> command creates a vlserver process on the
159 machine C<fs2.abc.com> that uses six lightweight processes. Type the
160 command on a single line:
161
162    % bos create -server fs2.abc.com -instance vlserver -type simple \
163                 -cmd "/usr/afs/bin/vlserver -p 6"
164
165 =head1 PRIVILEGE REQUIRED
166
167 The issuer must be logged in as the superuser C<root> on a file server
168 machine to issue the command at a command shell prompt. It is conventional
169 instead to create and start the process by issuing the B<bos create>
170 command.
171
172 =head1 SEE ALSO
173
174 L<BosConfig(5)>,
175 L<VLLog(5)>,
176 L<vldb.DB0(5)>,
177 L<bos_create(8)>,
178 L<bos_getlog(8)>
179
180 =head1 COPYRIGHT
181
182 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
183
184 This documentation is covered by the IBM Public License Version 1.0.  It was
185 converted from HTML to POD by software written by Chas Williams and Russ
186 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.