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 ERR (0). 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_LOGFILE=<parameter>FILENAME</parameter></term>
226 Defaults to <filename>/var/log/log.ctdb</filename>.
227 Corresponds to <option>--logfile</option>. See also
228 <citetitle>CTDB_SYSLOG</citetitle>.
234 <term>CTDB_LOG_RINGBUF_SIZE=<parameter>NUM</parameter></term>
237 Default is 0. Corresponds to
238 <option>--log-ringbuf-size</option>.
244 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
247 No default. Corresponds to "<option>--lvs</option>
248 <option>--single-public-ip IPADDR"</option>.
254 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
257 Default is <varname>CTDB_BASE</varname>/nodes, so usually
258 <filename>/etc/ctdb/nodes</filename>. Corresponds to
259 <option>--nlist</option>.
265 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
269 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
270 <option>--notification-script</option>.
276 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
279 Default 0. Corresponds to
280 <option>--max-persistent-check-errors</option>.
286 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
290 <filename>/etc/ctdb/public_addresses</filename>.
291 Corresponds to <option>--public-addresses</option>.
297 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
300 No default. Corresponds to
301 <option>--public-interface</option>.
307 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
311 <filename>/some/place/on/shared/storage</filename>, which
312 should be change to a useful value. Corresponds to
313 <option>--reclock</option>.
319 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
322 Defaults to ERR (0). Corresponds to
323 <option>--script-log-level</option>.
329 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
332 Defaults to <filename>/tmp/ctdb.socket</filename>.
333 Corresponds to <option>--socket</option>.
336 If you change this then you probably want to set this in
337 root's enviroment (perhaps in a file in
338 <filename>/etc/profile.d</filename>) so that you can use
339 the <citerefentry><refentrytitle>ctdb</refentrytitle>
340 <manvolnum>1</manvolnum></citerefentry> command in a
341 straightforward manner.
347 <term>CTDB_START_AS_DISABLED=yes|no</term>
350 Default is no. Corresponds to
351 <option>--start-as-disabled</option>.
357 <term>CTDB_START_AS_STOPPED=yes|no</term>
360 Default is no. Corresponds to
361 <option>--start-as-stopped</option>.
367 <term>CTDB_SYSLOG=yes|no</term>
370 Default is no. Corresponds to <option>--syslog</option>.
376 <term>CTDB_TRANSPORT=tcp|infiniband</term>
379 Defaults to tcp. Corresponds to
380 <option>--transport</option>.
388 While the following variables do not translate into daemon
389 options they are used by
390 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
391 <manvolnum>1</manvolnum></citerefentry> when starting and
392 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
393 <manvolnum>1</manvolnum></citerefentry>.
399 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
402 NUM is the number of seconds to wait for
403 <citerefentry><refentrytitle>ctdbd</refentrytitle>
404 <manvolnum>1</manvolnum></citerefentry> to shut down
405 gracefully before giving up and killing it.
415 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
418 NUM is the number of seconds to wait for
419 <citerefentry><refentrytitle>ctdbd</refentrytitle>
420 <manvolnum>1</manvolnum></citerefentry> complete early
421 initialisation up to a point where it is unlikely to
422 abort. If <command>ctdbd</command> doesn't complete the
423 "setup" event before this timeout then it is killed.
436 <title>NETWORK CONFIGURATION</title>
439 <title>NAT GATEWAY</title>
442 NAT gateway is used to configure fallback routing for nodes
443 when they do not host any public IP addresses. For example,
444 it allows unhealthy nodes to reliably communicate with
445 external infrastructure. One node in a NAT gateway group will
446 be designated as the NAT gateway master node and other (slave)
447 nodes will be configured with fallback routes via the NAT
448 gateway master node. For more information, see the
449 <citetitle>NAT GATEWAY</citetitle> section in
450 <citerefentry><refentrytitle>ctdb</refentrytitle>
451 <manvolnum>7</manvolnum></citerefentry>.
457 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
460 IPADDR is an alternate network gateway to use on the NAT
461 gateway master node. If set, a fallback default route
462 is added via this network gateway.
465 No default. Setting this variable is optional - if not
466 set that no route is created on the NAT gateway master
473 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
476 FILENAME contains the list of nodes that belong to the
477 same NAT gateway group.
482 <parameter>IPADDR</parameter>
487 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
493 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
496 IPADDR/MASK is the private sub-network that is
497 internally routed via the NAT gateway master node. This
498 is usually the private network that is used for node
508 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
511 IFACE is the network interface on which the
512 CTDB_NATGW_PUBLIC_IP will be configured.
521 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
524 IPADDR/MASK indicates the IP address that is used for
525 outgoing traffic (originating from
526 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
527 node. This <emphasis>must not</emphasis> be a
528 configured public IP address.
537 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
540 When set to "yes" a node can not be a NAT gateway master
542 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
543 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
553 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
556 Each IPADDR/MASK identifies a network or host to which
557 NATGW should create a fallback route, instead of
558 creating a single default route. This can be used when
559 there is already a default route, via an interface that
560 can not reach required infrastructure, that overrides
561 the NAT gateway default route.
564 If GATEWAY is specified then the corresponding route on
565 the NATGW master node will be via GATEWAY. Such routes
567 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
568 specified. If GATEWAY is not specified for some
569 networks then routes are only created on the NATGW
570 master node for those networks if
571 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
575 This should be used with care to avoid causing traffic
576 to unnecessarily double-hop through the NAT gateway
577 master, even when a node is hosting public IP addresses.
578 Each specified network or host should probably have a
579 corresponding automatically created link route or static
591 <title>Example</title>
593 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
594 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
595 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
596 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
597 CTDB_NATGW_PUBLIC_IFACE=eth0
601 A variation that ensures that infrastructure (ADS, DNS, ...)
602 directly attached to the public network (10.0.0.0/24) is
603 always reachable would look like this:
606 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
607 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
608 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
609 CTDB_NATGW_PUBLIC_IFACE=eth0
610 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
613 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
621 <title>POLICY ROUTING</title>
624 A node running CTDB may be a component of a complex network
625 topology. In particular, public addresses may be spread
626 across several different networks (or VLANs) and it may not be
627 possible to route packets from these public addresses via the
628 system's default route. Therefore, CTDB has support for
629 policy routing via the <filename>13.per_ip_routing</filename>
630 eventscript. This allows routing to be specified for packets
631 sourced from each public address. The routes are added and
632 removed as CTDB moves public addresses between nodes.
636 For more information, see the <citetitle>POLICY
637 ROUTING</citetitle> section in
638 <citerefentry><refentrytitle>ctdb</refentrytitle>
639 <manvolnum>7</manvolnum></citerefentry>.
644 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
647 FILENAME contains elements for constructing the desired
648 routes for each source address.
652 The special FILENAME value
653 <constant>__auto_link_local__</constant> indicates that no
654 configuration file is provided and that CTDB should
655 generate reasonable link-local routes for each public IP
662 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
668 <filename>/etc/ctdb/policy_routing</filename> when enabled.
674 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
677 NUM sets the priority (or preference) for the routing
678 rules that are added by CTDB.
682 This should be (strictly) greater than 0 and (strictly)
683 less than 32766. A priority of 100 is recommended, unless
684 this conflicts with a priority already in use on the
686 <citerefentry><refentrytitle>ip</refentrytitle>
687 <manvolnum>8</manvolnum></citerefentry>, for more details.
694 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
695 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
699 CTDB determines a unique routing table number to use for
700 the routing related to each public address. LOW-NUM and
701 HIGH-NUM indicate the minimum and maximum routing table
702 numbers that are used.
706 <citerefentry><refentrytitle>ip</refentrytitle>
707 <manvolnum>8</manvolnum></citerefentry> uses some
708 reserved routing table numbers below 255. Therefore,
709 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
714 CTDB uses the standard file
715 <filename>/etc/iproute2/rt_tables</filename> to maintain
716 a mapping between the routing table numbers and labels.
717 The label for a public address
718 <replaceable>ADDR</replaceable> will look like
719 ctdb.<replaceable>addr</replaceable>. This means that
720 the associated rules and routes are easy to read (and
725 No default, usually 1000 and 9000.
732 <title>Example</title>
734 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
735 CTDB_PER_IP_ROUTING_RULE_PREF=100
736 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
737 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
744 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
749 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
752 Whether one or more offline interfaces should cause a
753 monitor event to fail if there are other interfaces that
754 are up. If this is "yes" and a node has some interfaces
755 that are down then <command>ctdb status</command> will
756 display the node as "PARTIALLYONLINE".
771 <title>SERVICE CONFIGURATION</title>
774 CTDB can be configured to manage and/or monitor various NAS (and
775 other) services via its eventscripts.
779 In the simplest case CTDB will manage a service. This means the
780 service will be started and stopped along with CTDB, CTDB will
781 monitor the service and CTDB will do any required
782 reconfiguration of the service when public IP addresses are
790 <title>Eventscripts</title>
793 <member><filename>49.winbind</filename></member>
794 <member><filename>50.samba</filename></member>
801 <term>CTDB_MANAGES_SAMBA=yes|no</term>
804 Should CTDB manage Samba?
813 <term>CTDB_MANAGES_WINBIND=yes|no</term>
816 Should CTDB manage Winbind?
825 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
828 When monitoring Samba, check TCP ports in
829 space-separated PORT-LIST.
832 Default is to monitor ports that Samba is configured to listen on.
838 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
841 As part of monitoring, should CTDB skip the check for
842 the existence of each directory configured as share in
843 Samba. This may be desirable if there is a large number
853 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
856 Distribution specific SERVICE for managing nmbd.
859 Default is distribution-dependant.
864 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
867 Distribution specific SERVICE for managing smbd.
870 Default is distribution-dependant.
876 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
879 Distribution specific SERVICE for managing winbindd.
882 Default is "winbind".
895 This includes parameters for the kernel NFS server and the
897 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
902 <title>Eventscripts</title>
905 <member><filename>60.nfs</filename></member>
906 <member><filename>60.ganesha</filename></member>
913 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
916 The type of cluster filesystem to use with NFS-ganesha.
917 Currently only "gpfs" is supported.
926 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
929 SUBDIR is the name of a top-level subdirectory in the
930 first cluster filesystem. This subdirectory is used to
931 allow communication between NFS-Ganesha and the
932 <filename>60.ganesha</filename> script.
935 Default is ".ganesha".
941 <term>CTDB_MANAGES_NFS=yes|no</term>
944 Should CTDB manage NFS?
953 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
956 Whether to monitor the NFS kernel server thread count.
959 This works around a limitation in some NFS initscripts
960 where some threads can be stuck in host filesystem calls
961 (perhaps due to slow storage), a restart occurs, some
962 threads don't exit, the start only adds the missing
963 number of threads, the stuck threads exit, and the
964 result is a lower than expected thread count. Note that
965 if you must also set <varname>RPCNFSDCOUNT</varname>
966 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
967 (SUSE) in your NFS configuration so the monitoring code
968 knows how many threads there should be - if neither of
969 these are set then this option will be ignored.
978 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
981 NUM is the number of NFS kernel server threads to dump
982 stack traces for if some are still alive after stopping
983 NFS during a restart.
986 Default is 5. Set this to 0 to disable this feature.
992 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
995 Selects which NFS server to be managed.
998 This replaces the deprecated variable
999 <varname>NFS_SERVER_MODE</varname>.
1002 Default is "kernel".
1008 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1011 During monitoring, should CTDB skip the
1012 <command>rpcinfo</command> check that is used to see if
1013 the NFS kernel server is functional.
1022 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1025 As part of monitoring, should CTDB skip the check for
1026 the existence of each directory exported via NFS. This
1027 may be desirable if there is a large number of exports.
1036 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1039 IPADDR or HOSTNAME indicates the address that
1040 <command>rpcinfo</command> should connect to when doing
1041 <command>rpcinfo</command> check on RPC service during
1042 monitoring. Optimally this would be "localhost".
1043 However, this can add some performance overheads.
1046 Default is "127.0.0.1".
1052 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1055 As part of monitoring, should CTDB skip the check for
1056 the existence of each directory exported via
1057 NFS-Ganesha. This may be desirable if there is a large
1071 <title>APACHE HTTPD</title>
1074 CTDB can manage the Apache web server.
1078 <title>Eventscript</title>
1081 <member><filename>41.httpd</filename></member>
1087 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1090 Should CTDB manage the Apache web server?
1101 <title>CLAMAV</title>
1104 CTDB has support to manage the popular anti-virus daemon
1109 <title>Eventscript</title>
1112 <member><filename>31.clamd</filename></member>
1116 This eventscript is not enabled by default. Use
1117 <command>ctdb enablescript</command> to enable it.
1125 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1128 Should CTDB manage ClamAV?
1137 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1140 FILENAME is the socket to monitor ClamAV.
1153 <title>ISCSI</title>
1156 CTDB has support for managing the Linux iSCSI tgtd service.
1160 <title>Eventscript</title>
1163 <member><filename>70.iscsi</filename></member>
1170 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1173 Should CTDB manage iSCSI tgtd?
1182 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1185 DIRECTORY on shared storage containing scripts to start
1186 tgtd for each public IP address.
1197 <title>MULTIPATHD</title>
1200 CTDB can monitor multipath devices to ensure that active paths
1205 <title>Eventscript</title>
1208 <member><filename>20.multipathd</filename></member>
1212 This eventscript is not enabled by default. Use
1213 <command>ctdb enablescript</command> to enable it.
1219 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1222 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1233 <title>VSFTPD</title>
1236 CTDB can manage the vsftpd FTP server.
1240 <title>Eventscript</title>
1243 <member><filename>40.vsftpd</filename></member>
1249 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1252 Should CTDB manage the vsftpd FTP server?
1264 SYSTEM RESOURCE MONITORING CONFIGURATION
1268 CTDB can experience seemingly random (performance and other)
1269 issues if system resources become too contrained. Options in
1270 this section can be enabled to allow certain system resources to
1275 <title>Eventscripts</title>
1278 <member><filename>00.ctdb</filename></member>
1279 <member><filename>40.fs_use</filename></member>
1283 Filesystem usage monitoring is in
1284 <filename>40.fs_use</filename>. This eventscript is not
1285 enabled by default. Use <command>ctdb
1286 enablescript</command> to enable it.
1293 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1296 FS-LIMIT-LIST is a space-separated list of
1297 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1298 pairs indicating that a node should be flagged unhealthy
1299 if the space used on FILESYSTEM reaches LIMIT%.
1307 Note that this feature uses the
1308 <filename>40.fs_use</filename> eventscript, which is not
1309 enabled by default. Use <command>ctdb
1310 enablescript</command> to enable it.
1316 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1319 Should a warning be logged if swap space is in use.
1328 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1331 NUM is a lower limit on available system memory, expressed
1332 in megabytes. If this is set and the amount of available
1333 memory falls below this limit then some debug information
1334 will be logged, the node will be disabled and then CTDB
1344 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1347 NUM is a lower limit on available system memory, expressed
1348 in megabytes. If this is set and the amount of available
1349 memory falls below this limit then a warning will be
1362 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1367 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1370 SERVICE-LIST is a space-separated list of SERVICEs that
1371 CTDB should manage. This can be used as an alternative
1373 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1383 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1386 When CTDB should start and stop services if they become
1387 managed or unmanaged.
1403 TUNABLES CONFIGURATION
1408 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1409 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1410 configuration file. They are set as follows:
1413 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1420 <screen format="linespecific">
1421 CTDB_SET_MonitorInterval=20
1432 Variable in this section are for debugging and testing CTDB.
1433 They should not generally be needed.
1439 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1442 FILENAME is a script to run to log debug information when
1443 an event script times out.
1446 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1452 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1455 FILENAME specifies where log messages should go when
1456 debugging hung eventscripts. This is a testing option.
1457 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1460 No default. Messages go to stdout/stderr and are logged
1461 to the same place as other CTDB log messages.
1467 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1470 REGEXP specifies interesting processes for which stack
1471 traces should be logged when debugging hung eventscripts
1472 and those processes are matched in pstree output. See
1473 also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1476 Default is "exportfs\|rpcinfo".
1482 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1485 FILENAME is a script to run to log debug information when
1486 an CTDB fails to freeze databases during recovery.
1490 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1496 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1499 DIRECTORY containing system configuration files. This is
1500 used to provide alternate configuration when testing and
1501 should not need to be changed from the default.
1504 Default is <filename>/etc</filename>.
1510 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1513 This is the init style used by the Linux distribution (or
1514 other operating system) being used. This is usually
1515 determined dynamically by checking the system. This
1516 variable is used by the initscript to determine which init
1517 system primitives to use. It is also used by some
1518 eventscripts to choose the name of initscripts for certain
1519 services, since these can vary between distributions.
1525 If this option needs to be changed from the calculated
1526 default for the initscript to function properly, then it
1527 must be set in the distribution-specific initscript
1528 configuration, such as
1529 <filename>/etc/sysconfig/ctdb</filename>
1535 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1538 NUM is the maximum number of volatile TDB database backups
1539 to be kept (for each database) when a corrupt database is
1540 found during startup. Volatile TDBs are zeroed during
1541 startup so backups are needed to debug any corruption that
1542 occurs before a restart.
1551 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1554 FILENAME is a script fragment to be sourced by the
1555 <filename>functions</filename> that is sourced by scripts.
1556 On example use would be to override function definitions
1557 in unit tests. As a sanity check, this file must be
1558 executable for it to be used.
1567 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1570 Whether CTDB should simulate timing out monitor events.
1571 This uses the <filename>99.timeout</filename> eventscript.
1580 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1583 NUM is the level debugging messages printed by CTDB
1584 scripts. Setting this to a higher number (e.g. 4) will
1585 cause some scripts to log more messages.
1594 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1597 Whether CTDB core files should be suppressed.
1606 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1609 If "yes", this causes
1610 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1611 <manvolnum>1</manvolnum></citerefentry> to be run under
1612 <citerefentry><refentrytitle>valgrind</refentrytitle>
1613 <manvolnum>1</manvolnum></citerefentry> with logs going to
1614 <filename>/var/log/ctdb_valgrind</filename>. If neither
1615 "yes" nor "no" then the value is assumed to be a COMMAND
1616 (e.g. a <command>valgrind</command> variation, a
1617 <citerefentry><refentrytitle>gdb</refentrytitle>
1618 <manvolnum>1</manvolnum></citerefentry> command) that is
1619 used in place of the default <command>valgrind</command>
1620 command. In either case, the <option>--valgrind</option>
1621 option is passed to <command>ctdbd</command>.
1635 <title>FILES</title>
1638 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1639 <member><filename>/etc/sysconfig/ctdb</filename></member>
1640 <member><filename>/etc/default/ctdb</filename></member>
1641 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1646 <title>SEE ALSO</title>
1648 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1649 <manvolnum>1</manvolnum></citerefentry>,
1651 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1652 <manvolnum>1</manvolnum></citerefentry>,
1654 <citerefentry><refentrytitle>onnode</refentrytitle>
1655 <manvolnum>1</manvolnum></citerefentry>,
1657 <citerefentry><refentrytitle>ctdb</refentrytitle>
1658 <manvolnum>7</manvolnum></citerefentry>,
1660 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1661 <manvolnum>7</manvolnum></citerefentry>,
1663 <ulink url="http://ctdb.samba.org/"/>
1670 This documentation was written by
1678 <holder>Andrew Tridgell</holder>
1679 <holder>Ronnie Sahlberg</holder>
1683 This program is free software; you can redistribute it and/or
1684 modify it under the terms of the GNU General Public License as
1685 published by the Free Software Foundation; either version 3 of
1686 the License, or (at your option) any later version.
1689 This program is distributed in the hope that it will be
1690 useful, but WITHOUT ANY WARRANTY; without even the implied
1691 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1692 PURPOSE. See the GNU General Public License for more details.
1695 You should have received a copy of the GNU General Public
1696 License along with this program; if not, see
1697 <ulink url="http://www.gnu.org/licenses"/>.