s4:torture:raw:notify: use torture_assert instead of printf in test_notify_tree
[Samba.git] / ctdb / doc / ctdbd.conf.5.xml
blob8a62c86615b29fdbc097e464561361623f3e67ab
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 NOTICE (2).  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           <para>
377             For information about the recovery lock please see the
378             <citetitle>RECOVERY LOCK</citetitle> section in
379             <citerefentry><refentrytitle>ctdb</refentrytitle>
380             <manvolnum>7</manvolnum></citerefentry>.
381           </para>
382         </listitem>
383       </varlistentry>
385       <varlistentry>
386         <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
387         <listitem>
388           <para>
389             Defaults to ERR (0).  Corresponds to
390             <option>--script-log-level</option>.
391           </para>
392         </listitem>
393       </varlistentry>
395       <varlistentry>
396         <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
397         <listitem>
398           <para>
399             Defaults to <filename>/tmp/ctdb.socket</filename>.
400             Corresponds to <option>--socket</option>.
401           </para>
402           <para>
403             If you change this then you probably want to set this in
404             root's enviroment (perhaps in a file in
405             <filename>/etc/profile.d</filename>) so that you can use
406             the <citerefentry><refentrytitle>ctdb</refentrytitle>
407             <manvolnum>1</manvolnum></citerefentry> command in a
408             straightforward manner.
409           </para>
410         </listitem>
411       </varlistentry>
413       <varlistentry>
414         <term>CTDB_START_AS_DISABLED=yes|no</term>
415         <listitem>
416           <para>
417             Default is no.  Corresponds to
418             <option>--start-as-disabled</option>.
419           </para>
420         </listitem>
421       </varlistentry>
423       <varlistentry>
424         <term>CTDB_START_AS_STOPPED=yes|no</term>
425         <listitem>
426           <para>
427             Default is no.  Corresponds to
428             <option>--start-as-stopped</option>.
429           </para>
430         </listitem>
431       </varlistentry>
433       <varlistentry>
434         <term>CTDB_TRANSPORT=tcp|infiniband</term>
435         <listitem>
436           <para>
437             Defaults to tcp.  Corresponds to
438             <option>--transport</option>.
439           </para>
440         </listitem>
441       </varlistentry>
443     </variablelist>
445     <para>
446       While the following variables do not translate into daemon
447       options they are used by
448       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
449       <manvolnum>1</manvolnum></citerefentry> when starting and
450       stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
451       <manvolnum>1</manvolnum></citerefentry>.
452     </para>
454     <variablelist>
456       <varlistentry>
457         <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
458         <listitem>
459           <para>
460             NUM is the number of seconds to wait for
461             <citerefentry><refentrytitle>ctdbd</refentrytitle>
462             <manvolnum>1</manvolnum></citerefentry> to shut down
463             gracefully before giving up and killing it.
464           </para>
466           <para>
467             Defaults is 30.
468           </para>
469         </listitem>
470       </varlistentry>
472       <varlistentry>
473         <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
474         <listitem>
475           <para>
476             NUM is the number of seconds to wait for
477             <citerefentry><refentrytitle>ctdbd</refentrytitle>
478             <manvolnum>1</manvolnum></citerefentry> complete early
479             initialisation up to a point where it is unlikely to
480             abort.  If <command>ctdbd</command> doesn't complete the
481             "setup" event before this timeout then it is killed.
482           </para>
484           <para>
485             Defaults is 10.
486           </para>
487         </listitem>
488       </varlistentry>
490     </variablelist>
491   </refsect1>
493   <refsect1>
494     <title>NETWORK CONFIGURATION</title>
496     <refsect2>
497       <title>NAT GATEWAY</title>
499       <para>
500         NAT gateway is used to configure fallback routing for nodes
501         when they do not host any public IP addresses.  For example,
502         it allows unhealthy nodes to reliably communicate with
503         external infrastructure.  One node in a NAT gateway group will
504         be designated as the NAT gateway master node and other (slave)
505         nodes will be configured with fallback routes via the NAT
506         gateway master node.  For more information, see the
507         <citetitle>NAT GATEWAY</citetitle> section in
508         <citerefentry><refentrytitle>ctdb</refentrytitle>
509         <manvolnum>7</manvolnum></citerefentry>.
510       </para>
512       <variablelist>
514         <varlistentry>
515           <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
516           <listitem>
517             <para>
518               IPADDR is an alternate network gateway to use on the NAT
519               gateway master node.  If set, a fallback default route
520               is added via this network gateway.
521             </para>
522             <para>
523               No default.  Setting this variable is optional - if not
524               set that no route is created on the NAT gateway master
525               node.
526             </para>
527           </listitem>
528         </varlistentry>
530         <varlistentry>
531           <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
532           <listitem>
533             <para>
534               FILENAME contains the list of nodes that belong to the
535               same NAT gateway group.
536             </para>
537             <para>
538               File format:
539               <screen>
540 <parameter>IPADDR</parameter>
541               </screen>
542             </para>
543             <para>
544               No default, usually
545               <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
546             </para>
547           </listitem>
548         </varlistentry>
550         <varlistentry>
551           <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
552           <listitem>
553             <para>
554               IPADDR/MASK is the private sub-network that is
555               internally routed via the NAT gateway master node.  This
556               is usually the private network that is used for node
557               addresses.
558             </para>
559             <para>
560               No default.
561             </para>
562           </listitem>
563         </varlistentry>
565         <varlistentry>
566           <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
567           <listitem>
568             <para>
569               IFACE is the network interface on which the
570               CTDB_NATGW_PUBLIC_IP will be configured.
571             </para>
572             <para>
573               No default.
574             </para>
575           </listitem>
576         </varlistentry>
578         <varlistentry>
579           <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
580           <listitem>
581             <para>
582               IPADDR/MASK indicates the IP address that is used for
583               outgoing traffic (originating from
584               CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
585               node.  This <emphasis>must not</emphasis> be a
586               configured public IP address.
587             </para>
588             <para>
589               No default.
590             </para>
591           </listitem>
592         </varlistentry>
594         <varlistentry>
595           <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
596           <listitem>
597             <para>
598               When set to "yes" a node can not be a NAT gateway master
599               node.  In this case
600               <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
601               <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
602               and unused.
603             </para>
604             <para>
605               Default is no.
606             </para>
607           </listitem>
608         </varlistentry>
610         <varlistentry>
611           <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
612           <listitem>
613             <para>
614               Each IPADDR/MASK identifies a network or host to which
615               NATGW should create a fallback route, instead of
616               creating a single default route.  This can be used when
617               there is already a default route, via an interface that
618               can not reach required infrastructure, that overrides
619               the NAT gateway default route.
620             </para>
621             <para>
622               If GATEWAY is specified then the corresponding route on
623               the NATGW master node will be via GATEWAY.  Such routes
624               are created even if
625               <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
626               specified.  If GATEWAY is not specified for some
627               networks then routes are only created on the NATGW
628               master node for those networks if
629               <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
630               specified.
631             </para>
632             <para>
633               This should be used with care to avoid causing traffic
634               to unnecessarily double-hop through the NAT gateway
635               master, even when a node is hosting public IP addresses.
636               Each specified network or host should probably have a
637               corresponding automatically created link route or static
638               route to avoid this.
639             </para>
640             <para>
641               No default.
642             </para>
643           </listitem>
644         </varlistentry>
646       </variablelist>
648       <refsect3>
649         <title>Example</title>
650         <screen>
651 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
652 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
653 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
654 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
655 CTDB_NATGW_PUBLIC_IFACE=eth0
656         </screen>
658         <para>
659           A variation that ensures that infrastructure (ADS, DNS, ...)
660           directly attached to the public network (10.0.0.0/24) is
661           always reachable would look like this:
662         </para>
663         <screen>
664 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
665 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
666 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
667 CTDB_NATGW_PUBLIC_IFACE=eth0
668 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
669         </screen>
670         <para>
671           Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
672           not specified.
673         </para>
674       </refsect3>
676     </refsect2>
678     <refsect2>
679       <title>POLICY ROUTING</title>
681       <para>
682         A node running CTDB may be a component of a complex network
683         topology.  In particular, public addresses may be spread
684         across several different networks (or VLANs) and it may not be
685         possible to route packets from these public addresses via the
686         system's default route.  Therefore, CTDB has support for
687         policy routing via the <filename>13.per_ip_routing</filename>
688         eventscript.  This allows routing to be specified for packets
689         sourced from each public address.  The routes are added and
690         removed as CTDB moves public addresses between nodes.
691       </para>
693       <para>
694         For more information, see the <citetitle>POLICY
695         ROUTING</citetitle> section in
696         <citerefentry><refentrytitle>ctdb</refentrytitle>
697         <manvolnum>7</manvolnum></citerefentry>.
698       </para>
700       <variablelist>
701         <varlistentry>
702           <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
703           <listitem>
704             <para>
705               FILENAME contains elements for constructing the desired
706               routes for each source address.
707             </para>
709             <para>
710               The special FILENAME value
711               <constant>__auto_link_local__</constant> indicates that no
712               configuration file is provided and that CTDB should
713               generate reasonable link-local routes for each public IP
714               address.
715             </para>
717             <para>
718               File format:
719               <screen>
720 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
721               </screen>
722             </para>
724             <para>
725               No default, usually
726               <filename>/etc/ctdb/policy_routing</filename> when enabled.
727             </para>
728           </listitem>
729         </varlistentry>
731         <varlistentry>
732           <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
733         <listitem>
734           <para>
735             NUM sets the priority (or preference) for the routing
736             rules that are added by CTDB.
737           </para>
739           <para>
740             This should be (strictly) greater than 0 and (strictly)
741             less than 32766.  A priority of 100 is recommended, unless
742             this conflicts with a priority already in use on the
743             system.  See
744             <citerefentry><refentrytitle>ip</refentrytitle>
745             <manvolnum>8</manvolnum></citerefentry>, for more details.
746           </para>
747         </listitem>
748         </varlistentry>
750         <varlistentry>
751           <term>
752             CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
753             CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
754           </term>
755           <listitem>
756             <para>
757               CTDB determines a unique routing table number to use for
758               the routing related to each public address.  LOW-NUM and
759               HIGH-NUM indicate the minimum and maximum routing table
760               numbers that are used.
761             </para>
763             <para>
764               <citerefentry><refentrytitle>ip</refentrytitle>
765               <manvolnum>8</manvolnum></citerefentry> uses some
766               reserved routing table numbers below 255.  Therefore,
767               CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
768               greater than 255.
769             </para>
771             <para>
772               CTDB uses the standard file
773               <filename>/etc/iproute2/rt_tables</filename> to maintain
774               a mapping between the routing table numbers and labels.
775               The label for a public address
776               <replaceable>ADDR</replaceable> will look like
777               ctdb.<replaceable>addr</replaceable>.  This means that
778               the associated rules and routes are easy to read (and
779               manipulate).
780             </para>
782             <para>
783               No default, usually 1000 and 9000.
784             </para>
785           </listitem>
786         </varlistentry>
787       </variablelist>
789       <refsect3>
790         <title>Example</title>
791         <screen>
792 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
793 CTDB_PER_IP_ROUTING_RULE_PREF=100
794 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
795 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
796         </screen>
797       </refsect3>
799     </refsect2>
801     <refsect2>
802       <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
804       <variablelist>
806         <varlistentry>
807           <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
808           <listitem>
809             <para>
810               Whether one or more offline interfaces should cause a
811               monitor event to fail if there are other interfaces that
812               are up.  If this is "yes" and a node has some interfaces
813               that are down then <command>ctdb status</command> will
814               display the node as "PARTIALLYONLINE".
815             </para>
817             <para>
818               Default is "no".
819             </para>
820           </listitem>
821         </varlistentry>
823       </variablelist>
824     </refsect2>
826   </refsect1>
828   <refsect1>
829     <title>SERVICE CONFIGURATION</title>
831     <para>
832       CTDB can be configured to manage and/or monitor various NAS (and
833       other) services via its eventscripts.
834     </para>
836     <para>
837       In the simplest case CTDB will manage a service.  This means the
838       service will be started and stopped along with CTDB, CTDB will
839       monitor the service and CTDB will do any required
840       reconfiguration of the service when public IP addresses are
841       failed over.
842     </para>
844     <refsect2>
845       <title>SAMBA</title>
847       <refsect3>
848         <title>Eventscripts</title>
850         <simplelist>
851           <member><filename>49.winbind</filename></member>
852           <member><filename>50.samba</filename></member>
853         </simplelist>
854       </refsect3>
856       <variablelist>
858         <varlistentry>
859           <term>CTDB_MANAGES_SAMBA=yes|no</term>
860           <listitem>
861             <para>
862               Should CTDB manage Samba?
863             </para>
864             <para>
865               Default is no.
866             </para>
867           </listitem>
868         </varlistentry>
870         <varlistentry>
871           <term>CTDB_MANAGES_WINBIND=yes|no</term>
872           <listitem>
873             <para>
874               Should CTDB manage Winbind?
875             </para>
876             <para>
877               Default is no.
878             </para>
879           </listitem>
880         </varlistentry>
882         <varlistentry>
883           <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
884           <listitem>
885             <para>
886               When monitoring Samba, check TCP ports in
887               space-separated PORT-LIST.
888             </para>
889             <para>
890               Default is to monitor ports that Samba is configured to listen on.
891             </para>
892           </listitem>
893         </varlistentry>
895         <varlistentry>
896           <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
897           <listitem>
898             <para>
899               As part of monitoring, should CTDB skip the check for
900               the existence of each directory configured as share in
901               Samba.  This may be desirable if there is a large number
902               of shares.
903             </para>
904             <para>
905               Default is no.
906             </para>
907           </listitem>
908         </varlistentry>
910         <varlistentry>
911           <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
912           <listitem>
913             <para>
914               Distribution specific SERVICE for managing nmbd.
915             </para>
916             <para>
917               Default is distribution-dependant.
918             </para>
919           </listitem>
920         </varlistentry>
921         <varlistentry>
922           <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
923           <listitem>
924             <para>
925               Distribution specific SERVICE for managing smbd.
926             </para>
927             <para>
928               Default is distribution-dependant.
929             </para>
930           </listitem>
931         </varlistentry>
933         <varlistentry>
934           <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
935           <listitem>
936             <para>
937               Distribution specific SERVICE for managing winbindd.
938             </para>
939             <para>
940               Default is "winbind".
941             </para>
942           </listitem>
943         </varlistentry>
945       </variablelist>
947     </refsect2>
949     <refsect2>
950       <title>NFS</title>
952       <para>
953         This includes parameters for the kernel NFS server and the
954         user-space
955         <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
956         server.
957       </para>
959       <refsect3>
960         <title>Eventscripts</title>
962         <simplelist>
963           <member><filename>60.nfs</filename></member>
964           <member><filename>60.ganesha</filename></member>
965         </simplelist>
966       </refsect3>
968       <variablelist>
970         <varlistentry>
971           <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
972           <listitem>
973             <para>
974               The type of cluster filesystem to use with NFS-ganesha.
975               Currently only "gpfs" is supported.
976             </para>
977             <para>
978               Default is "gpfs".
979             </para>
980           </listitem>
981         </varlistentry>
983         <varlistentry>
984           <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
985           <listitem>
986             <para>
987               SUBDIR is the name of a top-level subdirectory in the
988               first cluster filesystem.  This subdirectory is used to
989               allow communication between NFS-Ganesha and the
990               <filename>60.ganesha</filename> script.
991             </para>
992             <para>
993               Default is ".ganesha".
994             </para>
995           </listitem>
996         </varlistentry>
998         <varlistentry>
999           <term>CTDB_MANAGES_NFS=yes|no</term>
1000           <listitem>
1001             <para>
1002               Should CTDB manage NFS?
1003             </para>
1004             <para>
1005               Default is no.
1006             </para>
1007           </listitem>
1008         </varlistentry>
1010         <varlistentry>
1011           <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
1012           <listitem>
1013             <para>
1014               Whether to monitor the NFS kernel server thread count.
1015             </para>
1016             <para>
1017               This works around a limitation in some NFS initscripts
1018               where some threads can be stuck in host filesystem calls
1019               (perhaps due to slow storage), a restart occurs, some
1020               threads don't exit, the start only adds the missing
1021               number of threads, the stuck threads exit, and the
1022               result is a lower than expected thread count.  Note that
1023               if you must also set <varname>RPCNFSDCOUNT</varname>
1024               (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
1025               (SUSE) in your NFS configuration so the monitoring code
1026               knows how many threads there should be - if neither of
1027               these are set then this option will be ignored.
1028             </para>
1029             <para>
1030               Default is no.
1031             </para>
1032           </listitem>
1033         </varlistentry>
1035         <varlistentry>
1036           <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
1037           <listitem>
1038             <para>
1039               NUM is the number of NFS kernel server threads to dump
1040               stack traces for if some are still alive after stopping
1041               NFS during a restart.
1042             </para>
1043             <para>
1044               Default is 5.  Set this to 0 to disable this feature.
1045             </para>
1046           </listitem>
1047         </varlistentry>
1049         <varlistentry>
1050           <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
1051           <listitem>
1052             <para>
1053               Selects which NFS server to be managed.
1054             </para>
1055             <para>
1056               This replaces the deprecated variable
1057               <varname>NFS_SERVER_MODE</varname>.
1058             </para>
1059             <para>
1060               Default is "kernel".
1061             </para>
1062           </listitem>
1063         </varlistentry>
1065         <varlistentry>
1066           <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1067           <listitem>
1068             <para>
1069               During monitoring, should CTDB skip the
1070               <command>rpcinfo</command> check that is used to see if
1071               the NFS kernel server is functional.
1072             </para>
1073             <para>
1074               Default is no.
1075             </para>
1076           </listitem>
1077         </varlistentry>
1079         <varlistentry>
1080           <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1081           <listitem>
1082             <para>
1083               As part of monitoring, should CTDB skip the check for
1084               the existence of each directory exported via NFS.  This
1085               may be desirable if there is a large number of exports.
1086             </para>
1087             <para>
1088               Default is no.
1089             </para>
1090           </listitem>
1091         </varlistentry>
1093         <varlistentry>
1094           <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1095           <listitem>
1096             <para>
1097               IPADDR or HOSTNAME indicates the address that
1098               <command>rpcinfo</command> should connect to when doing
1099               <command>rpcinfo</command> check on RPC service during
1100               monitoring.  Optimally this would be "localhost".
1101               However, this can add some performance overheads.
1102             </para>
1103             <para>
1104               Default is "127.0.0.1".
1105             </para>
1106           </listitem>
1107         </varlistentry>
1109         <varlistentry>
1110           <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1111           <listitem>
1112             <para>
1113               As part of monitoring, should CTDB skip the check for
1114               the existence of each directory exported via
1115               NFS-Ganesha.  This may be desirable if there is a large
1116               number of exports.
1117             </para>
1118             <para>
1119               Default is no.
1120             </para>
1121           </listitem>
1122         </varlistentry>
1124       </variablelist>
1126     </refsect2>
1128     <refsect2>
1129       <title>APACHE HTTPD</title>
1131       <para>
1132         CTDB can manage the Apache web server.
1133       </para>
1135       <refsect3>
1136         <title>Eventscript</title>
1138         <simplelist>
1139           <member><filename>41.httpd</filename></member>
1140         </simplelist>
1141       </refsect3>
1143       <variablelist>
1144         <varlistentry>
1145           <term>CTDB_MANAGES_HTTPD=yes|no</term>
1146           <listitem>
1147             <para>
1148               Should CTDB manage the Apache web server?
1149             </para>
1150             <para>
1151               Default is no.
1152             </para>
1153           </listitem>
1154         </varlistentry>
1155       </variablelist>
1156     </refsect2>
1158     <refsect2>
1159       <title>CLAMAV</title>
1161       <para>
1162         CTDB has support to manage the popular anti-virus daemon
1163         ClamAV.
1164       </para>
1166       <refsect3>
1167         <title>Eventscript</title>
1169         <simplelist>
1170           <member><filename>31.clamd</filename></member>
1171         </simplelist>
1173         <para>
1174           This eventscript is not enabled by default.  Use
1175           <command>ctdb enablescript</command> to enable it.
1176         </para>
1178       </refsect3>
1180       <variablelist>
1182         <varlistentry>
1183           <term>CTDB_MANAGES_CLAMD=yes|no</term>
1184           <listitem>
1185             <para>
1186               Should CTDB manage ClamAV?
1187             </para>
1188             <para>
1189               Default is no.
1190             </para>
1191           </listitem>
1192         </varlistentry>
1194         <varlistentry>
1195           <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1196           <listitem>
1197             <para>
1198               FILENAME is the socket to monitor ClamAV.
1199             </para>
1200             <para>
1201               No default.
1202             </para>
1203           </listitem>
1204         </varlistentry>
1206       </variablelist>
1208     </refsect2>
1210     <refsect2>
1211       <title>ISCSI</title>
1213       <para>
1214         CTDB has support for managing the Linux iSCSI tgtd service.
1215       </para>
1217       <refsect3>
1218         <title>Eventscript</title>
1220         <simplelist>
1221           <member><filename>70.iscsi</filename></member>
1222         </simplelist>
1223       </refsect3>
1225       <variablelist>
1227         <varlistentry>
1228           <term>CTDB_MANAGES_ISCSI=yes|no</term>
1229           <listitem>
1230             <para>
1231               Should CTDB manage iSCSI tgtd?
1232             </para>
1233             <para>
1234               Default is no.
1235             </para>
1236           </listitem>
1237         </varlistentry>
1239         <varlistentry>
1240           <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1241           <listitem>
1242             <para>
1243               DIRECTORY on shared storage containing scripts to start
1244               tgtd for each public IP address.
1245             </para>
1246             <para>
1247               No default.
1248             </para>
1249           </listitem>
1250         </varlistentry>
1251       </variablelist>
1252     </refsect2>
1254     <refsect2>
1255       <title>MULTIPATHD</title>
1257       <para>
1258         CTDB can monitor multipath devices to ensure that active paths
1259         are available.
1260       </para>
1262       <refsect3>
1263         <title>Eventscript</title>
1265         <simplelist>
1266           <member><filename>20.multipathd</filename></member>
1267         </simplelist>
1269         <para>
1270           This eventscript is not enabled by default.  Use
1271           <command>ctdb enablescript</command> to enable it.
1272         </para>
1273       </refsect3>
1275       <variablelist>
1276         <varlistentry>
1277           <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1278           <listitem>
1279             <para>
1280               MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1281             </para>
1282             <para>
1283               No default.
1284             </para>
1285           </listitem>
1286         </varlistentry>
1287       </variablelist>
1288     </refsect2>
1290     <refsect2>
1291       <title>VSFTPD</title>
1293       <para>
1294         CTDB can manage the vsftpd FTP server.
1295       </para>
1297       <refsect3>
1298         <title>Eventscript</title>
1300         <simplelist>
1301           <member><filename>40.vsftpd</filename></member>
1302         </simplelist>
1303       </refsect3>
1305       <variablelist>
1306         <varlistentry>
1307           <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1308           <listitem>
1309             <para>
1310               Should CTDB manage the vsftpd FTP server?
1311             </para>
1312             <para>
1313               Default is no.
1314             </para>
1315           </listitem>
1316         </varlistentry>
1317       </variablelist>
1318     </refsect2>
1320     <refsect2>
1321       <title>
1322         SYSTEM RESOURCE MONITORING CONFIGURATION
1323       </title>
1325       <para>
1326         CTDB can experience seemingly random (performance and other)
1327         issues if system resources become too contrained.  Options in
1328         this section can be enabled to allow certain system resources to
1329         be checked.
1330       </para>
1332       <refsect3>
1333         <title>Eventscripts</title>
1335         <simplelist>
1336           <member><filename>00.ctdb</filename></member>
1337           <member><filename>40.fs_use</filename></member>
1338         </simplelist>
1340         <para>
1341           Filesystem usage monitoring is in
1342           <filename>40.fs_use</filename>.  This eventscript is not
1343           enabled by default.  Use <command>ctdb
1344           enablescript</command> to enable it.
1345         </para>
1346       </refsect3>
1348       <variablelist>
1350         <varlistentry>
1351           <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1352           <listitem>
1353             <para>
1354               FS-LIMIT-LIST is a space-separated list of
1355               <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1356               pairs indicating that a node should be flagged unhealthy
1357               if the space used on FILESYSTEM reaches LIMIT%.
1358             </para>
1360             <para>
1361               No default.
1362             </para>
1364             <para>
1365               Note that this feature uses the
1366               <filename>40.fs_use</filename> eventscript, which is not
1367               enabled by default.  Use <command>ctdb
1368               enablescript</command> to enable it.
1369             </para>
1370           </listitem>
1371         </varlistentry>
1373         <varlistentry>
1374           <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1375           <listitem>
1376             <para>
1377               Should a warning be logged if swap space is in use.
1378             </para>
1379             <para>
1380               Default is no.
1381             </para>
1382           </listitem>
1383         </varlistentry>
1385         <varlistentry>
1386           <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1387           <listitem>
1388             <para>
1389               NUM is a lower limit on available system memory, expressed
1390               in megabytes.  If this is set and the amount of available
1391               memory falls below this limit then some debug information
1392               will be logged, the node will be disabled and then CTDB
1393               will be shut down.
1394             </para>
1395             <para>
1396               No default.
1397             </para>
1398           </listitem>
1399         </varlistentry>
1401         <varlistentry>
1402           <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1403           <listitem>
1404             <para>
1405               NUM is a lower limit on available system memory, expressed
1406               in megabytes.  If this is set and the amount of available
1407               memory falls below this limit then a warning will be
1408               logged.
1409             </para>
1410             <para>
1411               No default.
1412             </para>
1413           </listitem>
1414         </varlistentry>
1416       </variablelist>
1417     </refsect2>
1419     <refsect2>
1420       <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1422       <variablelist>
1424         <varlistentry>
1425           <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1426           <listitem>
1427             <para>
1428               SERVICE-LIST is a space-separated list of SERVICEs that
1429               CTDB should manage.  This can be used as an alternative
1430               to the
1431               <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1432               variables.
1433             </para>
1434             <para>
1435               No default.
1436             </para>
1437           </listitem>
1438         </varlistentry>
1440         <varlistentry>
1441           <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1442           <listitem>
1443             <para>
1444               When CTDB should start and stop services if they become
1445               managed or unmanaged.
1446             </para>
1447             <para>
1448               Default is no.
1449             </para>
1450           </listitem>
1451         </varlistentry>
1453       </variablelist>
1455     </refsect2>
1457   </refsect1>
1459   <refsect1>
1460     <title>
1461       TUNABLES CONFIGURATION
1462     </title>
1464     <para>
1465       CTDB tunables (see
1466       <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1467       <manvolnum>7</manvolnum></citerefentry>) can be set from the
1468       configuration file.  They are set as follows:
1470       <literallayout>
1471 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1472       </literallayout>
1473     </para>
1475     <para>
1476       For example:
1478       <screen format="linespecific">
1479 CTDB_SET_MonitorInterval=20
1480       </screen>
1481     </para>
1482   </refsect1>
1484   <refsect1>
1485     <title>
1486       DEBUG AND TEST
1487     </title>
1489     <para>
1490       Variable in this section are for debugging and testing CTDB.
1491       They should not generally be needed.
1492     </para>
1494     <variablelist>
1496       <varlistentry>
1497         <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1498         <listitem>
1499           <para>
1500             FILENAME is a script to run to log debug information when
1501             an event script times out.
1502           </para>
1503           <para>
1504             Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1505           </para>
1506         </listitem>
1507       </varlistentry>
1509       <varlistentry>
1510         <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1511         <listitem>
1512           <para>
1513             FILENAME specifies where log messages should go when
1514             debugging hung eventscripts.  This is a testing option.
1515             See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1516           </para>
1517           <para>
1518             No default.  Messages go to stdout/stderr and are logged
1519             to the same place as other CTDB log messages.
1520           </para>
1521         </listitem>
1522       </varlistentry>
1524       <varlistentry>
1525         <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1526         <listitem>
1527           <para>
1528             REGEXP specifies interesting processes for which stack
1529             traces should be logged when debugging hung eventscripts
1530             and those processes are matched in pstree output.  REGEXP
1531             is an extended regexp so choices are separated by pipes
1532             ('|').  However, REGEXP should not contain parentheses.
1533             See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1534           </para>
1535           <para>
1536             Default is "exportfs|rpcinfo".
1537           </para>
1538         </listitem>
1539       </varlistentry>
1541       <varlistentry>
1542         <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1543         <listitem>
1544           <para>
1545             FILENAME is a script to run to log debug information when
1546             an CTDB fails to freeze databases during recovery.
1547           </para>
1548           <para>
1549             No default, usually
1550             <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1551           </para>
1552         </listitem>
1553       </varlistentry>
1555       <varlistentry>
1556         <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1557         <listitem>
1558           <para>
1559             DIRECTORY containing system configuration files.  This is
1560             used to provide alternate configuration when testing and
1561             should not need to be changed from the default.
1562           </para>
1563           <para>
1564             Default is <filename>/etc</filename>.
1565           </para>
1566         </listitem>
1567       </varlistentry>
1569       <varlistentry>
1570         <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1571         <listitem>
1572           <para>
1573             This is the init style used by the Linux distribution (or
1574             other operating system) being used.  This is usually
1575             determined dynamically by checking the system.  This
1576             variable is used by the initscript to determine which init
1577             system primitives to use.  It is also used by some
1578             eventscripts to choose the name of initscripts for certain
1579             services, since these can vary between distributions.
1580           </para>
1581           <para>
1582             No fixed default.
1583           </para>
1584           <para>
1585             If this option needs to be changed from the calculated
1586             default for the initscript to function properly, then it
1587             must be set in the distribution-specific initscript
1588             configuration, such as
1589             <filename>/etc/sysconfig/ctdb</filename>
1590           </para>
1591         </listitem>
1592       </varlistentry>
1594       <varlistentry>
1595         <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1596         <listitem>
1597           <para>
1598             NUM is the maximum number of volatile TDB database backups
1599             to be kept (for each database) when a corrupt database is
1600             found during startup.  Volatile TDBs are zeroed during
1601             startup so backups are needed to debug any corruption that
1602             occurs before a restart.
1603           </para>
1604           <para>
1605             Default is 10.
1606           </para>
1607         </listitem>
1608       </varlistentry>
1610       <varlistentry>
1611         <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1612         <listitem>
1613           <para>
1614             FILENAME is a script fragment to be sourced by the
1615             <filename>functions</filename> that is sourced by scripts.
1616             On example use would be to override function definitions
1617             in unit tests.  As a sanity check, this file must be
1618             executable for it to be used.
1619           </para>
1620           <para>
1621             No default.
1622           </para>
1623         </listitem>
1624       </varlistentry>
1626       <varlistentry>
1627         <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1628         <listitem>
1629           <para>
1630             Whether CTDB should simulate timing out monitor events.
1631             This uses the <filename>99.timeout</filename> eventscript.
1632           </para>
1633           <para>
1634             Default is no.
1635           </para>
1636         </listitem>
1637       </varlistentry>
1639       <varlistentry>
1640         <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1641         <listitem>
1642           <para>
1643             NUM is the level debugging messages printed by CTDB
1644             scripts.  Setting this to a higher number (e.g. 4) will
1645             cause some scripts to log more messages.
1646           </para>
1647           <para>
1648             Default is 2.
1649           </para>
1650         </listitem>
1651       </varlistentry>
1653       <varlistentry>
1654         <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1655         <listitem>
1656           <para>
1657             Whether CTDB core files should be suppressed.
1658           </para>
1659           <para>
1660             Default is no.
1661           </para>
1662         </listitem>
1663       </varlistentry>
1665       <varlistentry>
1666         <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1667         <listitem>
1668           <para>
1669             If "yes", this causes
1670             <citerefentry><refentrytitle>ctdbd</refentrytitle>
1671             <manvolnum>1</manvolnum></citerefentry> to be run under
1672             <citerefentry><refentrytitle>valgrind</refentrytitle>
1673             <manvolnum>1</manvolnum></citerefentry> with logs going to
1674             <filename>/var/log/ctdb_valgrind</filename>.  If neither
1675             "yes" nor "no" then the value is assumed to be a COMMAND
1676             (e.g. a <command>valgrind</command> variation, a
1677             <citerefentry><refentrytitle>gdb</refentrytitle>
1678             <manvolnum>1</manvolnum></citerefentry> command) that is
1679             used in place of the default <command>valgrind</command>
1680             command.  In either case, the <option>--valgrind</option>
1681             option is passed to <command>ctdbd</command>.
1682           </para>
1683           <para>
1684             Default is no.
1685           </para>
1686         </listitem>
1687       </varlistentry>
1689     </variablelist>
1691   </refsect1>
1694   <refsect1>
1695     <title>FILES</title>
1697     <simplelist>
1698       <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1699       <member><filename>/etc/sysconfig/ctdb</filename></member>
1700       <member><filename>/etc/default/ctdb</filename></member>
1701       <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1702     </simplelist>
1703   </refsect1>
1705   <refsect1>
1706     <title>SEE ALSO</title>
1707     <para>
1708       <citerefentry><refentrytitle>ctdbd</refentrytitle>
1709       <manvolnum>1</manvolnum></citerefentry>,
1711       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1712       <manvolnum>1</manvolnum></citerefentry>,
1714       <citerefentry><refentrytitle>onnode</refentrytitle>
1715       <manvolnum>1</manvolnum></citerefentry>,
1717       <citerefentry><refentrytitle>ctdb</refentrytitle>
1718       <manvolnum>7</manvolnum></citerefentry>,
1720       <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1721       <manvolnum>7</manvolnum></citerefentry>,
1723       <ulink url="http://ctdb.samba.org/"/>
1724     </para>
1725   </refsect1>
1727   <refentryinfo>
1728     <author>
1729       <contrib>
1730         This documentation was written by
1731         Amitay Isaacs,
1732         Martin Schwenke
1733       </contrib>
1734     </author>
1736     <copyright>
1737       <year>2007</year>
1738       <holder>Andrew Tridgell</holder>
1739       <holder>Ronnie Sahlberg</holder>
1740     </copyright>
1741     <legalnotice>
1742       <para>
1743         This program is free software; you can redistribute it and/or
1744         modify it under the terms of the GNU General Public License as
1745         published by the Free Software Foundation; either version 3 of
1746         the License, or (at your option) any later version.
1747       </para>
1748       <para>
1749         This program is distributed in the hope that it will be
1750         useful, but WITHOUT ANY WARRANTY; without even the implied
1751         warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1752         PURPOSE.  See the GNU General Public License for more details.
1753       </para>
1754       <para>
1755         You should have received a copy of the GNU General Public
1756         License along with this program; if not, see
1757         <ulink url="http://www.gnu.org/licenses"/>.
1758       </para>
1759     </legalnotice>
1760   </refentryinfo>
1762 </refentry>