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
279 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
282 No default. Corresponds to "<option>--lvs</option>
283 <option>--single-public-ip IPADDR"</option>.
289 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
292 Default is <varname>CTDB_BASE</varname>/nodes, so usually
293 <filename>/etc/ctdb/nodes</filename>. Corresponds to
294 <option>--nlist</option>.
300 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
304 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
305 <option>--notification-script</option>.
311 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
314 Default 0. Corresponds to
315 <option>--max-persistent-check-errors</option>.
321 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
325 <filename>/etc/ctdb/public_addresses</filename>.
326 Corresponds to <option>--public-addresses</option>.
332 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
335 No default. Corresponds to
336 <option>--public-interface</option>.
342 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
346 <filename>/some/place/on/shared/storage</filename>, which
347 should be change to a useful value. Corresponds to
348 <option>--reclock</option>.
354 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
357 Defaults to ERR (0). Corresponds to
358 <option>--script-log-level</option>.
364 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
367 Defaults to <filename>/tmp/ctdb.socket</filename>.
368 Corresponds to <option>--socket</option>.
371 If you change this then you probably want to set this in
372 root's enviroment (perhaps in a file in
373 <filename>/etc/profile.d</filename>) so that you can use
374 the <citerefentry><refentrytitle>ctdb</refentrytitle>
375 <manvolnum>1</manvolnum></citerefentry> command in a
376 straightforward manner.
382 <term>CTDB_START_AS_DISABLED=yes|no</term>
385 Default is no. Corresponds to
386 <option>--start-as-disabled</option>.
392 <term>CTDB_START_AS_STOPPED=yes|no</term>
395 Default is no. Corresponds to
396 <option>--start-as-stopped</option>.
402 <term>CTDB_TRANSPORT=tcp|infiniband</term>
405 Defaults to tcp. Corresponds to
406 <option>--transport</option>.
414 While the following variables do not translate into daemon
415 options they are used by
416 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
417 <manvolnum>1</manvolnum></citerefentry> when starting and
418 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
419 <manvolnum>1</manvolnum></citerefentry>.
425 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
428 NUM is the number of seconds to wait for
429 <citerefentry><refentrytitle>ctdbd</refentrytitle>
430 <manvolnum>1</manvolnum></citerefentry> to shut down
431 gracefully before giving up and killing it.
441 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
444 NUM is the number of seconds to wait for
445 <citerefentry><refentrytitle>ctdbd</refentrytitle>
446 <manvolnum>1</manvolnum></citerefentry> complete early
447 initialisation up to a point where it is unlikely to
448 abort. If <command>ctdbd</command> doesn't complete the
449 "setup" event before this timeout then it is killed.
462 <title>NETWORK CONFIGURATION</title>
465 <title>NAT GATEWAY</title>
468 NAT gateway is used to configure fallback routing for nodes
469 when they do not host any public IP addresses. For example,
470 it allows unhealthy nodes to reliably communicate with
471 external infrastructure. One node in a NAT gateway group will
472 be designated as the NAT gateway master node and other (slave)
473 nodes will be configured with fallback routes via the NAT
474 gateway master node. For more information, see the
475 <citetitle>NAT GATEWAY</citetitle> section in
476 <citerefentry><refentrytitle>ctdb</refentrytitle>
477 <manvolnum>7</manvolnum></citerefentry>.
483 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
486 IPADDR is an alternate network gateway to use on the NAT
487 gateway master node. If set, a fallback default route
488 is added via this network gateway.
491 No default. Setting this variable is optional - if not
492 set that no route is created on the NAT gateway master
499 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
502 FILENAME contains the list of nodes that belong to the
503 same NAT gateway group.
508 <parameter>IPADDR</parameter>
513 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
519 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
522 IPADDR/MASK is the private sub-network that is
523 internally routed via the NAT gateway master node. This
524 is usually the private network that is used for node
534 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
537 IFACE is the network interface on which the
538 CTDB_NATGW_PUBLIC_IP will be configured.
547 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
550 IPADDR/MASK indicates the IP address that is used for
551 outgoing traffic (originating from
552 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
553 node. This <emphasis>must not</emphasis> be a
554 configured public IP address.
563 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
566 When set to "yes" a node can not be a NAT gateway master
568 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
569 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
579 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
582 Each IPADDR/MASK identifies a network or host to which
583 NATGW should create a fallback route, instead of
584 creating a single default route. This can be used when
585 there is already a default route, via an interface that
586 can not reach required infrastructure, that overrides
587 the NAT gateway default route.
590 If GATEWAY is specified then the corresponding route on
591 the NATGW master node will be via GATEWAY. Such routes
593 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
594 specified. If GATEWAY is not specified for some
595 networks then routes are only created on the NATGW
596 master node for those networks if
597 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
601 This should be used with care to avoid causing traffic
602 to unnecessarily double-hop through the NAT gateway
603 master, even when a node is hosting public IP addresses.
604 Each specified network or host should probably have a
605 corresponding automatically created link route or static
617 <title>Example</title>
619 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
620 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
621 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
622 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
623 CTDB_NATGW_PUBLIC_IFACE=eth0
627 A variation that ensures that infrastructure (ADS, DNS, ...)
628 directly attached to the public network (10.0.0.0/24) is
629 always reachable would look like this:
632 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
633 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
634 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
635 CTDB_NATGW_PUBLIC_IFACE=eth0
636 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
639 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
647 <title>POLICY ROUTING</title>
650 A node running CTDB may be a component of a complex network
651 topology. In particular, public addresses may be spread
652 across several different networks (or VLANs) and it may not be
653 possible to route packets from these public addresses via the
654 system's default route. Therefore, CTDB has support for
655 policy routing via the <filename>13.per_ip_routing</filename>
656 eventscript. This allows routing to be specified for packets
657 sourced from each public address. The routes are added and
658 removed as CTDB moves public addresses between nodes.
662 For more information, see the <citetitle>POLICY
663 ROUTING</citetitle> section in
664 <citerefentry><refentrytitle>ctdb</refentrytitle>
665 <manvolnum>7</manvolnum></citerefentry>.
670 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
673 FILENAME contains elements for constructing the desired
674 routes for each source address.
678 The special FILENAME value
679 <constant>__auto_link_local__</constant> indicates that no
680 configuration file is provided and that CTDB should
681 generate reasonable link-local routes for each public IP
688 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
694 <filename>/etc/ctdb/policy_routing</filename> when enabled.
700 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
703 NUM sets the priority (or preference) for the routing
704 rules that are added by CTDB.
708 This should be (strictly) greater than 0 and (strictly)
709 less than 32766. A priority of 100 is recommended, unless
710 this conflicts with a priority already in use on the
712 <citerefentry><refentrytitle>ip</refentrytitle>
713 <manvolnum>8</manvolnum></citerefentry>, for more details.
720 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
721 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
725 CTDB determines a unique routing table number to use for
726 the routing related to each public address. LOW-NUM and
727 HIGH-NUM indicate the minimum and maximum routing table
728 numbers that are used.
732 <citerefentry><refentrytitle>ip</refentrytitle>
733 <manvolnum>8</manvolnum></citerefentry> uses some
734 reserved routing table numbers below 255. Therefore,
735 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
740 CTDB uses the standard file
741 <filename>/etc/iproute2/rt_tables</filename> to maintain
742 a mapping between the routing table numbers and labels.
743 The label for a public address
744 <replaceable>ADDR</replaceable> will look like
745 ctdb.<replaceable>addr</replaceable>. This means that
746 the associated rules and routes are easy to read (and
751 No default, usually 1000 and 9000.
758 <title>Example</title>
760 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
761 CTDB_PER_IP_ROUTING_RULE_PREF=100
762 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
763 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
770 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
775 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
778 Whether one or more offline interfaces should cause a
779 monitor event to fail if there are other interfaces that
780 are up. If this is "yes" and a node has some interfaces
781 that are down then <command>ctdb status</command> will
782 display the node as "PARTIALLYONLINE".
797 <title>SERVICE CONFIGURATION</title>
800 CTDB can be configured to manage and/or monitor various NAS (and
801 other) services via its eventscripts.
805 In the simplest case CTDB will manage a service. This means the
806 service will be started and stopped along with CTDB, CTDB will
807 monitor the service and CTDB will do any required
808 reconfiguration of the service when public IP addresses are
816 <title>Eventscripts</title>
819 <member><filename>49.winbind</filename></member>
820 <member><filename>50.samba</filename></member>
827 <term>CTDB_MANAGES_SAMBA=yes|no</term>
830 Should CTDB manage Samba?
839 <term>CTDB_MANAGES_WINBIND=yes|no</term>
842 Should CTDB manage Winbind?
851 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
854 When monitoring Samba, check TCP ports in
855 space-separated PORT-LIST.
858 Default is to monitor ports that Samba is configured to listen on.
864 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
867 As part of monitoring, should CTDB skip the check for
868 the existence of each directory configured as share in
869 Samba. This may be desirable if there is a large number
879 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
882 Distribution specific SERVICE for managing nmbd.
885 Default is distribution-dependant.
890 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
893 Distribution specific SERVICE for managing smbd.
896 Default is distribution-dependant.
902 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
905 Distribution specific SERVICE for managing winbindd.
908 Default is "winbind".
921 This includes parameters for the kernel NFS server and the
923 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
928 <title>Eventscripts</title>
931 <member><filename>60.nfs</filename></member>
932 <member><filename>60.ganesha</filename></member>
939 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
942 The type of cluster filesystem to use with NFS-ganesha.
943 Currently only "gpfs" is supported.
952 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
955 SUBDIR is the name of a top-level subdirectory in the
956 first cluster filesystem. This subdirectory is used to
957 allow communication between NFS-Ganesha and the
958 <filename>60.ganesha</filename> script.
961 Default is ".ganesha".
967 <term>CTDB_MANAGES_NFS=yes|no</term>
970 Should CTDB manage NFS?
979 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
982 Whether to monitor the NFS kernel server thread count.
985 This works around a limitation in some NFS initscripts
986 where some threads can be stuck in host filesystem calls
987 (perhaps due to slow storage), a restart occurs, some
988 threads don't exit, the start only adds the missing
989 number of threads, the stuck threads exit, and the
990 result is a lower than expected thread count. Note that
991 if you must also set <varname>RPCNFSDCOUNT</varname>
992 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
993 (SUSE) in your NFS configuration so the monitoring code
994 knows how many threads there should be - if neither of
995 these are set then this option will be ignored.
1004 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
1007 NUM is the number of NFS kernel server threads to dump
1008 stack traces for if some are still alive after stopping
1009 NFS during a restart.
1012 Default is 5. Set this to 0 to disable this feature.
1018 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
1021 Selects which NFS server to be managed.
1024 This replaces the deprecated variable
1025 <varname>NFS_SERVER_MODE</varname>.
1028 Default is "kernel".
1034 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1037 During monitoring, should CTDB skip the
1038 <command>rpcinfo</command> check that is used to see if
1039 the NFS kernel server is functional.
1048 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1051 As part of monitoring, should CTDB skip the check for
1052 the existence of each directory exported via NFS. This
1053 may be desirable if there is a large number of exports.
1062 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1065 IPADDR or HOSTNAME indicates the address that
1066 <command>rpcinfo</command> should connect to when doing
1067 <command>rpcinfo</command> check on RPC service during
1068 monitoring. Optimally this would be "localhost".
1069 However, this can add some performance overheads.
1072 Default is "127.0.0.1".
1078 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1081 As part of monitoring, should CTDB skip the check for
1082 the existence of each directory exported via
1083 NFS-Ganesha. This may be desirable if there is a large
1097 <title>APACHE HTTPD</title>
1100 CTDB can manage the Apache web server.
1104 <title>Eventscript</title>
1107 <member><filename>41.httpd</filename></member>
1113 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1116 Should CTDB manage the Apache web server?
1127 <title>CLAMAV</title>
1130 CTDB has support to manage the popular anti-virus daemon
1135 <title>Eventscript</title>
1138 <member><filename>31.clamd</filename></member>
1142 This eventscript is not enabled by default. Use
1143 <command>ctdb enablescript</command> to enable it.
1151 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1154 Should CTDB manage ClamAV?
1163 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1166 FILENAME is the socket to monitor ClamAV.
1179 <title>ISCSI</title>
1182 CTDB has support for managing the Linux iSCSI tgtd service.
1186 <title>Eventscript</title>
1189 <member><filename>70.iscsi</filename></member>
1196 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1199 Should CTDB manage iSCSI tgtd?
1208 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1211 DIRECTORY on shared storage containing scripts to start
1212 tgtd for each public IP address.
1223 <title>MULTIPATHD</title>
1226 CTDB can monitor multipath devices to ensure that active paths
1231 <title>Eventscript</title>
1234 <member><filename>20.multipathd</filename></member>
1238 This eventscript is not enabled by default. Use
1239 <command>ctdb enablescript</command> to enable it.
1245 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1248 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1259 <title>VSFTPD</title>
1262 CTDB can manage the vsftpd FTP server.
1266 <title>Eventscript</title>
1269 <member><filename>40.vsftpd</filename></member>
1275 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1278 Should CTDB manage the vsftpd FTP server?
1290 SYSTEM RESOURCE MONITORING CONFIGURATION
1294 CTDB can experience seemingly random (performance and other)
1295 issues if system resources become too contrained. Options in
1296 this section can be enabled to allow certain system resources to
1301 <title>Eventscripts</title>
1304 <member><filename>00.ctdb</filename></member>
1305 <member><filename>40.fs_use</filename></member>
1309 Filesystem usage monitoring is in
1310 <filename>40.fs_use</filename>. This eventscript is not
1311 enabled by default. Use <command>ctdb
1312 enablescript</command> to enable it.
1319 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1322 FS-LIMIT-LIST is a space-separated list of
1323 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1324 pairs indicating that a node should be flagged unhealthy
1325 if the space used on FILESYSTEM reaches LIMIT%.
1333 Note that this feature uses the
1334 <filename>40.fs_use</filename> eventscript, which is not
1335 enabled by default. Use <command>ctdb
1336 enablescript</command> to enable it.
1342 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1345 Should a warning be logged if swap space is in use.
1354 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1357 NUM is a lower limit on available system memory, expressed
1358 in megabytes. If this is set and the amount of available
1359 memory falls below this limit then some debug information
1360 will be logged, the node will be disabled and then CTDB
1370 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1373 NUM is a lower limit on available system memory, expressed
1374 in megabytes. If this is set and the amount of available
1375 memory falls below this limit then a warning will be
1388 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1393 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1396 SERVICE-LIST is a space-separated list of SERVICEs that
1397 CTDB should manage. This can be used as an alternative
1399 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1409 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1412 When CTDB should start and stop services if they become
1413 managed or unmanaged.
1429 TUNABLES CONFIGURATION
1434 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1435 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1436 configuration file. They are set as follows:
1439 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1446 <screen format="linespecific">
1447 CTDB_SET_MonitorInterval=20
1458 Variable in this section are for debugging and testing CTDB.
1459 They should not generally be needed.
1465 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1468 FILENAME is a script to run to log debug information when
1469 an event script times out.
1472 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1478 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1481 FILENAME specifies where log messages should go when
1482 debugging hung eventscripts. This is a testing option.
1483 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1486 No default. Messages go to stdout/stderr and are logged
1487 to the same place as other CTDB log messages.
1493 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1496 REGEXP specifies interesting processes for which stack
1497 traces should be logged when debugging hung eventscripts
1498 and those processes are matched in pstree output. See
1499 also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1502 Default is "exportfs\|rpcinfo".
1508 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1511 FILENAME is a script to run to log debug information when
1512 an CTDB fails to freeze databases during recovery.
1516 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1522 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1525 DIRECTORY containing system configuration files. This is
1526 used to provide alternate configuration when testing and
1527 should not need to be changed from the default.
1530 Default is <filename>/etc</filename>.
1536 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1539 This is the init style used by the Linux distribution (or
1540 other operating system) being used. This is usually
1541 determined dynamically by checking the system. This
1542 variable is used by the initscript to determine which init
1543 system primitives to use. It is also used by some
1544 eventscripts to choose the name of initscripts for certain
1545 services, since these can vary between distributions.
1551 If this option needs to be changed from the calculated
1552 default for the initscript to function properly, then it
1553 must be set in the distribution-specific initscript
1554 configuration, such as
1555 <filename>/etc/sysconfig/ctdb</filename>
1561 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1564 NUM is the maximum number of volatile TDB database backups
1565 to be kept (for each database) when a corrupt database is
1566 found during startup. Volatile TDBs are zeroed during
1567 startup so backups are needed to debug any corruption that
1568 occurs before a restart.
1577 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1580 FILENAME is a script fragment to be sourced by the
1581 <filename>functions</filename> that is sourced by scripts.
1582 On example use would be to override function definitions
1583 in unit tests. As a sanity check, this file must be
1584 executable for it to be used.
1593 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1596 Whether CTDB should simulate timing out monitor events.
1597 This uses the <filename>99.timeout</filename> eventscript.
1606 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1609 NUM is the level debugging messages printed by CTDB
1610 scripts. Setting this to a higher number (e.g. 4) will
1611 cause some scripts to log more messages.
1620 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1623 Whether CTDB core files should be suppressed.
1632 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1635 If "yes", this causes
1636 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1637 <manvolnum>1</manvolnum></citerefentry> to be run under
1638 <citerefentry><refentrytitle>valgrind</refentrytitle>
1639 <manvolnum>1</manvolnum></citerefentry> with logs going to
1640 <filename>/var/log/ctdb_valgrind</filename>. If neither
1641 "yes" nor "no" then the value is assumed to be a COMMAND
1642 (e.g. a <command>valgrind</command> variation, a
1643 <citerefentry><refentrytitle>gdb</refentrytitle>
1644 <manvolnum>1</manvolnum></citerefentry> command) that is
1645 used in place of the default <command>valgrind</command>
1646 command. In either case, the <option>--valgrind</option>
1647 option is passed to <command>ctdbd</command>.
1661 <title>FILES</title>
1664 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1665 <member><filename>/etc/sysconfig/ctdb</filename></member>
1666 <member><filename>/etc/default/ctdb</filename></member>
1667 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1672 <title>SEE ALSO</title>
1674 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1675 <manvolnum>1</manvolnum></citerefentry>,
1677 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1678 <manvolnum>1</manvolnum></citerefentry>,
1680 <citerefentry><refentrytitle>onnode</refentrytitle>
1681 <manvolnum>1</manvolnum></citerefentry>,
1683 <citerefentry><refentrytitle>ctdb</refentrytitle>
1684 <manvolnum>7</manvolnum></citerefentry>,
1686 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1687 <manvolnum>7</manvolnum></citerefentry>,
1689 <ulink url="http://ctdb.samba.org/"/>
1696 This documentation was written by
1704 <holder>Andrew Tridgell</holder>
1705 <holder>Ronnie Sahlberg</holder>
1709 This program is free software; you can redistribute it and/or
1710 modify it under the terms of the GNU General Public License as
1711 published by the Free Software Foundation; either version 3 of
1712 the License, or (at your option) any later version.
1715 This program is distributed in the hope that it will be
1716 useful, but WITHOUT ANY WARRANTY; without even the implied
1717 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1718 PURPOSE. See the GNU General Public License for more details.
1721 You should have received a copy of the GNU General Public
1722 License along with this program; if not, see
1723 <ulink url="http://www.gnu.org/licenses"/>.