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/volatile</filename>.
146 Corresponds to <option>--dbdir</option>.
152 <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
155 Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
158 Corresponds to <option>--dbdir-persistent</option>.
164 <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
167 Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
170 Corresponds to <option>--dbdir-state</option>.
176 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
179 FILENAME is a script to run to log debug information when
180 an event script times out.
183 Default is <filename>/usr/local/etc/ctdb/debug-hung-script.sh</filename>.
189 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
192 REGEXP specifies interesting processes for which stack
193 traces should be logged when debugging hung eventscripts
194 and those processes are matched in pstree output. REGEXP
195 is an extended regexp so choices are separated by pipes
196 ('|'). However, REGEXP should not contain parentheses.
197 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
200 Default is "exportfs|rpcinfo".
206 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
209 FILENAME is a script to run to log debug information when
210 an CTDB fails to freeze databases during recovery.
214 <filename>/usr/local/etc/ctdb/debug_locks.sh</filename>.
220 <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
223 Default is NOTICE. Corresponds to <option>-d</option> or
224 <option>--debug</option>.
230 <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
233 STRING specifies where ctdbd will write its log. The
235 file:<filename>/usr/local/var/log/log.ctdb</filename>.
236 Corresponds to <option>--logging</option>.
243 <term>file:<parameter>FILENAME</parameter></term>
246 FILENAME where ctdbd will write its log. This is usually
247 <filename>/usr/local/var/log/log.ctdb</filename>.
252 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
255 CTDB will log to syslog. By default this will use
259 If METHOD is specified then it specifies an
260 extension that causes logging to be done in a
261 non-blocking fashion. This can be useful under
262 heavy loads that might cause the syslog daemon to
263 dequeue messages too slowly, which would otherwise
264 cause CTDB to block when logging. METHOD must be
269 <term>nonblocking</term>
272 CTDB will log to syslog via
273 <filename>/dev/log</filename> in non-blocking
282 CTDB will log to syslog via UDP to
283 localhost:514. The syslog daemon must be
284 configured to listen on (at least)
285 localhost:514. Most implementations will log
286 the messages against hostname "localhost" -
287 this is a limit of the implementation for
288 compatibility with more syslog daemon
294 <term>udp-rfc5424</term>
297 As with "udp" but messages are sent in RFC5424
298 format. This method will log the correct
299 hostname but is not as widely implemented in
312 <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
315 NUM is the maximum number of open files.
324 <term>CTDB_NOSETSCHED=yes|no</term>
327 Defaults to no. Corresponds to <option>--nosetsched</option>.
330 Usually CTDB runs with real-time priority. If you are running
331 CTDB on a platform that does not support real-time priority,
338 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
341 Default 0. Corresponds to
342 <option>--max-persistent-check-errors</option>.
348 <term>CTDB_NODE_ADDRESS=<parameter>IPADDR</parameter></term>
351 IPADDR is the private IP address that ctdbd will bind to.
352 Corresponds to <option>--listen</option>.
355 By default ctdbd will select the first address from the
356 nodes list that in can bind to. See also the
357 <citetitle>Private address</citetitle> section in
358 <citerefentry><refentrytitle>ctdb</refentrytitle>
359 <manvolnum>7</manvolnum></citerefentry>.
362 This option is only required when automatic address
363 detection can not be used. This can be the case when
364 running multiple ctdbd daemons/nodes on the same physical
365 host (usually for testing), using InfiniBand for the
366 private network or on Linux when sysctl
367 net.ipv4.ip_nonlocal_bind=1.
373 <term>CTDB_RECOVERY_LOCK=<parameter>LOCK</parameter></term>
376 LOCK specifies the cluster-wide mutex used to detect and
377 prevent a partitioned cluster (or "split brain").
380 No default, but the default configuration file specifies
381 <filename>/some/place/on/shared/storage</filename>, which
382 should be change to a useful value. Corresponds to
383 <option>--reclock</option>.
386 For information about the recovery lock please see the
387 <citetitle>RECOVERY LOCK</citetitle> section in
388 <citerefentry><refentrytitle>ctdb</refentrytitle>
389 <manvolnum>7</manvolnum></citerefentry>.
395 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
398 Defaults to ERR. Corresponds to
399 <option>--script-log-level</option>.
405 <term>CTDB_START_AS_DISABLED=yes|no</term>
408 Default is no. Corresponds to
409 <option>--start-as-disabled</option>.
415 <term>CTDB_START_AS_STOPPED=yes|no</term>
418 Default is no. Corresponds to
419 <option>--start-as-stopped</option>.
425 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
428 Whether CTDB core files should be suppressed.
437 <term>CTDB_TRANSPORT=tcp|infiniband</term>
440 Defaults to tcp. Corresponds to
441 <option>--transport</option>.
449 While the following variables do not translate into daemon
450 options they are used by
451 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
452 <manvolnum>1</manvolnum></citerefentry> when starting and
453 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
454 <manvolnum>1</manvolnum></citerefentry>.
460 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
463 NUM is the number of seconds to wait for
464 <citerefentry><refentrytitle>ctdbd</refentrytitle>
465 <manvolnum>1</manvolnum></citerefentry> complete early
466 initialisation up to a point where it is unlikely to
467 abort. If <command>ctdbd</command> doesn't complete the
468 "setup" event before this timeout then it is killed.
481 <title>NETWORK CONFIGURATION</title>
484 <title>NAT GATEWAY</title>
487 NAT gateway is used to configure fallback routing for nodes
488 when they do not host any public IP addresses. For example,
489 it allows unhealthy nodes to reliably communicate with
490 external infrastructure. One node in a NAT gateway group will
491 be designated as the NAT gateway master node and other (slave)
492 nodes will be configured with fallback routes via the NAT
493 gateway master node. For more information, see the
494 <citetitle>NAT GATEWAY</citetitle> section in
495 <citerefentry><refentrytitle>ctdb</refentrytitle>
496 <manvolnum>7</manvolnum></citerefentry>.
502 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
505 IPADDR is an alternate network gateway to use on the NAT
506 gateway master node. If set, a fallback default route
507 is added via this network gateway.
510 No default. Setting this variable is optional - if not
511 set that no route is created on the NAT gateway master
518 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
521 FILENAME contains the list of nodes that belong to the
522 same NAT gateway group.
527 <parameter>IPADDR</parameter> <optional>slave-only</optional>
531 IPADDR is the private IP address of each node in the NAT
535 If "slave-only" is specified then the corresponding node
536 can not be the NAT gateway master node. In this case
537 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
538 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional and
543 <filename>/usr/local/etc/ctdb/natgw_nodes</filename> when enabled.
549 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
552 IPADDR/MASK is the private sub-network that is
553 internally routed via the NAT gateway master node. This
554 is usually the private network that is used for node
564 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
567 IFACE is the network interface on which the
568 CTDB_NATGW_PUBLIC_IP will be configured.
577 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
580 IPADDR/MASK indicates the IP address that is used for
581 outgoing traffic (originating from
582 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
583 node. This <emphasis>must not</emphasis> be a
584 configured public IP address.
593 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
596 Each IPADDR/MASK identifies a network or host to which
597 NATGW should create a fallback route, instead of
598 creating a single default route. This can be used when
599 there is already a default route, via an interface that
600 can not reach required infrastructure, that overrides
601 the NAT gateway default route.
604 If GATEWAY is specified then the corresponding route on
605 the NATGW master node will be via GATEWAY. Such routes
607 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
608 specified. If GATEWAY is not specified for some
609 networks then routes are only created on the NATGW
610 master node for those networks if
611 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
615 This should be used with care to avoid causing traffic
616 to unnecessarily double-hop through the NAT gateway
617 master, even when a node is hosting public IP addresses.
618 Each specified network or host should probably have a
619 corresponding automatically created link route or static
631 <title>Example</title>
633 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
634 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
635 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
636 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
637 CTDB_NATGW_PUBLIC_IFACE=eth0
641 A variation that ensures that infrastructure (ADS, DNS, ...)
642 directly attached to the public network (10.0.0.0/24) is
643 always reachable would look like this:
646 CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
647 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
648 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
649 CTDB_NATGW_PUBLIC_IFACE=eth0
650 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
653 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
661 <title>POLICY ROUTING</title>
664 A node running CTDB may be a component of a complex network
665 topology. In particular, public addresses may be spread
666 across several different networks (or VLANs) and it may not be
667 possible to route packets from these public addresses via the
668 system's default route. Therefore, CTDB has support for
669 policy routing via the <filename>13.per_ip_routing</filename>
670 eventscript. This allows routing to be specified for packets
671 sourced from each public address. The routes are added and
672 removed as CTDB moves public addresses between nodes.
676 For more information, see the <citetitle>POLICY
677 ROUTING</citetitle> section in
678 <citerefentry><refentrytitle>ctdb</refentrytitle>
679 <manvolnum>7</manvolnum></citerefentry>.
684 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
687 FILENAME contains elements for constructing the desired
688 routes for each source address.
692 The special FILENAME value
693 <constant>__auto_link_local__</constant> indicates that no
694 configuration file is provided and that CTDB should
695 generate reasonable link-local routes for each public IP
702 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
708 <filename>/usr/local/etc/ctdb/policy_routing</filename> when enabled.
714 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
717 NUM sets the priority (or preference) for the routing
718 rules that are added by CTDB.
722 This should be (strictly) greater than 0 and (strictly)
723 less than 32766. A priority of 100 is recommended, unless
724 this conflicts with a priority already in use on the
726 <citerefentry><refentrytitle>ip</refentrytitle>
727 <manvolnum>8</manvolnum></citerefentry>, for more details.
734 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
735 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
739 CTDB determines a unique routing table number to use for
740 the routing related to each public address. LOW-NUM and
741 HIGH-NUM indicate the minimum and maximum routing table
742 numbers that are used.
746 <citerefentry><refentrytitle>ip</refentrytitle>
747 <manvolnum>8</manvolnum></citerefentry> uses some
748 reserved routing table numbers below 255. Therefore,
749 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
754 CTDB uses the standard file
755 <filename>/etc/iproute2/rt_tables</filename> to maintain
756 a mapping between the routing table numbers and labels.
757 The label for a public address
758 <replaceable>ADDR</replaceable> will look like
759 ctdb.<replaceable>addr</replaceable>. This means that
760 the associated rules and routes are easy to read (and
765 No default, usually 1000 and 9000.
772 <title>Example</title>
774 CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing
775 CTDB_PER_IP_ROUTING_RULE_PREF=100
776 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
777 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
787 For a general description see the <citetitle>LVS</citetitle>
788 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
789 <manvolnum>7</manvolnum></citerefentry>.
793 <title>Eventscript</title>
796 <member><filename>91.lvs</filename></member>
803 <term>CTDB_LVS_NODES=<parameter>FILENAME</parameter></term>
806 FILENAME contains the list of nodes that belong to the
812 <parameter>IPADDR</parameter> <optional>slave-only</optional>
816 IPADDR is the private IP address of each node in the LVS
820 If "slave-only" is specified then the corresponding node
821 can not be the LVS master node. In this case
822 <varname>CTDB_LVS_PUBLIC_IFACE</varname> and
823 <varname>CTDB_LVS_PUBLIC_IP</varname> are optional and
828 <filename>/usr/local/etc/ctdb/lvs_nodes</filename> when enabled.
834 <term>CTDB_LVS_PUBLIC_IFACE=<parameter>INTERFACE</parameter></term>
837 INTERFACE is the network interface that clients will use
838 to connection to <varname>CTDB_LVS_PUBLIC_IP</varname>.
839 This is optional for slave-only nodes.
846 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
849 CTDB_LVS_PUBLIC_IP is the LVS public address. No
859 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
864 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
867 Whether one or more offline interfaces should cause a
868 monitor event to fail if there are other interfaces that
869 are up. If this is "yes" and a node has some interfaces
870 that are down then <command>ctdb status</command> will
871 display the node as "PARTIALLYONLINE".
875 Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is
876 incompatible with NAT gateway, since NAT gateway relies
877 on the interface configured by CTDB_NATGW_PUBLIC_IFACE
893 <title>SERVICE CONFIGURATION</title>
896 CTDB can be configured to manage and/or monitor various NAS (and
897 other) services via its eventscripts.
901 In the simplest case CTDB will manage a service. This means the
902 service will be started and stopped along with CTDB, CTDB will
903 monitor the service and CTDB will do any required
904 reconfiguration of the service when public IP addresses are
912 <title>Eventscripts</title>
915 <member><filename>49.winbind</filename></member>
916 <member><filename>50.samba</filename></member>
923 <term>CTDB_MANAGES_SAMBA=yes|no</term>
926 Should CTDB manage Samba?
935 <term>CTDB_MANAGES_WINBIND=yes|no</term>
938 Should CTDB manage Winbind?
947 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
950 When monitoring Samba, check TCP ports in
951 space-separated PORT-LIST.
954 Default is to monitor ports that Samba is configured to listen on.
960 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
963 As part of monitoring, should CTDB skip the check for
964 the existence of each directory configured as share in
965 Samba. This may be desirable if there is a large number
975 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
978 Distribution specific SERVICE for managing nmbd.
981 Default is distribution-dependant.
986 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
989 Distribution specific SERVICE for managing smbd.
992 Default is distribution-dependant.
998 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
1001 Distribution specific SERVICE for managing winbindd.
1004 Default is "winbind".
1017 This includes parameters for the kernel NFS server.
1018 Alternative NFS subsystems (such as <ulink
1019 url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>)
1020 can be integrated using <varname>CTDB_NFS_CALLOUT</varname>.
1024 <title>Eventscript</title>
1027 <member><filename>60.nfs</filename></member>
1034 <term>CTDB_MANAGES_NFS=yes|no</term>
1037 Should CTDB manage NFS?
1046 <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
1049 COMMAND specifies the path to a callout to handle
1050 interactions with the configured NFS system, including
1051 startup, shutdown, monitoring.
1054 Default is the included
1055 <command>nfs-linux-kernel-callout</command>.
1061 <term>CTDB_NFS_CHECKS_DIR=<parameter>DIRECTORY</parameter></term>
1064 Specifies the path to a DIRECTORY containing files that
1065 describe how to monitor the responsiveness of NFS RPC
1066 services. See the README file for this directory for an
1067 explanation of the contents of these "check" files.
1070 CTDB_NFS_CHECKS_DIR can be used to point to different
1071 sets of checks for different NFS servers.
1074 One way of using this is to have it point to, say,
1075 <filename>/usr/local/etc/ctdb/nfs-checks-enabled.d</filename>
1076 and populate it with symbolic links to the desired check
1077 files. This avoids duplication and is upgrade-safe.
1081 <filename>/usr/local/etc/ctdb/nfs-checks.d</filename>,
1082 which contains NFS RPC checks suitable for Linux kernel
1089 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1092 As part of monitoring, should CTDB skip the check for
1093 the existence of each directory exported via NFS. This
1094 may be desirable if there is a large number of exports.
1103 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1106 IPADDR or HOSTNAME indicates the address that
1107 <command>rpcinfo</command> should connect to when doing
1108 <command>rpcinfo</command> check on IPv4 RPC service during
1109 monitoring. Optimally this would be "localhost".
1110 However, this can add some performance overheads.
1113 Default is "127.0.0.1".
1119 <term>CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1122 IPADDR or HOSTNAME indicates the address that
1123 <command>rpcinfo</command> should connect to when doing
1124 <command>rpcinfo</command> check on IPv6 RPC service
1125 during monitoring. Optimally this would be "localhost6"
1126 (or similar). However, this can add some performance
1136 <term>CTDB_NFS_STATE_FS_TYPE=<parameter>TYPE</parameter></term>
1139 The type of filesystem used for a clustered NFS' shared
1146 <term>CTDB_NFS_STATE_MNT=<parameter>DIR</parameter></term>
1149 The directory where a clustered NFS' shared state will be
1150 located. No default.
1160 <title>APACHE HTTPD</title>
1163 CTDB can manage the Apache web server.
1167 <title>Eventscript</title>
1170 <member><filename>41.httpd</filename></member>
1176 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1179 Should CTDB manage the Apache web server?
1190 <title>CLAMAV</title>
1193 CTDB has support to manage the popular anti-virus daemon
1198 <title>Eventscript</title>
1201 <member><filename>31.clamd</filename></member>
1205 This eventscript is not enabled by default. Use
1206 <command>ctdb enablescript</command> to enable it.
1214 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1217 Should CTDB manage ClamAV?
1226 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1229 FILENAME is the socket to monitor ClamAV.
1242 <title>ISCSI</title>
1245 CTDB has support for managing the Linux iSCSI tgtd service.
1249 <title>Eventscript</title>
1252 <member><filename>70.iscsi</filename></member>
1259 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1262 Should CTDB manage iSCSI tgtd?
1271 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1274 DIRECTORY on shared storage containing scripts to start
1275 tgtd for each public IP address.
1286 <title>MULTIPATHD</title>
1289 CTDB can monitor multipath devices to ensure that active paths
1294 <title>Eventscript</title>
1297 <member><filename>20.multipathd</filename></member>
1301 This eventscript is not enabled by default. Use
1302 <command>ctdb enablescript</command> to enable it.
1308 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1311 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1322 <title>VSFTPD</title>
1325 CTDB can manage the vsftpd FTP server.
1329 <title>Eventscript</title>
1332 <member><filename>40.vsftpd</filename></member>
1338 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1341 Should CTDB manage the vsftpd FTP server?
1357 CTDB checks the consistency of databases during startup.
1361 <title>Eventscripts</title>
1364 <member><filename>00.ctdb</filename></member>
1372 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1375 NUM is the maximum number of volatile TDB database backups
1376 to be kept (for each database) when a corrupt database is
1377 found during startup. Volatile TDBs are zeroed during
1378 startup so backups are needed to debug any corruption that
1379 occurs before a restart.
1392 SYSTEM RESOURCE MONITORING CONFIGURATION
1396 CTDB can experience seemingly random (performance and other)
1397 issues if system resources become too constrained. Options in
1398 this section can be enabled to allow certain system resources
1399 to be checked. They allows warnings to be logged and nodes to
1400 be marked unhealthy when system resource usage reaches the
1401 configured thresholds.
1405 Some checks are enabled by default. It is recommended that
1406 these checks remain enabled or are augmented by extra checks.
1407 There is no supported way of completely disabling the checks.
1411 <title>Eventscripts</title>
1414 <member><filename>05.system</filename></member>
1418 Filesystem and memory usage monitoring is in
1419 <filename>05.system</filename>.
1426 <term>CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter></term>
1429 FS-LIMIT-LIST is a space-separated list of
1430 <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1431 triples indicating that warnings should be logged if the
1432 space used on FILESYSTEM reaches WARN_LIMIT%. If usage
1433 reaches UNHEALTHY_LIMIT then the node should be flagged
1434 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1435 left blank, meaning that check will be omitted.
1439 Default is to warn for each filesystem containing a
1440 database directory (<envar>CTDB_DBDIR</envar>,
1441 <envar>CTDB_DBDIR_PERSISTENT</envar>,
1442 <envar>CTDB_DBDIR_STATE</envar>) with a threshold of
1449 <term>CTDB_MONITOR_MEMORY_USAGE=<parameter>MEM-LIMITS</parameter></term>
1452 MEM-LIMITS takes the form
1453 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1454 indicating that warnings should be logged if memory
1455 usage reaches WARN_LIMIT%. If usage reaches
1456 UNHEALTHY_LIMIT then the node should be flagged
1457 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1458 left blank, meaning that check will be omitted.
1461 Default is 80, so warnings will be logged when memory
1468 <term>CTDB_MONITOR_SWAP_USAGE=<parameter>SWAP-LIMITS</parameter></term>
1471 SWAP-LIMITS takes the form
1472 <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
1473 indicating that warnings should be logged if
1474 swap usage reaches WARN_LIMIT%. If usage reaches
1475 UNHEALTHY_LIMIT then the node should be flagged
1476 unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be
1477 left blank, meaning that check will be omitted.
1480 Default is 25, so warnings will be logged when swap
1492 <title>FILES</title>
1495 <member><filename>/usr/local/etc/ctdb/ctdbd.conf</filename></member>
1496 <member><filename>/etc/sysconfig/ctdb</filename></member>
1497 <member><filename>/etc/default/ctdb</filename></member>
1502 <title>SEE ALSO</title>
1504 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1505 <manvolnum>1</manvolnum></citerefentry>,
1507 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1508 <manvolnum>1</manvolnum></citerefentry>,
1510 <citerefentry><refentrytitle>onnode</refentrytitle>
1511 <manvolnum>1</manvolnum></citerefentry>,
1513 <citerefentry><refentrytitle>ctdb</refentrytitle>
1514 <manvolnum>7</manvolnum></citerefentry>,
1516 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1517 <manvolnum>7</manvolnum></citerefentry>,
1519 <ulink url="http://ctdb.samba.org/"/>
1526 This documentation was written by
1534 <holder>Andrew Tridgell</holder>
1535 <holder>Ronnie Sahlberg</holder>
1539 This program is free software; you can redistribute it and/or
1540 modify it under the terms of the GNU General Public License as
1541 published by the Free Software Foundation; either version 3 of
1542 the License, or (at your option) any later version.
1545 This program is distributed in the hope that it will be
1546 useful, but WITHOUT ANY WARRANTY; without even the implied
1547 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1548 PURPOSE. See the GNU General Public License for more details.
1551 You should have received a copy of the GNU General Public
1552 License along with this program; if not, see
1553 <ulink url="http://www.gnu.org/licenses"/>.