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
66 <term>CTDB_BASE=<parameter>DIRECTORY</parameter></term>
69 DIRECTORY containing CTDB scripts and configuration files.
83 Variables in this section are processed by
84 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
85 <manvolnum>1</manvolnum></citerefentry> and are converted into
86 command-line arguments to
87 <citerefentry><refentrytitle>ctdbd</refentrytitle>
88 <manvolnum>1</manvolnum></citerefentry>. Correspondence with
89 <citerefentry><refentrytitle>ctdbd</refentrytitle>
90 <manvolnum>1</manvolnum></citerefentry> options is shown for
91 each variable. The the documentation for the relevant options
96 Many of these variables are also used by event scripts.
102 <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
105 Defaults to yes. Corresponds to <option>--no-lmaster</option>.
111 <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
114 Defaults to yes. Corresponds to
115 <option>--no-recmaster</option>.
121 <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
124 Defaults to <filename>/usr/local/var/lib/ctdb</filename>.
127 Apart from a DIRECTORY, this can take a special value of
129 <option>tmpfs</option><optional>:<parameter>OPTIONS</parameter></optional>.
130 OPTIONS is a comma-separated list of any permissible
131 options to the tmpfs filesystem. The only pre-specified
132 default is <option>mode=700</option>, which can
133 overridden by specifying <option>mode</option> in
134 OPTIONS. It probably makes sense to specify a maximum
135 <option>size</option>.
138 Corresponds to <option>--dbdir</option>.
144 <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
147 Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
150 Corresponds to <option>--dbdir-persistent</option>.
156 <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
159 Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
162 Corresponds to <option>--dbdir-state</option>.
168 <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
171 Default is NOTICE. Corresponds to <option>-d</option> or
172 <option>--debug</option>.
178 <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
181 STRING specifies where ctdbd will write its log. The
183 file:<filename>/usr/local/var/log/log.ctdb</filename>.
184 Corresponds to <option>--logging</option>.
191 <term>file:<parameter>FILENAME</parameter></term>
194 FILENAME where ctdbd will write its log. This is usually
195 <filename>/usr/local/var/log/log.ctdb</filename>.
200 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
203 CTDB will log to syslog. By default this will use
207 If METHOD is specified then it specifies an
208 extension that causes logging to be done in a
209 non-blocking fashion. This can be useful under
210 heavy loads that might cause the syslog daemon to
211 dequeue messages too slowly, which would otherwise
212 cause CTDB to block when logging. METHOD must be
217 <term>nonblocking</term>
220 CTDB will log to syslog via
221 <filename>/dev/log</filename> in non-blocking
230 CTDB will log to syslog via UDP to
231 localhost:514. The syslog daemon must be
232 configured to listen on (at least)
233 localhost:514. Most implementations will log
234 the messages against hostname "localhost" -
235 this is a limit of the implementation for
236 compatibility with more syslog daemon
242 <term>udp-rfc5424</term>
245 As with "udp" but messages are sent in RFC5424
246 format. This method will log the correct
247 hostname but is not as widely implemented in
260 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
263 Default is <varname>CTDB_BASE</varname>/nodes, so usually
264 <filename>/usr/local/etc/ctdb/nodes</filename>. Corresponds to
265 <option>--nlist</option>.
271 <term>CTDB_NOSETSCHED=yes|no</term>
274 Defaults to no. Corresponds to <option>--nosetsched</option>.
277 Usually CTDB runs with real-time priority. If you are running
278 CTDB on a platform that does not support real-time priority,
285 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
289 <filename>/usr/local/etc/ctdb/notify.sh</filename>. Corresponds to
290 <option>--notification-script</option>.
296 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
299 Default 0. Corresponds to
300 <option>--max-persistent-check-errors</option>.
306 <term>CTDB_NODE_ADDRESS=<parameter>IPADDR</parameter></term>
309 IPADDR is the private IP address that ctdbd will bind to.
310 Corresponds to <option>--listen</option>.
313 By default ctdbd will select the first address from the
314 nodes list that in can bind to. See also
315 <citetitle>CTDB_NODES</citetitle>.
318 This option is only required when automatic address
319 detection can not be used. This can be the case when
320 running multiple ctdbd daemons/nodes on the same physical
321 host (usually for testing), using InfiniBand for the
322 private network or on Linux when sysctl
323 net.ipv4.ip_nonlocal_bind=1.
329 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
333 <filename>/usr/local/etc/ctdb/public_addresses</filename>.
334 Corresponds to <option>--public-addresses</option>.
340 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
343 No default. Corresponds to
344 <option>--public-interface</option>.
350 <term>CTDB_RECOVERY_LOCK=<parameter>LOCK</parameter></term>
353 LOCK specifies the cluster-wide mutex used to detect and
354 prevent a partitioned cluster (or "split brain").
357 No default, but the default configuration file specifies
358 <filename>/some/place/on/shared/storage</filename>, which
359 should be change to a useful value. Corresponds to
360 <option>--reclock</option>.
363 For information about the recovery lock please see the
364 <citetitle>RECOVERY LOCK</citetitle> section in
365 <citerefentry><refentrytitle>ctdb</refentrytitle>
366 <manvolnum>7</manvolnum></citerefentry>.
372 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
375 Defaults to ERR. Corresponds to
376 <option>--script-log-level</option>.
382 <term>CTDB_START_AS_DISABLED=yes|no</term>
385 Default is no. Corresponds to
386 <option>--start-as-disabled</option>.
392 <term>CTDB_START_AS_STOPPED=yes|no</term>
395 Default is no. Corresponds to
396 <option>--start-as-stopped</option>.
402 <term>CTDB_TRANSPORT=tcp|infiniband</term>
405 Defaults to tcp. Corresponds to
406 <option>--transport</option>.
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>.
425 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
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.
441 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
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.
462 <title>NETWORK CONFIGURATION</title>
465 <title>NAT GATEWAY</title>
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>.
483 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
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.
491 No default. Setting this variable is optional - if not
492 set that no route is created on the NAT gateway master
499 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
502 FILENAME contains the list of nodes that belong to the
503 same NAT gateway group.
508 <parameter>IPADDR</parameter> <optional>slave-only</optional>
512 IPADDR is the private IP address of each node in the NAT
516 If "slave-only" is specified then the corresponding node
517 can not be the NAT gateway master node. In this case
518 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
519 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional and
524 <filename>/usr/local/etc/ctdb/natgw_nodes</filename> when enabled.
530 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
533 IPADDR/MASK is the private sub-network that is
534 internally routed via the NAT gateway master node. This
535 is usually the private network that is used for node
545 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
548 IFACE is the network interface on which the
549 CTDB_NATGW_PUBLIC_IP will be configured.
558 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
561 IPADDR/MASK indicates the IP address that is used for
562 outgoing traffic (originating from
563 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
564 node. This <emphasis>must not</emphasis> be a
565 configured public IP address.
574 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
577 Each IPADDR/MASK identifies a network or host to which
578 NATGW should create a fallback route, instead of
579 creating a single default route. This can be used when
580 there is already a default route, via an interface that
581 can not reach required infrastructure, that overrides
582 the NAT gateway default route.
585 If GATEWAY is specified then the corresponding route on
586 the NATGW master node will be via GATEWAY. Such routes
588 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
589 specified. If GATEWAY is not specified for some
590 networks then routes are only created on the NATGW
591 master node for those networks if
592 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
596 This should be used with care to avoid causing traffic
597 to unnecessarily double-hop through the NAT gateway
598 master, even when a node is hosting public IP addresses.
599 Each specified network or host should probably have a
600 corresponding automatically created link route or static
612 <title>Example</title>
614 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
615 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
616 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
617 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
618 CTDB_NATGW_PUBLIC_IFACE=eth0
622 A variation that ensures that infrastructure (ADS, DNS, ...)
623 directly attached to the public network (10.0.0.0/24) is
624 always reachable would look like this:
627 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
628 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
629 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
630 CTDB_NATGW_PUBLIC_IFACE=eth0
631 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
634 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
642 <title>POLICY ROUTING</title>
645 A node running CTDB may be a component of a complex network
646 topology. In particular, public addresses may be spread
647 across several different networks (or VLANs) and it may not be
648 possible to route packets from these public addresses via the
649 system's default route. Therefore, CTDB has support for
650 policy routing via the <filename>13.per_ip_routing</filename>
651 eventscript. This allows routing to be specified for packets
652 sourced from each public address. The routes are added and
653 removed as CTDB moves public addresses between nodes.
657 For more information, see the <citetitle>POLICY
658 ROUTING</citetitle> section in
659 <citerefentry><refentrytitle>ctdb</refentrytitle>
660 <manvolnum>7</manvolnum></citerefentry>.
665 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
668 FILENAME contains elements for constructing the desired
669 routes for each source address.
673 The special FILENAME value
674 <constant>__auto_link_local__</constant> indicates that no
675 configuration file is provided and that CTDB should
676 generate reasonable link-local routes for each public IP
683 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
689 <filename>/usr/local/etc/ctdb/policy_routing</filename> when enabled.
695 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
698 NUM sets the priority (or preference) for the routing
699 rules that are added by CTDB.
703 This should be (strictly) greater than 0 and (strictly)
704 less than 32766. A priority of 100 is recommended, unless
705 this conflicts with a priority already in use on the
707 <citerefentry><refentrytitle>ip</refentrytitle>
708 <manvolnum>8</manvolnum></citerefentry>, for more details.
715 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
716 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
720 CTDB determines a unique routing table number to use for
721 the routing related to each public address. LOW-NUM and
722 HIGH-NUM indicate the minimum and maximum routing table
723 numbers that are used.
727 <citerefentry><refentrytitle>ip</refentrytitle>
728 <manvolnum>8</manvolnum></citerefentry> uses some
729 reserved routing table numbers below 255. Therefore,
730 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
735 CTDB uses the standard file
736 <filename>/etc/iproute2/rt_tables</filename> to maintain
737 a mapping between the routing table numbers and labels.
738 The label for a public address
739 <replaceable>ADDR</replaceable> will look like
740 ctdb.<replaceable>addr</replaceable>. This means that
741 the associated rules and routes are easy to read (and
746 No default, usually 1000 and 9000.
753 <title>Example</title>
755 CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing
756 CTDB_PER_IP_ROUTING_RULE_PREF=100
757 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
758 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
768 For a general description see the <citetitle>LVS</citetitle>
769 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
770 <manvolnum>7</manvolnum></citerefentry>.
774 <title>Eventscript</title>
777 <member><filename>91.lvs</filename></member>
784 <term>CTDB_LVS_NODES=<parameter>FILENAME</parameter></term>
787 FILENAME contains the list of nodes that belong to the
793 <parameter>IPADDR</parameter> <optional>slave-only</optional>
797 IPADDR is the private IP address of each node in the LVS
801 If "slave-only" is specified then the corresponding node
802 can not be the LVS master node. In this case
803 <varname>CTDB_LVS_PUBLIC_IFACE</varname> and
804 <varname>CTDB_LVS_PUBLIC_IP</varname> are optional and
809 <filename>/usr/local/etc/ctdb/lvs_nodes</filename> when enabled.
815 <term>CTDB_LVS_PUBLIC_IFACE=<parameter>INTERFACE</parameter></term>
818 INTERFACE is the network interface that clients will use
819 to connection to <varname>CTDB_LVS_PUBLIC_IP</varname>.
820 This is optional for slave-only nodes.
827 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
830 CTDB_LVS_PUBLIC_IP is the LVS public address. No
840 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
845 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
848 Whether one or more offline interfaces should cause a
849 monitor event to fail if there are other interfaces that
850 are up. If this is "yes" and a node has some interfaces
851 that are down then <command>ctdb status</command> will
852 display the node as "PARTIALLYONLINE".
856 Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is
857 incompatible with NAT gateway, since NAT gateway relies
858 on the interface configured by CTDB_NATGW_PUBLIC_IFACE
874 <title>SERVICE CONFIGURATION</title>
877 CTDB can be configured to manage and/or monitor various NAS (and
878 other) services via its eventscripts.
882 In the simplest case CTDB will manage a service. This means the
883 service will be started and stopped along with CTDB, CTDB will
884 monitor the service and CTDB will do any required
885 reconfiguration of the service when public IP addresses are
893 <title>Eventscripts</title>
896 <member><filename>49.winbind</filename></member>
897 <member><filename>50.samba</filename></member>
904 <term>CTDB_MANAGES_SAMBA=yes|no</term>
907 Should CTDB manage Samba?
916 <term>CTDB_MANAGES_WINBIND=yes|no</term>
919 Should CTDB manage Winbind?
928 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
931 When monitoring Samba, check TCP ports in
932 space-separated PORT-LIST.
935 Default is to monitor ports that Samba is configured to listen on.
941 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
944 As part of monitoring, should CTDB skip the check for
945 the existence of each directory configured as share in
946 Samba. This may be desirable if there is a large number
956 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
959 Distribution specific SERVICE for managing nmbd.
962 Default is distribution-dependant.
967 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
970 Distribution specific SERVICE for managing smbd.
973 Default is distribution-dependant.
979 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
982 Distribution specific SERVICE for managing winbindd.
985 Default is "winbind".
998 This includes parameters for the kernel NFS server.
999 Alternative NFS subsystems (such as <ulink
1000 url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>)
1001 can be integrated using <varname>CTDB_NFS_CALLOUT</varname>.
1005 <title>Eventscript</title>
1008 <member><filename>60.nfs</filename></member>
1015 <term>CTDB_MANAGES_NFS=yes|no</term>
1018 Should CTDB manage NFS?
1027 <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
1030 COMMAND specifies the path to a callout to handle
1031 interactions with the configured NFS system, including
1032 startup, shutdown, monitoring.
1035 Default is the included
1036 <command>nfs-linux-kernel-callout</command>.
1042 <term>CTDB_NFS_CHECKS_DIR=<parameter>DIRECTORY</parameter></term>
1045 Specifies the path to a DIRECTORY containing files that
1046 describe how to monitor the responsiveness of NFS RPC
1047 services. See the README file for this directory for an
1048 explanation of the contents of these "check" files.
1051 CTDB_NFS_CHECKS_DIR can be used to point to different
1052 sets of checks for different NFS servers.
1055 One way of using this is to have it point to, say,
1056 <filename>/usr/local/etc/ctdb/nfs-checks-enabled.d</filename>
1057 and populate it with symbolic links to the desired check
1058 files. This avoids duplication and is upgrade-safe.
1062 <filename>/usr/local/etc/ctdb/nfs-checks.d</filename>,
1063 which contains NFS RPC checks suitable for Linux kernel
1070 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1073 As part of monitoring, should CTDB skip the check for
1074 the existence of each directory exported via NFS. This
1075 may be desirable if there is a large number of exports.
1084 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1087 IPADDR or HOSTNAME indicates the address that
1088 <command>rpcinfo</command> should connect to when doing
1089 <command>rpcinfo</command> check on IPv4 RPC service during
1090 monitoring. Optimally this would be "localhost".
1091 However, this can add some performance overheads.
1094 Default is "127.0.0.1".
1100 <term>CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1103 IPADDR or HOSTNAME indicates the address that
1104 <command>rpcinfo</command> should connect to when doing
1105 <command>rpcinfo</command> check on IPv6 RPC service
1106 during monitoring. Optimally this would be "localhost6"
1107 (or similar). However, this can add some performance
1117 <term>CTDB_NFS_STATE_FS_TYPE=<parameter>TYPE</parameter></term>
1120 The type of filesystem used for a clustered NFS' shared
1127 <term>CTDB_NFS_STATE_MNT=<parameter>DIR</parameter></term>
1130 The directory where a clustered NFS' shared state will be
1131 located. No default.
1141 <title>APACHE HTTPD</title>
1144 CTDB can manage the Apache web server.
1148 <title>Eventscript</title>
1151 <member><filename>41.httpd</filename></member>
1157 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1160 Should CTDB manage the Apache web server?
1171 <title>CLAMAV</title>
1174 CTDB has support to manage the popular anti-virus daemon
1179 <title>Eventscript</title>
1182 <member><filename>31.clamd</filename></member>
1186 This eventscript is not enabled by default. Use
1187 <command>ctdb enablescript</command> to enable it.
1195 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1198 Should CTDB manage ClamAV?
1207 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1210 FILENAME is the socket to monitor ClamAV.
1223 <title>ISCSI</title>
1226 CTDB has support for managing the Linux iSCSI tgtd service.
1230 <title>Eventscript</title>
1233 <member><filename>70.iscsi</filename></member>
1240 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1243 Should CTDB manage iSCSI tgtd?
1252 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1255 DIRECTORY on shared storage containing scripts to start
1256 tgtd for each public IP address.
1267 <title>MULTIPATHD</title>
1270 CTDB can monitor multipath devices to ensure that active paths
1275 <title>Eventscript</title>
1278 <member><filename>20.multipathd</filename></member>
1282 This eventscript is not enabled by default. Use
1283 <command>ctdb enablescript</command> to enable it.
1289 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1292 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1303 <title>VSFTPD</title>
1306 CTDB can manage the vsftpd FTP server.
1310 <title>Eventscript</title>
1313 <member><filename>40.vsftpd</filename></member>
1319 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1322 Should CTDB manage the vsftpd FTP server?
1334 SYSTEM RESOURCE MONITORING CONFIGURATION
1338 CTDB can experience seemingly random (performance and other)
1339 issues if system resources become too constrained. Options in
1340 this section can be enabled to allow certain system resources
1341 to be checked. They allows warnings to be logged and nodes to
1342 be marked unhealthy when system resource usage reaches the
1343 configured thresholds.
1347 Some checks are enabled by default. It is recommended that
1348 these checks remain enabled or are augmented by extra checks.
1349 There is no supported way of completely disabling the checks.
1353 <title>Eventscripts</title>
1356 <member><filename>05.system</filename></member>
1360 Filesystem and memory usage monitoring is in
1361 <filename>05.system</filename>.
1368 <term>CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter></term>
1371 FS-LIMIT-LIST is a space-separated list of
1372 <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1373 triples indicating that warnings should be logged if the
1374 space used on FILESYSTEM reaches WARN_LIMIT%. If usage
1375 reaches UNHEALTHY_LIMIT then the node should be flagged
1376 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1377 left blank, meaning that check will be omitted.
1381 Default is to warn for each filesystem containing a
1382 database directory (<envar>CTDB_DBDIR</envar>,
1383 <envar>CTDB_DBDIR_PERSISTENT</envar>,
1384 <envar>CTDB_DBDIR_STATE</envar>) with a threshold of
1391 <term>CTDB_MONITOR_MEMORY_USAGE=<parameter>MEM-LIMITS</parameter></term>
1394 MEM-LIMITS takes the form
1395 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1396 indicating that warnings should be logged if memory
1397 usage reaches WARN_LIMIT%. If usage reaches
1398 UNHEALTHY_LIMIT then the node should be flagged
1399 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1400 left blank, meaning that check will be omitted.
1403 Default is 80, so warnings will be logged when memory
1410 <term>CTDB_MONITOR_SWAP_USAGE=<parameter>SWAP-LIMITS</parameter></term>
1413 SWAP-LIMITS takes the form
1414 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1415 indicating that warnings should be logged if
1416 swap usage reaches WARN_LIMIT%. If usage reaches
1417 UNHEALTHY_LIMIT then the node should be flagged
1418 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1419 left blank, meaning that check will be omitted.
1422 Default is 25, so warnings will be logged when swap
1432 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1437 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1440 SERVICE-LIST is a space-separated list of SERVICEs that
1441 CTDB should manage. This can be used as an alternative
1443 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1460 TUNABLES CONFIGURATION
1465 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1466 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1467 configuration file. They are set as follows:
1470 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1477 <screen format="linespecific">
1478 CTDB_SET_MonitorInterval=20
1489 Variable in this section are for debugging and testing CTDB.
1490 They should not generally be needed.
1496 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1499 FILENAME is a script to run to log debug information when
1500 an event script times out.
1503 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1509 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1512 FILENAME specifies where log messages should go when
1513 debugging hung eventscripts. This is a testing option.
1514 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1517 No default. Messages go to stdout/stderr and are logged
1518 to the same place as other CTDB log messages.
1524 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1527 REGEXP specifies interesting processes for which stack
1528 traces should be logged when debugging hung eventscripts
1529 and those processes are matched in pstree output. REGEXP
1530 is an extended regexp so choices are separated by pipes
1531 ('|'). However, REGEXP should not contain parentheses.
1532 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1535 Default is "exportfs|rpcinfo".
1541 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1544 FILENAME is a script to run to log debug information when
1545 an CTDB fails to freeze databases during recovery.
1549 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1555 <term>CTDB_SYS_ETCDIR=<parameter>DIRECTORY</parameter></term>
1558 DIRECTORY containing system configuration files. This is
1559 used to provide alternate configuration when testing and
1560 should not need to be changed from the default.
1563 Default is <filename>/etc</filename>.
1569 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1572 This is the init style used by the Linux distribution (or
1573 other operating system) being used. This is usually
1574 determined dynamically by checking the system. This
1575 variable is used by the initscript to determine which init
1576 system primitives to use. It is also used by some
1577 eventscripts to choose the name of initscripts for certain
1578 services, since these can vary between distributions.
1584 If this option needs to be changed from the calculated
1585 default for the initscript to function properly, then it
1586 must be set in the distribution-specific initscript
1587 configuration, such as
1588 <filename>/etc/sysconfig/ctdb</filename>
1594 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1597 NUM is the maximum number of volatile TDB database backups
1598 to be kept (for each database) when a corrupt database is
1599 found during startup. Volatile TDBs are zeroed during
1600 startup so backups are needed to debug any corruption that
1601 occurs before a restart.
1610 <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
1613 NUM is the maximum number of open files.
1616 There is no default.
1622 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1625 FILENAME is a script fragment to be sourced by the
1626 <filename>functions</filename> that is sourced by scripts.
1627 On example use would be to override function definitions
1628 in unit tests. As a sanity check, this file must be
1629 executable for it to be used.
1638 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1641 Whether CTDB should simulate timing out monitor events.
1642 This uses the <filename>99.timeout</filename> eventscript.
1651 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1654 Whether CTDB core files should be suppressed.
1663 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1666 If "yes", this causes
1667 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1668 <manvolnum>1</manvolnum></citerefentry> to be run under
1669 <citerefentry><refentrytitle>valgrind</refentrytitle>
1670 <manvolnum>1</manvolnum></citerefentry> with logs going to
1671 <filename>/usr/local/var/log/ctdb_valgrind</filename>. If neither
1672 "yes" nor "no" then the value is assumed to be a COMMAND
1673 (e.g. a <command>valgrind</command> variation, a
1674 <citerefentry><refentrytitle>gdb</refentrytitle>
1675 <manvolnum>1</manvolnum></citerefentry> command) that is
1676 used in place of the default <command>valgrind</command>
1677 command. In either case, the <option>--valgrind</option>
1678 option is passed to <command>ctdbd</command>.
1687 <term>CTDB_VARDIR=<parameter>DIRECTORY</parameter></term>
1690 DIRECTORY containing CTDB files that are modified at
1694 Defaults to <filename>/usr/local/var/lib/ctdb</filename>.
1705 <title>FILES</title>
1708 <member><filename>/usr/local/etc/ctdb/ctdbd.conf</filename></member>
1709 <member><filename>/etc/sysconfig/ctdb</filename></member>
1710 <member><filename>/etc/default/ctdb</filename></member>
1711 <member><filename>/usr/local/etc/ctdb/sysconfig/ctdb</filename></member>
1716 <title>SEE ALSO</title>
1718 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1719 <manvolnum>1</manvolnum></citerefentry>,
1721 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1722 <manvolnum>1</manvolnum></citerefentry>,
1724 <citerefentry><refentrytitle>onnode</refentrytitle>
1725 <manvolnum>1</manvolnum></citerefentry>,
1727 <citerefentry><refentrytitle>ctdb</refentrytitle>
1728 <manvolnum>7</manvolnum></citerefentry>,
1730 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1731 <manvolnum>7</manvolnum></citerefentry>,
1733 <ulink url="http://ctdb.samba.org/"/>
1740 This documentation was written by
1748 <holder>Andrew Tridgell</holder>
1749 <holder>Ronnie Sahlberg</holder>
1753 This program is free software; you can redistribute it and/or
1754 modify it under the terms of the GNU General Public License as
1755 published by the Free Software Foundation; either version 3 of
1756 the License, or (at your option) any later version.
1759 This program is distributed in the hope that it will be
1760 useful, but WITHOUT ANY WARRANTY; without even the implied
1761 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1762 PURPOSE. See the GNU General Public License for more details.
1765 You should have received a copy of the GNU General Public
1766 License along with this program; if not, see
1767 <ulink url="http://www.gnu.org/licenses"/>.