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 0 which will only log important
56 events and errors. A larger number will provide additional
60 See the <citetitle>DEBUG LEVELS</citetitle> section in
61 <citerefentry><refentrytitle>ctdb</refentrytitle>
62 <manvolnum>7</manvolnum></citerefentry> for more
69 <term>--dbdir=<parameter>DIRECTORY</parameter></term>
72 DIRECTORY on local storage where ctdbd keeps a local copy of
73 TDB databases. This directory is local for each node and
74 should not be stored on the shared cluster filesystem.
77 This directory would usually be <filename>/var/lib/ctdb</filename>
83 <term>--dbdir-persistent=<parameter>DIRECTORY</parameter></term>
86 DIRECTORY on local storage where ctdbd keeps a local copy of
87 persistent TDB databases. This directory is local for each
88 node and should not be stored on the shared cluster
92 This directory would usually be
93 <filename>/var/lib/ctdb/persistent</filename>
99 <term>--dbdir-state=<parameter>DIRECTORY</parameter></term>
102 DIRECTORY on local storage where ctdbd keep internal state
103 TDB files. This directory is local for each node and
104 should not be stored on the shared cluster filesystem.
107 This directory would usually be
108 <filename>/var/lib/ctdb/state</filename>
114 <term>--event-script-dir=<parameter>DIRECTORY</parameter></term>
117 DIRECTORY where the CTDB event scripts are stored. See the
118 <citetitle>EVENT SCRIPTS</citetitle> section in
119 <citerefentry><refentrytitle>ctdb</refentrytitle>
120 <manvolnum>7</manvolnum></citerefentry> for more information.
123 Default is <envar>CTDB_BASE</envar>/events.d, so usually
124 <filename>/etc/ctdb/events.d</filename>, which is part of
125 the CTDB installation.
131 <term>--logging=<parameter>STRING</parameter></term>
134 STRING specifies where ctdbd will write its log. The
135 default is file:<filename>/var/log/log.ctdb</filename> or
136 similar - the prefix may differ depending on how CTDB was
144 <term>file:<parameter>FILENAME</parameter></term>
147 FILENAME where ctdbd will write its log. This is usually
148 <filename>/var/log/log.ctdb</filename>.
156 CTDB will log to syslog
168 This option is used to activate the LVS capability on a CTDB
169 node. Please see the <citetitle>LVS</citetitle> section in
170 <citerefentry><refentrytitle>ctdb</refentrytitle>
171 <manvolnum>7</manvolnum></citerefentry> for more
178 <term>--max-persistent-check-errors=<parameter>NUM</parameter></term>
181 NUM specifies the maximum number of health check failures
182 allowed for persistent databases during startup.
185 The default value is 0. Setting this to non-zero allows a
186 node with unhealthy persistent databases to startup and
187 join the cluster as long as there is another node with
188 healthy persistent databases.
194 <term>--nlist=<parameter>FILENAME</parameter></term>
197 FILENAME containing a list of the private IP addresses, one
198 per line, for each node in the cluster. This file
199 <emphasis>must be the same on each node</emphasis> in the
203 Default is <envar>CTDB_BASE</envar>/nodes, so usually
204 <filename>/etc/ctdb/nodes</filename>.
210 <term>--no-lmaster</term>
213 This argument specifies that this node can NOT become an lmaster
214 for records in the database. This means that it will never show up
215 in the vnnmap. This feature is primarily used for making a cluster
216 span across a WAN link and use CTDB as a WAN-accelerator.
219 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
220 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
221 <manvolnum>7</manvolnum></citerefentry> for more
228 <term>--no-recmaster</term>
231 This argument specifies that this node can NOT become a recmaster
232 for the database. This feature is primarily used for making a cluster
233 span across a WAN link and use CTDB as a WAN-accelerator.
236 Please see the <citetitle>REMOTE CLUSTER NODES</citetitle>
237 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
238 <manvolnum>7</manvolnum></citerefentry> for more
245 <term>--notification-script=<parameter>FILENAME</parameter></term>
248 FILENAME specifying a script to be invoked by ctdbd when
249 certain state changes occur.
253 <filename>/etc/ctdb/notify.sh</filename>.
256 Please see the <citetitle>NOTIFICATION SCRIPT</citetitle>
257 section in <citerefentry><refentrytitle>ctdb</refentrytitle>
258 <manvolnum>7</manvolnum></citerefentry> for more
265 <term>--pidfile=<parameter>FILENAME</parameter></term>
268 FILENAME for file containing process ID of main CTDB
269 daemon. This file is automatically created and removed by
273 The default is to not create a PID file.
279 <term>--public_addresses=<parameter>FILENAME</parameter></term>
282 FILENAME specifying a file containing the public IP
283 addresses to use on the cluster when CTDB should use IP
284 takeover. This file contains a list of IP addresses,
285 netmasks and interfaces. CTDB will distribute these public
286 IP addresses appropriately across the available nodes.
289 The IP addresses specified in this file can differ across
293 This is usually the file
294 <filename>/etc/ctdb/public_addresses</filename>
300 <term>--public-interface=<parameter>INTERFACE</parameter></term>
303 INTERFACE on which to attach public IP addresses or on which
304 to attach the single-public-ip when used.
307 When using public IP addresses, this is only required if
308 interfaces are not explicitly specified in the public
315 <term>--reclock=<parameter>FILENAME</parameter></term>
318 FILENAME is the name of the recovery lock file stored in
319 <emphasis>shared storage</emphasis> that ctdbd uses to
320 prevent split brains from occuring.
323 It is possible to run CTDB without a recovery lock file, but
324 then there will be no protection against split brain if the
325 cluster/network becomes partitioned. Using CTDB without a
326 reclock file is strongly discouraged.
332 <term>--single-public-ip=<parameter>IPADDR</parameter></term>
335 IPADDR specifies the single IP that CTDB will use in
339 Please see the <citetitle>LVS</citetitle> section in
340 <citerefentry><refentrytitle>ctdb</refentrytitle>
341 <manvolnum>7</manvolnum></citerefentry> for more
348 <term>--start-as-disabled</term>
351 This makes ctdbd start in the DISABLED state.
354 To allow the node to host public IP addresses and
355 services, it must be manually enabled using the
356 <command>ctdb enable</command> command.
359 Please see the <citetitle>NODE STATES</citetitle> section
360 in <citerefentry><refentrytitle>ctdb</refentrytitle>
361 <manvolnum>7</manvolnum></citerefentry> for more
362 information about the DISABLED state.
368 <term>--start-as-stopped</term>
371 This makes ctdbd start in the STOPPED state.
374 To allow the node to take part in the cluster it must be
375 manually continued with the the <command>ctdb
376 enable</command> command.
379 Please see the <citetitle>NODE STATES</citetitle> section
380 in <citerefentry><refentrytitle>ctdb</refentrytitle>
381 <manvolnum>7</manvolnum></citerefentry> for more
382 information about the STOPPED state.
388 <term>--syslog</term>
391 Send log messages to syslog instead of the CTDB logfile.
392 This option overrides --logfile. The default is to log to
399 <term>--transport=tcp|infiniband</term>
402 This option specifies which transport to use for ctdbd
403 internode communications. The default is "tcp".
406 The "infiniband" support is not regularly tested.
412 <term>-?, --help</term>
415 Display a summary of options.
424 <title>DEBUGGING OPTIONS</title>
429 <term>-i, --interactive</term>
432 Enable interactive mode. This will make ctdbd run in the
433 foreground and not detach from the terminal. By default
434 ctdbd will detach itself and run in the background as a
441 <term>--listen=<parameter>IPADDR</parameter></term>
444 This specifies which IP address that ctdbd will bind to.
447 By default ctdbd will bind to the first address it finds in
448 the <filename>/etc/ctdb/nodes</filename> file that is also
449 present on the local system.
452 This option is only required when you want to run multiple
453 ctdbd daemons/nodes on the same physical host in which case
454 there would be multiple entries in
455 <filename>/etc/ctdb/nodes</filename> that would match a
462 <term>--nopublicipcheck</term>
465 This option is used when testing with multiple local
466 daemons on a single machine. It disables checks related
467 to public IP addresses.
473 <term>--nosetsched</term>
476 This is a debugging option. This option is only used when
480 Normally ctdbd will change its scheduler to run as a
481 real-time process. This is the default mode for a normal
482 ctdbd operation to gurarantee that ctdbd always gets the CPU
483 cycles that it needs.
486 This option is used to tell ctdbd to
487 <emphasis>not</emphasis> run as a real-time process and
488 instead run ctdbd as a normal userspace process. This is
489 useful for debugging and when you want to run ctdbd under
490 valgrind or gdb. (You don't want to attach valgrind or gdb
491 to a real-time process.)
497 <term>--socket=<parameter>FILENAME</parameter></term>
500 FILENAME specifies the name of the Unix domain socket that
501 ctdbd will create. This socket is used by local clients to
502 communicate with ctdbd.
505 The default is <filename>/tmp/ctdb.socket</filename> . You
506 only need to use this option if you plan to run multiple
507 ctdbd daemons on the same physical host, usually for
514 <term>--script-log-level=<parameter>DEBUGLEVEL</parameter></term>
517 This option sets the debug level of event script output to
518 DEBUGLEVEL. The default is ERR (0).
521 See the <citetitle>DEBUG LEVELS</citetitle> section in
522 <citerefentry><refentrytitle>ctdb</refentrytitle>
523 <manvolnum>7</manvolnum></citerefentry> for more
530 <term>--sloppy-start</term>
533 This is debugging option. This speeds up the initial
534 recovery during startup at the expense of some consistency
535 checking. <emphasis>Don't use this option in
536 production</emphasis>.
542 <term>--torture</term>
545 This option is only used for development and testing of
546 CTDB. It adds artificial errors and failures to the
547 common codepaths in ctdbd to verify that ctdbd can recover
548 correctly from failures.
551 <emphasis>Do not use this option</emphasis> unless you are
552 developing and testing new functionality in CTDB.
558 <term>--valgrinding</term>
561 This is a debugging option. This option is only used when
562 debugging ctdbd. This enables additional debugging
563 capabilities and implies --nosetsched.
572 <title>SEE ALSO</title>
574 <citerefentry><refentrytitle>ctdb</refentrytitle>
575 <manvolnum>1</manvolnum></citerefentry>,
577 <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
578 <manvolnum>1</manvolnum></citerefentry>,
580 <citerefentry><refentrytitle>onnode</refentrytitle>
581 <manvolnum>1</manvolnum></citerefentry>,
583 <citerefentry><refentrytitle>ctdb</refentrytitle>
584 <manvolnum>7</manvolnum></citerefentry>,
586 <citerefentry><refentrytitle>ctdb-tunables</refentrytitle>
587 <manvolnum>7</manvolnum></citerefentry>,
589 <ulink url="http://ctdb.samba.org/"/>
596 This documentation was written by
605 <holder>Andrew Tridgell</holder>
606 <holder>Ronnie Sahlberg</holder>
610 This program is free software; you can redistribute it and/or
611 modify it under the terms of the GNU General Public License as
612 published by the Free Software Foundation; either version 3 of
613 the License, or (at your option) any later version.
616 This program is distributed in the hope that it will be
617 useful, but WITHOUT ANY WARRANTY; without even the implied
618 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
619 PURPOSE. See the GNU General Public License for more details.
622 You should have received a copy of the GNU General Public
623 License along with this program; if not, see
624 <ulink url="http://www.gnu.org/licenses"/>.