1 <?xml version="1.0" encoding="iso-8859-1"?>
3 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
4 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
6 <refentry id="ctdbd.conf.5">
9 <refentrytitle>ctdbd.conf</refentrytitle>
10 <manvolnum>5</manvolnum>
11 <refmiscinfo class="source">ctdb</refmiscinfo>
12 <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
16 <refname>ctdbd.conf</refname>
17 <refpurpose>CTDB daemon configuration file</refpurpose>
21 <title>DESCRIPTION</title>
24 This file contains CTDB configuration variables that are affect
25 the operation of CTDB. The default location of this file is
26 <filename>/etc/ctdb/ctdbd.conf</filename>.
30 This file is a shell script (see
31 <citerefentry><refentrytitle>sh</refentrytitle>
32 <manvolnum>1</manvolnum></citerefentry>) but is usually limited
33 to simple variable assignments and shell-style comments.
37 CTDB configuration variables are grouped into several categories below.
41 Variables defined in this document can also be set in a
42 distribution-specific configuration file such as
43 <filename>/etc/sysconfig/ctdb</filename> (Red Hat) or
44 <filename>/etc/default/ctdb</filename> (Debian). However, these
45 files should be reserved for variables used by the initscript.
46 A historical alternative is
47 <filename>/etc/ctdb/sysconfig/ctdb</filename> - this is
55 INITSCRIPT CONFIGURATION
59 Some options must be available to the initscript so they need to
60 be set in the distribution-specific initscript configuration,
61 such as <filename>/etc/sysconfig/ctdb</filename> or
62 <filename>/etc/default/ctdb</filename>.
68 <term>CTDB_PIDFILE=<parameter>FILENAME</parameter></term>
71 FILENAME is the name of the file used to contain the
72 process ID (PID) of the main CTDB daemon when it is
73 running. This is passed from the initscript to
74 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
75 <manvolnum>1</manvolnum></citerefentry>.
79 Default is <filename>/var/run/ctdb/ctdbd.pid</filename>.
80 Corresponds to <option>--pidfile</option>.
94 These options may be used in the initscripts, daemon and
101 <term>CTDB_BASE=<parameter>DIRECTORY</parameter></term>
104 DIRECTORY containing CTDB scripts and configuration files.
110 <term>CTDB_VARDIR=<parameter>DIRECTORY</parameter></term>
113 DIRECTORY containing CTDB files that are modified at
117 Defaults to <filename>/var/ctdb</filename>, unless
118 <filename>/var/lib/ctdb</filename> already exists in which
134 Variables in this section are processed by
135 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
136 <manvolnum>1</manvolnum></citerefentry> and are converted into
137 command-line arguments to
138 <citerefentry><refentrytitle>ctdbd</refentrytitle>
139 <manvolnum>1</manvolnum></citerefentry>. Correspondence with
140 <citerefentry><refentrytitle>ctdbd</refentrytitle>
141 <manvolnum>1</manvolnum></citerefentry> options is shown for
142 each variable. The the documentation for the relevant options
147 Many of these variables are also used by event scripts.
153 <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
156 Defaults to yes. Corresponds to <option>--no-lmaster</option>.
162 <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
165 Defaults to yes. Corresponds to
166 <option>--no-recmaster</option>.
172 <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
175 Defaults to <varname>CTDB_VARDIR</varname>. Corresponds to
176 <option>--dbdir</option>.
182 <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
185 Defaults to <varname>CTDB_VARDIR</varname>/persistent.
186 Corresponds to <option>--dbdir-persistent</option>.
192 <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
195 Defaults to <varname>CTDB_VARDIR</varname>/state.
196 Corresponds to <option>--dbdir-state</option>.
202 <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
205 Default is NOTICE (2). Corresponds to <option>-d</option> or
206 <option>--debug</option>.
212 <term>CTDB_EVENT_SCRIPT_DIR=<parameter>DIRECTORY</parameter></term>
215 Default is <varname>CTDB_BASE</varname>/events.d, so usually
216 <filename>/etc/ctdb/events.d</filename>. Corresponds to
217 <option>--event-script-dir</option>.
223 <term>CTDB_LOGGING=<parameter>STRING</parameter></term>
226 STRING specifies where ctdbd will write its log. The
227 default is file:<filename>/var/log/log.ctdb</filename> or
228 similar - the prefix may differ depending on how CTDB was
229 built. Corresponds to <option>--logging</option>.
236 <term>file:<parameter>FILENAME</parameter></term>
239 FILENAME where ctdbd will write its log. This is usually
240 <filename>/var/log/log.ctdb</filename>.
245 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
248 CTDB will log to syslog. By default this will use
252 If METHOD is specified then it specifies an
253 extension that causes logging to be done in a
254 non-blocking fashion. This can be useful under
255 heavy loads that might cause the syslog daemon to
256 dequeue messages too slowly, which would otherwise
257 cause CTDB to block when logging. METHOD must be
262 <term>nonblocking</term>
265 CTDB will log to syslog via
266 <filename>/dev/log</filename> in non-blocking
275 CTDB will log to syslog via UDP to
276 localhost:514. The syslog daemon must be
277 configured to listen on (at least)
278 localhost:514. Most implementations will log
279 the messages against hostname "localhost" -
280 this is a limit of the implementation for
281 compatibility with more syslog daemon
287 <term>udp-rfc5424</term>
290 As with "udp" but messages are sent in RFC5424
291 format. This method will log the correct
292 hostname but is not as widely implemented in
305 <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
308 No default. Corresponds to "<option>--lvs</option>
309 <option>--single-public-ip IPADDR"</option>.
315 <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
318 Default is <varname>CTDB_BASE</varname>/nodes, so usually
319 <filename>/etc/ctdb/nodes</filename>. Corresponds to
320 <option>--nlist</option>.
326 <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
330 <filename>/etc/ctdb/notify.sh</filename>. Corresponds to
331 <option>--notification-script</option>.
337 <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
340 Default 0. Corresponds to
341 <option>--max-persistent-check-errors</option>.
347 <term>CTDB_NODE_ADDRESS=<parameter>FILENAME</parameter></term>
350 IPADDR is the private IP address that ctdbd will bind to.
351 Corresponds to <option>--listen</option>.
354 By default ctdbd will select the first address from the
355 nodes list that in can bind to. See also
356 <citetitle>CTDB_NODES</citetitle>.
359 This option is only required when automatic address
360 detection can not be used. This can be the case when
361 running multiple ctdbd daemons/nodes on the same physical
362 host (usually for testing), using InfiniBand for the
363 private network or on Linux when sysctl
364 net.ipv4.ip_nonlocal_bind=1.
370 <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
374 <filename>/etc/ctdb/public_addresses</filename>.
375 Corresponds to <option>--public-addresses</option>.
381 <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
384 No default. Corresponds to
385 <option>--public-interface</option>.
391 <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
395 <filename>/some/place/on/shared/storage</filename>, which
396 should be change to a useful value. Corresponds to
397 <option>--reclock</option>.
400 For information about the recovery lock please see the
401 <citetitle>RECOVERY LOCK</citetitle> section in
402 <citerefentry><refentrytitle>ctdb</refentrytitle>
403 <manvolnum>7</manvolnum></citerefentry>.
409 <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
412 Defaults to ERR (0). Corresponds to
413 <option>--script-log-level</option>.
419 <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
422 Defaults to <filename>/tmp/ctdb.socket</filename>.
423 Corresponds to <option>--socket</option>.
426 If you change this then you probably want to set this in
427 root's enviroment (perhaps in a file in
428 <filename>/etc/profile.d</filename>) so that you can use
429 the <citerefentry><refentrytitle>ctdb</refentrytitle>
430 <manvolnum>1</manvolnum></citerefentry> command in a
431 straightforward manner.
437 <term>CTDB_START_AS_DISABLED=yes|no</term>
440 Default is no. Corresponds to
441 <option>--start-as-disabled</option>.
447 <term>CTDB_START_AS_STOPPED=yes|no</term>
450 Default is no. Corresponds to
451 <option>--start-as-stopped</option>.
457 <term>CTDB_TRANSPORT=tcp|infiniband</term>
460 Defaults to tcp. Corresponds to
461 <option>--transport</option>.
469 While the following variables do not translate into daemon
470 options they are used by
471 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
472 <manvolnum>1</manvolnum></citerefentry> when starting and
473 stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
474 <manvolnum>1</manvolnum></citerefentry>.
480 <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
483 NUM is the number of seconds to wait for
484 <citerefentry><refentrytitle>ctdbd</refentrytitle>
485 <manvolnum>1</manvolnum></citerefentry> to shut down
486 gracefully before giving up and killing it.
496 <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
499 NUM is the number of seconds to wait for
500 <citerefentry><refentrytitle>ctdbd</refentrytitle>
501 <manvolnum>1</manvolnum></citerefentry> complete early
502 initialisation up to a point where it is unlikely to
503 abort. If <command>ctdbd</command> doesn't complete the
504 "setup" event before this timeout then it is killed.
517 <title>NETWORK CONFIGURATION</title>
520 <title>NAT GATEWAY</title>
523 NAT gateway is used to configure fallback routing for nodes
524 when they do not host any public IP addresses. For example,
525 it allows unhealthy nodes to reliably communicate with
526 external infrastructure. One node in a NAT gateway group will
527 be designated as the NAT gateway master node and other (slave)
528 nodes will be configured with fallback routes via the NAT
529 gateway master node. For more information, see the
530 <citetitle>NAT GATEWAY</citetitle> section in
531 <citerefentry><refentrytitle>ctdb</refentrytitle>
532 <manvolnum>7</manvolnum></citerefentry>.
538 <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
541 IPADDR is an alternate network gateway to use on the NAT
542 gateway master node. If set, a fallback default route
543 is added via this network gateway.
546 No default. Setting this variable is optional - if not
547 set that no route is created on the NAT gateway master
554 <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
557 FILENAME contains the list of nodes that belong to the
558 same NAT gateway group.
563 <parameter>IPADDR</parameter>
568 <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
574 <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
577 IPADDR/MASK is the private sub-network that is
578 internally routed via the NAT gateway master node. This
579 is usually the private network that is used for node
589 <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
592 IFACE is the network interface on which the
593 CTDB_NATGW_PUBLIC_IP will be configured.
602 <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
605 IPADDR/MASK indicates the IP address that is used for
606 outgoing traffic (originating from
607 CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
608 node. This <emphasis>must not</emphasis> be a
609 configured public IP address.
618 <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
621 When set to "yes" a node can not be a NAT gateway master
623 <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
624 <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
634 <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
637 Each IPADDR/MASK identifies a network or host to which
638 NATGW should create a fallback route, instead of
639 creating a single default route. This can be used when
640 there is already a default route, via an interface that
641 can not reach required infrastructure, that overrides
642 the NAT gateway default route.
645 If GATEWAY is specified then the corresponding route on
646 the NATGW master node will be via GATEWAY. Such routes
648 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
649 specified. If GATEWAY is not specified for some
650 networks then routes are only created on the NATGW
651 master node for those networks if
652 <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
656 This should be used with care to avoid causing traffic
657 to unnecessarily double-hop through the NAT gateway
658 master, even when a node is hosting public IP addresses.
659 Each specified network or host should probably have a
660 corresponding automatically created link route or static
672 <title>Example</title>
674 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
675 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
676 CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
677 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
678 CTDB_NATGW_PUBLIC_IFACE=eth0
682 A variation that ensures that infrastructure (ADS, DNS, ...)
683 directly attached to the public network (10.0.0.0/24) is
684 always reachable would look like this:
687 CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
688 CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
689 CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
690 CTDB_NATGW_PUBLIC_IFACE=eth0
691 CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
694 Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
702 <title>POLICY ROUTING</title>
705 A node running CTDB may be a component of a complex network
706 topology. In particular, public addresses may be spread
707 across several different networks (or VLANs) and it may not be
708 possible to route packets from these public addresses via the
709 system's default route. Therefore, CTDB has support for
710 policy routing via the <filename>13.per_ip_routing</filename>
711 eventscript. This allows routing to be specified for packets
712 sourced from each public address. The routes are added and
713 removed as CTDB moves public addresses between nodes.
717 For more information, see the <citetitle>POLICY
718 ROUTING</citetitle> section in
719 <citerefentry><refentrytitle>ctdb</refentrytitle>
720 <manvolnum>7</manvolnum></citerefentry>.
725 <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
728 FILENAME contains elements for constructing the desired
729 routes for each source address.
733 The special FILENAME value
734 <constant>__auto_link_local__</constant> indicates that no
735 configuration file is provided and that CTDB should
736 generate reasonable link-local routes for each public IP
743 <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
749 <filename>/etc/ctdb/policy_routing</filename> when enabled.
755 <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
758 NUM sets the priority (or preference) for the routing
759 rules that are added by CTDB.
763 This should be (strictly) greater than 0 and (strictly)
764 less than 32766. A priority of 100 is recommended, unless
765 this conflicts with a priority already in use on the
767 <citerefentry><refentrytitle>ip</refentrytitle>
768 <manvolnum>8</manvolnum></citerefentry>, for more details.
775 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
776 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
780 CTDB determines a unique routing table number to use for
781 the routing related to each public address. LOW-NUM and
782 HIGH-NUM indicate the minimum and maximum routing table
783 numbers that are used.
787 <citerefentry><refentrytitle>ip</refentrytitle>
788 <manvolnum>8</manvolnum></citerefentry> uses some
789 reserved routing table numbers below 255. Therefore,
790 CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
795 CTDB uses the standard file
796 <filename>/etc/iproute2/rt_tables</filename> to maintain
797 a mapping between the routing table numbers and labels.
798 The label for a public address
799 <replaceable>ADDR</replaceable> will look like
800 ctdb.<replaceable>addr</replaceable>. This means that
801 the associated rules and routes are easy to read (and
806 No default, usually 1000 and 9000.
813 <title>Example</title>
815 CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
816 CTDB_PER_IP_ROUTING_RULE_PREF=100
817 CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
818 CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
825 <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
830 <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
833 Whether one or more offline interfaces should cause a
834 monitor event to fail if there are other interfaces that
835 are up. If this is "yes" and a node has some interfaces
836 that are down then <command>ctdb status</command> will
837 display the node as "PARTIALLYONLINE".
852 <title>SERVICE CONFIGURATION</title>
855 CTDB can be configured to manage and/or monitor various NAS (and
856 other) services via its eventscripts.
860 In the simplest case CTDB will manage a service. This means the
861 service will be started and stopped along with CTDB, CTDB will
862 monitor the service and CTDB will do any required
863 reconfiguration of the service when public IP addresses are
871 <title>Eventscripts</title>
874 <member><filename>49.winbind</filename></member>
875 <member><filename>50.samba</filename></member>
882 <term>CTDB_MANAGES_SAMBA=yes|no</term>
885 Should CTDB manage Samba?
894 <term>CTDB_MANAGES_WINBIND=yes|no</term>
897 Should CTDB manage Winbind?
906 <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
909 When monitoring Samba, check TCP ports in
910 space-separated PORT-LIST.
913 Default is to monitor ports that Samba is configured to listen on.
919 <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
922 As part of monitoring, should CTDB skip the check for
923 the existence of each directory configured as share in
924 Samba. This may be desirable if there is a large number
934 <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
937 Distribution specific SERVICE for managing nmbd.
940 Default is distribution-dependant.
945 <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
948 Distribution specific SERVICE for managing smbd.
951 Default is distribution-dependant.
957 <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
960 Distribution specific SERVICE for managing winbindd.
963 Default is "winbind".
976 This includes parameters for the kernel NFS server and the
978 <ulink url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>
983 <title>Eventscripts</title>
986 <member><filename>60.nfs</filename></member>
987 <member><filename>60.ganesha</filename></member>
994 <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
997 The type of cluster filesystem to use with NFS-ganesha.
998 Currently only "gpfs" is supported.
1007 <term>CTDB_GANESHA_REC_SUBDIR<parameter>SUBDIR</parameter></term>
1010 SUBDIR is the name of a top-level subdirectory in the
1011 first cluster filesystem. This subdirectory is used to
1012 allow communication between NFS-Ganesha and the
1013 <filename>60.ganesha</filename> script.
1016 Default is ".ganesha".
1022 <term>CTDB_MANAGES_NFS=yes|no</term>
1025 Should CTDB manage NFS?
1034 <term>CTDB_MONITOR_NFS_THREAD_COUNT=yes|no</term>
1037 Whether to monitor the NFS kernel server thread count.
1040 This works around a limitation in some NFS initscripts
1041 where some threads can be stuck in host filesystem calls
1042 (perhaps due to slow storage), a restart occurs, some
1043 threads don't exit, the start only adds the missing
1044 number of threads, the stuck threads exit, and the
1045 result is a lower than expected thread count. Note that
1046 if you must also set <varname>RPCNFSDCOUNT</varname>
1047 (RedHat/Debian) or <varname>USE_KERNEL_NFSD_NUMBER</varname>
1048 (SUSE) in your NFS configuration so the monitoring code
1049 knows how many threads there should be - if neither of
1050 these are set then this option will be ignored.
1059 <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
1062 COMMAND specifies the path to a callout to handle
1063 interactions with the configured NFS system, including
1064 startup, shutdown, monitoring.
1067 Default is the included
1068 <command>nfs-linux-kernel-callout</command>.
1074 <term>CTDB_NFS_DUMP_STUCK_THREADS=<parameter>NUM</parameter></term>
1077 NUM is the number of NFS kernel server threads to dump
1078 stack traces for if some are still alive after stopping
1079 NFS during a restart.
1082 Default is 5. Set this to 0 to disable this feature.
1088 <term>CTDB_NFS_SERVER_MODE=kernel|ganesha</term>
1091 Selects which NFS server to be managed.
1094 This replaces the deprecated variable
1095 <varname>NFS_SERVER_MODE</varname>.
1098 Default is "kernel".
1104 <term>CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK=yes|no</term>
1107 During monitoring, should CTDB skip the
1108 <command>rpcinfo</command> check that is used to see if
1109 the NFS kernel server is functional.
1118 <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
1121 As part of monitoring, should CTDB skip the check for
1122 the existence of each directory exported via NFS. This
1123 may be desirable if there is a large number of exports.
1132 <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
1135 IPADDR or HOSTNAME indicates the address that
1136 <command>rpcinfo</command> should connect to when doing
1137 <command>rpcinfo</command> check on RPC service during
1138 monitoring. Optimally this would be "localhost".
1139 However, this can add some performance overheads.
1142 Default is "127.0.0.1".
1148 <term>CTDB_SKIP_GANESHA_NFSD_CHECK=yes|no</term>
1151 As part of monitoring, should CTDB skip the check for
1152 the existence of each directory exported via
1153 NFS-Ganesha. This may be desirable if there is a large
1167 <title>APACHE HTTPD</title>
1170 CTDB can manage the Apache web server.
1174 <title>Eventscript</title>
1177 <member><filename>41.httpd</filename></member>
1183 <term>CTDB_MANAGES_HTTPD=yes|no</term>
1186 Should CTDB manage the Apache web server?
1197 <title>CLAMAV</title>
1200 CTDB has support to manage the popular anti-virus daemon
1205 <title>Eventscript</title>
1208 <member><filename>31.clamd</filename></member>
1212 This eventscript is not enabled by default. Use
1213 <command>ctdb enablescript</command> to enable it.
1221 <term>CTDB_MANAGES_CLAMD=yes|no</term>
1224 Should CTDB manage ClamAV?
1233 <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
1236 FILENAME is the socket to monitor ClamAV.
1249 <title>ISCSI</title>
1252 CTDB has support for managing the Linux iSCSI tgtd service.
1256 <title>Eventscript</title>
1259 <member><filename>70.iscsi</filename></member>
1266 <term>CTDB_MANAGES_ISCSI=yes|no</term>
1269 Should CTDB manage iSCSI tgtd?
1278 <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
1281 DIRECTORY on shared storage containing scripts to start
1282 tgtd for each public IP address.
1293 <title>MULTIPATHD</title>
1296 CTDB can monitor multipath devices to ensure that active paths
1301 <title>Eventscript</title>
1304 <member><filename>20.multipathd</filename></member>
1308 This eventscript is not enabled by default. Use
1309 <command>ctdb enablescript</command> to enable it.
1315 <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
1318 MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
1329 <title>VSFTPD</title>
1332 CTDB can manage the vsftpd FTP server.
1336 <title>Eventscript</title>
1339 <member><filename>40.vsftpd</filename></member>
1345 <term>CTDB_MANAGES_VSFTPD=yes|no</term>
1348 Should CTDB manage the vsftpd FTP server?
1360 SYSTEM RESOURCE MONITORING CONFIGURATION
1364 CTDB can experience seemingly random (performance and other)
1365 issues if system resources become too contrained. Options in
1366 this section can be enabled to allow certain system resources to
1371 <title>Eventscripts</title>
1374 <member><filename>00.ctdb</filename></member>
1375 <member><filename>40.fs_use</filename></member>
1379 Filesystem usage monitoring is in
1380 <filename>40.fs_use</filename>. This eventscript is not
1381 enabled by default. Use <command>ctdb
1382 enablescript</command> to enable it.
1389 <term>CTDB_CHECK_FS_USE=<parameter>FS-LIMIT-LIST</parameter></term>
1392 FS-LIMIT-LIST is a space-separated list of
1393 <parameter>FILESYSTEM</parameter>:<parameter>LIMIT</parameter>
1394 pairs indicating that a node should be flagged unhealthy
1395 if the space used on FILESYSTEM reaches LIMIT%.
1403 Note that this feature uses the
1404 <filename>40.fs_use</filename> eventscript, which is not
1405 enabled by default. Use <command>ctdb
1406 enablescript</command> to enable it.
1412 <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
1415 Should a warning be logged if swap space is in use.
1424 <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
1427 NUM is a lower limit on available system memory, expressed
1428 in megabytes. If this is set and the amount of available
1429 memory falls below this limit then some debug information
1430 will be logged, the node will be disabled and then CTDB
1440 <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
1443 NUM is a lower limit on available system memory, expressed
1444 in megabytes. If this is set and the amount of available
1445 memory falls below this limit then a warning will be
1458 <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
1463 <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
1466 SERVICE-LIST is a space-separated list of SERVICEs that
1467 CTDB should manage. This can be used as an alternative
1469 <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
1479 <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
1482 When CTDB should start and stop services if they become
1483 managed or unmanaged.
1499 TUNABLES CONFIGURATION
1504 <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
1505 <manvolnum>7</manvolnum></citerefentry>) can be set from the
1506 configuration file. They are set as follows:
1509 CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
1516 <screen format="linespecific">
1517 CTDB_SET_MonitorInterval=20
1528 Variable in this section are for debugging and testing CTDB.
1529 They should not generally be needed.
1535 <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
1538 FILENAME is a script to run to log debug information when
1539 an event script times out.
1542 Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
1548 <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
1551 FILENAME specifies where log messages should go when
1552 debugging hung eventscripts. This is a testing option.
1553 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1556 No default. Messages go to stdout/stderr and are logged
1557 to the same place as other CTDB log messages.
1563 <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
1566 REGEXP specifies interesting processes for which stack
1567 traces should be logged when debugging hung eventscripts
1568 and those processes are matched in pstree output. REGEXP
1569 is an extended regexp so choices are separated by pipes
1570 ('|'). However, REGEXP should not contain parentheses.
1571 See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
1574 Default is "exportfs|rpcinfo".
1580 <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
1583 FILENAME is a script to run to log debug information when
1584 an CTDB fails to freeze databases during recovery.
1588 <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
1594 <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
1597 DIRECTORY containing system configuration files. This is
1598 used to provide alternate configuration when testing and
1599 should not need to be changed from the default.
1602 Default is <filename>/etc</filename>.
1608 <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
1611 This is the init style used by the Linux distribution (or
1612 other operating system) being used. This is usually
1613 determined dynamically by checking the system. This
1614 variable is used by the initscript to determine which init
1615 system primitives to use. It is also used by some
1616 eventscripts to choose the name of initscripts for certain
1617 services, since these can vary between distributions.
1623 If this option needs to be changed from the calculated
1624 default for the initscript to function properly, then it
1625 must be set in the distribution-specific initscript
1626 configuration, such as
1627 <filename>/etc/sysconfig/ctdb</filename>
1633 <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
1636 NUM is the maximum number of volatile TDB database backups
1637 to be kept (for each database) when a corrupt database is
1638 found during startup. Volatile TDBs are zeroed during
1639 startup so backups are needed to debug any corruption that
1640 occurs before a restart.
1649 <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
1652 NUM is the maximum number of open files.
1655 There is no default.
1661 <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
1664 FILENAME is a script fragment to be sourced by the
1665 <filename>functions</filename> that is sourced by scripts.
1666 On example use would be to override function definitions
1667 in unit tests. As a sanity check, this file must be
1668 executable for it to be used.
1677 <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
1680 Whether CTDB should simulate timing out monitor events.
1681 This uses the <filename>99.timeout</filename> eventscript.
1690 <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
1693 NUM is the level debugging messages printed by CTDB
1694 scripts. Setting this to a higher number (e.g. 4) will
1695 cause some scripts to log more messages.
1704 <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
1707 Whether CTDB core files should be suppressed.
1716 <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
1719 If "yes", this causes
1720 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1721 <manvolnum>1</manvolnum></citerefentry> to be run under
1722 <citerefentry><refentrytitle>valgrind</refentrytitle>
1723 <manvolnum>1</manvolnum></citerefentry> with logs going to
1724 <filename>/var/log/ctdb_valgrind</filename>. If neither
1725 "yes" nor "no" then the value is assumed to be a COMMAND
1726 (e.g. a <command>valgrind</command> variation, a
1727 <citerefentry><refentrytitle>gdb</refentrytitle>
1728 <manvolnum>1</manvolnum></citerefentry> command) that is
1729 used in place of the default <command>valgrind</command>
1730 command. In either case, the <option>--valgrind</option>
1731 option is passed to <command>ctdbd</command>.
1745 <title>FILES</title>
1748 <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
1749 <member><filename>/etc/sysconfig/ctdb</filename></member>
1750 <member><filename>/etc/default/ctdb</filename></member>
1751 <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
1756 <title>SEE ALSO</title>
1758 <citerefentry><refentrytitle>ctdbd</refentrytitle>
1759 <manvolnum>1</manvolnum></citerefentry>,
1761 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
1762 <manvolnum>1</manvolnum></citerefentry>,
1764 <citerefentry><refentrytitle>onnode</refentrytitle>
1765 <manvolnum>1</manvolnum></citerefentry>,
1767 <citerefentry><refentrytitle>ctdb</refentrytitle>
1768 <manvolnum>7</manvolnum></citerefentry>,
1770 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
1771 <manvolnum>7</manvolnum></citerefentry>,
1773 <ulink url="http://ctdb.samba.org/"/>
1780 This documentation was written by
1788 <holder>Andrew Tridgell</holder>
1789 <holder>Ronnie Sahlberg</holder>
1793 This program is free software; you can redistribute it and/or
1794 modify it under the terms of the GNU General Public License as
1795 published by the Free Software Foundation; either version 3 of
1796 the License, or (at your option) any later version.
1799 This program is distributed in the hope that it will be
1800 useful, but WITHOUT ANY WARRANTY; without even the implied
1801 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1802 PURPOSE. See the GNU General Public License for more details.
1805 You should have received a copy of the GNU General Public
1806 License along with this program; if not, see
1807 <ulink url="http://www.gnu.org/licenses"/>.