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
tdb mutexes = true|false
This parameter enables TDB_MUTEX_LOCKING feature on
volatile databases if the robust mutexes are
supported. This optimizes the record locking using robust
mutexes and is much more efficient that using posix locks.
If robust mutexes are unreliable on the platform being
used then they can be disabled by setting this to
false.
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
FAILOVER CONFIGURATION
Options in this section affect CTDB failover. They are
valid within the failover section of file,
indicated by [failover].
disabled = true|false
If set to true then public IP failover
is disabled.
Default: false
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 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
realtime scheduling = 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 false.
Default: true
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
.