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_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
237 No default. Corresponds to "<option>--lvs</option>
238 <option>--single-public-ip IPADDR"</option>.
244 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
247 Default is <varname>CTDB_BASE</varname>/nodes, so usually
248 <filename>/etc/ctdb/nodes</filename>. Corresponds to
249 <option>--nlist</option>.
255 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
259 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
260 <option>--notification-script</option>.
266 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
269 Default 0. Corresponds to
270 <option>--max-persistent-check-errors</option>.
276 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
280 <filename>/etc/ctdb/public_addresses</filename>.
281 Corresponds to <option>--public-addresses</option>.
287 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
290 No default. Corresponds to
291 <option>--public-interface</option>.
297 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
301 <filename>/some/place/on/shared/storage</filename>, which
302 should be change to a useful value. Corresponds to
303 <option>--reclock</option>.
309 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
312 Defaults to ERR (0). Corresponds to
313 <option>--script-log-level</option>.
319 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
322 Defaults to <filename>/tmp/ctdb.socket</filename>.
323 Corresponds to <option>--socket</option>.
326 If you change this then you probably want to set this in
327 root's enviroment (perhaps in a file in
328 <filename>/etc/profile.d</filename>) so that you can use
329 the <citerefentry><refentrytitle>ctdb</refentrytitle>
330 <manvolnum>1</manvolnum></citerefentry> command in a
331 straightforward manner.
337 <term>CTDB_START_AS_DISABLED=yes|no</term>
340 Default is no. Corresponds to
341 <option>--start-as-disabled</option>.
347 <term>CTDB_START_AS_STOPPED=yes|no</term>
350 Default is no. Corresponds to
351 <option>--start-as-stopped</option>.
357 <term>CTDB_SYSLOG=yes|no</term>
360 Default is no. Corresponds to <option>--syslog</option>.
366 <term>CTDB_TRANSPORT=tcp|infiniband</term>
369 Defaults to tcp. Corresponds to
370 <option>--transport</option>.
378 While the following variables do not translate into daemon
379 options they are used by
380 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
381 <manvolnum>1</manvolnum></citerefentry> when starting and
382 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
383 <manvolnum>1</manvolnum></citerefentry>.
389 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
392 NUM is the number of seconds to wait for
393 <citerefentry><refentrytitle>ctdbd</refentrytitle>
394 <manvolnum>1</manvolnum></citerefentry> to shut down
395 gracefully before giving up and killing it.
405 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
408 NUM is the number of seconds to wait for
409 <citerefentry><refentrytitle>ctdbd</refentrytitle>
410 <manvolnum>1</manvolnum></citerefentry> complete early
411 initialisation up to a point where it is unlikely to
412 abort. If <command>ctdbd</command> doesn't complete the
413 "setup" event before this timeout then it is killed.
426 <title>NETWORK CONFIGURATION</title>
429 <title>NAT GATEWAY</title>
432 NAT gateway is used to configure fallback routing for nodes
433 when they do not host any public IP addresses. For example,
434 it allows unhealthy nodes to reliably communicate with
435 external infrastructure. One node in a NAT gateway group will
436 be designated as the NAT gateway master node and other (slave)
437 nodes will be configured with fallback routes via the NAT
438 gateway master node. For more information, see the
439 <citetitle>NAT GATEWAY</citetitle> section in
440 <citerefentry><refentrytitle>ctdb</refentrytitle>
441 <manvolnum>7</manvolnum></citerefentry>.
447 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
450 IPADDR is an alternate network gateway to use on the NAT
451 gateway master node. If set, a fallback default route
452 is added via this network gateway.
455 No default. Setting this variable is optional - if not
456 set that no route is created on the NAT gateway master
463 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
466 FILENAME contains the list of nodes that belong to the
467 same NAT gateway group.
472 <parameter>IPADDR</parameter>
477 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
483 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
486 IPADDR/MASK is the private sub-network that is
487 internally routed via the NAT gateway master node. This
488 is usually the private network that is used for node
498 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
501 IFACE is the network interface on which the
502 CTDB_NATGW_PUBLIC_IP will be configured.
511 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
514 IPADDR/MASK indicates the IP address that is used for
515 outgoing traffic (originating from
516 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
517 node. This <emphasis>must not</emphasis> be a
518 configured public IP address.
527 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
530 When set to "yes" a node can not be a NAT gateway master
532 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
533 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
543 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
546 Each IPADDR/MASK identifies a network or host to which
547 NATGW should create a fallback route, instead of
548 creating a single default route. This can be used when
549 there is already a default route, via an interface that
550 can not reach required infrastructure, that overrides
551 the NAT gateway default route.
554 If GATEWAY is specified then the corresponding route on
555 the NATGW master node will be via GATEWAY. Such routes
557 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
558 specified. If GATEWAY is not specified for some
559 networks then routes are only created on the NATGW
560 master node for those networks if
561 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
565 This should be used with care to avoid causing traffic
566 to unnecessarily double-hop through the NAT gateway
567 master, even when a node is hosting public IP addresses.
568 Each specified network or host should probably have a
569 corresponding automatically created link route or static
581 <title>Example</title>
583 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
584 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
585 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
586 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
587 CTDB_NATGW_PUBLIC_IFACE=eth0
591 A variation that ensures that infrastructure (ADS, DNS, ...)
592 directly attached to the public network (10.0.0.0/24) is
593 always reachable would look like this:
596 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
597 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
598 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
599 CTDB_NATGW_PUBLIC_IFACE=eth0
600 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
603 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
611 <title>POLICY ROUTING</title>
614 A node running CTDB may be a component of a complex network
615 topology. In particular, public addresses may be spread
616 across several different networks (or VLANs) and it may not be
617 possible to route packets from these public addresses via the
618 system's default route. Therefore, CTDB has support for
619 policy routing via the <filename>13.per_ip_routing</filename>
620 eventscript. This allows routing to be specified for packets
621 sourced from each public address. The routes are added and
622 removed as CTDB moves public addresses between nodes.
626 For more information, see the <citetitle>POLICY
627 ROUTING</citetitle> section in
628 <citerefentry><refentrytitle>ctdb</refentrytitle>
629 <manvolnum>7</manvolnum></citerefentry>.
634 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
637 FILENAME contains elements for constructing the desired
638 routes for each source address.
642 The special FILENAME value
643 <constant>__auto_link_local__</constant> indicates that no
644 configuration file is provided and that CTDB should
645 generate reasonable link-local routes for each public IP
652 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
658 <filename>/etc/ctdb/policy_routing</filename> when enabled.
664 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
667 NUM sets the priority (or preference) for the routing
668 rules that are added by CTDB.
672 This should be (strictly) greater than 0 and (strictly)
673 less than 32766. A priority of 100 is recommended, unless
674 this conflicts with a priority already in use on the
676 <citerefentry><refentrytitle>ip</refentrytitle>
677 <manvolnum>8</manvolnum></citerefentry>, for more details.
684 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
685 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
689 CTDB determines a unique routing table number to use for
690 the routing related to each public address. LOW-NUM and
691 HIGH-NUM indicate the minimum and maximum routing table
692 numbers that are used.
696 <citerefentry><refentrytitle>ip</refentrytitle>
697 <manvolnum>8</manvolnum></citerefentry> uses some
698 reserved routing table numbers below 255. Therefore,
699 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
704 CTDB uses the standard file
705 <filename>/etc/iproute2/rt_tables</filename> to maintain
706 a mapping between the routing table numbers and labels.
707 The label for a public address
708 <replaceable>ADDR</replaceable> will look like
709 ctdb.<replaceable>addr</replaceable>. This means that
710 the associated rules and routes are easy to read (and
715 No default, usually 1000 and 9000.
722 <title>Example</title>
724 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
725 CTDB_PER_IP_ROUTING_RULE_PREF=100
726 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
727 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
734 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
739 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
742 Whether one or more offline interfaces should cause a
743 monitor event to fail if there are other interfaces that
744 are up. If this is "yes" and a node has some interfaces
745 that are down then <command>ctdb status</command> will
746 display the node as "PARTIALLYONLINE".
761 <title>SERVICE CONFIGURATION</title>
764 CTDB can be configured to manage and/or monitor various NAS (and
765 other) services via its eventscripts.
769 In the simplest case CTDB will manage a service. This means the
770 service will be started and stopped along with CTDB, CTDB will
771 monitor the service and CTDB will do any required
772 reconfiguration of the service when public IP addresses are
780 <title>Eventscripts</title>
783 <member><filename>49.winbind</filename></member>
784 <member><filename>50.samba</filename></member>
791 <term>CTDB_MANAGES_SAMBA=yes|no</term>
794 Should CTDB manage Samba?
803 <term>CTDB_MANAGES_WINBIND=yes|no</term>
806 Should CTDB manage Winbind?
815 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
818 When monitoring Samba, check TCP ports in
819 space-separated PORT-LIST.
822 Default is to monitor ports that Samba is configured to listen on.
828 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
831 As part of monitoring, should CTDB skip the check for
832 the existence of each directory configured as share in
833 Samba. This may be desirable if there is a large number
843 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
846 Distribution specific SERVICE for managing nmbd.
849 Default is distribution-dependant.
854 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
857 Distribution specific SERVICE for managing smbd.
860 Default is distribution-dependant.
866 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
869 Distribution specific SERVICE for managing winbindd.
872 Default is "winbind".
885 This includes parameters for the kernel NFS server and the
887 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
892 <title>Eventscripts</title>
895 <member><filename>60.nfs</filename></member>
896 <member><filename>60.ganesha</filename></member>
903 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
906 The type of cluster filesystem to use with NFS-ganesha.
907 Currently only "gpfs" is supported.
916 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
919 SUBDIR is the name of a top-level subdirectory in the
920 first cluster filesystem. This subdirectory is used to
921 allow communication between NFS-Ganesha and the
922 <filename>60.ganesha</filename> script.
925 Default is ".ganesha".
931 <term>CTDB_MANAGES_NFS=yes|no</term>
934 Should CTDB manage NFS?
943 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
946 Whether to monitor the NFS kernel server thread count.
949 This works around a limitation in some NFS initscripts
950 where some threads can be stuck in host filesystem calls
951 (perhaps due to slow storage), a restart occurs, some
952 threads don't exit, the start only adds the missing
953 number of threads, the stuck threads exit, and the
954 result is a lower than expected thread count. Note that
955 if you must also set <varname>RPCNFSDCOUNT</varname>
956 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
957 (SUSE) in your NFS configuration so the monitoring code
958 knows how many threads there should be - if neither of
959 these are set then this option will be ignored.
968 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
971 NUM is the number of NFS kernel server threads to dump
972 stack traces for if some are still alive after stopping
973 NFS during a restart.
976 Default is 5. Set this to 0 to disable this feature.
982 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
985 Selects which NFS server to be managed.
988 This replaces the deprecated variable
989 <varname>NFS_SERVER_MODE</varname>.
998 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1001 During monitoring, should CTDB skip the
1002 <command>rpcinfo</command> check that is used to see if
1003 the NFS kernel server is functional.
1012 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1015 As part of monitoring, should CTDB skip the check for
1016 the existence of each directory exported via NFS. This
1017 may be desirable if there is a large number of exports.
1026 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1029 IPADDR or HOSTNAME indicates the address that
1030 <command>rpcinfo</command> should connect to when doing
1031 <command>rpcinfo</command> check on RPC service during
1032 monitoring. Optimally this would be "localhost".
1033 However, this can add some performance overheads.
1036 Default is "127.0.0.1".
1042 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1045 As part of monitoring, should CTDB skip the check for
1046 the existence of each directory exported via
1047 NFS-Ganesha. This may be desirable if there is a large
1061 <title>APACHE HTTPD</title>
1064 CTDB can manage the Apache web server.
1068 <title>Eventscript</title>
1071 <member><filename>41.httpd</filename></member>
1077 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1080 Should CTDB manage the Apache web server?
1091 <title>CLAMAV</title>
1094 CTDB has support to manage the popular anti-virus daemon
1099 <title>Eventscript</title>
1102 <member><filename>31.clamd</filename></member>
1106 This eventscript is not enabled by default. Use
1107 <command>ctdb enablescript</command> to enable it.
1115 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1118 Should CTDB manage ClamAV?
1127 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1130 FILENAME is the socket to monitor ClamAV.
1143 <title>ISCSI</title>
1146 CTDB has support for managing the Linux iSCSI tgtd service.
1150 <title>Eventscript</title>
1153 <member><filename>70.iscsi</filename></member>
1160 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1163 Should CTDB manage iSCSI tgtd?
1172 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1175 DIRECTORY on shared storage containing scripts to start
1176 tgtd for each public IP address.
1187 <title>MULTIPATHD</title>
1190 CTDB can monitor multipath devices to ensure that active paths
1195 <title>Eventscript</title>
1198 <member><filename>20.multipathd</filename></member>
1202 This eventscript is not enabled by default. Use
1203 <command>ctdb enablescript</command> to enable it.
1209 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1212 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1223 <title>VSFTPD</title>
1226 CTDB can manage the vsftpd FTP server.
1230 <title>Eventscript</title>
1233 <member><filename>40.vsftpd</filename></member>
1239 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1242 Should CTDB manage the vsftpd FTP server?
1254 SYSTEM RESOURCE MONITORING CONFIGURATION
1258 CTDB can experience seemingly random (performance and other)
1259 issues if system resources become too contrained. Options in
1260 this section can be enabled to allow certain system resources to
1265 <title>Eventscripts</title>
1268 <member><filename>00.ctdb</filename></member>
1269 <member><filename>40.fs_use</filename></member>
1273 Filesystem usage monitoring is in
1274 <filename>40.fs_use</filename>. This eventscript is not
1275 enabled by default. Use <command>ctdb
1276 enablescript</command> to enable it.
1283 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1286 FS-LIMIT-LIST is a space-separated list of
1287 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1288 pairs indicating that a node should be flagged unhealthy
1289 if the space used on FILESYSTEM reaches LIMIT%.
1297 Note that this feature uses the
1298 <filename>40.fs_use</filename> eventscript, which is not
1299 enabled by default. Use <command>ctdb
1300 enablescript</command> to enable it.
1306 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1309 Should a warning be logged if swap space is in use.
1318 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1321 NUM is a lower limit on available system memory, expressed
1322 in megabytes. If this is set and the amount of available
1323 memory falls below this limit then some debug information
1324 will be logged, the node will be disabled and then CTDB
1334 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1337 NUM is a lower limit on available system memory, expressed
1338 in megabytes. If this is set and the amount of available
1339 memory falls below this limit then a warning will be
1352 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1357 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1360 SERVICE-LIST is a space-separated list of SERVICEs that
1361 CTDB should manage. This can be used as an alternative
1363 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1373 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1376 When CTDB should start and stop services if they become
1377 managed or unmanaged.
1393 TUNABLES CONFIGURATION
1398 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1399 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1400 configuration file. They are set as follows:
1403 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1410 <screen format="linespecific">
1411 CTDB_SET_MonitorInterval=20
1422 Variable in this section are for debugging and testing CTDB.
1423 They should not generally be needed.
1429 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1432 FILENAME is a script to run to log debug information when
1433 an event script times out.
1436 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1442 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1445 FILENAME specifies where log messages should go when
1446 debugging hung eventscripts. This is a testing option.
1447 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1450 No default. Messages go to stdout/stderr and are logged
1451 to the same place as other CTDB log messages.
1457 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1460 REGEXP specifies interesting processes for which stack
1461 traces should be logged when debugging hung eventscripts
1462 and those processes are matched in pstree output. See
1463 also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1466 Default is "exportfs\|rpcinfo".
1472 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1475 FILENAME is a script to run to log debug information when
1476 an CTDB fails to freeze databases during recovery.
1480 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1486 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1489 DIRECTORY containing system configuration files. This is
1490 used to provide alternate configuration when testing and
1491 should not need to be changed from the default.
1494 Default is <filename>/etc</filename>.
1500 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1503 This is the init style used by the Linux distribution (or
1504 other operating system) being used. This is usually
1505 determined dynamically by checking the system. This
1506 variable is used by the initscript to determine which init
1507 system primitives to use. It is also used by some
1508 eventscripts to choose the name of initscripts for certain
1509 services, since these can vary between distributions.
1515 If this option needs to be changed from the calculated
1516 default for the initscript to function properly, then it
1517 must be set in the distribution-specific initscript
1518 configuration, such as
1519 <filename>/etc/sysconfig/ctdb</filename>
1525 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1528 NUM is the maximum number of volatile TDB database backups
1529 to be kept (for each database) when a corrupt database is
1530 found during startup. Volatile TDBs are zeroed during
1531 startup so backups are needed to debug any corruption that
1532 occurs before a restart.
1541 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1544 FILENAME is a script fragment to be sourced by the
1545 <filename>functions</filename> that is sourced by scripts.
1546 On example use would be to override function definitions
1547 in unit tests. As a sanity check, this file must be
1548 executable for it to be used.
1557 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1560 Whether CTDB should simulate timing out monitor events.
1561 This uses the <filename>99.timeout</filename> eventscript.
1570 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1573 NUM is the level debugging messages printed by CTDB
1574 scripts. Setting this to a higher number (e.g. 4) will
1575 cause some scripts to log more messages.
1584 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1587 Whether CTDB core files should be suppressed.
1596 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1599 If "yes", this causes
1600 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1601 <manvolnum>1</manvolnum></citerefentry> to be run under
1602 <citerefentry><refentrytitle>valgrind</refentrytitle>
1603 <manvolnum>1</manvolnum></citerefentry> with logs going to
1604 <filename>/var/log/ctdb_valgrind</filename>. If neither
1605 "yes" nor "no" then the value is assumed to be a COMMAND
1606 (e.g. a <command>valgrind</command> variation, a
1607 <citerefentry><refentrytitle>gdb</refentrytitle>
1608 <manvolnum>1</manvolnum></citerefentry> command) that is
1609 used in place of the default <command>valgrind</command>
1610 command. In either case, the <option>--valgrind</option>
1611 option is passed to <command>ctdbd</command>.
1625 <title>FILES</title>
1628 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1629 <member><filename>/etc/sysconfig/ctdb</filename></member>
1630 <member><filename>/etc/default/ctdb</filename></member>
1631 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1636 <title>SEE ALSO</title>
1638 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1639 <manvolnum>1</manvolnum></citerefentry>,
1641 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1642 <manvolnum>1</manvolnum></citerefentry>,
1644 <citerefentry><refentrytitle>onnode</refentrytitle>
1645 <manvolnum>1</manvolnum></citerefentry>,
1647 <citerefentry><refentrytitle>ctdb</refentrytitle>
1648 <manvolnum>7</manvolnum></citerefentry>,
1650 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1651 <manvolnum>7</manvolnum></citerefentry>,
1653 <ulink url="http://ctdb.samba.org/"/>
1660 This documentation was written by
1668 <holder>Andrew Tridgell</holder>
1669 <holder>Ronnie Sahlberg</holder>
1673 This program is free software; you can redistribute it and/or
1674 modify it under the terms of the GNU General Public License as
1675 published by the Free Software Foundation; either version 3 of
1676 the License, or (at your option) any later version.
1679 This program is distributed in the hope that it will be
1680 useful, but WITHOUT ANY WARRANTY; without even the implied
1681 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1682 PURPOSE. See the GNU General Public License for more details.
1685 You should have received a copy of the GNU General Public
1686 License along with this program; if not, see
1687 <ulink url="http://www.gnu.org/licenses"/>.