ctdb-scripts: Drop support for CTDB_DBDIR=tmpfs
[samba.git] / ctdb / doc / ctdbd.conf.5.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry
3         PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
4         "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
5
6 <refentry id="ctdbd.conf.5">
7
8   <refmeta>
9     <refentrytitle>ctdbd.conf</refentrytitle>
10     <manvolnum>5</manvolnum>
11     <refmiscinfo class="source">ctdb</refmiscinfo>
12     <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
13   </refmeta>
14
15   <refnamediv>
16     <refname>ctdbd.conf</refname>
17     <refpurpose>CTDB daemon configuration file</refpurpose>
18   </refnamediv>
19
20   <refsect1>
21     <title>DESCRIPTION</title>
22
23     <para>
24       This file contains CTDB configuration variables that are affect
25       the operation of CTDB.  The default location of this file is
26       <filename>/usr/local/etc/ctdb/ctdbd.conf</filename>.
27     </para>
28
29     <para>
30       This file is a shell script (see
31       <citerefentry><refentrytitle>sh</refentrytitle>
32       <manvolnum>1</manvolnum></citerefentry>) but is usually limited
33       to simple variable assignments and shell-style comments.
34     </para>
35
36     <para>
37       CTDB configuration variables are grouped into several categories below.
38     </para>
39
40     <para>
41       Variables defined in this document can also be set in a
42       distribution-specific configuration file such as
43       <filename>/etc/sysconfig/ctdb</filename> (Red Hat) or
44       <filename>/etc/default/ctdb</filename> (Debian).  However, these
45       files should be reserved for variables used by the initscript.
46       A historical alternative is
47       <filename>/usr/local/etc/ctdb/sysconfig/ctdb</filename> - this is
48       deprecated.
49     </para>
50
51   </refsect1>
52
53   <refsect1>
54     <title>
55       GLOBAL CONFIGURATION
56     </title>
57
58     <para>
59       These options may be used in the initscripts, daemon and
60       scripts.  If any of these options are required then they should
61       be set in the distribution-specific initscript configuration,
62       such as <filename>/etc/sysconfig/ctdb</filename> or
63       <filename>/etc/default/ctdb</filename>.
64     </para>
65
66     <variablelist>
67
68       <varlistentry>
69         <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
70         <listitem>
71           <para>
72             This is the init style used by the Linux distribution (or
73             other operating system) being used.  This is usually
74             determined dynamically by checking the system.  This
75             variable is used by the initscript to determine which init
76             system primitives to use.  It is also used by some
77             eventscripts to choose the name of initscripts for certain
78             services, since these can vary between distributions.
79           </para>
80           <para>
81             No fixed default.
82           </para>
83           <para>
84             If this option needs to be changed from the calculated
85             default for the initscript to function properly, then it
86             must be set in the distribution-specific initscript
87             configuration, such as
88             <filename>/etc/sysconfig/ctdb</filename>
89           </para>
90         </listitem>
91       </varlistentry>
92
93     </variablelist>
94   </refsect1>
95
96   <refsect1>
97     <title>
98       DAEMON CONFIGURATION
99     </title>
100
101     <para>
102       Variables in this section are processed by
103       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
104       <manvolnum>1</manvolnum></citerefentry> and are converted into
105       command-line arguments to
106       <citerefentry><refentrytitle>ctdbd</refentrytitle>
107       <manvolnum>1</manvolnum></citerefentry>.  Correspondence with
108       <citerefentry><refentrytitle>ctdbd</refentrytitle>
109       <manvolnum>1</manvolnum></citerefentry> options is shown for
110       each variable.  The the documentation for the relevant options
111       for more details.
112     </para>
113
114     <para>
115       Many of these variables are also used by event scripts.
116     </para>
117
118     <variablelist>
119
120       <varlistentry>
121         <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
122         <listitem>
123           <para>
124             Defaults to yes.  Corresponds to <option>--no-lmaster</option>.
125           </para>
126         </listitem>
127       </varlistentry>
128
129       <varlistentry>
130         <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
131         <listitem>
132           <para>
133             Defaults to yes.  Corresponds to
134             <option>--no-recmaster</option>.
135           </para>
136         </listitem>
137       </varlistentry>
138
139       <varlistentry>
140         <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
141         <listitem>
142           <para>
143             Defaults to <filename>/usr/local/var/lib/ctdb/volatile</filename>.
144           </para>
145           <para>
146             Corresponds to <option>--dbdir</option>.
147           </para>
148         </listitem>
149       </varlistentry>
150
151       <varlistentry>
152         <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
153         <listitem>
154           <para>
155             Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
156           </para>
157           <para>
158             Corresponds to <option>--dbdir-persistent</option>.
159           </para>
160         </listitem>
161       </varlistentry>
162
163       <varlistentry>
164         <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
165         <listitem>
166           <para>
167             Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
168           </para>
169           <para>
170             Corresponds to <option>--dbdir-state</option>.
171           </para>
172         </listitem>
173       </varlistentry>
174
175       <varlistentry>
176         <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
177         <listitem>
178           <para>
179             FILENAME is a script to run to log debug information when
180             an event script times out.
181           </para>
182           <para>
183             Default is <filename>/usr/local/etc/ctdb/debug-hung-script.sh</filename>.
184           </para>
185         </listitem>
186       </varlistentry>
187
188       <varlistentry>
189         <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
190         <listitem>
191           <para>
192             REGEXP specifies interesting processes for which stack
193             traces should be logged when debugging hung eventscripts
194             and those processes are matched in pstree output.  REGEXP
195             is an extended regexp so choices are separated by pipes
196             ('|').  However, REGEXP should not contain parentheses.
197             See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
198           </para>
199           <para>
200             Default is "exportfs|rpcinfo".
201           </para>
202         </listitem>
203       </varlistentry>
204
205       <varlistentry>
206         <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
207         <listitem>
208           <para>
209             FILENAME is a script to run to log debug information when
210             an CTDB fails to freeze databases during recovery.
211           </para>
212           <para>
213             No default, usually
214             <filename>/usr/local/etc/ctdb/debug_locks.sh</filename>.
215           </para>
216         </listitem>
217       </varlistentry>
218
219       <varlistentry>
220         <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
221         <listitem>
222           <para>
223             Default is NOTICE.  Corresponds to <option>-d</option> or
224             <option>--debug</option>.
225           </para>
226         </listitem>
227       </varlistentry>
228
229       <varlistentry>
230         <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
231         <listitem>
232           <para>
233             STRING specifies where ctdbd will write its log. The
234             default is
235             file:<filename>/usr/local/var/log/log.ctdb</filename>.
236             Corresponds to <option>--logging</option>.
237           </para>
238           <para>
239             Valid values are:
240           </para>
241           <variablelist>
242             <varlistentry>
243               <term>file:<parameter>FILENAME</parameter></term>
244               <listitem>
245                 <para>
246                   FILENAME where ctdbd will write its log. This is usually
247                   <filename>/usr/local/var/log/log.ctdb</filename>.
248                 </para>
249               </listitem>
250             </varlistentry>
251             <varlistentry>
252               <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
253               <listitem>
254                 <para>
255                   CTDB will log to syslog.  By default this will use
256                   the syslog(3) API.
257                 </para>
258                 <para>
259                   If METHOD is specified then it specifies an
260                   extension that causes logging to be done in a
261                   non-blocking fashion.  This can be useful under
262                   heavy loads that might cause the syslog daemon to
263                   dequeue messages too slowly, which would otherwise
264                   cause CTDB to block when logging.  METHOD must be
265                   one of:
266                 </para>
267                 <variablelist>
268                   <varlistentry>
269                     <term>nonblocking</term>
270                     <listitem>
271                       <para>
272                         CTDB will log to syslog via
273                         <filename>/dev/log</filename> in non-blocking
274                         mode.
275                       </para>
276                     </listitem>
277                   </varlistentry>
278                   <varlistentry>
279                     <term>udp</term>
280                     <listitem>
281                       <para>
282                         CTDB will log to syslog via UDP to
283                         localhost:514.  The syslog daemon must be
284                         configured to listen on (at least)
285                         localhost:514.  Most implementations will log
286                         the messages against hostname "localhost" -
287                         this is a limit of the implementation for
288                         compatibility with more syslog daemon
289                         implementations.
290                       </para>
291                     </listitem>
292                   </varlistentry>
293                   <varlistentry>
294                     <term>udp-rfc5424</term>
295                     <listitem>
296                       <para>
297                         As with "udp" but messages are sent in RFC5424
298                         format.  This method will log the correct
299                         hostname but is not as widely implemented in
300                         syslog daemons.
301                       </para>
302                     </listitem>
303                   </varlistentry>
304                 </variablelist>
305               </listitem>
306             </varlistentry>
307           </variablelist>
308         </listitem>
309       </varlistentry>
310
311       <varlistentry>
312         <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
313         <listitem>
314           <para>
315             NUM is the maximum number of open files.
316           </para>
317           <para>
318             There is no default.
319           </para>
320         </listitem>
321       </varlistentry>
322
323       <varlistentry>
324         <term>CTDB_NOSETSCHED=yes|no</term>
325         <listitem>
326           <para>
327             Defaults to no.  Corresponds to <option>--nosetsched</option>.
328           </para>
329           <para>
330             Usually CTDB runs with real-time priority.  If you are running
331             CTDB on a platform that does not support real-time priority,
332             you can set this.
333           </para>
334         </listitem>
335       </varlistentry>
336
337       <varlistentry>
338         <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
339         <listitem>
340           <para>
341             Default 0.  Corresponds to
342             <option>--max-persistent-check-errors</option>.
343           </para>
344         </listitem>
345       </varlistentry>
346
347       <varlistentry>
348         <term>CTDB_NODE_ADDRESS=<parameter>IPADDR</parameter></term>
349         <listitem>
350           <para>
351             IPADDR is the private IP address that ctdbd will bind to.
352             Corresponds to <option>--listen</option>.
353           </para>
354           <para>
355             By default ctdbd will select the first address from the
356             nodes list that in can bind to.  See also the
357             <citetitle>Private address</citetitle> section in
358             <citerefentry><refentrytitle>ctdb</refentrytitle>
359             <manvolnum>7</manvolnum></citerefentry>.
360           </para>
361           <para>
362             This option is only required when automatic address
363             detection can not be used.  This can be the case when
364             running multiple ctdbd daemons/nodes on the same physical
365             host (usually for testing), using InfiniBand for the
366             private network or on Linux when sysctl
367             net.ipv4.ip_nonlocal_bind=1.
368           </para>
369         </listitem>
370       </varlistentry>
371
372       <varlistentry>
373         <term>CTDB_RECOVERY_LOCK=<parameter>LOCK</parameter></term>
374         <listitem>
375           <para>
376             LOCK specifies the cluster-wide mutex used to detect and
377             prevent a partitioned cluster (or "split brain").
378           </para>
379           <para>
380             No default, but the default configuration file specifies
381             <filename>/some/place/on/shared/storage</filename>, which
382             should be change to a useful value.  Corresponds to
383             <option>--reclock</option>.
384           </para>
385           <para>
386             For information about the recovery lock please see the
387             <citetitle>RECOVERY LOCK</citetitle> section in
388             <citerefentry><refentrytitle>ctdb</refentrytitle>
389             <manvolnum>7</manvolnum></citerefentry>.
390           </para>
391         </listitem>
392       </varlistentry>
393
394       <varlistentry>
395         <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
396         <listitem>
397           <para>
398             Defaults to ERR.  Corresponds to
399             <option>--script-log-level</option>.
400           </para>
401         </listitem>
402       </varlistentry>
403
404       <varlistentry>
405         <term>CTDB_START_AS_DISABLED=yes|no</term>
406         <listitem>
407           <para>
408             Default is no.  Corresponds to
409             <option>--start-as-disabled</option>.
410           </para>
411         </listitem>
412       </varlistentry>
413
414       <varlistentry>
415         <term>CTDB_START_AS_STOPPED=yes|no</term>
416         <listitem>
417           <para>
418             Default is no.  Corresponds to
419             <option>--start-as-stopped</option>.
420           </para>
421         </listitem>
422       </varlistentry>
423
424       <varlistentry>
425         <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
426         <listitem>
427           <para>
428             Whether CTDB core files should be suppressed.
429           </para>
430           <para>
431             Default is no.
432           </para>
433         </listitem>
434       </varlistentry>
435
436       <varlistentry>
437         <term>CTDB_TRANSPORT=tcp|infiniband</term>
438         <listitem>
439           <para>
440             Defaults to tcp.  Corresponds to
441             <option>--transport</option>.
442           </para>
443         </listitem>
444       </varlistentry>
445
446     </variablelist>
447
448     <para>
449       While the following variables do not translate into daemon
450       options they are used by
451       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
452       <manvolnum>1</manvolnum></citerefentry> when starting and
453       stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
454       <manvolnum>1</manvolnum></citerefentry>.
455     </para>
456
457     <variablelist>
458
459       <varlistentry>
460         <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
461         <listitem>
462           <para>
463             NUM is the number of seconds to wait for
464             <citerefentry><refentrytitle>ctdbd</refentrytitle>
465             <manvolnum>1</manvolnum></citerefentry> complete early
466             initialisation up to a point where it is unlikely to
467             abort.  If <command>ctdbd</command> doesn't complete the
468             "setup" event before this timeout then it is killed.
469           </para>
470
471           <para>
472             Defaults is 10.
473           </para>
474         </listitem>
475       </varlistentry>
476
477     </variablelist>
478   </refsect1>
479
480   <refsect1>
481     <title>NETWORK CONFIGURATION</title>
482
483     <refsect2>
484       <title>NAT GATEWAY</title>
485
486       <para>
487         NAT gateway is used to configure fallback routing for nodes
488         when they do not host any public IP addresses.  For example,
489         it allows unhealthy nodes to reliably communicate with
490         external infrastructure.  One node in a NAT gateway group will
491         be designated as the NAT gateway master node and other (slave)
492         nodes will be configured with fallback routes via the NAT
493         gateway master node.  For more information, see the
494         <citetitle>NAT GATEWAY</citetitle> section in
495         <citerefentry><refentrytitle>ctdb</refentrytitle>
496         <manvolnum>7</manvolnum></citerefentry>.
497       </para>
498
499       <variablelist>
500
501         <varlistentry>
502           <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
503           <listitem>
504             <para>
505               IPADDR is an alternate network gateway to use on the NAT
506               gateway master node.  If set, a fallback default route
507               is added via this network gateway.
508             </para>
509             <para>
510               No default.  Setting this variable is optional - if not
511               set that no route is created on the NAT gateway master
512               node.
513             </para>
514           </listitem>
515         </varlistentry>
516
517         <varlistentry>
518           <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
519           <listitem>
520             <para>
521               FILENAME contains the list of nodes that belong to the
522               same NAT gateway group.
523             </para>
524             <para>
525               File format:
526               <screen>
527 <parameter>IPADDR</parameter> <optional>slave-only</optional>
528               </screen>
529             </para>
530             <para>
531               IPADDR is the private IP address of each node in the NAT
532               gateway group.
533             </para>
534             <para>
535               If "slave-only" is specified then the corresponding node
536               can not be the NAT gateway master node.  In this case
537               <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
538               <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional and
539               unused.
540             </para>
541             <para>
542               No default, usually
543               <filename>/usr/local/etc/ctdb/natgw_nodes</filename> when enabled.
544             </para>
545           </listitem>
546         </varlistentry>
547
548         <varlistentry>
549           <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
550           <listitem>
551             <para>
552               IPADDR/MASK is the private sub-network that is
553               internally routed via the NAT gateway master node.  This
554               is usually the private network that is used for node
555               addresses.
556             </para>
557             <para>
558               No default.
559             </para>
560           </listitem>
561         </varlistentry>
562
563         <varlistentry>
564           <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
565           <listitem>
566             <para>
567               IFACE is the network interface on which the
568               CTDB_NATGW_PUBLIC_IP will be configured.
569             </para>
570             <para>
571               No default.
572             </para>
573           </listitem>
574         </varlistentry>
575
576         <varlistentry>
577           <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
578           <listitem>
579             <para>
580               IPADDR/MASK indicates the IP address that is used for
581               outgoing traffic (originating from
582               CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
583               node.  This <emphasis>must not</emphasis> be a
584               configured public IP address.
585             </para>
586             <para>
587               No default.
588             </para>
589           </listitem>
590         </varlistentry>
591
592         <varlistentry>
593           <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
594           <listitem>
595             <para>
596               Each IPADDR/MASK identifies a network or host to which
597               NATGW should create a fallback route, instead of
598               creating a single default route.  This can be used when
599               there is already a default route, via an interface that
600               can not reach required infrastructure, that overrides
601               the NAT gateway default route.
602             </para>
603             <para>
604               If GATEWAY is specified then the corresponding route on
605               the NATGW master node will be via GATEWAY.  Such routes
606               are created even if
607               <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
608               specified.  If GATEWAY is not specified for some
609               networks then routes are only created on the NATGW
610               master node for those networks if
611               <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
612               specified.
613             </para>
614             <para>
615               This should be used with care to avoid causing traffic
616               to unnecessarily double-hop through the NAT gateway
617               master, even when a node is hosting public IP addresses.
618               Each specified network or host should probably have a
619               corresponding automatically created link route or static
620               route to avoid this.
621             </para>
622             <para>
623               No default.
624             </para>
625           </listitem>
626         </varlistentry>
627
628       </variablelist>
629
630       <refsect3>
631         <title>Example</title>
632         <screen>
633 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
634 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
635 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
636 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
637 CTDB_NATGW_PUBLIC_IFACE=eth0
638         </screen>
639
640         <para>
641           A variation that ensures that infrastructure (ADS, DNS, ...)
642           directly attached to the public network (10.0.0.0/24) is
643           always reachable would look like this:
644         </para>
645         <screen>
646 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
647 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
648 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
649 CTDB_NATGW_PUBLIC_IFACE=eth0
650 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
651         </screen>
652         <para>
653           Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
654           not specified.
655         </para>
656       </refsect3>
657
658     </refsect2>
659
660     <refsect2>
661       <title>POLICY ROUTING</title>
662
663       <para>
664         A node running CTDB may be a component of a complex network
665         topology.  In particular, public addresses may be spread
666         across several different networks (or VLANs) and it may not be
667         possible to route packets from these public addresses via the
668         system's default route.  Therefore, CTDB has support for
669         policy routing via the <filename>13.per_ip_routing</filename>
670         eventscript.  This allows routing to be specified for packets
671         sourced from each public address.  The routes are added and
672         removed as CTDB moves public addresses between nodes.
673       </para>
674
675       <para>
676         For more information, see the <citetitle>POLICY
677         ROUTING</citetitle> section in
678         <citerefentry><refentrytitle>ctdb</refentrytitle>
679         <manvolnum>7</manvolnum></citerefentry>.
680       </para>
681
682       <variablelist>
683         <varlistentry>
684           <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
685           <listitem>
686             <para>
687               FILENAME contains elements for constructing the desired
688               routes for each source address.
689             </para>
690
691             <para>
692               The special FILENAME value
693               <constant>__auto_link_local__</constant> indicates that no
694               configuration file is provided and that CTDB should
695               generate reasonable link-local routes for each public IP
696               address.
697             </para>
698
699             <para>
700               File format:
701               <screen>
702 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
703               </screen>
704             </para>
705
706             <para>
707               No default, usually
708               <filename>/usr/local/etc/ctdb/policy_routing</filename> when enabled.
709             </para>
710           </listitem>
711         </varlistentry>
712
713         <varlistentry>
714           <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
715         <listitem>
716           <para>
717             NUM sets the priority (or preference) for the routing
718             rules that are added by CTDB.
719           </para>
720
721           <para>
722             This should be (strictly) greater than 0 and (strictly)
723             less than 32766.  A priority of 100 is recommended, unless
724             this conflicts with a priority already in use on the
725             system.  See
726             <citerefentry><refentrytitle>ip</refentrytitle>
727             <manvolnum>8</manvolnum></citerefentry>, for more details.
728           </para>
729         </listitem>
730         </varlistentry>
731
732         <varlistentry>
733           <term>
734             CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
735             CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
736           </term>
737           <listitem>
738             <para>
739               CTDB determines a unique routing table number to use for
740               the routing related to each public address.  LOW-NUM and
741               HIGH-NUM indicate the minimum and maximum routing table
742               numbers that are used.
743             </para>
744
745             <para>
746               <citerefentry><refentrytitle>ip</refentrytitle>
747               <manvolnum>8</manvolnum></citerefentry> uses some
748               reserved routing table numbers below 255.  Therefore,
749               CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
750               greater than 255.
751             </para>
752
753             <para>
754               CTDB uses the standard file
755               <filename>/etc/iproute2/rt_tables</filename> to maintain
756               a mapping between the routing table numbers and labels.
757               The label for a public address
758               <replaceable>ADDR</replaceable> will look like
759               ctdb.<replaceable>addr</replaceable>.  This means that
760               the associated rules and routes are easy to read (and
761               manipulate).
762             </para>
763
764             <para>
765               No default, usually 1000 and 9000.
766             </para>
767           </listitem>
768         </varlistentry>
769       </variablelist>
770
771       <refsect3>
772         <title>Example</title>
773         <screen>
774 CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing
775 CTDB_PER_IP_ROUTING_RULE_PREF=100
776 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
777 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
778         </screen>
779       </refsect3>
780
781     </refsect2>
782
783     <refsect2>
784       <title>LVS</title>
785
786       <para>
787         For a general description see the <citetitle>LVS</citetitle>
788         section in <citerefentry><refentrytitle>ctdb</refentrytitle>
789         <manvolnum>7</manvolnum></citerefentry>.
790       </para>
791
792       <refsect3>
793         <title>Eventscript</title>
794
795         <simplelist>
796           <member><filename>91.lvs</filename></member>
797         </simplelist>
798       </refsect3>
799
800       <variablelist>
801
802         <varlistentry>
803           <term>CTDB_LVS_NODES=<parameter>FILENAME</parameter></term>
804           <listitem>
805             <para>
806               FILENAME contains the list of nodes that belong to the
807               same LVS group.
808             </para>
809             <para>
810               File format:
811               <screen>
812 <parameter>IPADDR</parameter> <optional>slave-only</optional>
813               </screen>
814             </para>
815             <para>
816               IPADDR is the private IP address of each node in the LVS
817               group.
818             </para>
819             <para>
820               If "slave-only" is specified then the corresponding node
821               can not be the LVS master node.  In this case
822               <varname>CTDB_LVS_PUBLIC_IFACE</varname> and
823               <varname>CTDB_LVS_PUBLIC_IP</varname> are optional and
824               unused.
825             </para>
826             <para>
827               No default, usually
828               <filename>/usr/local/etc/ctdb/lvs_nodes</filename> when enabled.
829             </para>
830           </listitem>
831         </varlistentry>
832
833         <varlistentry>
834           <term>CTDB_LVS_PUBLIC_IFACE=<parameter>INTERFACE</parameter></term>
835           <listitem>
836             <para>
837               INTERFACE is the network interface that clients will use
838               to connection to <varname>CTDB_LVS_PUBLIC_IP</varname>.
839               This is optional for slave-only nodes.
840               No default.
841             </para>
842           </listitem>
843         </varlistentry>
844
845         <varlistentry>
846           <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
847           <listitem>
848             <para>
849               CTDB_LVS_PUBLIC_IP is the LVS public address.  No
850               default.
851           </para>
852           </listitem>
853         </varlistentry>
854
855       </variablelist>
856     </refsect2>
857
858     <refsect2>
859       <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
860
861       <variablelist>
862
863         <varlistentry>
864           <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
865           <listitem>
866             <para>
867               Whether one or more offline interfaces should cause a
868               monitor event to fail if there are other interfaces that
869               are up.  If this is "yes" and a node has some interfaces
870               that are down then <command>ctdb status</command> will
871               display the node as "PARTIALLYONLINE".
872             </para>
873
874             <para>
875               Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is
876               incompatible with NAT gateway, since NAT gateway relies
877               on the interface configured by CTDB_NATGW_PUBLIC_IFACE
878               to be up.
879             </para>
880
881             <para>
882               Default is "no".
883             </para>
884           </listitem>
885         </varlistentry>
886
887       </variablelist>
888     </refsect2>
889
890   </refsect1>
891
892   <refsect1>
893     <title>SERVICE CONFIGURATION</title>
894
895     <para>
896       CTDB can be configured to manage and/or monitor various NAS (and
897       other) services via its eventscripts.
898     </para>
899
900     <para>
901       In the simplest case CTDB will manage a service.  This means the
902       service will be started and stopped along with CTDB, CTDB will
903       monitor the service and CTDB will do any required
904       reconfiguration of the service when public IP addresses are
905       failed over.
906     </para>
907
908     <refsect2>
909       <title>SAMBA</title>
910
911       <refsect3>
912         <title>Eventscripts</title>
913
914         <simplelist>
915           <member><filename>49.winbind</filename></member>
916           <member><filename>50.samba</filename></member>
917         </simplelist>
918       </refsect3>
919
920       <variablelist>
921
922         <varlistentry>
923           <term>CTDB_MANAGES_SAMBA=yes|no</term>
924           <listitem>
925             <para>
926               Should CTDB manage Samba?
927             </para>
928             <para>
929               Default is no.
930             </para>
931           </listitem>
932         </varlistentry>
933
934         <varlistentry>
935           <term>CTDB_MANAGES_WINBIND=yes|no</term>
936           <listitem>
937             <para>
938               Should CTDB manage Winbind?
939             </para>
940             <para>
941               Default is no.
942             </para>
943           </listitem>
944         </varlistentry>
945
946         <varlistentry>
947           <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
948           <listitem>
949             <para>
950               When monitoring Samba, check TCP ports in
951               space-separated PORT-LIST.
952             </para>
953             <para>
954               Default is to monitor ports that Samba is configured to listen on.
955             </para>
956           </listitem>
957         </varlistentry>
958
959         <varlistentry>
960           <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
961           <listitem>
962             <para>
963               As part of monitoring, should CTDB skip the check for
964               the existence of each directory configured as share in
965               Samba.  This may be desirable if there is a large number
966               of shares.
967             </para>
968             <para>
969               Default is no.
970             </para>
971           </listitem>
972         </varlistentry>
973
974         <varlistentry>
975           <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
976           <listitem>
977             <para>
978               Distribution specific SERVICE for managing nmbd.
979             </para>
980             <para>
981               Default is distribution-dependant.
982             </para>
983           </listitem>
984         </varlistentry>
985         <varlistentry>
986           <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
987           <listitem>
988             <para>
989               Distribution specific SERVICE for managing smbd.
990             </para>
991             <para>
992               Default is distribution-dependant.
993             </para>
994           </listitem>
995         </varlistentry>
996
997         <varlistentry>
998           <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
999           <listitem>
1000             <para>
1001               Distribution specific SERVICE for managing winbindd.
1002             </para>
1003             <para>
1004               Default is "winbind".
1005             </para>
1006           </listitem>
1007         </varlistentry>
1008
1009       </variablelist>
1010
1011     </refsect2>
1012
1013     <refsect2>
1014       <title>NFS</title>
1015
1016       <para>
1017         This includes parameters for the kernel NFS server.
1018         Alternative NFS subsystems (such as <ulink
1019         url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>)
1020         can be integrated using <varname>CTDB_NFS_CALLOUT</varname>.
1021       </para>
1022
1023       <refsect3>
1024         <title>Eventscript</title>
1025
1026         <simplelist>
1027           <member><filename>60.nfs</filename></member>
1028         </simplelist>
1029       </refsect3>
1030
1031       <variablelist>
1032
1033         <varlistentry>
1034           <term>CTDB_MANAGES_NFS=yes|no</term>
1035           <listitem>
1036             <para>
1037               Should CTDB manage NFS?
1038             </para>
1039             <para>
1040               Default is no.
1041             </para>
1042           </listitem>
1043         </varlistentry>
1044
1045         <varlistentry>
1046           <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
1047           <listitem>
1048             <para>
1049               COMMAND specifies the path to a callout to handle
1050               interactions with the configured NFS system, including
1051               startup, shutdown, monitoring.
1052             </para>
1053             <para>
1054               Default is the included
1055               <command>nfs-linux-kernel-callout</command>.
1056             </para>
1057           </listitem>
1058         </varlistentry>
1059
1060         <varlistentry>
1061           <term>CTDB_NFS_CHECKS_DIR=<parameter>DIRECTORY</parameter></term>
1062           <listitem>
1063             <para>
1064               Specifies the path to a DIRECTORY containing files that
1065               describe how to monitor the responsiveness of NFS RPC
1066               services.  See the README file for this directory for an
1067               explanation of the contents of these "check" files.
1068             </para>
1069             <para>
1070               CTDB_NFS_CHECKS_DIR can be used to point to different
1071               sets of checks for different NFS servers.
1072             </para>
1073             <para>
1074               One way of using this is to have it point to, say,
1075               <filename>/usr/local/etc/ctdb/nfs-checks-enabled.d</filename>
1076               and populate it with symbolic links to the desired check
1077               files.  This avoids duplication and is upgrade-safe.
1078             </para>
1079             <para>
1080               Default is
1081               <filename>/usr/local/etc/ctdb/nfs-checks.d</filename>,
1082               which contains NFS RPC checks suitable for Linux kernel
1083               NFS.
1084             </para>
1085           </listitem>
1086         </varlistentry>
1087
1088         <varlistentry>
1089           <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1090           <listitem>
1091             <para>
1092               As part of monitoring, should CTDB skip the check for
1093               the existence of each directory exported via NFS.  This
1094               may be desirable if there is a large number of exports.
1095             </para>
1096             <para>
1097               Default is no.
1098             </para>
1099           </listitem>
1100         </varlistentry>
1101
1102         <varlistentry>
1103           <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1104           <listitem>
1105             <para>
1106               IPADDR or HOSTNAME indicates the address that
1107               <command>rpcinfo</command> should connect to when doing
1108               <command>rpcinfo</command> check on IPv4 RPC service during
1109               monitoring.  Optimally this would be "localhost".
1110               However, this can add some performance overheads.
1111             </para>
1112             <para>
1113               Default is "127.0.0.1".
1114             </para>
1115           </listitem>
1116         </varlistentry>
1117
1118         <varlistentry>
1119           <term>CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1120           <listitem>
1121             <para>
1122               IPADDR or HOSTNAME indicates the address that
1123               <command>rpcinfo</command> should connect to when doing
1124               <command>rpcinfo</command> check on IPv6 RPC service
1125               during monitoring.  Optimally this would be "localhost6"
1126               (or similar).  However, this can add some performance
1127               overheads.
1128             </para>
1129             <para>
1130               Default is "::1".
1131             </para>
1132           </listitem>
1133         </varlistentry>
1134
1135         <varlistentry>
1136           <term>CTDB_NFS_STATE_FS_TYPE=<parameter>TYPE</parameter></term>
1137           <listitem>
1138             <para>
1139               The type of filesystem used for a clustered NFS' shared
1140               state. No default.
1141             </para>
1142           </listitem>
1143         </varlistentry>
1144
1145         <varlistentry>
1146           <term>CTDB_NFS_STATE_MNT=<parameter>DIR</parameter></term>
1147           <listitem>
1148             <para>
1149               The directory where a clustered NFS' shared state will be
1150               located. No default.
1151             </para>
1152           </listitem>
1153         </varlistentry>
1154
1155       </variablelist>
1156
1157     </refsect2>
1158
1159     <refsect2>
1160       <title>APACHE HTTPD</title>
1161
1162       <para>
1163         CTDB can manage the Apache web server.
1164       </para>
1165
1166       <refsect3>
1167         <title>Eventscript</title>
1168
1169         <simplelist>
1170           <member><filename>41.httpd</filename></member>
1171         </simplelist>
1172       </refsect3>
1173
1174       <variablelist>
1175         <varlistentry>
1176           <term>CTDB_MANAGES_HTTPD=yes|no</term>
1177           <listitem>
1178             <para>
1179               Should CTDB manage the Apache web server?
1180             </para>
1181             <para>
1182               Default is no.
1183             </para>
1184           </listitem>
1185         </varlistentry>
1186       </variablelist>
1187     </refsect2>
1188
1189     <refsect2>
1190       <title>CLAMAV</title>
1191
1192       <para>
1193         CTDB has support to manage the popular anti-virus daemon
1194         ClamAV.
1195       </para>
1196
1197       <refsect3>
1198         <title>Eventscript</title>
1199
1200         <simplelist>
1201           <member><filename>31.clamd</filename></member>
1202         </simplelist>
1203
1204         <para>
1205           This eventscript is not enabled by default.  Use
1206           <command>ctdb enablescript</command> to enable it.
1207         </para>
1208
1209       </refsect3>
1210
1211       <variablelist>
1212
1213         <varlistentry>
1214           <term>CTDB_MANAGES_CLAMD=yes|no</term>
1215           <listitem>
1216             <para>
1217               Should CTDB manage ClamAV?
1218             </para>
1219             <para>
1220               Default is no.
1221             </para>
1222           </listitem>
1223         </varlistentry>
1224
1225         <varlistentry>
1226           <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1227           <listitem>
1228             <para>
1229               FILENAME is the socket to monitor ClamAV.
1230             </para>
1231             <para>
1232               No default.
1233             </para>
1234           </listitem>
1235         </varlistentry>
1236
1237       </variablelist>
1238
1239     </refsect2>
1240
1241     <refsect2>
1242       <title>ISCSI</title>
1243
1244       <para>
1245         CTDB has support for managing the Linux iSCSI tgtd service.
1246       </para>
1247
1248       <refsect3>
1249         <title>Eventscript</title>
1250
1251         <simplelist>
1252           <member><filename>70.iscsi</filename></member>
1253         </simplelist>
1254       </refsect3>
1255
1256       <variablelist>
1257
1258         <varlistentry>
1259           <term>CTDB_MANAGES_ISCSI=yes|no</term>
1260           <listitem>
1261             <para>
1262               Should CTDB manage iSCSI tgtd?
1263             </para>
1264             <para>
1265               Default is no.
1266             </para>
1267           </listitem>
1268         </varlistentry>
1269
1270         <varlistentry>
1271           <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1272           <listitem>
1273             <para>
1274               DIRECTORY on shared storage containing scripts to start
1275               tgtd for each public IP address.
1276             </para>
1277             <para>
1278               No default.
1279             </para>
1280           </listitem>
1281         </varlistentry>
1282       </variablelist>
1283     </refsect2>
1284
1285     <refsect2>
1286       <title>MULTIPATHD</title>
1287
1288       <para>
1289         CTDB can monitor multipath devices to ensure that active paths
1290         are available.
1291       </para>
1292
1293       <refsect3>
1294         <title>Eventscript</title>
1295
1296         <simplelist>
1297           <member><filename>20.multipathd</filename></member>
1298         </simplelist>
1299
1300         <para>
1301           This eventscript is not enabled by default.  Use
1302           <command>ctdb enablescript</command> to enable it.
1303         </para>
1304       </refsect3>
1305
1306       <variablelist>
1307         <varlistentry>
1308           <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1309           <listitem>
1310             <para>
1311               MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1312             </para>
1313             <para>
1314               No default.
1315             </para>
1316           </listitem>
1317         </varlistentry>
1318       </variablelist>
1319     </refsect2>
1320
1321     <refsect2>
1322       <title>VSFTPD</title>
1323
1324       <para>
1325         CTDB can manage the vsftpd FTP server.
1326       </para>
1327
1328       <refsect3>
1329         <title>Eventscript</title>
1330
1331         <simplelist>
1332           <member><filename>40.vsftpd</filename></member>
1333         </simplelist>
1334       </refsect3>
1335
1336       <variablelist>
1337         <varlistentry>
1338           <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1339           <listitem>
1340             <para>
1341               Should CTDB manage the vsftpd FTP server?
1342             </para>
1343             <para>
1344               Default is no.
1345             </para>
1346           </listitem>
1347         </varlistentry>
1348       </variablelist>
1349     </refsect2>
1350
1351     <refsect2>
1352       <title>
1353         DATABASE SETUP
1354       </title>
1355
1356       <para>
1357         CTDB checks the consistency of databases during startup.
1358       </para>
1359
1360       <refsect3>
1361         <title>Eventscripts</title>
1362
1363         <simplelist>
1364           <member><filename>00.ctdb</filename></member>
1365         </simplelist>
1366
1367       </refsect3>
1368
1369       <variablelist>
1370
1371         <varlistentry>
1372           <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1373           <listitem>
1374             <para>
1375               NUM is the maximum number of volatile TDB database backups
1376               to be kept (for each database) when a corrupt database is
1377               found during startup.  Volatile TDBs are zeroed during
1378               startup so backups are needed to debug any corruption that
1379               occurs before a restart.
1380             </para>
1381             <para>
1382               Default is 10.
1383             </para>
1384           </listitem>
1385         </varlistentry>
1386
1387       </variablelist>
1388     </refsect2>
1389
1390     <refsect2>
1391       <title>
1392         SYSTEM RESOURCE MONITORING CONFIGURATION
1393       </title>
1394
1395       <para>
1396         CTDB can experience seemingly random (performance and other)
1397         issues if system resources become too constrained.  Options in
1398         this section can be enabled to allow certain system resources
1399         to be checked.  They allows warnings to be logged and nodes to
1400         be marked unhealthy when system resource usage reaches the
1401         configured thresholds.
1402       </para>
1403
1404       <para>
1405         Some checks are enabled by default.  It is recommended that
1406         these checks remain enabled or are augmented by extra checks.
1407         There is no supported way of completely disabling the checks.
1408       </para>
1409
1410       <refsect3>
1411         <title>Eventscripts</title>
1412
1413         <simplelist>
1414           <member><filename>05.system</filename></member>
1415         </simplelist>
1416
1417         <para>
1418           Filesystem and memory usage monitoring is in
1419           <filename>05.system</filename>.
1420         </para>
1421       </refsect3>
1422
1423       <variablelist>
1424
1425         <varlistentry>
1426           <term>CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter></term>
1427           <listitem>
1428             <para>
1429               FS-LIMIT-LIST is a space-separated list of
1430               <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1431               triples indicating that warnings should be logged if the
1432               space used on FILESYSTEM reaches WARN_LIMIT%.  If usage
1433               reaches UNHEALTHY_LIMIT then the node should be flagged
1434               unhealthy.  Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1435               left blank, meaning that check will be omitted.
1436             </para>
1437
1438             <para>
1439               Default is to warn for each filesystem containing a
1440               database directory (<envar>CTDB_DBDIR</envar>,
1441               <envar>CTDB_DBDIR_PERSISTENT</envar>,
1442               <envar>CTDB_DBDIR_STATE</envar>) with a threshold of
1443               90%.
1444             </para>
1445           </listitem>
1446         </varlistentry>
1447
1448         <varlistentry>
1449           <term>CTDB_MONITOR_MEMORY_USAGE=<parameter>MEM-LIMITS</parameter></term>
1450           <listitem>
1451             <para>
1452               MEM-LIMITS takes the form
1453               <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1454               indicating that warnings should be logged if memory
1455               usage reaches WARN_LIMIT%.  If usage reaches
1456               UNHEALTHY_LIMIT then the node should be flagged
1457               unhealthy.  Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1458               left blank, meaning that check will be omitted.
1459             </para>
1460             <para>
1461               Default is 80, so warnings will be logged when memory
1462               usage reaches 80%.
1463             </para>
1464           </listitem>
1465         </varlistentry>
1466
1467         <varlistentry>
1468           <term>CTDB_MONITOR_SWAP_USAGE=<parameter>SWAP-LIMITS</parameter></term>
1469           <listitem>
1470             <para>
1471               SWAP-LIMITS takes the form
1472               <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1473                indicating that warnings should be logged if
1474               swap usage reaches WARN_LIMIT%.  If usage reaches
1475               UNHEALTHY_LIMIT then the node should be flagged
1476               unhealthy.  Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1477               left blank, meaning that check will be omitted.
1478             </para>
1479             <para>
1480               Default is 25, so warnings will be logged when swap
1481               usage reaches 25%.
1482             </para>
1483           </listitem>
1484         </varlistentry>
1485
1486       </variablelist>
1487     </refsect2>
1488
1489   </refsect1>
1490
1491   <refsect1>
1492     <title>FILES</title>
1493
1494     <simplelist>
1495       <member><filename>/usr/local/etc/ctdb/ctdbd.conf</filename></member>
1496       <member><filename>/etc/sysconfig/ctdb</filename></member>
1497       <member><filename>/etc/default/ctdb</filename></member>
1498     </simplelist>
1499   </refsect1>
1500
1501   <refsect1>
1502     <title>SEE ALSO</title>
1503     <para>
1504       <citerefentry><refentrytitle>ctdbd</refentrytitle>
1505       <manvolnum>1</manvolnum></citerefentry>,
1506
1507       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1508       <manvolnum>1</manvolnum></citerefentry>,
1509
1510       <citerefentry><refentrytitle>onnode</refentrytitle>
1511       <manvolnum>1</manvolnum></citerefentry>,
1512
1513       <citerefentry><refentrytitle>ctdb</refentrytitle>
1514       <manvolnum>7</manvolnum></citerefentry>,
1515
1516       <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1517       <manvolnum>7</manvolnum></citerefentry>,
1518
1519       <ulink url="http://ctdb.samba.org/"/>
1520     </para>
1521   </refsect1>
1522
1523   <refentryinfo>
1524     <author>
1525       <contrib>
1526         This documentation was written by
1527         Amitay Isaacs,
1528         Martin Schwenke
1529       </contrib>
1530     </author>
1531
1532     <copyright>
1533       <year>2007</year>
1534       <holder>Andrew Tridgell</holder>
1535       <holder>Ronnie Sahlberg</holder>
1536     </copyright>
1537     <legalnotice>
1538       <para>
1539         This program is free software; you can redistribute it and/or
1540         modify it under the terms of the GNU General Public License as
1541         published by the Free Software Foundation; either version 3 of
1542         the License, or (at your option) any later version.
1543       </para>
1544       <para>
1545         This program is distributed in the hope that it will be
1546         useful, but WITHOUT ANY WARRANTY; without even the implied
1547         warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1548         PURPOSE.  See the GNU General Public License for more details.
1549       </para>
1550       <para>
1551         You should have received a copy of the GNU General Public
1552         License along with this program; if not, see
1553         <ulink url="http://www.gnu.org/licenses"/>.
1554       </para>
1555     </legalnotice>
1556   </refentryinfo>
1557
1558 </refentry>