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