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