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