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>--listen=<parameter>IPADDR</parameter></term>
113 IPADDR is the private IP address that ctdbd will bind to.
116 By default ctdbd will select the first address from the
117 nodes list that in can bind to. See also
118 <citetitle>--nlist</citetitle>.
121 This option is only required when automatic address
122 detection can not be used. This can be the case when
123 running multiple ctdbd daemons/nodes on the same physical
124 host (usually for testing), using InfiniBand for the
125 private network or on Linux when sysctl
126 net.ipv4.ip_nonlocal_bind=1.
132 <term>--logging=<parameter>STRING</parameter></term>
135 STRING specifies where ctdbd will write its log. The
137 file:<filename>/usr/local/var/log/log.ctdb</filename>.
144 <term>file:<parameter>FILENAME</parameter></term>
147 FILENAME where ctdbd will write its log. This is usually
148 <filename>/usr/local/var/log/log.ctdb</filename>.
153 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
156 CTDB will log to syslog. By default this will use
160 Under heavy loads syslog(3) can block if the syslog
161 daemon processes messages too slowly. This can
162 cause CTDB to block when logging.
165 If METHOD is specified then it specifies an
166 extension that causes logging to be done in a
167 non-blocking mode. Note that <emphasis>this may
168 cause messages to be dropped</emphasis>. METHOD
173 <term>nonblocking</term>
176 CTDB will log to syslog via
177 <filename>/dev/log</filename> in non-blocking
186 CTDB will log to syslog via UDP to
187 localhost:514. The syslog daemon must be
188 configured to listen on (at least)
189 localhost:514. Most syslog daemons will log
190 the messages with hostname "localhost" - this
191 is a limitation of the implementation, for
192 compatibility with more syslog daemons.
197 <term>udp-rfc5424</term>
200 As with "udp" but messages are sent in RFC5424
201 format. This method will log the correct
202 hostname but is not as widely implemented in
215 <term>--max-persistent-check-errors=<parameter>NUM</parameter></term>
218 NUM specifies the maximum number of health check failures
219 allowed for persistent databases during startup.
222 The default value is 0. Setting this to non-zero allows a
223 node with unhealthy persistent databases to startup and
224 join the cluster as long as there is another node with
225 healthy persistent databases.
231 <term>--nlist=<parameter>FILENAME</parameter></term>
234 FILENAME containing a list of the private IP addresses, one
235 per line, for each node in the cluster. This file
236 <emphasis>must be the same on each node</emphasis> in the
240 Default is <envar>CTDB_BASE</envar>/nodes, so usually
241 <filename>/usr/local/etc/ctdb/nodes</filename>.
247 <term>--no-lmaster</term>
250 This argument specifies that this node can NOT become an lmaster
251 for records in the database. This means that it will never show up
252 in the vnnmap. This feature is primarily used for making a cluster
253 span across a WAN link and use CTDB as a WAN-accelerator.
256 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
257 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
258 <manvolnum>7</manvolnum></citerefentry> for more
265 <term>--no-recmaster</term>
268 This argument specifies that this node can NOT become a recmaster
269 for the database. This feature is primarily used for making a cluster
270 span across a WAN link and use CTDB as a WAN-accelerator.
273 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
274 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
275 <manvolnum>7</manvolnum></citerefentry> for more
282 <term>--notification-script=<parameter>FILENAME</parameter></term>
285 FILENAME specifying a script to be invoked by ctdbd when
286 certain state changes occur.
290 <filename>/usr/local/etc/ctdb/notify.sh</filename>.
293 Please see the <citetitle>NOTIFICATION SCRIPT</citetitle>
294 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
295 <manvolnum>7</manvolnum></citerefentry> for more
302 <term>--public_addresses=<parameter>FILENAME</parameter></term>
305 FILENAME specifying a file containing the public IP
306 addresses to use on the cluster when CTDB should use IP
307 takeover. This file contains a list of IP addresses,
308 netmasks and interfaces. CTDB will distribute these public
309 IP addresses appropriately across the available nodes.
312 The IP addresses specified in this file can differ across
316 This is usually the file
317 <filename>/usr/local/etc/ctdb/public_addresses</filename>
323 <term>--public-interface=<parameter>INTERFACE</parameter></term>
326 Default INTERFACE on which to attach public IP addresses.
329 When using public IP addresses, this is only required if
330 interfaces are not explicitly specified in the public
337 <term>--reclock=<parameter>LOCK</parameter></term>
340 LOCK specifies the cluster-wide mutex used to detect and
341 prevent a partitioned cluster (or "split brain").
344 For information about the recovery lock please see the
345 <citetitle>RECOVERY LOCK</citetitle> section in
346 <citerefentry><refentrytitle>ctdb</refentrytitle>
347 <manvolnum>7</manvolnum></citerefentry>.
353 <term>--start-as-disabled</term>
356 This makes ctdbd start in the DISABLED state.
359 To allow the node to host public IP addresses and
360 services, it must be manually enabled using the
361 <command>ctdb enable</command> command.
364 Please see the <citetitle>NODE STATES</citetitle> section
365 in <citerefentry><refentrytitle>ctdb</refentrytitle>
366 <manvolnum>7</manvolnum></citerefentry> for more
367 information about the DISABLED state.
373 <term>--start-as-stopped</term>
376 This makes ctdbd start in the STOPPED state.
379 To allow the node to take part in the cluster it must be
380 manually continued with the the <command>ctdb
381 enable</command> command.
384 Please see the <citetitle>NODE STATES</citetitle> section
385 in <citerefentry><refentrytitle>ctdb</refentrytitle>
386 <manvolnum>7</manvolnum></citerefentry> for more
387 information about the STOPPED state.
393 <term>--transport=tcp|infiniband</term>
396 This option specifies which transport to use for ctdbd
397 internode communications. The default is "tcp".
400 The "infiniband" support is not regularly tested.
406 <term>-?, --help</term>
409 Display a summary of options.
418 <title>DEBUGGING OPTIONS</title>
423 <term>-i, --interactive</term>
426 Enable interactive mode. This will make ctdbd run in the
427 foreground and not detach from the terminal. By default
428 ctdbd will detach itself and run in the background as a
435 <term>--nopublicipcheck</term>
438 This option is used when testing with multiple local
439 daemons on a single machine. It disables checks related
440 to public IP addresses.
446 <term>--nosetsched</term>
449 This is a debugging option. This option is only used when
453 Normally ctdbd will change its scheduler to run as a
454 real-time process. This is the default mode for a normal
455 ctdbd operation to gurarantee that ctdbd always gets the CPU
456 cycles that it needs.
459 This option is used to tell ctdbd to
460 <emphasis>not</emphasis> run as a real-time process and
461 instead run ctdbd as a normal userspace process. This is
462 useful for debugging and when you want to run ctdbd under
463 valgrind or gdb. (You don't want to attach valgrind or gdb
464 to a real-time process.)
470 <term>--socket=<parameter>FILENAME</parameter></term>
473 FILENAME specifies the name of the Unix domain socket that
474 ctdbd will create. This socket is used by local clients to
475 communicate with ctdbd.
478 The default is <filename>/usr/local/var/run/ctdb/ctdbd.socket</filename>.
479 You only need to use this option if you plan to run
480 multiple ctdbd daemons on the same physical host, usually
487 <term>--script-log-level=<parameter>DEBUGLEVEL</parameter></term>
490 This option sets the debug level of event script output to
491 DEBUGLEVEL. The default is ERR.
494 See the <citetitle>DEBUG LEVELS</citetitle> section in
495 <citerefentry><refentrytitle>ctdb</refentrytitle>
496 <manvolnum>7</manvolnum></citerefentry> for more
503 <term>--sloppy-start</term>
506 This is debugging option. This speeds up the initial
507 recovery during startup at the expense of some consistency
508 checking. <emphasis>Don't use this option in
509 production</emphasis>.
515 <term>--torture</term>
518 This option is only used for development and testing of
519 CTDB. It adds artificial errors and failures to the
520 common codepaths in ctdbd to verify that ctdbd can recover
521 correctly from failures.
524 <emphasis>Do not use this option</emphasis> unless you are
525 developing and testing new functionality in CTDB.
531 <term>--valgrinding</term>
534 This is a debugging option. This option is only used when
535 debugging ctdbd. This enables additional debugging
536 capabilities and implies --nosetsched.
545 <title>SEE ALSO</title>
547 <citerefentry><refentrytitle>ctdb</refentrytitle>
548 <manvolnum>1</manvolnum></citerefentry>,
550 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
551 <manvolnum>1</manvolnum></citerefentry>,
553 <citerefentry><refentrytitle>onnode</refentrytitle>
554 <manvolnum>1</manvolnum></citerefentry>,
556 <citerefentry><refentrytitle>ctdb</refentrytitle>
557 <manvolnum>7</manvolnum></citerefentry>,
559 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
560 <manvolnum>7</manvolnum></citerefentry>,
562 <ulink url="http://ctdb.samba.org/"/>
569 This documentation was written by
578 <holder>Andrew Tridgell</holder>
579 <holder>Ronnie Sahlberg</holder>
583 This program is free software; you can redistribute it and/or
584 modify it under the terms of the GNU General Public License as
585 published by the Free Software Foundation; either version 3 of
586 the License, or (at your option) any later version.
589 This program is distributed in the hope that it will be
590 useful, but WITHOUT ANY WARRANTY; without even the implied
591 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
592 PURPOSE. See the GNU General Public License for more details.
595 You should have received a copy of the GNU General Public
596 License along with this program; if not, see
597 <ulink url="http://www.gnu.org/licenses"/>.