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>/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>/etc/ctdb/sysconfig/ctdb</filename> - this is
55 INITSCRIPT CONFIGURATION
59 Some options must be available to the initscript so they need to
60 be set in the distribution-specific initscript configuration,
61 such as <filename>/etc/sysconfig/ctdb</filename> or
62 <filename>/etc/default/ctdb</filename>.
68 <term>CTDB_PIDFILE=<parameter>FILENAME</parameter></term>
71 FILENAME is the name of the file used to contain the
72 process ID (PID) of the main CTDB daemon when it is
73 running. This is passed from the initscript to
74 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
75 <manvolnum>1</manvolnum></citerefentry>.
79 Default is <filename>/var/run/ctdb/ctdbd.pid</filename>.
80 Corresponds to <option>--pidfile</option>.
94 These options may be used in the initscripts, daemon and
101 <term>CTDB_BASE=<parameter>DIRECTORY</parameter></term>
104 DIRECTORY containing CTDB scripts and configuration files.
110 <term>CTDB_VARDIR=<parameter>DIRECTORY</parameter></term>
113 DIRECTORY containing CTDB files that are modified at
117 Defaults to <filename>/var/ctdb</filename>, unless
118 <filename>/var/lib/ctdb</filename> already exists in which
134 Variables in this section are processed by
135 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
136 <manvolnum>1</manvolnum></citerefentry> and are converted into
137 command-line arguments to
138 <citerefentry><refentrytitle>ctdbd</refentrytitle>
139 <manvolnum>1</manvolnum></citerefentry>. Correspondence with
140 <citerefentry><refentrytitle>ctdbd</refentrytitle>
141 <manvolnum>1</manvolnum></citerefentry> options is shown for
142 each variable. The the documentation for the relevant options
147 Many of these variables are also used by event scripts.
153 <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
156 Defaults to yes. Corresponds to <option>--no-lmaster</option>.
162 <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
165 Defaults to yes. Corresponds to
166 <option>--no-recmaster</option>.
172 <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
175 Defaults to <varname>CTDB_VARDIR</varname>. Corresponds to
176 <option>--dbdir</option>.
182 <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
185 Defaults to <varname>CTDB_VARDIR</varname>/persistent.
186 Corresponds to <option>--dbdir-persistent</option>.
192 <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
195 Defaults to <varname>CTDB_VARDIR</varname>/state.
196 Corresponds to <option>--dbdir-state</option>.
202 <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
205 Default is NOTICE (2). Corresponds to <option>-d</option> or
206 <option>--debug</option>.
212 <term>CTDB_EVENT_SCRIPT_DIR=<parameter>DIRECTORY</parameter></term>
215 Default is <varname>CTDB_BASE</varname>/events.d, so usually
216 <filename>/etc/ctdb/events.d</filename>. Corresponds to
217 <option>--event-script-dir</option>.
223 <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
226 STRING specifies where ctdbd will write its log. The
227 default is file:<filename>/var/log/log.ctdb</filename> or
228 similar - the prefix may differ depending on how CTDB was
229 built. Corresponds to <option>--logging</option>.
236 <term>file:<parameter>FILENAME</parameter></term>
239 FILENAME where ctdbd will write its log. This is usually
240 <filename>/var/log/log.ctdb</filename>.
245 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
248 CTDB will log to syslog. By default this will use
252 If METHOD is specified then it specifies an
253 extension that causes logging to be done in a
254 non-blocking fashion. This can be useful under
255 heavy loads that might cause the syslog daemon to
256 dequeue messages too slowly, which would otherwise
257 cause CTDB to block when logging. METHOD must be
262 <term>nonblocking</term>
265 CTDB will log to syslog via
266 <filename>/dev/log</filename> in non-blocking
275 CTDB will log to syslog via UDP to
276 localhost:514. The syslog daemon must be
277 configured to listen on (at least)
278 localhost:514. Most implementations will log
279 the messages against hostname "localhost" -
280 this is a limit of the implementation for
281 compatibility with more syslog daemon
287 <term>udp-rfc5424</term>
290 As with "udp" but messages are sent in RFC5424
291 format. This method will log the correct
292 hostname but is not as widely implemented in
305 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
308 No default. Corresponds to "<option>--lvs</option>
309 <option>--single-public-ip IPADDR"</option>.
315 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
318 Default is <varname>CTDB_BASE</varname>/nodes, so usually
319 <filename>/etc/ctdb/nodes</filename>. Corresponds to
320 <option>--nlist</option>.
326 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
330 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
331 <option>--notification-script</option>.
337 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
340 Default 0. Corresponds to
341 <option>--max-persistent-check-errors</option>.
347 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
351 <filename>/etc/ctdb/public_addresses</filename>.
352 Corresponds to <option>--public-addresses</option>.
358 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
361 No default. Corresponds to
362 <option>--public-interface</option>.
368 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
372 <filename>/some/place/on/shared/storage</filename>, which
373 should be change to a useful value. Corresponds to
374 <option>--reclock</option>.
377 For information about the recovery lock please see the
378 <citetitle>RECOVERY LOCK</citetitle> section in
379 <citerefentry><refentrytitle>ctdb</refentrytitle>
380 <manvolnum>7</manvolnum></citerefentry>.
386 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
389 Defaults to ERR (0). Corresponds to
390 <option>--script-log-level</option>.
396 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
399 Defaults to <filename>/tmp/ctdb.socket</filename>.
400 Corresponds to <option>--socket</option>.
403 If you change this then you probably want to set this in
404 root's enviroment (perhaps in a file in
405 <filename>/etc/profile.d</filename>) so that you can use
406 the <citerefentry><refentrytitle>ctdb</refentrytitle>
407 <manvolnum>1</manvolnum></citerefentry> command in a
408 straightforward manner.
414 <term>CTDB_START_AS_DISABLED=yes|no</term>
417 Default is no. Corresponds to
418 <option>--start-as-disabled</option>.
424 <term>CTDB_START_AS_STOPPED=yes|no</term>
427 Default is no. Corresponds to
428 <option>--start-as-stopped</option>.
434 <term>CTDB_TRANSPORT=tcp|infiniband</term>
437 Defaults to tcp. Corresponds to
438 <option>--transport</option>.
446 While the following variables do not translate into daemon
447 options they are used by
448 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
449 <manvolnum>1</manvolnum></citerefentry> when starting and
450 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
451 <manvolnum>1</manvolnum></citerefentry>.
457 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
460 NUM is the number of seconds to wait for
461 <citerefentry><refentrytitle>ctdbd</refentrytitle>
462 <manvolnum>1</manvolnum></citerefentry> to shut down
463 gracefully before giving up and killing it.
473 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
476 NUM is the number of seconds to wait for
477 <citerefentry><refentrytitle>ctdbd</refentrytitle>
478 <manvolnum>1</manvolnum></citerefentry> complete early
479 initialisation up to a point where it is unlikely to
480 abort. If <command>ctdbd</command> doesn't complete the
481 "setup" event before this timeout then it is killed.
494 <title>NETWORK CONFIGURATION</title>
497 <title>NAT GATEWAY</title>
500 NAT gateway is used to configure fallback routing for nodes
501 when they do not host any public IP addresses. For example,
502 it allows unhealthy nodes to reliably communicate with
503 external infrastructure. One node in a NAT gateway group will
504 be designated as the NAT gateway master node and other (slave)
505 nodes will be configured with fallback routes via the NAT
506 gateway master node. For more information, see the
507 <citetitle>NAT GATEWAY</citetitle> section in
508 <citerefentry><refentrytitle>ctdb</refentrytitle>
509 <manvolnum>7</manvolnum></citerefentry>.
515 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
518 IPADDR is an alternate network gateway to use on the NAT
519 gateway master node. If set, a fallback default route
520 is added via this network gateway.
523 No default. Setting this variable is optional - if not
524 set that no route is created on the NAT gateway master
531 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
534 FILENAME contains the list of nodes that belong to the
535 same NAT gateway group.
540 <parameter>IPADDR</parameter>
545 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
551 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
554 IPADDR/MASK is the private sub-network that is
555 internally routed via the NAT gateway master node. This
556 is usually the private network that is used for node
566 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
569 IFACE is the network interface on which the
570 CTDB_NATGW_PUBLIC_IP will be configured.
579 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
582 IPADDR/MASK indicates the IP address that is used for
583 outgoing traffic (originating from
584 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
585 node. This <emphasis>must not</emphasis> be a
586 configured public IP address.
595 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
598 When set to "yes" a node can not be a NAT gateway master
600 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
601 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
611 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
614 Each IPADDR/MASK identifies a network or host to which
615 NATGW should create a fallback route, instead of
616 creating a single default route. This can be used when
617 there is already a default route, via an interface that
618 can not reach required infrastructure, that overrides
619 the NAT gateway default route.
622 If GATEWAY is specified then the corresponding route on
623 the NATGW master node will be via GATEWAY. Such routes
625 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
626 specified. If GATEWAY is not specified for some
627 networks then routes are only created on the NATGW
628 master node for those networks if
629 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
633 This should be used with care to avoid causing traffic
634 to unnecessarily double-hop through the NAT gateway
635 master, even when a node is hosting public IP addresses.
636 Each specified network or host should probably have a
637 corresponding automatically created link route or static
649 <title>Example</title>
651 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
652 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
653 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
654 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
655 CTDB_NATGW_PUBLIC_IFACE=eth0
659 A variation that ensures that infrastructure (ADS, DNS, ...)
660 directly attached to the public network (10.0.0.0/24) is
661 always reachable would look like this:
664 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
665 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
666 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
667 CTDB_NATGW_PUBLIC_IFACE=eth0
668 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
671 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
679 <title>POLICY ROUTING</title>
682 A node running CTDB may be a component of a complex network
683 topology. In particular, public addresses may be spread
684 across several different networks (or VLANs) and it may not be
685 possible to route packets from these public addresses via the
686 system's default route. Therefore, CTDB has support for
687 policy routing via the <filename>13.per_ip_routing</filename>
688 eventscript. This allows routing to be specified for packets
689 sourced from each public address. The routes are added and
690 removed as CTDB moves public addresses between nodes.
694 For more information, see the <citetitle>POLICY
695 ROUTING</citetitle> section in
696 <citerefentry><refentrytitle>ctdb</refentrytitle>
697 <manvolnum>7</manvolnum></citerefentry>.
702 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
705 FILENAME contains elements for constructing the desired
706 routes for each source address.
710 The special FILENAME value
711 <constant>__auto_link_local__</constant> indicates that no
712 configuration file is provided and that CTDB should
713 generate reasonable link-local routes for each public IP
720 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
726 <filename>/etc/ctdb/policy_routing</filename> when enabled.
732 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
735 NUM sets the priority (or preference) for the routing
736 rules that are added by CTDB.
740 This should be (strictly) greater than 0 and (strictly)
741 less than 32766. A priority of 100 is recommended, unless
742 this conflicts with a priority already in use on the
744 <citerefentry><refentrytitle>ip</refentrytitle>
745 <manvolnum>8</manvolnum></citerefentry>, for more details.
752 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
753 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
757 CTDB determines a unique routing table number to use for
758 the routing related to each public address. LOW-NUM and
759 HIGH-NUM indicate the minimum and maximum routing table
760 numbers that are used.
764 <citerefentry><refentrytitle>ip</refentrytitle>
765 <manvolnum>8</manvolnum></citerefentry> uses some
766 reserved routing table numbers below 255. Therefore,
767 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
772 CTDB uses the standard file
773 <filename>/etc/iproute2/rt_tables</filename> to maintain
774 a mapping between the routing table numbers and labels.
775 The label for a public address
776 <replaceable>ADDR</replaceable> will look like
777 ctdb.<replaceable>addr</replaceable>. This means that
778 the associated rules and routes are easy to read (and
783 No default, usually 1000 and 9000.
790 <title>Example</title>
792 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
793 CTDB_PER_IP_ROUTING_RULE_PREF=100
794 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
795 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
802 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
807 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
810 Whether one or more offline interfaces should cause a
811 monitor event to fail if there are other interfaces that
812 are up. If this is "yes" and a node has some interfaces
813 that are down then <command>ctdb status</command> will
814 display the node as "PARTIALLYONLINE".
829 <title>SERVICE CONFIGURATION</title>
832 CTDB can be configured to manage and/or monitor various NAS (and
833 other) services via its eventscripts.
837 In the simplest case CTDB will manage a service. This means the
838 service will be started and stopped along with CTDB, CTDB will
839 monitor the service and CTDB will do any required
840 reconfiguration of the service when public IP addresses are
848 <title>Eventscripts</title>
851 <member><filename>49.winbind</filename></member>
852 <member><filename>50.samba</filename></member>
859 <term>CTDB_MANAGES_SAMBA=yes|no</term>
862 Should CTDB manage Samba?
871 <term>CTDB_MANAGES_WINBIND=yes|no</term>
874 Should CTDB manage Winbind?
883 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
886 When monitoring Samba, check TCP ports in
887 space-separated PORT-LIST.
890 Default is to monitor ports that Samba is configured to listen on.
896 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
899 As part of monitoring, should CTDB skip the check for
900 the existence of each directory configured as share in
901 Samba. This may be desirable if there is a large number
911 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
914 Distribution specific SERVICE for managing nmbd.
917 Default is distribution-dependant.
922 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
925 Distribution specific SERVICE for managing smbd.
928 Default is distribution-dependant.
934 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
937 Distribution specific SERVICE for managing winbindd.
940 Default is "winbind".
953 This includes parameters for the kernel NFS server and the
955 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
960 <title>Eventscripts</title>
963 <member><filename>60.nfs</filename></member>
964 <member><filename>60.ganesha</filename></member>
971 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
974 The type of cluster filesystem to use with NFS-ganesha.
975 Currently only "gpfs" is supported.
984 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
987 SUBDIR is the name of a top-level subdirectory in the
988 first cluster filesystem. This subdirectory is used to
989 allow communication between NFS-Ganesha and the
990 <filename>60.ganesha</filename> script.
993 Default is ".ganesha".
999 <term>CTDB_MANAGES_NFS=yes|no</term>
1002 Should CTDB manage NFS?
1011 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
1014 Whether to monitor the NFS kernel server thread count.
1017 This works around a limitation in some NFS initscripts
1018 where some threads can be stuck in host filesystem calls
1019 (perhaps due to slow storage), a restart occurs, some
1020 threads don't exit, the start only adds the missing
1021 number of threads, the stuck threads exit, and the
1022 result is a lower than expected thread count. Note that
1023 if you must also set <varname>RPCNFSDCOUNT</varname>
1024 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
1025 (SUSE) in your NFS configuration so the monitoring code
1026 knows how many threads there should be - if neither of
1027 these are set then this option will be ignored.
1036 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
1039 NUM is the number of NFS kernel server threads to dump
1040 stack traces for if some are still alive after stopping
1041 NFS during a restart.
1044 Default is 5. Set this to 0 to disable this feature.
1050 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
1053 Selects which NFS server to be managed.
1056 This replaces the deprecated variable
1057 <varname>NFS_SERVER_MODE</varname>.
1060 Default is "kernel".
1066 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1069 During monitoring, should CTDB skip the
1070 <command>rpcinfo</command> check that is used to see if
1071 the NFS kernel server is functional.
1080 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1083 As part of monitoring, should CTDB skip the check for
1084 the existence of each directory exported via NFS. This
1085 may be desirable if there is a large number of exports.
1094 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1097 IPADDR or HOSTNAME indicates the address that
1098 <command>rpcinfo</command> should connect to when doing
1099 <command>rpcinfo</command> check on RPC service during
1100 monitoring. Optimally this would be "localhost".
1101 However, this can add some performance overheads.
1104 Default is "127.0.0.1".
1110 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1113 As part of monitoring, should CTDB skip the check for
1114 the existence of each directory exported via
1115 NFS-Ganesha. This may be desirable if there is a large
1129 <title>APACHE HTTPD</title>
1132 CTDB can manage the Apache web server.
1136 <title>Eventscript</title>
1139 <member><filename>41.httpd</filename></member>
1145 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1148 Should CTDB manage the Apache web server?
1159 <title>CLAMAV</title>
1162 CTDB has support to manage the popular anti-virus daemon
1167 <title>Eventscript</title>
1170 <member><filename>31.clamd</filename></member>
1174 This eventscript is not enabled by default. Use
1175 <command>ctdb enablescript</command> to enable it.
1183 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1186 Should CTDB manage ClamAV?
1195 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1198 FILENAME is the socket to monitor ClamAV.
1211 <title>ISCSI</title>
1214 CTDB has support for managing the Linux iSCSI tgtd service.
1218 <title>Eventscript</title>
1221 <member><filename>70.iscsi</filename></member>
1228 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1231 Should CTDB manage iSCSI tgtd?
1240 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1243 DIRECTORY on shared storage containing scripts to start
1244 tgtd for each public IP address.
1255 <title>MULTIPATHD</title>
1258 CTDB can monitor multipath devices to ensure that active paths
1263 <title>Eventscript</title>
1266 <member><filename>20.multipathd</filename></member>
1270 This eventscript is not enabled by default. Use
1271 <command>ctdb enablescript</command> to enable it.
1277 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1280 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1291 <title>VSFTPD</title>
1294 CTDB can manage the vsftpd FTP server.
1298 <title>Eventscript</title>
1301 <member><filename>40.vsftpd</filename></member>
1307 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1310 Should CTDB manage the vsftpd FTP server?
1322 SYSTEM RESOURCE MONITORING CONFIGURATION
1326 CTDB can experience seemingly random (performance and other)
1327 issues if system resources become too contrained. Options in
1328 this section can be enabled to allow certain system resources to
1333 <title>Eventscripts</title>
1336 <member><filename>00.ctdb</filename></member>
1337 <member><filename>40.fs_use</filename></member>
1341 Filesystem usage monitoring is in
1342 <filename>40.fs_use</filename>. This eventscript is not
1343 enabled by default. Use <command>ctdb
1344 enablescript</command> to enable it.
1351 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1354 FS-LIMIT-LIST is a space-separated list of
1355 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1356 pairs indicating that a node should be flagged unhealthy
1357 if the space used on FILESYSTEM reaches LIMIT%.
1365 Note that this feature uses the
1366 <filename>40.fs_use</filename> eventscript, which is not
1367 enabled by default. Use <command>ctdb
1368 enablescript</command> to enable it.
1374 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1377 Should a warning be logged if swap space is in use.
1386 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1389 NUM is a lower limit on available system memory, expressed
1390 in megabytes. If this is set and the amount of available
1391 memory falls below this limit then some debug information
1392 will be logged, the node will be disabled and then CTDB
1402 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1405 NUM is a lower limit on available system memory, expressed
1406 in megabytes. If this is set and the amount of available
1407 memory falls below this limit then a warning will be
1420 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1425 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1428 SERVICE-LIST is a space-separated list of SERVICEs that
1429 CTDB should manage. This can be used as an alternative
1431 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1441 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1444 When CTDB should start and stop services if they become
1445 managed or unmanaged.
1461 TUNABLES CONFIGURATION
1466 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1467 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1468 configuration file. They are set as follows:
1471 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1478 <screen format="linespecific">
1479 CTDB_SET_MonitorInterval=20
1490 Variable in this section are for debugging and testing CTDB.
1491 They should not generally be needed.
1497 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1500 FILENAME is a script to run to log debug information when
1501 an event script times out.
1504 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1510 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1513 FILENAME specifies where log messages should go when
1514 debugging hung eventscripts. This is a testing option.
1515 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1518 No default. Messages go to stdout/stderr and are logged
1519 to the same place as other CTDB log messages.
1525 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1528 REGEXP specifies interesting processes for which stack
1529 traces should be logged when debugging hung eventscripts
1530 and those processes are matched in pstree output. REGEXP
1531 is an extended regexp so choices are separated by pipes
1532 ('|'). However, REGEXP should not contain parentheses.
1533 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1536 Default is "exportfs|rpcinfo".
1542 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1545 FILENAME is a script to run to log debug information when
1546 an CTDB fails to freeze databases during recovery.
1550 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1556 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1559 DIRECTORY containing system configuration files. This is
1560 used to provide alternate configuration when testing and
1561 should not need to be changed from the default.
1564 Default is <filename>/etc</filename>.
1570 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1573 This is the init style used by the Linux distribution (or
1574 other operating system) being used. This is usually
1575 determined dynamically by checking the system. This
1576 variable is used by the initscript to determine which init
1577 system primitives to use. It is also used by some
1578 eventscripts to choose the name of initscripts for certain
1579 services, since these can vary between distributions.
1585 If this option needs to be changed from the calculated
1586 default for the initscript to function properly, then it
1587 must be set in the distribution-specific initscript
1588 configuration, such as
1589 <filename>/etc/sysconfig/ctdb</filename>
1595 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1598 NUM is the maximum number of volatile TDB database backups
1599 to be kept (for each database) when a corrupt database is
1600 found during startup. Volatile TDBs are zeroed during
1601 startup so backups are needed to debug any corruption that
1602 occurs before a restart.
1611 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1614 FILENAME is a script fragment to be sourced by the
1615 <filename>functions</filename> that is sourced by scripts.
1616 On example use would be to override function definitions
1617 in unit tests. As a sanity check, this file must be
1618 executable for it to be used.
1627 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1630 Whether CTDB should simulate timing out monitor events.
1631 This uses the <filename>99.timeout</filename> eventscript.
1640 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1643 NUM is the level debugging messages printed by CTDB
1644 scripts. Setting this to a higher number (e.g. 4) will
1645 cause some scripts to log more messages.
1654 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1657 Whether CTDB core files should be suppressed.
1666 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1669 If "yes", this causes
1670 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1671 <manvolnum>1</manvolnum></citerefentry> to be run under
1672 <citerefentry><refentrytitle>valgrind</refentrytitle>
1673 <manvolnum>1</manvolnum></citerefentry> with logs going to
1674 <filename>/var/log/ctdb_valgrind</filename>. If neither
1675 "yes" nor "no" then the value is assumed to be a COMMAND
1676 (e.g. a <command>valgrind</command> variation, a
1677 <citerefentry><refentrytitle>gdb</refentrytitle>
1678 <manvolnum>1</manvolnum></citerefentry> command) that is
1679 used in place of the default <command>valgrind</command>
1680 command. In either case, the <option>--valgrind</option>
1681 option is passed to <command>ctdbd</command>.
1695 <title>FILES</title>
1698 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1699 <member><filename>/etc/sysconfig/ctdb</filename></member>
1700 <member><filename>/etc/default/ctdb</filename></member>
1701 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1706 <title>SEE ALSO</title>
1708 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1709 <manvolnum>1</manvolnum></citerefentry>,
1711 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1712 <manvolnum>1</manvolnum></citerefentry>,
1714 <citerefentry><refentrytitle>onnode</refentrytitle>
1715 <manvolnum>1</manvolnum></citerefentry>,
1717 <citerefentry><refentrytitle>ctdb</refentrytitle>
1718 <manvolnum>7</manvolnum></citerefentry>,
1720 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1721 <manvolnum>7</manvolnum></citerefentry>,
1723 <ulink url="http://ctdb.samba.org/"/>
1730 This documentation was written by
1738 <holder>Andrew Tridgell</holder>
1739 <holder>Ronnie Sahlberg</holder>
1743 This program is free software; you can redistribute it and/or
1744 modify it under the terms of the GNU General Public License as
1745 published by the Free Software Foundation; either version 3 of
1746 the License, or (at your option) any later version.
1749 This program is distributed in the hope that it will be
1750 useful, but WITHOUT ANY WARRANTY; without even the implied
1751 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1752 PURPOSE. See the GNU General Public License for more details.
1755 You should have received a copy of the GNU General Public
1756 License along with this program; if not, see
1757 <ulink url="http://www.gnu.org/licenses"/>.