From 72ba7ea887f2fe88521dd653ae618ea6738535e4 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Sun, 13 May 2018 15:41:38 +1000 Subject: [PATCH] ctdb-docs: Add ctdb.conf(5) This documents the new Samba-style configuration file. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- ctdb/doc/ctdb.conf.5.xml | 593 ++++++++++++++++++++++++++++++++ ctdb/packaging/RPM/ctdb.spec.in | 1 + ctdb/wscript | 1 + 3 files changed, 595 insertions(+) create mode 100644 ctdb/doc/ctdb.conf.5.xml diff --git a/ctdb/doc/ctdb.conf.5.xml b/ctdb/doc/ctdb.conf.5.xml new file mode 100644 index 000000000000..bcb67b357959 --- /dev/null +++ b/ctdb/doc/ctdb.conf.5.xml @@ -0,0 +1,593 @@ + + + + + + + ctdb.conf + 5 + ctdb + CTDB - clustered TDB database + + + + ctdb.conf + CTDB configuration file + + + + DESCRIPTION + + + This file contains CTDB configuration options that affect the + operation of CTDB daemons and command-line tools. The default + location of this file is + /usr/local/etc/ctdb/ctdb.conf. + + + + Note that this is a Samba-style configuration file, so it has a + very different syntax to previous CTDB configuration files. + + + + For event script options please see + ctdb-script.options + 5. + + + + Configuration options are grouped into several sections below. + There are only a few options in each section, allowing them to + be ordered (approximately) in decreasing order of importance. + + + + + + + LOGGING CONFIGURATION + + + + Options in this section control CTDB's logging. They are valid + within the logging section of file, + indicated by [logging]. + + + + + + log level = LOGLEVEL + + + LOGLEVEL is a string that controls the verbosity of + ctdbd's logging. See the LOG + LEVELS section in + ctdb + 7 for more details. + + + Default: NOTICE + + + + + + location = STRING + + + STRING specifies where ctdbd will write its log. + + + Valid values are: + + + + file:FILENAME + + + FILENAME where ctdbd will write its log. This is usually + /usr/local/var/log/log.ctdb. + + + + + syslog:METHOD + + + CTDB will log to syslog. By default this will use + the syslog(3) API. + + + If METHOD is specified then it specifies an + extension that causes logging to be done in a + non-blocking fashion. This can be useful under + heavy loads that might cause the syslog daemon to + dequeue messages too slowly, which would otherwise + cause CTDB to block when logging. METHOD must be + one of: + + + + nonblocking + + + CTDB will log to syslog via + /dev/log in non-blocking + mode. + + + + + udp + + + CTDB will log to syslog via UDP to + localhost:514. The syslog daemon must be + configured to listen on (at least) + localhost:514. Most implementations will log + the messages against hostname "localhost" - + this is a limit of the implementation for + compatibility with more syslog daemon + implementations. + + + + + udp-rfc5424 + + + As with "udp" but messages are sent in RFC5424 + format. This method will log the correct + hostname but is not as widely implemented in + syslog daemons. + + + + + + + + + Default: + file:/usr/local/var/log/log.ctdb + + + + + + + + + + CLUSTER CONFIGURATION + + + + Options in this section affect the CTDB cluster setup. They + are valid within the cluster section of + file, indicated by [cluster]. + + + + + + recovery lock = LOCK + + + LOCK specifies the cluster-wide mutex used to detect and + prevent a partitioned cluster (or "split brain"). + + + For information about the recovery lock please see the + RECOVERY LOCK section in + ctdb + 7. + + + Default: NONE. However, uses of a recovery lock is + strongly recommended. + + + + + + node address = IPADDR + + + IPADDR is the private IP address that ctdbd will bind to. + + + This option is only required when automatic address + detection can not be used. This can be the case when + running multiple ctdbd daemons/nodes on the same physical + host (usually for testing), using InfiniBand for the + private network or on Linux when sysctl + net.ipv4.ip_nonlocal_bind=1. + + + Default: CTDB selects the first address from the nodes + list that it can bind to. See also the PRIVATE + ADDRESS section in + ctdb + 7. + + + + + + transport = tcp|ib + + + This option specifies which transport to use for ctdbd + internode communications on the private network. + + + ib means InfiniBand. The InfiniBand + support is not regularly tested. If it is known to be + broken then it may be disabled so that a value of + ib is considered invalid. + + + Default: tcp + + + + + + + + + + DATABASE CONFIGURATION + + + + Options in this section affect the CTDB database setup. They + are valid within the database section of + file, indicated by [database]. + + + + + + volatile database directory = DIRECTORY + + + DIRECTORY on local storage where CTDB keeps a local copy + of volatile TDB databases. This directory is local for + each node and should not be stored on the shared cluster + filesystem. + + + Mounting a tmpfs (or similar memory filesystem) on this + directory can provide a significant performance + improvement when there is I/O contention on the local + disk. + + + Default: /usr/local/var/lib/ctdb/volatile + + + + + + persistent database directory=DIRECTORY + + + DIRECTORY on local storage where CTDB keeps a local copy + of persistent TDB databases. This directory is local for + each node and should not be stored on the shared cluster + filesystem. + + + Default: /usr/local/var/lib/ctdb/persistent + + + + + + state database directory = DIRECTORY + + + DIRECTORY on local storage where CTDB keeps a local copy + of internal state TDB databases. This directory is local + for each node and should not be stored on the shared + cluster filesystem. + + + Default: /usr/local/var/lib/ctdb/state + + + + + + lock debug script = FILENAME + + + FILENAME is a script used by CTDB's database locking code + to attempt to provide debugging information when CTDB is + unable to lock an entire database or a record. + + + This script should be a bare filename relative to the CTDB + configuration directory + (/usr/local/etc/ctdb/). Any + directory prefix is ignored and the path is calculated + relative to this directory. + + + CTDB provides a lock debugging script and installs it as + /usr/local/etc/ctdb/debug_locks.sh. + + + Default: NONE + + + + + + + + + + EVENT HANDLING CONFIGURATION + + + + Options in this section affect CTDB event handling. They are + valid within the event section of file, + indicated by [event]. + + + + + + debug script = FILENAME + + + FILENAME is a script used by CTDB's event handling code to + attempt to provide debugging information when an event + times out. + + + This script should be a bare filename relative to the CTDB + configuration directory + (/usr/local/etc/ctdb/). Any + directory prefix is ignored and the path is calculated + relative to this directory. + + + CTDB provides a script for debugging timed out event + scripts and installs it as + /usr/local/etc/ctdb/debug-hung-script.sh. + + + Default: NONE + + + + + + + + + + LEGACY CONFIGURATION + + + + Options in this section affect legacy CTDB setup. They are valid + within the legacy section of file, + indicated by [legacy]. + + + + + + ctdb start as stopped = true|false + + + If set to true CTDB starts in the + STOPPED state. + + + To allow the node to take part in the cluster it must be + manually continued with the the ctdb + continue command. + + + Please see the NODE STATES section + in ctdb + 7 for more + information about the STOPPED state. + + + Default: false + + + + + + start as disabled = true|false + + + If set to true CTDB starts in the + DISABLED state. + + + To allow the node to host public IP addresses and + services, it must be manually enabled using the + ctdb enable command. + + + Please see the NODE STATES section + in ctdb + 7 for more + information about the DISABLED state. + + + Default: false + + + + + + no realtime = true|false + + + Usually CTDB runs with real-time priority. This helps it + to perform effectively on a busy system, such as when + there are thousands of Samba clients. If you are running + CTDB on a platform that does not support real-time + priority, you can set this to true. + + + Default: false + + + + + + recmaster capability = true|false + + + Indicates whether a node can become the recovery master + for the cluster. If this is set to + false then the node will not be able to + become the recovery master for the cluster. This feature + is primarily used for making a cluster span across a WAN + link and use CTDB as a WAN-accelerator. + + + Please see the REMOTE CLUSTER NODES + section in + ctdb + 7 for more + information. + + + Default: true + + + + + + lmaster capability = true|false + + + Indicates whether a node can become a location master for + records in a database. If this is set to + false then the node will not be part of + the vnnmap. This feature is primarily used for making a + cluster span across a WAN link and use CTDB as a + WAN-accelerator. + + + Please see the REMOTE CLUSTER NODES + section in + ctdb + 7 for more + information. + + + Default: true + + + + + + script log level = LOGLEVEL + + + This option sets the debug level of event script output to + LOGLEVEL. + + + See the DEBUG LEVELS section in + ctdb + 7 for more + information. + + + Default: ERROR + + + + + + + + + + FILES + + + /usr/local/etc/ctdb/ctdb.conf + + + + + SEE ALSO + + ctdbd + 1, + + onnode + 1, + + ctdb.sysconfig + 5, + + ctdb-script.options + 5, + + ctdb + 7, + + ctdb-tunables + 7, + + + + + + + + + This documentation was written by + Amitay Isaacs, + Martin Schwenke + + + + + 2007 + Andrew Tridgell + Ronnie Sahlberg + + + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 3 of + the License, or (at your option) any later version. + + + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU General Public License for more details. + + + You should have received a copy of the GNU General Public + License along with this program; if not, see + . + + + + + diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in index 7be8d1132084..7b5182fbc03a 100644 --- a/ctdb/packaging/RPM/ctdb.spec.in +++ b/ctdb/packaging/RPM/ctdb.spec.in @@ -208,6 +208,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/onnode.1.gz %{_mandir}/man1/ltdbtool.1.gz %{_mandir}/man1/ping_pong.1.gz +%{_mandir}/man5/ctdb.conf.5.gz %{_mandir}/man5/ctdb-script.options.5.gz %{_mandir}/man5/ctdb.sysconfig.5.gz %{_mandir}/man5/ctdbd.conf.5.gz diff --git a/ctdb/wscript b/ctdb/wscript index ed1b2e7b25b5..d3b02d6e6fc6 100644 --- a/ctdb/wscript +++ b/ctdb/wscript @@ -48,6 +48,7 @@ manpages_misc = [ 'ctdb_diagnostics.1', 'ctdbd_wrapper.1', 'onnode.1', + 'ctdb.conf.5', 'ctdb-script.options.5', 'ctdb.sysconfig.5', 'ctdbd.conf.5', -- 2.34.1