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