1 <?xml version="1.0" encoding="iso-8859-1"?>
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">
9 <refentrytitle>ctdbd.conf</refentrytitle>
10 <manvolnum>5</manvolnum>
11 <refmiscinfo class="source">ctdb</refmiscinfo>
12 <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
16 <refname>ctdbd.conf</refname>
17 <refpurpose>CTDB daemon configuration file</refpurpose>
21 <title>DESCRIPTION</title>
24 This file contains CTDB configuration variables that are affect
25 the operation of CTDB. The default location of this file is
26 <filename>/usr/local/etc/ctdb/ctdbd.conf</filename>.
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.
37 CTDB configuration variables are grouped into several categories below.
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>/usr/local/etc/ctdb/sysconfig/ctdb</filename> - this is
59 These options may be used in the initscripts, daemon and
60 scripts. If any of these options are required then they should
61 be set in the distribution-specific initscript configuration,
62 such as <filename>/etc/sysconfig/ctdb</filename> or
63 <filename>/etc/default/ctdb</filename>.
69 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
72 This is the init style used by the Linux distribution (or
73 other operating system) being used. This is usually
74 determined dynamically by checking the system. This
75 variable is used by the initscript to determine which init
76 system primitives to use. It is also used by some
77 eventscripts to choose the name of initscripts for certain
78 services, since these can vary between distributions.
84 If this option needs to be changed from the calculated
85 default for the initscript to function properly, then it
86 must be set in the distribution-specific initscript
87 configuration, such as
88 <filename>/etc/sysconfig/ctdb</filename>
102 Variables in this section are processed by
103 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
104 <manvolnum>1</manvolnum></citerefentry> and are converted into
105 command-line arguments to
106 <citerefentry><refentrytitle>ctdbd</refentrytitle>
107 <manvolnum>1</manvolnum></citerefentry>. Correspondence with
108 <citerefentry><refentrytitle>ctdbd</refentrytitle>
109 <manvolnum>1</manvolnum></citerefentry> options is shown for
110 each variable. The the documentation for the relevant options
115 Many of these variables are also used by event scripts.
121 <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
124 Defaults to yes. Corresponds to <option>--no-lmaster</option>.
130 <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
133 Defaults to yes. Corresponds to
134 <option>--no-recmaster</option>.
140 <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
143 Defaults to <filename>/usr/local/var/lib/ctdb</filename>.
146 Apart from a DIRECTORY, this can take a special value of
148 <option>tmpfs</option><optional>:<parameter>OPTIONS</parameter></optional>.
149 OPTIONS is a comma-separated list of any permissible
150 options to the tmpfs filesystem. The only pre-specified
151 default is <option>mode=700</option>, which can
152 overridden by specifying <option>mode</option> in
153 OPTIONS. It probably makes sense to specify a maximum
154 <option>size</option>.
157 Corresponds to <option>--dbdir</option>.
163 <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
166 Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
169 Corresponds to <option>--dbdir-persistent</option>.
175 <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
178 Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
181 Corresponds to <option>--dbdir-state</option>.
187 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
190 FILENAME is a script to run to log debug information when
191 an event script times out.
194 Default is <filename>/usr/local/etc/ctdb/debug-hung-script.sh</filename>.
200 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
203 REGEXP specifies interesting processes for which stack
204 traces should be logged when debugging hung eventscripts
205 and those processes are matched in pstree output. REGEXP
206 is an extended regexp so choices are separated by pipes
207 ('|'). However, REGEXP should not contain parentheses.
208 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
211 Default is "exportfs|rpcinfo".
217 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
220 FILENAME is a script to run to log debug information when
221 an CTDB fails to freeze databases during recovery.
225 <filename>/usr/local/etc/ctdb/debug_locks.sh</filename>.
231 <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
234 Default is NOTICE. Corresponds to <option>-d</option> or
235 <option>--debug</option>.
241 <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
244 STRING specifies where ctdbd will write its log. The
246 file:<filename>/usr/local/var/log/log.ctdb</filename>.
247 Corresponds to <option>--logging</option>.
254 <term>file:<parameter>FILENAME</parameter></term>
257 FILENAME where ctdbd will write its log. This is usually
258 <filename>/usr/local/var/log/log.ctdb</filename>.
263 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
266 CTDB will log to syslog. By default this will use
270 If METHOD is specified then it specifies an
271 extension that causes logging to be done in a
272 non-blocking fashion. This can be useful under
273 heavy loads that might cause the syslog daemon to
274 dequeue messages too slowly, which would otherwise
275 cause CTDB to block when logging. METHOD must be
280 <term>nonblocking</term>
283 CTDB will log to syslog via
284 <filename>/dev/log</filename> in non-blocking
293 CTDB will log to syslog via UDP to
294 localhost:514. The syslog daemon must be
295 configured to listen on (at least)
296 localhost:514. Most implementations will log
297 the messages against hostname "localhost" -
298 this is a limit of the implementation for
299 compatibility with more syslog daemon
305 <term>udp-rfc5424</term>
308 As with "udp" but messages are sent in RFC5424
309 format. This method will log the correct
310 hostname but is not as widely implemented in
323 <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
326 NUM is the maximum number of open files.
335 <term>CTDB_NOSETSCHED=yes|no</term>
338 Defaults to no. Corresponds to <option>--nosetsched</option>.
341 Usually CTDB runs with real-time priority. If you are running
342 CTDB on a platform that does not support real-time priority,
349 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
352 Default 0. Corresponds to
353 <option>--max-persistent-check-errors</option>.
359 <term>CTDB_NODE_ADDRESS=<parameter>IPADDR</parameter></term>
362 IPADDR is the private IP address that ctdbd will bind to.
363 Corresponds to <option>--listen</option>.
366 By default ctdbd will select the first address from the
367 nodes list that in can bind to. See also the
368 <citetitle>Private address</citetitle> section in
369 <citerefentry><refentrytitle>ctdb</refentrytitle>
370 <manvolnum>7</manvolnum></citerefentry>.
373 This option is only required when automatic address
374 detection can not be used. This can be the case when
375 running multiple ctdbd daemons/nodes on the same physical
376 host (usually for testing), using InfiniBand for the
377 private network or on Linux when sysctl
378 net.ipv4.ip_nonlocal_bind=1.
384 <term>CTDB_RECOVERY_LOCK=<parameter>LOCK</parameter></term>
387 LOCK specifies the cluster-wide mutex used to detect and
388 prevent a partitioned cluster (or "split brain").
391 No default, but the default configuration file specifies
392 <filename>/some/place/on/shared/storage</filename>, which
393 should be change to a useful value. Corresponds to
394 <option>--reclock</option>.
397 For information about the recovery lock please see the
398 <citetitle>RECOVERY LOCK</citetitle> section in
399 <citerefentry><refentrytitle>ctdb</refentrytitle>
400 <manvolnum>7</manvolnum></citerefentry>.
406 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
409 Defaults to ERR. Corresponds to
410 <option>--script-log-level</option>.
416 <term>CTDB_START_AS_DISABLED=yes|no</term>
419 Default is no. Corresponds to
420 <option>--start-as-disabled</option>.
426 <term>CTDB_START_AS_STOPPED=yes|no</term>
429 Default is no. Corresponds to
430 <option>--start-as-stopped</option>.
436 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
439 Whether CTDB core files should be suppressed.
448 <term>CTDB_TRANSPORT=tcp|infiniband</term>
451 Defaults to tcp. Corresponds to
452 <option>--transport</option>.
460 While the following variables do not translate into daemon
461 options they are used by
462 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
463 <manvolnum>1</manvolnum></citerefentry> when starting and
464 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
465 <manvolnum>1</manvolnum></citerefentry>.
471 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
474 NUM is the number of seconds to wait for
475 <citerefentry><refentrytitle>ctdbd</refentrytitle>
476 <manvolnum>1</manvolnum></citerefentry> complete early
477 initialisation up to a point where it is unlikely to
478 abort. If <command>ctdbd</command> doesn't complete the
479 "setup" event before this timeout then it is killed.
492 <title>NETWORK CONFIGURATION</title>
495 <title>NAT GATEWAY</title>
498 NAT gateway is used to configure fallback routing for nodes
499 when they do not host any public IP addresses. For example,
500 it allows unhealthy nodes to reliably communicate with
501 external infrastructure. One node in a NAT gateway group will
502 be designated as the NAT gateway master node and other (slave)
503 nodes will be configured with fallback routes via the NAT
504 gateway master node. For more information, see the
505 <citetitle>NAT GATEWAY</citetitle> section in
506 <citerefentry><refentrytitle>ctdb</refentrytitle>
507 <manvolnum>7</manvolnum></citerefentry>.
513 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
516 IPADDR is an alternate network gateway to use on the NAT
517 gateway master node. If set, a fallback default route
518 is added via this network gateway.
521 No default. Setting this variable is optional - if not
522 set that no route is created on the NAT gateway master
529 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
532 FILENAME contains the list of nodes that belong to the
533 same NAT gateway group.
538 <parameter>IPADDR</parameter> <optional>slave-only</optional>
542 IPADDR is the private IP address of each node in the NAT
546 If "slave-only" is specified then the corresponding node
547 can not be the NAT gateway master node. In this case
548 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
549 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional and
554 <filename>/usr/local/etc/ctdb/natgw_nodes</filename> when enabled.
560 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
563 IPADDR/MASK is the private sub-network that is
564 internally routed via the NAT gateway master node. This
565 is usually the private network that is used for node
575 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
578 IFACE is the network interface on which the
579 CTDB_NATGW_PUBLIC_IP will be configured.
588 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
591 IPADDR/MASK indicates the IP address that is used for
592 outgoing traffic (originating from
593 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
594 node. This <emphasis>must not</emphasis> be a
595 configured public IP address.
604 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
607 Each IPADDR/MASK identifies a network or host to which
608 NATGW should create a fallback route, instead of
609 creating a single default route. This can be used when
610 there is already a default route, via an interface that
611 can not reach required infrastructure, that overrides
612 the NAT gateway default route.
615 If GATEWAY is specified then the corresponding route on
616 the NATGW master node will be via GATEWAY. Such routes
618 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
619 specified. If GATEWAY is not specified for some
620 networks then routes are only created on the NATGW
621 master node for those networks if
622 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
626 This should be used with care to avoid causing traffic
627 to unnecessarily double-hop through the NAT gateway
628 master, even when a node is hosting public IP addresses.
629 Each specified network or host should probably have a
630 corresponding automatically created link route or static
642 <title>Example</title>
644 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
645 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
646 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
647 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
648 CTDB_NATGW_PUBLIC_IFACE=eth0
652 A variation that ensures that infrastructure (ADS, DNS, ...)
653 directly attached to the public network (10.0.0.0/24) is
654 always reachable would look like this:
657 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
658 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
659 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
660 CTDB_NATGW_PUBLIC_IFACE=eth0
661 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
664 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
672 <title>POLICY ROUTING</title>
675 A node running CTDB may be a component of a complex network
676 topology. In particular, public addresses may be spread
677 across several different networks (or VLANs) and it may not be
678 possible to route packets from these public addresses via the
679 system's default route. Therefore, CTDB has support for
680 policy routing via the <filename>13.per_ip_routing</filename>
681 eventscript. This allows routing to be specified for packets
682 sourced from each public address. The routes are added and
683 removed as CTDB moves public addresses between nodes.
687 For more information, see the <citetitle>POLICY
688 ROUTING</citetitle> section in
689 <citerefentry><refentrytitle>ctdb</refentrytitle>
690 <manvolnum>7</manvolnum></citerefentry>.
695 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
698 FILENAME contains elements for constructing the desired
699 routes for each source address.
703 The special FILENAME value
704 <constant>__auto_link_local__</constant> indicates that no
705 configuration file is provided and that CTDB should
706 generate reasonable link-local routes for each public IP
713 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
719 <filename>/usr/local/etc/ctdb/policy_routing</filename> when enabled.
725 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
728 NUM sets the priority (or preference) for the routing
729 rules that are added by CTDB.
733 This should be (strictly) greater than 0 and (strictly)
734 less than 32766. A priority of 100 is recommended, unless
735 this conflicts with a priority already in use on the
737 <citerefentry><refentrytitle>ip</refentrytitle>
738 <manvolnum>8</manvolnum></citerefentry>, for more details.
745 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
746 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
750 CTDB determines a unique routing table number to use for
751 the routing related to each public address. LOW-NUM and
752 HIGH-NUM indicate the minimum and maximum routing table
753 numbers that are used.
757 <citerefentry><refentrytitle>ip</refentrytitle>
758 <manvolnum>8</manvolnum></citerefentry> uses some
759 reserved routing table numbers below 255. Therefore,
760 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
765 CTDB uses the standard file
766 <filename>/etc/iproute2/rt_tables</filename> to maintain
767 a mapping between the routing table numbers and labels.
768 The label for a public address
769 <replaceable>ADDR</replaceable> will look like
770 ctdb.<replaceable>addr</replaceable>. This means that
771 the associated rules and routes are easy to read (and
776 No default, usually 1000 and 9000.
783 <title>Example</title>
785 CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing
786 CTDB_PER_IP_ROUTING_RULE_PREF=100
787 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
788 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
798 For a general description see the <citetitle>LVS</citetitle>
799 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
800 <manvolnum>7</manvolnum></citerefentry>.
804 <title>Eventscript</title>
807 <member><filename>91.lvs</filename></member>
814 <term>CTDB_LVS_NODES=<parameter>FILENAME</parameter></term>
817 FILENAME contains the list of nodes that belong to the
823 <parameter>IPADDR</parameter> <optional>slave-only</optional>
827 IPADDR is the private IP address of each node in the LVS
831 If "slave-only" is specified then the corresponding node
832 can not be the LVS master node. In this case
833 <varname>CTDB_LVS_PUBLIC_IFACE</varname> and
834 <varname>CTDB_LVS_PUBLIC_IP</varname> are optional and
839 <filename>/usr/local/etc/ctdb/lvs_nodes</filename> when enabled.
845 <term>CTDB_LVS_PUBLIC_IFACE=<parameter>INTERFACE</parameter></term>
848 INTERFACE is the network interface that clients will use
849 to connection to <varname>CTDB_LVS_PUBLIC_IP</varname>.
850 This is optional for slave-only nodes.
857 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
860 CTDB_LVS_PUBLIC_IP is the LVS public address. No
870 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
875 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
878 Whether one or more offline interfaces should cause a
879 monitor event to fail if there are other interfaces that
880 are up. If this is "yes" and a node has some interfaces
881 that are down then <command>ctdb status</command> will
882 display the node as "PARTIALLYONLINE".
886 Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is
887 incompatible with NAT gateway, since NAT gateway relies
888 on the interface configured by CTDB_NATGW_PUBLIC_IFACE
904 <title>SERVICE CONFIGURATION</title>
907 CTDB can be configured to manage and/or monitor various NAS (and
908 other) services via its eventscripts.
912 In the simplest case CTDB will manage a service. This means the
913 service will be started and stopped along with CTDB, CTDB will
914 monitor the service and CTDB will do any required
915 reconfiguration of the service when public IP addresses are
923 <title>Eventscripts</title>
926 <member><filename>49.winbind</filename></member>
927 <member><filename>50.samba</filename></member>
934 <term>CTDB_MANAGES_SAMBA=yes|no</term>
937 Should CTDB manage Samba?
946 <term>CTDB_MANAGES_WINBIND=yes|no</term>
949 Should CTDB manage Winbind?
958 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
961 When monitoring Samba, check TCP ports in
962 space-separated PORT-LIST.
965 Default is to monitor ports that Samba is configured to listen on.
971 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
974 As part of monitoring, should CTDB skip the check for
975 the existence of each directory configured as share in
976 Samba. This may be desirable if there is a large number
986 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
989 Distribution specific SERVICE for managing nmbd.
992 Default is distribution-dependant.
997 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
1000 Distribution specific SERVICE for managing smbd.
1003 Default is distribution-dependant.
1009 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
1012 Distribution specific SERVICE for managing winbindd.
1015 Default is "winbind".
1028 This includes parameters for the kernel NFS server.
1029 Alternative NFS subsystems (such as <ulink
1030 url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>)
1031 can be integrated using <varname>CTDB_NFS_CALLOUT</varname>.
1035 <title>Eventscript</title>
1038 <member><filename>60.nfs</filename></member>
1045 <term>CTDB_MANAGES_NFS=yes|no</term>
1048 Should CTDB manage NFS?
1057 <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
1060 COMMAND specifies the path to a callout to handle
1061 interactions with the configured NFS system, including
1062 startup, shutdown, monitoring.
1065 Default is the included
1066 <command>nfs-linux-kernel-callout</command>.
1072 <term>CTDB_NFS_CHECKS_DIR=<parameter>DIRECTORY</parameter></term>
1075 Specifies the path to a DIRECTORY containing files that
1076 describe how to monitor the responsiveness of NFS RPC
1077 services. See the README file for this directory for an
1078 explanation of the contents of these "check" files.
1081 CTDB_NFS_CHECKS_DIR can be used to point to different
1082 sets of checks for different NFS servers.
1085 One way of using this is to have it point to, say,
1086 <filename>/usr/local/etc/ctdb/nfs-checks-enabled.d</filename>
1087 and populate it with symbolic links to the desired check
1088 files. This avoids duplication and is upgrade-safe.
1092 <filename>/usr/local/etc/ctdb/nfs-checks.d</filename>,
1093 which contains NFS RPC checks suitable for Linux kernel
1100 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1103 As part of monitoring, should CTDB skip the check for
1104 the existence of each directory exported via NFS. This
1105 may be desirable if there is a large number of exports.
1114 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1117 IPADDR or HOSTNAME indicates the address that
1118 <command>rpcinfo</command> should connect to when doing
1119 <command>rpcinfo</command> check on IPv4 RPC service during
1120 monitoring. Optimally this would be "localhost".
1121 However, this can add some performance overheads.
1124 Default is "127.0.0.1".
1130 <term>CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1133 IPADDR or HOSTNAME indicates the address that
1134 <command>rpcinfo</command> should connect to when doing
1135 <command>rpcinfo</command> check on IPv6 RPC service
1136 during monitoring. Optimally this would be "localhost6"
1137 (or similar). However, this can add some performance
1147 <term>CTDB_NFS_STATE_FS_TYPE=<parameter>TYPE</parameter></term>
1150 The type of filesystem used for a clustered NFS' shared
1157 <term>CTDB_NFS_STATE_MNT=<parameter>DIR</parameter></term>
1160 The directory where a clustered NFS' shared state will be
1161 located. No default.
1171 <title>APACHE HTTPD</title>
1174 CTDB can manage the Apache web server.
1178 <title>Eventscript</title>
1181 <member><filename>41.httpd</filename></member>
1187 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1190 Should CTDB manage the Apache web server?
1201 <title>CLAMAV</title>
1204 CTDB has support to manage the popular anti-virus daemon
1209 <title>Eventscript</title>
1212 <member><filename>31.clamd</filename></member>
1216 This eventscript is not enabled by default. Use
1217 <command>ctdb enablescript</command> to enable it.
1225 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1228 Should CTDB manage ClamAV?
1237 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1240 FILENAME is the socket to monitor ClamAV.
1253 <title>ISCSI</title>
1256 CTDB has support for managing the Linux iSCSI tgtd service.
1260 <title>Eventscript</title>
1263 <member><filename>70.iscsi</filename></member>
1270 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1273 Should CTDB manage iSCSI tgtd?
1282 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1285 DIRECTORY on shared storage containing scripts to start
1286 tgtd for each public IP address.
1297 <title>MULTIPATHD</title>
1300 CTDB can monitor multipath devices to ensure that active paths
1305 <title>Eventscript</title>
1308 <member><filename>20.multipathd</filename></member>
1312 This eventscript is not enabled by default. Use
1313 <command>ctdb enablescript</command> to enable it.
1319 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1322 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1333 <title>VSFTPD</title>
1336 CTDB can manage the vsftpd FTP server.
1340 <title>Eventscript</title>
1343 <member><filename>40.vsftpd</filename></member>
1349 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1352 Should CTDB manage the vsftpd FTP server?
1368 CTDB checks the consistency of databases during startup.
1372 <title>Eventscripts</title>
1375 <member><filename>00.ctdb</filename></member>
1383 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1386 NUM is the maximum number of volatile TDB database backups
1387 to be kept (for each database) when a corrupt database is
1388 found during startup. Volatile TDBs are zeroed during
1389 startup so backups are needed to debug any corruption that
1390 occurs before a restart.
1403 SYSTEM RESOURCE MONITORING CONFIGURATION
1407 CTDB can experience seemingly random (performance and other)
1408 issues if system resources become too constrained. Options in
1409 this section can be enabled to allow certain system resources
1410 to be checked. They allows warnings to be logged and nodes to
1411 be marked unhealthy when system resource usage reaches the
1412 configured thresholds.
1416 Some checks are enabled by default. It is recommended that
1417 these checks remain enabled or are augmented by extra checks.
1418 There is no supported way of completely disabling the checks.
1422 <title>Eventscripts</title>
1425 <member><filename>05.system</filename></member>
1429 Filesystem and memory usage monitoring is in
1430 <filename>05.system</filename>.
1437 <term>CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter></term>
1440 FS-LIMIT-LIST is a space-separated list of
1441 <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1442 triples indicating that warnings should be logged if the
1443 space used on FILESYSTEM reaches WARN_LIMIT%. If usage
1444 reaches UNHEALTHY_LIMIT then the node should be flagged
1445 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1446 left blank, meaning that check will be omitted.
1450 Default is to warn for each filesystem containing a
1451 database directory (<envar>CTDB_DBDIR</envar>,
1452 <envar>CTDB_DBDIR_PERSISTENT</envar>,
1453 <envar>CTDB_DBDIR_STATE</envar>) with a threshold of
1460 <term>CTDB_MONITOR_MEMORY_USAGE=<parameter>MEM-LIMITS</parameter></term>
1463 MEM-LIMITS takes the form
1464 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1465 indicating that warnings should be logged if memory
1466 usage reaches WARN_LIMIT%. If usage reaches
1467 UNHEALTHY_LIMIT then the node should be flagged
1468 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1469 left blank, meaning that check will be omitted.
1472 Default is 80, so warnings will be logged when memory
1479 <term>CTDB_MONITOR_SWAP_USAGE=<parameter>SWAP-LIMITS</parameter></term>
1482 SWAP-LIMITS takes the form
1483 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1484 indicating that warnings should be logged if
1485 swap usage reaches WARN_LIMIT%. If usage reaches
1486 UNHEALTHY_LIMIT then the node should be flagged
1487 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1488 left blank, meaning that check will be omitted.
1491 Default is 25, so warnings will be logged when swap
1508 Variable in this section are for testing CTDB. They should not
1509 generally be needed.
1515 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1518 FILENAME specifies where log messages should go when
1519 debugging hung eventscripts. This is a testing option.
1520 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1523 No default. Messages go to stdout/stderr and are logged
1524 to the same place as other CTDB log messages.
1530 <term>CTDB_SYS_ETCDIR=<parameter>DIRECTORY</parameter></term>
1533 DIRECTORY containing system configuration files. This is
1534 used to provide alternate configuration when testing and
1535 should not need to be changed from the default.
1538 Default is <filename>/etc</filename>.
1544 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1547 Whether CTDB should simulate timing out monitor events.
1548 This uses the <filename>99.timeout</filename> eventscript.
1557 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1560 If "yes", this causes
1561 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1562 <manvolnum>1</manvolnum></citerefentry> to be run under
1563 <citerefentry><refentrytitle>valgrind</refentrytitle>
1564 <manvolnum>1</manvolnum></citerefentry> with logs going to
1565 <filename>/usr/local/var/log/ctdb_valgrind</filename>. If neither
1566 "yes" nor "no" then the value is assumed to be a COMMAND
1567 (e.g. a <command>valgrind</command> variation, a
1568 <citerefentry><refentrytitle>gdb</refentrytitle>
1569 <manvolnum>1</manvolnum></citerefentry> command) that is
1570 used in place of the default <command>valgrind</command>
1571 command. In either case, the <option>--valgrind</option>
1572 option is passed to <command>ctdbd</command>.
1581 <term>CTDB_VARDIR=<parameter>DIRECTORY</parameter></term>
1584 DIRECTORY containing CTDB files that are modified at
1588 Defaults to <filename>/usr/local/var/lib/ctdb</filename>.
1599 <title>FILES</title>
1602 <member><filename>/usr/local/etc/ctdb/ctdbd.conf</filename></member>
1603 <member><filename>/etc/sysconfig/ctdb</filename></member>
1604 <member><filename>/etc/default/ctdb</filename></member>
1609 <title>SEE ALSO</title>
1611 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1612 <manvolnum>1</manvolnum></citerefentry>,
1614 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1615 <manvolnum>1</manvolnum></citerefentry>,
1617 <citerefentry><refentrytitle>onnode</refentrytitle>
1618 <manvolnum>1</manvolnum></citerefentry>,
1620 <citerefentry><refentrytitle>ctdb</refentrytitle>
1621 <manvolnum>7</manvolnum></citerefentry>,
1623 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1624 <manvolnum>7</manvolnum></citerefentry>,
1626 <ulink url="http://ctdb.samba.org/"/>
1633 This documentation was written by
1641 <holder>Andrew Tridgell</holder>
1642 <holder>Ronnie Sahlberg</holder>
1646 This program is free software; you can redistribute it and/or
1647 modify it under the terms of the GNU General Public License as
1648 published by the Free Software Foundation; either version 3 of
1649 the License, or (at your option) any later version.
1652 This program is distributed in the hope that it will be
1653 useful, but WITHOUT ANY WARRANTY; without even the implied
1654 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1655 PURPOSE. See the GNU General Public License for more details.
1658 You should have received a copy of the GNU General Public
1659 License along with this program; if not, see
1660 <ulink url="http://www.gnu.org/licenses"/>.