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 This directory would usually be <filename>/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 This directory would usually be
91 <filename>/var/lib/ctdb/persistent</filename>
97 <term>--dbdir-state=<parameter>DIRECTORY</parameter></term>
100 DIRECTORY on local storage where ctdbd keep internal state
101 TDB files. This directory is local for each node and
102 should not be stored on the shared cluster filesystem.
105 This directory would usually be
106 <filename>/var/lib/ctdb/state</filename>
112 <term>--event-script-dir=<parameter>DIRECTORY</parameter></term>
115 DIRECTORY where the CTDB event scripts are stored. See the
116 <citetitle>EVENT SCRIPTS</citetitle> section in
117 <citerefentry><refentrytitle>ctdb</refentrytitle>
118 <manvolnum>7</manvolnum></citerefentry> for more information.
121 Default is <envar>CTDB_BASE</envar>/events.d, so usually
122 <filename>/etc/ctdb/events.d</filename>, which is part of
123 the CTDB installation.
129 <term>--logging=<parameter>STRING</parameter></term>
132 STRING specifies where ctdbd will write its log. The
133 default is file:<filename>/var/log/log.ctdb</filename> or
134 similar - the prefix may differ depending on how CTDB was
142 <term>file:<parameter>FILENAME</parameter></term>
145 FILENAME where ctdbd will write its log. This is usually
146 <filename>/var/log/log.ctdb</filename>.
151 <term>syslog<optional>:<parameter>METHOD</parameter></optional></term>
154 CTDB will log to syslog. By default this will use
158 Under heavy loads syslog(3) can block if the syslog
159 daemon processes messages too slowly. This can
160 cause CTDB to block when logging.
163 If METHOD is specified then it specifies an
164 extension that causes logging to be done in a
165 non-blocking mode. Note that <emphasis>this may
166 cause messages to be dropped</emphasis>. METHOD
171 <term>nonblocking</term>
174 CTDB will log to syslog via
175 <filename>/dev/log</filename> in non-blocking
184 CTDB will log to syslog via UDP to
185 localhost:514. The syslog daemon must be
186 configured to listen on (at least)
187 localhost:514. Most syslog daemons will log
188 the messages with hostname "localhost" - this
189 is a limitation of the implementation, for
190 compatibility with more syslog daemons.
195 <term>udp-rfc5424</term>
198 As with "udp" but messages are sent in RFC5424
199 format. This method will log the correct
200 hostname but is not as widely implemented in
216 This option is used to activate the LVS capability on a CTDB
217 node. Please see the <citetitle>LVS</citetitle> section in
218 <citerefentry><refentrytitle>ctdb</refentrytitle>
219 <manvolnum>7</manvolnum></citerefentry> for more
226 <term>--max-persistent-check-errors=<parameter>NUM</parameter></term>
229 NUM specifies the maximum number of health check failures
230 allowed for persistent databases during startup.
233 The default value is 0. Setting this to non-zero allows a
234 node with unhealthy persistent databases to startup and
235 join the cluster as long as there is another node with
236 healthy persistent databases.
242 <term>--nlist=<parameter>FILENAME</parameter></term>
245 FILENAME containing a list of the private IP addresses, one
246 per line, for each node in the cluster. This file
247 <emphasis>must be the same on each node</emphasis> in the
251 Default is <envar>CTDB_BASE</envar>/nodes, so usually
252 <filename>/etc/ctdb/nodes</filename>.
258 <term>--no-lmaster</term>
261 This argument specifies that this node can NOT become an lmaster
262 for records in the database. This means that it will never show up
263 in the vnnmap. This feature is primarily used for making a cluster
264 span across a WAN link and use CTDB as a WAN-accelerator.
267 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
268 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
269 <manvolnum>7</manvolnum></citerefentry> for more
276 <term>--no-recmaster</term>
279 This argument specifies that this node can NOT become a recmaster
280 for the database. This feature is primarily used for making a cluster
281 span across a WAN link and use CTDB as a WAN-accelerator.
284 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
285 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
286 <manvolnum>7</manvolnum></citerefentry> for more
293 <term>--notification-script=<parameter>FILENAME</parameter></term>
296 FILENAME specifying a script to be invoked by ctdbd when
297 certain state changes occur.
301 <filename>/etc/ctdb/notify.sh</filename>.
304 Please see the <citetitle>NOTIFICATION SCRIPT</citetitle>
305 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
306 <manvolnum>7</manvolnum></citerefentry> for more
313 <term>--pidfile=<parameter>FILENAME</parameter></term>
316 FILENAME for file containing process ID of main CTDB
317 daemon. This file is automatically created and removed by
321 The default is to not create a PID file.
327 <term>--public_addresses=<parameter>FILENAME</parameter></term>
330 FILENAME specifying a file containing the public IP
331 addresses to use on the cluster when CTDB should use IP
332 takeover. This file contains a list of IP addresses,
333 netmasks and interfaces. CTDB will distribute these public
334 IP addresses appropriately across the available nodes.
337 The IP addresses specified in this file can differ across
341 This is usually the file
342 <filename>/etc/ctdb/public_addresses</filename>
348 <term>--public-interface=<parameter>INTERFACE</parameter></term>
351 INTERFACE on which to attach public IP addresses or on which
352 to attach the single-public-ip when used.
355 When using public IP addresses, this is only required if
356 interfaces are not explicitly specified in the public
363 <term>--reclock=<parameter>FILE</parameter></term>
366 FILE is the name of the recovery lock file, stored in
367 <emphasis>shared storage</emphasis>, that CTDB uses to
368 prevent split brains.
371 For information about the recovery lock please see the
372 <citetitle>RECOVERY LOCK</citetitle> section in
373 <citerefentry><refentrytitle>ctdb</refentrytitle>
374 <manvolnum>7</manvolnum></citerefentry>.
380 <term>--single-public-ip=<parameter>IPADDR</parameter></term>
383 IPADDR specifies the single IP that CTDB will use in
387 Please see the <citetitle>LVS</citetitle> section in
388 <citerefentry><refentrytitle>ctdb</refentrytitle>
389 <manvolnum>7</manvolnum></citerefentry> for more
396 <term>--start-as-disabled</term>
399 This makes ctdbd start in the DISABLED state.
402 To allow the node to host public IP addresses and
403 services, it must be manually enabled using the
404 <command>ctdb enable</command> command.
407 Please see the <citetitle>NODE STATES</citetitle> section
408 in <citerefentry><refentrytitle>ctdb</refentrytitle>
409 <manvolnum>7</manvolnum></citerefentry> for more
410 information about the DISABLED state.
416 <term>--start-as-stopped</term>
419 This makes ctdbd start in the STOPPED state.
422 To allow the node to take part in the cluster it must be
423 manually continued with the the <command>ctdb
424 enable</command> command.
427 Please see the <citetitle>NODE STATES</citetitle> section
428 in <citerefentry><refentrytitle>ctdb</refentrytitle>
429 <manvolnum>7</manvolnum></citerefentry> for more
430 information about the STOPPED state.
436 <term>--syslog</term>
439 Send log messages to syslog instead of the CTDB logfile.
440 This option overrides --logfile. The default is to log to
447 <term>--transport=tcp|infiniband</term>
450 This option specifies which transport to use for ctdbd
451 internode communications. The default is "tcp".
454 The "infiniband" support is not regularly tested.
460 <term>-?, --help</term>
463 Display a summary of options.
472 <title>DEBUGGING OPTIONS</title>
477 <term>-i, --interactive</term>
480 Enable interactive mode. This will make ctdbd run in the
481 foreground and not detach from the terminal. By default
482 ctdbd will detach itself and run in the background as a
489 <term>--listen=<parameter>IPADDR</parameter></term>
492 This specifies which IP address that ctdbd will bind to.
495 By default ctdbd will bind to the first address it finds in
496 the <filename>/etc/ctdb/nodes</filename> file that is also
497 present on the local system.
500 This option is only required when you want to run multiple
501 ctdbd daemons/nodes on the same physical host in which case
502 there would be multiple entries in
503 <filename>/etc/ctdb/nodes</filename> that would match a
510 <term>--nopublicipcheck</term>
513 This option is used when testing with multiple local
514 daemons on a single machine. It disables checks related
515 to public IP addresses.
521 <term>--nosetsched</term>
524 This is a debugging option. This option is only used when
528 Normally ctdbd will change its scheduler to run as a
529 real-time process. This is the default mode for a normal
530 ctdbd operation to gurarantee that ctdbd always gets the CPU
531 cycles that it needs.
534 This option is used to tell ctdbd to
535 <emphasis>not</emphasis> run as a real-time process and
536 instead run ctdbd as a normal userspace process. This is
537 useful for debugging and when you want to run ctdbd under
538 valgrind or gdb. (You don't want to attach valgrind or gdb
539 to a real-time process.)
545 <term>--socket=<parameter>FILENAME</parameter></term>
548 FILENAME specifies the name of the Unix domain socket that
549 ctdbd will create. This socket is used by local clients to
550 communicate with ctdbd.
553 The default is <filename>/tmp/ctdb.socket</filename> . You
554 only need to use this option if you plan to run multiple
555 ctdbd daemons on the same physical host, usually for
562 <term>--script-log-level=<parameter>DEBUGLEVEL</parameter></term>
565 This option sets the debug level of event script output to
566 DEBUGLEVEL. The default is ERR (0).
569 See the <citetitle>DEBUG LEVELS</citetitle> section in
570 <citerefentry><refentrytitle>ctdb</refentrytitle>
571 <manvolnum>7</manvolnum></citerefentry> for more
578 <term>--sloppy-start</term>
581 This is debugging option. This speeds up the initial
582 recovery during startup at the expense of some consistency
583 checking. <emphasis>Don't use this option in
584 production</emphasis>.
590 <term>--torture</term>
593 This option is only used for development and testing of
594 CTDB. It adds artificial errors and failures to the
595 common codepaths in ctdbd to verify that ctdbd can recover
596 correctly from failures.
599 <emphasis>Do not use this option</emphasis> unless you are
600 developing and testing new functionality in CTDB.
606 <term>--valgrinding</term>
609 This is a debugging option. This option is only used when
610 debugging ctdbd. This enables additional debugging
611 capabilities and implies --nosetsched.
620 <title>SEE ALSO</title>
622 <citerefentry><refentrytitle>ctdb</refentrytitle>
623 <manvolnum>1</manvolnum></citerefentry>,
625 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
626 <manvolnum>1</manvolnum></citerefentry>,
628 <citerefentry><refentrytitle>onnode</refentrytitle>
629 <manvolnum>1</manvolnum></citerefentry>,
631 <citerefentry><refentrytitle>ctdb</refentrytitle>
632 <manvolnum>7</manvolnum></citerefentry>,
634 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
635 <manvolnum>7</manvolnum></citerefentry>,
637 <ulink url="http://ctdb.samba.org/"/>
644 This documentation was written by
653 <holder>Andrew Tridgell</holder>
654 <holder>Ronnie Sahlberg</holder>
658 This program is free software; you can redistribute it and/or
659 modify it under the terms of the GNU General Public License as
660 published by the Free Software Foundation; either version 3 of
661 the License, or (at your option) any later version.
664 This program is distributed in the hope that it will be
665 useful, but WITHOUT ANY WARRANTY; without even the implied
666 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
667 PURPOSE. See the GNU General Public License for more details.
670 You should have received a copy of the GNU General Public
671 License along with this program; if not, see
672 <ulink url="http://www.gnu.org/licenses"/>.