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.1">
9 <refentrytitle>ctdbd</refentrytitle>
10 <manvolnum>1</manvolnum>
11 <refmiscinfo class="source">ctdb</refmiscinfo>
12 <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
16 <refname>ctdbd</refname>
17 <refpurpose>The CTDB cluster daemon</refpurpose>
22 <command>ctdbd</command>
23 <arg rep="repeat"><replaceable>OPTION</replaceable></arg>
28 <title>DESCRIPTION</title>
30 ctdbd is the main CTDB daemon.
34 Note that ctdbd is not usually invoked directly. It is invoked
35 via <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
36 <manvolnum>1</manvolnum></citerefentry> or via the initscript.
40 See <citerefentry><refentrytitle>ctdb</refentrytitle>
41 <manvolnum>7</manvolnum></citerefentry> for an overview of CTDB.
46 <title>GENERAL OPTIONS</title>
50 <term>-d, --debug=<parameter>DEBUGLEVEL</parameter></term>
53 This option sets the debug level to DEBUGLEVEL, which
54 controls what will be written by the logging
55 subsystem. The default is 2.
58 See the <citetitle>DEBUG LEVELS</citetitle> section in
59 <citerefentry><refentrytitle>ctdb</refentrytitle>
60 <manvolnum>7</manvolnum></citerefentry> for more
67 <term>--dbdir=<parameter>DIRECTORY</parameter></term>
70 DIRECTORY on local storage where ctdbd keeps a local copy of
71 TDB databases. This directory is local for each node and
72 should not be stored on the shared cluster filesystem.
75 Defaults to <filename>/usr/local/var/lib/ctdb</filename>.
81 <term>--dbdir-persistent=<parameter>DIRECTORY</parameter></term>
84 DIRECTORY on local storage where ctdbd keeps a local copy of
85 persistent TDB databases. This directory is local for each
86 node and should not be stored on the shared cluster
90 Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
96 <term>--dbdir-state=<parameter>DIRECTORY</parameter></term>
99 DIRECTORY on local storage where ctdbd keep internal state
100 TDB files. This directory is local for each node and
101 should not be stored on the shared cluster filesystem.
104 Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
110 <term>--event-script-dir=<parameter>DIRECTORY</parameter></term>
113 DIRECTORY where the CTDB event scripts are stored. See the
114 <citetitle>EVENT SCRIPTS</citetitle> section in
115 <citerefentry><refentrytitle>ctdb</refentrytitle>
116 <manvolnum>7</manvolnum></citerefentry> for more information.
119 Default is <envar>CTDB_BASE</envar>/events.d, so usually
120 <filename>/usr/local/etc/ctdb/events.d</filename>, which is part of
121 the CTDB installation.
127 <term>--listen=<parameter>IPADDR</parameter></term>
130 IPADDR is the private IP address that ctdbd will bind to.
133 By default ctdbd will select the first address from the
134 nodes list that in can bind to. See also
135 <citetitle>--nlist</citetitle>.
138 This option is only required when automatic address
139 detection can not be used. This can be the case when
140 running multiple ctdbd daemons/nodes on the same physical
141 host (usually for testing), using InfiniBand for the
142 private network or on Linux when sysctl
143 net.ipv4.ip_nonlocal_bind=1.
149 <term>--logging=<parameter>STRING</parameter></term>
152 STRING specifies where ctdbd will write its log. The
154 file:<filename>/usr/local/var/log/log.ctdb</filename>.
161 <term>file:<parameter>FILENAME</parameter></term>
164 FILENAME where ctdbd will write its log. This is usually
165 <filename>/usr/local/var/log/log.ctdb</filename>.
170 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
173 CTDB will log to syslog. By default this will use
177 Under heavy loads syslog(3) can block if the syslog
178 daemon processes messages too slowly. This can
179 cause CTDB to block when logging.
182 If METHOD is specified then it specifies an
183 extension that causes logging to be done in a
184 non-blocking mode. Note that <emphasis>this may
185 cause messages to be dropped</emphasis>. METHOD
190 <term>nonblocking</term>
193 CTDB will log to syslog via
194 <filename>/dev/log</filename> in non-blocking
203 CTDB will log to syslog via UDP to
204 localhost:514. The syslog daemon must be
205 configured to listen on (at least)
206 localhost:514. Most syslog daemons will log
207 the messages with hostname "localhost" - this
208 is a limitation of the implementation, for
209 compatibility with more syslog daemons.
214 <term>udp-rfc5424</term>
217 As with "udp" but messages are sent in RFC5424
218 format. This method will log the correct
219 hostname but is not as widely implemented in
235 This option is used to activate the LVS capability on a CTDB
236 node. Please see the <citetitle>LVS</citetitle> section in
237 <citerefentry><refentrytitle>ctdb</refentrytitle>
238 <manvolnum>7</manvolnum></citerefentry> for more
245 <term>--max-persistent-check-errors=<parameter>NUM</parameter></term>
248 NUM specifies the maximum number of health check failures
249 allowed for persistent databases during startup.
252 The default value is 0. Setting this to non-zero allows a
253 node with unhealthy persistent databases to startup and
254 join the cluster as long as there is another node with
255 healthy persistent databases.
261 <term>--nlist=<parameter>FILENAME</parameter></term>
264 FILENAME containing a list of the private IP addresses, one
265 per line, for each node in the cluster. This file
266 <emphasis>must be the same on each node</emphasis> in the
270 Default is <envar>CTDB_BASE</envar>/nodes, so usually
271 <filename>/usr/local/etc/ctdb/nodes</filename>.
277 <term>--no-lmaster</term>
280 This argument specifies that this node can NOT become an lmaster
281 for records in the database. This means that it will never show up
282 in the vnnmap. This feature is primarily used for making a cluster
283 span across a WAN link and use CTDB as a WAN-accelerator.
286 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
287 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
288 <manvolnum>7</manvolnum></citerefentry> for more
295 <term>--no-recmaster</term>
298 This argument specifies that this node can NOT become a recmaster
299 for the database. This feature is primarily used for making a cluster
300 span across a WAN link and use CTDB as a WAN-accelerator.
303 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
304 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
305 <manvolnum>7</manvolnum></citerefentry> for more
312 <term>--notification-script=<parameter>FILENAME</parameter></term>
315 FILENAME specifying a script to be invoked by ctdbd when
316 certain state changes occur.
320 <filename>/usr/local/etc/ctdb/notify.sh</filename>.
323 Please see the <citetitle>NOTIFICATION SCRIPT</citetitle>
324 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
325 <manvolnum>7</manvolnum></citerefentry> for more
332 <term>--pidfile=<parameter>FILENAME</parameter></term>
335 FILENAME for file containing process ID of main CTDB
336 daemon. This file is automatically created and removed by
340 The default is to not create a PID file.
346 <term>--public_addresses=<parameter>FILENAME</parameter></term>
349 FILENAME specifying a file containing the public IP
350 addresses to use on the cluster when CTDB should use IP
351 takeover. This file contains a list of IP addresses,
352 netmasks and interfaces. CTDB will distribute these public
353 IP addresses appropriately across the available nodes.
356 The IP addresses specified in this file can differ across
360 This is usually the file
361 <filename>/usr/local/etc/ctdb/public_addresses</filename>
367 <term>--public-interface=<parameter>INTERFACE</parameter></term>
370 INTERFACE on which to attach public IP addresses or on which
371 to attach the single-public-ip when used.
374 When using public IP addresses, this is only required if
375 interfaces are not explicitly specified in the public
382 <term>--reclock=<parameter>FILE</parameter></term>
385 FILE is the name of the recovery lock file, stored in
386 <emphasis>shared storage</emphasis>, that CTDB uses to
387 prevent split brains.
390 For information about the recovery lock please see the
391 <citetitle>RECOVERY LOCK</citetitle> section in
392 <citerefentry><refentrytitle>ctdb</refentrytitle>
393 <manvolnum>7</manvolnum></citerefentry>.
399 <term>--single-public-ip=<parameter>IPADDR</parameter></term>
402 IPADDR specifies the single IP that CTDB will use in
406 Please see the <citetitle>LVS</citetitle> section in
407 <citerefentry><refentrytitle>ctdb</refentrytitle>
408 <manvolnum>7</manvolnum></citerefentry> for more
415 <term>--start-as-disabled</term>
418 This makes ctdbd start in the DISABLED state.
421 To allow the node to host public IP addresses and
422 services, it must be manually enabled using the
423 <command>ctdb enable</command> command.
426 Please see the <citetitle>NODE STATES</citetitle> section
427 in <citerefentry><refentrytitle>ctdb</refentrytitle>
428 <manvolnum>7</manvolnum></citerefentry> for more
429 information about the DISABLED state.
435 <term>--start-as-stopped</term>
438 This makes ctdbd start in the STOPPED state.
441 To allow the node to take part in the cluster it must be
442 manually continued with the the <command>ctdb
443 enable</command> command.
446 Please see the <citetitle>NODE STATES</citetitle> section
447 in <citerefentry><refentrytitle>ctdb</refentrytitle>
448 <manvolnum>7</manvolnum></citerefentry> for more
449 information about the STOPPED state.
455 <term>--transport=tcp|infiniband</term>
458 This option specifies which transport to use for ctdbd
459 internode communications. The default is "tcp".
462 The "infiniband" support is not regularly tested.
468 <term>-?, --help</term>
471 Display a summary of options.
480 <title>DEBUGGING OPTIONS</title>
485 <term>-i, --interactive</term>
488 Enable interactive mode. This will make ctdbd run in the
489 foreground and not detach from the terminal. By default
490 ctdbd will detach itself and run in the background as a
497 <term>--nopublicipcheck</term>
500 This option is used when testing with multiple local
501 daemons on a single machine. It disables checks related
502 to public IP addresses.
508 <term>--nosetsched</term>
511 This is a debugging option. This option is only used when
515 Normally ctdbd will change its scheduler to run as a
516 real-time process. This is the default mode for a normal
517 ctdbd operation to gurarantee that ctdbd always gets the CPU
518 cycles that it needs.
521 This option is used to tell ctdbd to
522 <emphasis>not</emphasis> run as a real-time process and
523 instead run ctdbd as a normal userspace process. This is
524 useful for debugging and when you want to run ctdbd under
525 valgrind or gdb. (You don't want to attach valgrind or gdb
526 to a real-time process.)
532 <term>--socket=<parameter>FILENAME</parameter></term>
535 FILENAME specifies the name of the Unix domain socket that
536 ctdbd will create. This socket is used by local clients to
537 communicate with ctdbd.
540 The default is <filename>/tmp/ctdb.socket</filename> . You
541 only need to use this option if you plan to run multiple
542 ctdbd daemons on the same physical host, usually for
549 <term>--script-log-level=<parameter>DEBUGLEVEL</parameter></term>
552 This option sets the debug level of event script output to
553 DEBUGLEVEL. The default is ERR (0).
556 See the <citetitle>DEBUG LEVELS</citetitle> section in
557 <citerefentry><refentrytitle>ctdb</refentrytitle>
558 <manvolnum>7</manvolnum></citerefentry> for more
565 <term>--sloppy-start</term>
568 This is debugging option. This speeds up the initial
569 recovery during startup at the expense of some consistency
570 checking. <emphasis>Don't use this option in
571 production</emphasis>.
577 <term>--torture</term>
580 This option is only used for development and testing of
581 CTDB. It adds artificial errors and failures to the
582 common codepaths in ctdbd to verify that ctdbd can recover
583 correctly from failures.
586 <emphasis>Do not use this option</emphasis> unless you are
587 developing and testing new functionality in CTDB.
593 <term>--valgrinding</term>
596 This is a debugging option. This option is only used when
597 debugging ctdbd. This enables additional debugging
598 capabilities and implies --nosetsched.
607 <title>SEE ALSO</title>
609 <citerefentry><refentrytitle>ctdb</refentrytitle>
610 <manvolnum>1</manvolnum></citerefentry>,
612 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
613 <manvolnum>1</manvolnum></citerefentry>,
615 <citerefentry><refentrytitle>onnode</refentrytitle>
616 <manvolnum>1</manvolnum></citerefentry>,
618 <citerefentry><refentrytitle>ctdb</refentrytitle>
619 <manvolnum>7</manvolnum></citerefentry>,
621 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
622 <manvolnum>7</manvolnum></citerefentry>,
624 <ulink url="http://ctdb.samba.org/"/>
631 This documentation was written by
640 <holder>Andrew Tridgell</holder>
641 <holder>Ronnie Sahlberg</holder>
645 This program is free software; you can redistribute it and/or
646 modify it under the terms of the GNU General Public License as
647 published by the Free Software Foundation; either version 3 of
648 the License, or (at your option) any later version.
651 This program is distributed in the hope that it will be
652 useful, but WITHOUT ANY WARRANTY; without even the implied
653 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
654 PURPOSE. See the GNU General Public License for more details.
657 You should have received a copy of the GNU General Public
658 License along with this program; if not, see
659 <ulink url="http://www.gnu.org/licenses"/>.