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_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
294 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
297 No default. Corresponds to "<option>--lvs</option>
298 <option>--single-public-ip IPADDR"</option>.
304 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
307 Default is <varname>CTDB_BASE</varname>/nodes, so usually
308 <filename>/etc/ctdb/nodes</filename>. Corresponds to
309 <option>--nlist</option>.
315 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
319 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
320 <option>--notification-script</option>.
326 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
329 Default 0. Corresponds to
330 <option>--max-persistent-check-errors</option>.
336 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
340 <filename>/etc/ctdb/public_addresses</filename>.
341 Corresponds to <option>--public-addresses</option>.
347 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
350 No default. Corresponds to
351 <option>--public-interface</option>.
357 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
361 <filename>/some/place/on/shared/storage</filename>, which
362 should be change to a useful value. Corresponds to
363 <option>--reclock</option>.
369 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
372 Defaults to ERR (0). Corresponds to
373 <option>--script-log-level</option>.
379 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
382 Defaults to <filename>/tmp/ctdb.socket</filename>.
383 Corresponds to <option>--socket</option>.
386 If you change this then you probably want to set this in
387 root's enviroment (perhaps in a file in
388 <filename>/etc/profile.d</filename>) so that you can use
389 the <citerefentry><refentrytitle>ctdb</refentrytitle>
390 <manvolnum>1</manvolnum></citerefentry> command in a
391 straightforward manner.
397 <term>CTDB_START_AS_DISABLED=yes|no</term>
400 Default is no. Corresponds to
401 <option>--start-as-disabled</option>.
407 <term>CTDB_START_AS_STOPPED=yes|no</term>
410 Default is no. Corresponds to
411 <option>--start-as-stopped</option>.
417 <term>CTDB_TRANSPORT=tcp|infiniband</term>
420 Defaults to tcp. Corresponds to
421 <option>--transport</option>.
429 While the following variables do not translate into daemon
430 options they are used by
431 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
432 <manvolnum>1</manvolnum></citerefentry> when starting and
433 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
434 <manvolnum>1</manvolnum></citerefentry>.
440 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
443 NUM is the number of seconds to wait for
444 <citerefentry><refentrytitle>ctdbd</refentrytitle>
445 <manvolnum>1</manvolnum></citerefentry> to shut down
446 gracefully before giving up and killing it.
456 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
459 NUM is the number of seconds to wait for
460 <citerefentry><refentrytitle>ctdbd</refentrytitle>
461 <manvolnum>1</manvolnum></citerefentry> complete early
462 initialisation up to a point where it is unlikely to
463 abort. If <command>ctdbd</command> doesn't complete the
464 "setup" event before this timeout then it is killed.
477 <title>NETWORK CONFIGURATION</title>
480 <title>NAT GATEWAY</title>
483 NAT gateway is used to configure fallback routing for nodes
484 when they do not host any public IP addresses. For example,
485 it allows unhealthy nodes to reliably communicate with
486 external infrastructure. One node in a NAT gateway group will
487 be designated as the NAT gateway master node and other (slave)
488 nodes will be configured with fallback routes via the NAT
489 gateway master node. For more information, see the
490 <citetitle>NAT GATEWAY</citetitle> section in
491 <citerefentry><refentrytitle>ctdb</refentrytitle>
492 <manvolnum>7</manvolnum></citerefentry>.
498 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
501 IPADDR is an alternate network gateway to use on the NAT
502 gateway master node. If set, a fallback default route
503 is added via this network gateway.
506 No default. Setting this variable is optional - if not
507 set that no route is created on the NAT gateway master
514 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
517 FILENAME contains the list of nodes that belong to the
518 same NAT gateway group.
523 <parameter>IPADDR</parameter>
528 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
534 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
537 IPADDR/MASK is the private sub-network that is
538 internally routed via the NAT gateway master node. This
539 is usually the private network that is used for node
549 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
552 IFACE is the network interface on which the
553 CTDB_NATGW_PUBLIC_IP will be configured.
562 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
565 IPADDR/MASK indicates the IP address that is used for
566 outgoing traffic (originating from
567 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
568 node. This <emphasis>must not</emphasis> be a
569 configured public IP address.
578 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
581 When set to "yes" a node can not be a NAT gateway master
583 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
584 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
594 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
597 Each IPADDR/MASK identifies a network or host to which
598 NATGW should create a fallback route, instead of
599 creating a single default route. This can be used when
600 there is already a default route, via an interface that
601 can not reach required infrastructure, that overrides
602 the NAT gateway default route.
605 If GATEWAY is specified then the corresponding route on
606 the NATGW master node will be via GATEWAY. Such routes
608 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
609 specified. If GATEWAY is not specified for some
610 networks then routes are only created on the NATGW
611 master node for those networks if
612 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
616 This should be used with care to avoid causing traffic
617 to unnecessarily double-hop through the NAT gateway
618 master, even when a node is hosting public IP addresses.
619 Each specified network or host should probably have a
620 corresponding automatically created link route or static
632 <title>Example</title>
634 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
635 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
636 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
637 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
638 CTDB_NATGW_PUBLIC_IFACE=eth0
642 A variation that ensures that infrastructure (ADS, DNS, ...)
643 directly attached to the public network (10.0.0.0/24) is
644 always reachable would look like this:
647 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
648 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
649 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
650 CTDB_NATGW_PUBLIC_IFACE=eth0
651 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
654 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
662 <title>POLICY ROUTING</title>
665 A node running CTDB may be a component of a complex network
666 topology. In particular, public addresses may be spread
667 across several different networks (or VLANs) and it may not be
668 possible to route packets from these public addresses via the
669 system's default route. Therefore, CTDB has support for
670 policy routing via the <filename>13.per_ip_routing</filename>
671 eventscript. This allows routing to be specified for packets
672 sourced from each public address. The routes are added and
673 removed as CTDB moves public addresses between nodes.
677 For more information, see the <citetitle>POLICY
678 ROUTING</citetitle> section in
679 <citerefentry><refentrytitle>ctdb</refentrytitle>
680 <manvolnum>7</manvolnum></citerefentry>.
685 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
688 FILENAME contains elements for constructing the desired
689 routes for each source address.
693 The special FILENAME value
694 <constant>__auto_link_local__</constant> indicates that no
695 configuration file is provided and that CTDB should
696 generate reasonable link-local routes for each public IP
703 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
709 <filename>/etc/ctdb/policy_routing</filename> when enabled.
715 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
718 NUM sets the priority (or preference) for the routing
719 rules that are added by CTDB.
723 This should be (strictly) greater than 0 and (strictly)
724 less than 32766. A priority of 100 is recommended, unless
725 this conflicts with a priority already in use on the
727 <citerefentry><refentrytitle>ip</refentrytitle>
728 <manvolnum>8</manvolnum></citerefentry>, for more details.
735 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
736 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
740 CTDB determines a unique routing table number to use for
741 the routing related to each public address. LOW-NUM and
742 HIGH-NUM indicate the minimum and maximum routing table
743 numbers that are used.
747 <citerefentry><refentrytitle>ip</refentrytitle>
748 <manvolnum>8</manvolnum></citerefentry> uses some
749 reserved routing table numbers below 255. Therefore,
750 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
755 CTDB uses the standard file
756 <filename>/etc/iproute2/rt_tables</filename> to maintain
757 a mapping between the routing table numbers and labels.
758 The label for a public address
759 <replaceable>ADDR</replaceable> will look like
760 ctdb.<replaceable>addr</replaceable>. This means that
761 the associated rules and routes are easy to read (and
766 No default, usually 1000 and 9000.
773 <title>Example</title>
775 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
776 CTDB_PER_IP_ROUTING_RULE_PREF=100
777 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
778 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
785 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
790 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
793 Whether one or more offline interfaces should cause a
794 monitor event to fail if there are other interfaces that
795 are up. If this is "yes" and a node has some interfaces
796 that are down then <command>ctdb status</command> will
797 display the node as "PARTIALLYONLINE".
812 <title>SERVICE CONFIGURATION</title>
815 CTDB can be configured to manage and/or monitor various NAS (and
816 other) services via its eventscripts.
820 In the simplest case CTDB will manage a service. This means the
821 service will be started and stopped along with CTDB, CTDB will
822 monitor the service and CTDB will do any required
823 reconfiguration of the service when public IP addresses are
831 <title>Eventscripts</title>
834 <member><filename>49.winbind</filename></member>
835 <member><filename>50.samba</filename></member>
842 <term>CTDB_MANAGES_SAMBA=yes|no</term>
845 Should CTDB manage Samba?
854 <term>CTDB_MANAGES_WINBIND=yes|no</term>
857 Should CTDB manage Winbind?
866 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
869 When monitoring Samba, check TCP ports in
870 space-separated PORT-LIST.
873 Default is to monitor ports that Samba is configured to listen on.
879 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
882 As part of monitoring, should CTDB skip the check for
883 the existence of each directory configured as share in
884 Samba. This may be desirable if there is a large number
894 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
897 Distribution specific SERVICE for managing nmbd.
900 Default is distribution-dependant.
905 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
908 Distribution specific SERVICE for managing smbd.
911 Default is distribution-dependant.
917 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
920 Distribution specific SERVICE for managing winbindd.
923 Default is "winbind".
936 This includes parameters for the kernel NFS server and the
938 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
943 <title>Eventscripts</title>
946 <member><filename>60.nfs</filename></member>
947 <member><filename>60.ganesha</filename></member>
954 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
957 The type of cluster filesystem to use with NFS-ganesha.
958 Currently only "gpfs" is supported.
967 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
970 SUBDIR is the name of a top-level subdirectory in the
971 first cluster filesystem. This subdirectory is used to
972 allow communication between NFS-Ganesha and the
973 <filename>60.ganesha</filename> script.
976 Default is ".ganesha".
982 <term>CTDB_MANAGES_NFS=yes|no</term>
985 Should CTDB manage NFS?
994 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
997 Whether to monitor the NFS kernel server thread count.
1000 This works around a limitation in some NFS initscripts
1001 where some threads can be stuck in host filesystem calls
1002 (perhaps due to slow storage), a restart occurs, some
1003 threads don't exit, the start only adds the missing
1004 number of threads, the stuck threads exit, and the
1005 result is a lower than expected thread count. Note that
1006 if you must also set <varname>RPCNFSDCOUNT</varname>
1007 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
1008 (SUSE) in your NFS configuration so the monitoring code
1009 knows how many threads there should be - if neither of
1010 these are set then this option will be ignored.
1019 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
1022 NUM is the number of NFS kernel server threads to dump
1023 stack traces for if some are still alive after stopping
1024 NFS during a restart.
1027 Default is 5. Set this to 0 to disable this feature.
1033 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
1036 Selects which NFS server to be managed.
1039 This replaces the deprecated variable
1040 <varname>NFS_SERVER_MODE</varname>.
1043 Default is "kernel".
1049 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1052 During monitoring, should CTDB skip the
1053 <command>rpcinfo</command> check that is used to see if
1054 the NFS kernel server is functional.
1063 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1066 As part of monitoring, should CTDB skip the check for
1067 the existence of each directory exported via NFS. This
1068 may be desirable if there is a large number of exports.
1077 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1080 IPADDR or HOSTNAME indicates the address that
1081 <command>rpcinfo</command> should connect to when doing
1082 <command>rpcinfo</command> check on RPC service during
1083 monitoring. Optimally this would be "localhost".
1084 However, this can add some performance overheads.
1087 Default is "127.0.0.1".
1093 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1096 As part of monitoring, should CTDB skip the check for
1097 the existence of each directory exported via
1098 NFS-Ganesha. This may be desirable if there is a large
1112 <title>APACHE HTTPD</title>
1115 CTDB can manage the Apache web server.
1119 <title>Eventscript</title>
1122 <member><filename>41.httpd</filename></member>
1128 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1131 Should CTDB manage the Apache web server?
1142 <title>CLAMAV</title>
1145 CTDB has support to manage the popular anti-virus daemon
1150 <title>Eventscript</title>
1153 <member><filename>31.clamd</filename></member>
1157 This eventscript is not enabled by default. Use
1158 <command>ctdb enablescript</command> to enable it.
1166 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1169 Should CTDB manage ClamAV?
1178 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1181 FILENAME is the socket to monitor ClamAV.
1194 <title>ISCSI</title>
1197 CTDB has support for managing the Linux iSCSI tgtd service.
1201 <title>Eventscript</title>
1204 <member><filename>70.iscsi</filename></member>
1211 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1214 Should CTDB manage iSCSI tgtd?
1223 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1226 DIRECTORY on shared storage containing scripts to start
1227 tgtd for each public IP address.
1238 <title>MULTIPATHD</title>
1241 CTDB can monitor multipath devices to ensure that active paths
1246 <title>Eventscript</title>
1249 <member><filename>20.multipathd</filename></member>
1253 This eventscript is not enabled by default. Use
1254 <command>ctdb enablescript</command> to enable it.
1260 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1263 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1274 <title>VSFTPD</title>
1277 CTDB can manage the vsftpd FTP server.
1281 <title>Eventscript</title>
1284 <member><filename>40.vsftpd</filename></member>
1290 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1293 Should CTDB manage the vsftpd FTP server?
1305 SYSTEM RESOURCE MONITORING CONFIGURATION
1309 CTDB can experience seemingly random (performance and other)
1310 issues if system resources become too contrained. Options in
1311 this section can be enabled to allow certain system resources to
1316 <title>Eventscripts</title>
1319 <member><filename>00.ctdb</filename></member>
1320 <member><filename>40.fs_use</filename></member>
1324 Filesystem usage monitoring is in
1325 <filename>40.fs_use</filename>. This eventscript is not
1326 enabled by default. Use <command>ctdb
1327 enablescript</command> to enable it.
1334 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1337 FS-LIMIT-LIST is a space-separated list of
1338 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1339 pairs indicating that a node should be flagged unhealthy
1340 if the space used on FILESYSTEM reaches LIMIT%.
1348 Note that this feature uses the
1349 <filename>40.fs_use</filename> eventscript, which is not
1350 enabled by default. Use <command>ctdb
1351 enablescript</command> to enable it.
1357 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1360 Should a warning be logged if swap space is in use.
1369 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1372 NUM is a lower limit on available system memory, expressed
1373 in megabytes. If this is set and the amount of available
1374 memory falls below this limit then some debug information
1375 will be logged, the node will be disabled and then CTDB
1385 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1388 NUM is a lower limit on available system memory, expressed
1389 in megabytes. If this is set and the amount of available
1390 memory falls below this limit then a warning will be
1403 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1408 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1411 SERVICE-LIST is a space-separated list of SERVICEs that
1412 CTDB should manage. This can be used as an alternative
1414 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1424 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1427 When CTDB should start and stop services if they become
1428 managed or unmanaged.
1444 TUNABLES CONFIGURATION
1449 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1450 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1451 configuration file. They are set as follows:
1454 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1461 <screen format="linespecific">
1462 CTDB_SET_MonitorInterval=20
1473 Variable in this section are for debugging and testing CTDB.
1474 They should not generally be needed.
1480 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1483 FILENAME is a script to run to log debug information when
1484 an event script times out.
1487 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1493 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1496 FILENAME specifies where log messages should go when
1497 debugging hung eventscripts. This is a testing option.
1498 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1501 No default. Messages go to stdout/stderr and are logged
1502 to the same place as other CTDB log messages.
1508 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1511 REGEXP specifies interesting processes for which stack
1512 traces should be logged when debugging hung eventscripts
1513 and those processes are matched in pstree output. See
1514 also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1517 Default is "exportfs\|rpcinfo".
1523 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1526 FILENAME is a script to run to log debug information when
1527 an CTDB fails to freeze databases during recovery.
1531 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1537 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1540 DIRECTORY containing system configuration files. This is
1541 used to provide alternate configuration when testing and
1542 should not need to be changed from the default.
1545 Default is <filename>/etc</filename>.
1551 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1554 This is the init style used by the Linux distribution (or
1555 other operating system) being used. This is usually
1556 determined dynamically by checking the system. This
1557 variable is used by the initscript to determine which init
1558 system primitives to use. It is also used by some
1559 eventscripts to choose the name of initscripts for certain
1560 services, since these can vary between distributions.
1566 If this option needs to be changed from the calculated
1567 default for the initscript to function properly, then it
1568 must be set in the distribution-specific initscript
1569 configuration, such as
1570 <filename>/etc/sysconfig/ctdb</filename>
1576 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1579 NUM is the maximum number of volatile TDB database backups
1580 to be kept (for each database) when a corrupt database is
1581 found during startup. Volatile TDBs are zeroed during
1582 startup so backups are needed to debug any corruption that
1583 occurs before a restart.
1592 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1595 FILENAME is a script fragment to be sourced by the
1596 <filename>functions</filename> that is sourced by scripts.
1597 On example use would be to override function definitions
1598 in unit tests. As a sanity check, this file must be
1599 executable for it to be used.
1608 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1611 Whether CTDB should simulate timing out monitor events.
1612 This uses the <filename>99.timeout</filename> eventscript.
1621 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1624 NUM is the level debugging messages printed by CTDB
1625 scripts. Setting this to a higher number (e.g. 4) will
1626 cause some scripts to log more messages.
1635 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1638 Whether CTDB core files should be suppressed.
1647 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1650 If "yes", this causes
1651 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1652 <manvolnum>1</manvolnum></citerefentry> to be run under
1653 <citerefentry><refentrytitle>valgrind</refentrytitle>
1654 <manvolnum>1</manvolnum></citerefentry> with logs going to
1655 <filename>/var/log/ctdb_valgrind</filename>. If neither
1656 "yes" nor "no" then the value is assumed to be a COMMAND
1657 (e.g. a <command>valgrind</command> variation, a
1658 <citerefentry><refentrytitle>gdb</refentrytitle>
1659 <manvolnum>1</manvolnum></citerefentry> command) that is
1660 used in place of the default <command>valgrind</command>
1661 command. In either case, the <option>--valgrind</option>
1662 option is passed to <command>ctdbd</command>.
1676 <title>FILES</title>
1679 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1680 <member><filename>/etc/sysconfig/ctdb</filename></member>
1681 <member><filename>/etc/default/ctdb</filename></member>
1682 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1687 <title>SEE ALSO</title>
1689 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1690 <manvolnum>1</manvolnum></citerefentry>,
1692 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1693 <manvolnum>1</manvolnum></citerefentry>,
1695 <citerefentry><refentrytitle>onnode</refentrytitle>
1696 <manvolnum>1</manvolnum></citerefentry>,
1698 <citerefentry><refentrytitle>ctdb</refentrytitle>
1699 <manvolnum>7</manvolnum></citerefentry>,
1701 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1702 <manvolnum>7</manvolnum></citerefentry>,
1704 <ulink url="http://ctdb.samba.org/"/>
1711 This documentation was written by
1719 <holder>Andrew Tridgell</holder>
1720 <holder>Ronnie Sahlberg</holder>
1724 This program is free software; you can redistribute it and/or
1725 modify it under the terms of the GNU General Public License as
1726 published by the Free Software Foundation; either version 3 of
1727 the License, or (at your option) any later version.
1730 This program is distributed in the hope that it will be
1731 useful, but WITHOUT ANY WARRANTY; without even the implied
1732 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1733 PURPOSE. See the GNU General Public License for more details.
1736 You should have received a copy of the GNU General Public
1737 License along with this program; if not, see
1738 <ulink url="http://www.gnu.org/licenses"/>.