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