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 to the logfile. The default is
55 0 which will only log important events and errors. A larger
56 number will provide additional logging.
59 See the <citetitle>DEBUG LEVELS</citetitle> section in
60 <citerefentry><refentrytitle>ctdb</refentrytitle>
61 <manvolnum>7</manvolnum></citerefentry> for more
68 <term>--dbdir=<parameter>DIRECTORY</parameter></term>
71 DIRECTORY on local storage where ctdbd keeps a local copy of
72 TDB databases. This directory is local for each node and
73 should not be stored on the shared cluster filesystem.
76 This directory would usually be <filename>/var/lib/ctdb</filename>
82 <term>--dbdir-persistent=<parameter>DIRECTORY</parameter></term>
85 DIRECTORY on local storage where ctdbd keeps a local copy of
86 persistent TDB databases. This directory is local for each
87 node and should not be stored on the shared cluster
91 This directory would usually be
92 <filename>/var/lib/ctdb/persistent</filename>
98 <term>--dbdir-state=<parameter>DIRECTORY</parameter></term>
101 DIRECTORY on local storage where ctdbd keep internal state
102 TDB files. This directory is local for each node and
103 should not be stored on the shared cluster filesystem.
106 This directory would usually be
107 <filename>/var/lib/ctdb/state</filename>
113 <term>--event-script-dir=<parameter>DIRECTORY</parameter></term>
116 DIRECTORY where the CTDB event scripts are stored. See the
117 <citetitle>EVENT SCRIPTS</citetitle> section in
118 <citerefentry><refentrytitle>ctdb</refentrytitle>
119 <manvolnum>7</manvolnum></citerefentry> for more information.
122 Default is <envar>CTDB_BASE</envar>/events.d, so usually
123 <filename>/etc/ctdb/events.d</filename>, which is part of
124 the CTDB installation.
130 <term>--logfile=<parameter>FILENAME</parameter></term>
133 FILENAME where ctdbd will write its log. This is usually
134 <filename>/var/log/log.ctdb</filename>.
143 This option is used to activate the LVS capability on a CTDB
144 node. Please see the <citetitle>LVS</citetitle> section in
145 <citerefentry><refentrytitle>ctdb</refentrytitle>
146 <manvolnum>7</manvolnum></citerefentry> for more
153 <term>--max-persistent-check-errors=<parameter>NUM</parameter></term>
156 NUM specifies the maximum number of health check failures
157 allowed for persistent databases during startup.
160 The default value is 0. Setting this to non-zero allows a
161 node with unhealthy persistent databases to startup and
162 join the cluster as long as there is another node with
163 healthy persistent databases.
169 <term>--nlist=<parameter>FILENAME</parameter></term>
172 FILENAME containing a list of the private IP addresses, one
173 per line, for each node in the cluster. This file
174 <emphasis>must be the same on each node</emphasis> in the
178 Default is <envar>CTDB_BASE</envar>/nodes, so usually
179 <filename>/etc/ctdb/nodes</filename>.
185 <term>--no-lmaster</term>
188 This argument specifies that this node can NOT become an lmaster
189 for records in the database. This means that it will never show up
190 in the vnnmap. This feature is primarily used for making a cluster
191 span across a WAN link and use CTDB as a WAN-accelerator.
194 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
195 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
196 <manvolnum>7</manvolnum></citerefentry> for more
203 <term>--no-recmaster</term>
206 This argument specifies that this node can NOT become a recmaster
207 for the database. This feature is primarily used for making a cluster
208 span across a WAN link and use CTDB as a WAN-accelerator.
211 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
212 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
213 <manvolnum>7</manvolnum></citerefentry> for more
220 <term>--notification-script=<parameter>FILENAME</parameter></term>
223 FILENAME specifying a script to be invoked by ctdbd when
224 certain state changes occur.
228 <filename>/etc/ctdb/notify.sh</filename>.
231 Please see the <citetitle>NOTIFICATION SCRIPT</citetitle>
232 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
233 <manvolnum>7</manvolnum></citerefentry> for more
240 <term>--pidfile=<parameter>FILENAME</parameter></term>
243 FILENAME for file containing process ID of main CTDB
244 daemon. This file is automatically created and removed by
248 The default is to not create a PID file.
254 <term>--public_addresses=<parameter>FILENAME</parameter></term>
257 FILENAME specifying a file containing the public IP
258 addresses to use on the cluster when CTDB should use IP
259 takeover. This file contains a list of IP addresses,
260 netmasks and interfaces. CTDB will distribute these public
261 IP addresses appropriately across the available nodes.
264 The IP addresses specified in this file can differ across
268 This is usually the file
269 <filename>/etc/ctdb/public_addresses</filename>
275 <term>--public-interface=<parameter>INTERFACE</parameter></term>
278 INTERFACE on which to attach public IP addresses or on which
279 to attach the single-public-ip when used.
282 When using public IP addresses, this is only required if
283 interfaces are not explicitly specified in the public
290 <term>--reclock=<parameter>FILENAME</parameter></term>
293 FILENAME is the name of the recovery lock file stored in
294 <emphasis>shared storage</emphasis> that ctdbd uses to
295 prevent split brains from occuring.
298 It is possible to run CTDB without a recovery lock file, but
299 then there will be no protection against split brain if the
300 cluster/network becomes partitioned. Using CTDB without a
301 reclock file is strongly discouraged.
307 <term>--single-public-ip=<parameter>IPADDR</parameter></term>
310 IPADDR specifies the single IP that CTDB will use in
314 Please see the <citetitle>LVS</citetitle> section in
315 <citerefentry><refentrytitle>ctdb</refentrytitle>
316 <manvolnum>7</manvolnum></citerefentry> for more
323 <term>--start-as-disabled</term>
326 This makes ctdbd start in the DISABLED state.
329 To allow the node to host public IP addresses and
330 services, it must be manually enabled using the
331 <command>ctdb enable</command> command.
334 Please see the <citetitle>NODE STATES</citetitle> section
335 in <citerefentry><refentrytitle>ctdb</refentrytitle>
336 <manvolnum>7</manvolnum></citerefentry> for more
337 information about the DISABLED state.
343 <term>--start-as-stopped</term>
346 This makes ctdbd start in the STOPPED state.
349 To allow the node to take part in the cluster it must be
350 manually continued with the the <command>ctdb
351 enable</command> command.
354 Please see the <citetitle>NODE STATES</citetitle> section
355 in <citerefentry><refentrytitle>ctdb</refentrytitle>
356 <manvolnum>7</manvolnum></citerefentry> for more
357 information about the STOPPED state.
363 <term>--syslog</term>
366 Send log messages to syslog instead of the CTDB logfile.
367 This option overrides --logfile. The default is to log to
374 <term>--transport=tcp|infiniband</term>
377 This option specifies which transport to use for ctdbd
378 internode communications. The default is "tcp".
381 The "infiniband" support is not regularly tested.
387 <term>-?, --help</term>
390 Display a summary of options.
399 <title>DEBUGGING OPTIONS</title>
404 <term>-i, --interactive</term>
407 Enable interactive mode. This will make ctdbd run in the
408 foreground and not detach from the terminal. By default
409 ctdbd will detach itself and run in the background as a
416 <term>--listen=<parameter>IPADDR</parameter></term>
419 This specifies which IP address that ctdbd will bind to.
422 By default ctdbd will bind to the first address it finds in
423 the <filename>/etc/ctdb/nodes</filename> file that is also
424 present on the local system.
427 This option is only required when you want to run multiple
428 ctdbd daemons/nodes on the same physical host in which case
429 there would be multiple entries in
430 <filename>/etc/ctdb/nodes</filename> that would match a
437 <term>--nopublicipcheck</term>
440 This option is used when testing with multiple local
441 daemons on a single machine. It disables checks related
442 to public IP addresses.
448 <term>--nosetsched</term>
451 This is a debugging option. This option is only used when
455 Normally ctdbd will change its scheduler to run as a
456 real-time process. This is the default mode for a normal
457 ctdbd operation to gurarantee that ctdbd always gets the CPU
458 cycles that it needs.
461 This option is used to tell ctdbd to
462 <emphasis>not</emphasis> run as a real-time process and
463 instead run ctdbd as a normal userspace process. This is
464 useful for debugging and when you want to run ctdbd under
465 valgrind or gdb. (You don't want to attach valgrind or gdb
466 to a real-time process.)
472 <term>--socket=<parameter>FILENAME</parameter></term>
475 FILENAME specifies the name of the Unix domain socket that
476 ctdbd will create. This socket is used by local clients to
477 communicate with ctdbd.
480 The default is <filename>/tmp/ctdb.socket</filename> . You
481 only need to use this option if you plan to run multiple
482 ctdbd daemons on the same physical host, usually for
489 <term>--script-log-level=<parameter>DEBUGLEVEL</parameter></term>
492 This option sets the debug level of event script output to
493 DEBUGLEVEL. The default is ERR (0).
496 See the <citetitle>DEBUG LEVELS</citetitle> section in
497 <citerefentry><refentrytitle>ctdb</refentrytitle>
498 <manvolnum>7</manvolnum></citerefentry> for more
505 <term>--sloppy-start</term>
508 This is debugging option. This speeds up the initial
509 recovery during startup at the expense of some consistency
510 checking. <emphasis>Don't use this option in
511 production</emphasis>.
517 <term>--torture</term>
520 This option is only used for development and testing of
521 CTDB. It adds artificial errors and failures to the
522 common codepaths in ctdbd to verify that ctdbd can recover
523 correctly from failures.
526 <emphasis>Do not use this option</emphasis> unless you are
527 developing and testing new functionality in CTDB.
533 <term>--valgrinding</term>
536 This is a debugging option. This option is only used when
537 debugging ctdbd. This enables additional debugging
538 capabilities and implies --nosetsched.
547 <title>SEE ALSO</title>
549 <citerefentry><refentrytitle>ctdb</refentrytitle>
550 <manvolnum>1</manvolnum></citerefentry>,
552 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
553 <manvolnum>1</manvolnum></citerefentry>,
555 <citerefentry><refentrytitle>onnode</refentrytitle>
556 <manvolnum>1</manvolnum></citerefentry>,
558 <citerefentry><refentrytitle>ctdb</refentrytitle>
559 <manvolnum>7</manvolnum></citerefentry>,
561 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
562 <manvolnum>7</manvolnum></citerefentry>,
564 <ulink url="http://ctdb.samba.org/"/>
571 This documentation was written by
580 <holder>Andrew Tridgell</holder>
581 <holder>Ronnie Sahlberg</holder>
585 This program is free software; you can redistribute it and/or
586 modify it under the terms of the GNU General Public License as
587 published by the Free Software Foundation; either version 3 of
588 the License, or (at your option) any later version.
591 This program is distributed in the hope that it will be
592 useful, but WITHOUT ANY WARRANTY; without even the implied
593 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
594 PURPOSE. See the GNU General Public License for more details.
597 You should have received a copy of the GNU General Public
598 License along with this program; if not, see
599 <ulink url="http://www.gnu.org/licenses"/>.