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