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