1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>ctdbd</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="ctdbd.1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ctdbd — The CTDB cluster daemon</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">ctdbd</code> [<em class="replaceable"><code>OPTION</code></em>...]</p></div></div><div class="refsect1"><a name="idm139840524087616"></a><h2>DESCRIPTION</h2><p>
2 ctdbd is the main CTDB daemon.
4 Note that ctdbd is not usually invoked directly. It is invoked
5 via <span class="citerefentry"><span class="refentrytitle">ctdbd_wrapper</span>(1)</span> or via the initscript.
7 See <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for an overview of CTDB.
8 </p></div><div class="refsect1"><a name="idm139840525514688"></a><h2>GENERAL OPTIONS</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">-d, --debug=<em class="parameter"><code>DEBUGLEVEL</code></em></span></dt><dd><p>
9 This option sets the debug level to DEBUGLEVEL, which
10 controls what will be written by the logging
11 subsystem. The default is 2.
13 See the <em class="citetitle">DEBUG LEVELS</em> section in
14 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
16 </p></dd><dt><span class="term">--dbdir=<em class="parameter"><code>DIRECTORY</code></em></span></dt><dd><p>
17 DIRECTORY on local storage where ctdbd keeps a local copy of
18 TDB databases. This directory is local for each node and
19 should not be stored on the shared cluster filesystem.
21 Defaults to <code class="filename">/usr/local/var/lib/ctdb</code>.
22 </p></dd><dt><span class="term">--dbdir-persistent=<em class="parameter"><code>DIRECTORY</code></em></span></dt><dd><p>
23 DIRECTORY on local storage where ctdbd keeps a local copy of
24 persistent TDB databases. This directory is local for each
25 node and should not be stored on the shared cluster
28 Defaults to <code class="filename">/usr/local/var/lib/ctdb/persistent</code>.
29 </p></dd><dt><span class="term">--dbdir-state=<em class="parameter"><code>DIRECTORY</code></em></span></dt><dd><p>
30 DIRECTORY on local storage where ctdbd keep internal state
31 TDB files. This directory is local for each node and
32 should not be stored on the shared cluster filesystem.
34 Defaults to <code class="filename">/usr/local/var/lib/ctdb/state</code>.
35 </p></dd><dt><span class="term">--event-script-dir=<em class="parameter"><code>DIRECTORY</code></em></span></dt><dd><p>
36 DIRECTORY where the CTDB event scripts are stored. See the
37 <em class="citetitle">EVENT SCRIPTS</em> section in
38 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more information.
40 Default is <code class="envar">CTDB_BASE</code>/events.d, so usually
41 <code class="filename">/usr/local/etc/ctdb/events.d</code>, which is part of
42 the CTDB installation.
43 </p></dd><dt><span class="term">--listen=<em class="parameter"><code>IPADDR</code></em></span></dt><dd><p>
44 IPADDR is the private IP address that ctdbd will bind to.
46 By default ctdbd will select the first address from the
47 nodes list that in can bind to. See also
48 <em class="citetitle">--nlist</em>.
50 This option is only required when automatic address
51 detection can not be used. This can be the case when
52 running multiple ctdbd daemons/nodes on the same physical
53 host (usually for testing), using InfiniBand for the
54 private network or on Linux when sysctl
55 net.ipv4.ip_nonlocal_bind=1.
56 </p></dd><dt><span class="term">--logging=<em class="parameter"><code>STRING</code></em></span></dt><dd><p>
57 STRING specifies where ctdbd will write its log. The
59 file:<code class="filename">/usr/local/var/log/log.ctdb</code>.
62 </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">file:<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
63 FILENAME where ctdbd will write its log. This is usually
64 <code class="filename">/usr/local/var/log/log.ctdb</code>.
65 </p></dd><dt><span class="term">syslog[<span class="optional">:<em class="parameter"><code>METHOD</code></em></span>]</span></dt><dd><p>
66 CTDB will log to syslog. By default this will use
69 Under heavy loads syslog(3) can block if the syslog
70 daemon processes messages too slowly. This can
71 cause CTDB to block when logging.
73 If METHOD is specified then it specifies an
74 extension that causes logging to be done in a
75 non-blocking mode. Note that <span class="emphasis"><em>this may
76 cause messages to be dropped</em></span>. METHOD
78 </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">nonblocking</span></dt><dd><p>
79 CTDB will log to syslog via
80 <code class="filename">/dev/log</code> in non-blocking
82 </p></dd><dt><span class="term">udp</span></dt><dd><p>
83 CTDB will log to syslog via UDP to
84 localhost:514. The syslog daemon must be
85 configured to listen on (at least)
86 localhost:514. Most syslog daemons will log
87 the messages with hostname "localhost" - this
88 is a limitation of the implementation, for
89 compatibility with more syslog daemons.
90 </p></dd><dt><span class="term">udp-rfc5424</span></dt><dd><p>
91 As with "udp" but messages are sent in RFC5424
92 format. This method will log the correct
93 hostname but is not as widely implemented in
95 </p></dd></dl></div></dd></dl></div></dd><dt><span class="term">--lvs</span></dt><dd><p>
96 This option is used to activate the LVS capability on a CTDB
97 node. Please see the <em class="citetitle">LVS</em> section in
98 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
100 </p></dd><dt><span class="term">--max-persistent-check-errors=<em class="parameter"><code>NUM</code></em></span></dt><dd><p>
101 NUM specifies the maximum number of health check failures
102 allowed for persistent databases during startup.
104 The default value is 0. Setting this to non-zero allows a
105 node with unhealthy persistent databases to startup and
106 join the cluster as long as there is another node with
107 healthy persistent databases.
108 </p></dd><dt><span class="term">--nlist=<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
109 FILENAME containing a list of the private IP addresses, one
110 per line, for each node in the cluster. This file
111 <span class="emphasis"><em>must be the same on each node</em></span> in the
114 Default is <code class="envar">CTDB_BASE</code>/nodes, so usually
115 <code class="filename">/usr/local/etc/ctdb/nodes</code>.
116 </p></dd><dt><span class="term">--no-lmaster</span></dt><dd><p>
117 This argument specifies that this node can NOT become an lmaster
118 for records in the database. This means that it will never show up
119 in the vnnmap. This feature is primarily used for making a cluster
120 span across a WAN link and use CTDB as a WAN-accelerator.
122 Please see the <em class="citetitle">REMOTE CLUSTER NODES</em>
123 section in <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
125 </p></dd><dt><span class="term">--no-recmaster</span></dt><dd><p>
126 This argument specifies that this node can NOT become a recmaster
127 for the database. This feature is primarily used for making a cluster
128 span across a WAN link and use CTDB as a WAN-accelerator.
130 Please see the <em class="citetitle">REMOTE CLUSTER NODES</em>
131 section in <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
133 </p></dd><dt><span class="term">--notification-script=<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
134 FILENAME specifying a script to be invoked by ctdbd when
135 certain state changes occur.
138 <code class="filename">/usr/local/etc/ctdb/notify.sh</code>.
140 Please see the <em class="citetitle">NOTIFICATION SCRIPT</em>
141 section in <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
143 </p></dd><dt><span class="term">--pidfile=<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
144 FILENAME for file containing process ID of main CTDB
145 daemon. This file is automatically created and removed by
148 The default is to not create a PID file.
149 </p></dd><dt><span class="term">--public_addresses=<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
150 FILENAME specifying a file containing the public IP
151 addresses to use on the cluster when CTDB should use IP
152 takeover. This file contains a list of IP addresses,
153 netmasks and interfaces. CTDB will distribute these public
154 IP addresses appropriately across the available nodes.
156 The IP addresses specified in this file can differ across
159 This is usually the file
160 <code class="filename">/usr/local/etc/ctdb/public_addresses</code>
161 </p></dd><dt><span class="term">--public-interface=<em class="parameter"><code>INTERFACE</code></em></span></dt><dd><p>
162 INTERFACE on which to attach public IP addresses or on which
163 to attach the single-public-ip when used.
165 When using public IP addresses, this is only required if
166 interfaces are not explicitly specified in the public
168 </p></dd><dt><span class="term">--reclock=<em class="parameter"><code>FILE</code></em></span></dt><dd><p>
169 FILE is the name of the recovery lock file, stored in
170 <span class="emphasis"><em>shared storage</em></span>, that CTDB uses to
171 prevent split brains.
173 For information about the recovery lock please see the
174 <em class="citetitle">RECOVERY LOCK</em> section in
175 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span>.
176 </p></dd><dt><span class="term">--single-public-ip=<em class="parameter"><code>IPADDR</code></em></span></dt><dd><p>
177 IPADDR specifies the single IP that CTDB will use in
178 conjunction with LVS.
180 Please see the <em class="citetitle">LVS</em> section in
181 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
183 </p></dd><dt><span class="term">--start-as-disabled</span></dt><dd><p>
184 This makes ctdbd start in the DISABLED state.
186 To allow the node to host public IP addresses and
187 services, it must be manually enabled using the
188 <span class="command"><strong>ctdb enable</strong></span> command.
190 Please see the <em class="citetitle">NODE STATES</em> section
191 in <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
192 information about the DISABLED state.
193 </p></dd><dt><span class="term">--start-as-stopped</span></dt><dd><p>
194 This makes ctdbd start in the STOPPED state.
196 To allow the node to take part in the cluster it must be
197 manually continued with the the <span class="command"><strong>ctdb
198 enable</strong></span> command.
200 Please see the <em class="citetitle">NODE STATES</em> section
201 in <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
202 information about the STOPPED state.
203 </p></dd><dt><span class="term">--transport=tcp|infiniband</span></dt><dd><p>
204 This option specifies which transport to use for ctdbd
205 internode communications. The default is "tcp".
207 The "infiniband" support is not regularly tested.
208 </p></dd><dt><span class="term">-?, --help</span></dt><dd><p>
209 Display a summary of options.
210 </p></dd></dl></div></div><div class="refsect1"><a name="idm139840521704176"></a><h2>DEBUGGING OPTIONS</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">-i, --interactive</span></dt><dd><p>
211 Enable interactive mode. This will make ctdbd run in the
212 foreground and not detach from the terminal. By default
213 ctdbd will detach itself and run in the background as a
215 </p></dd><dt><span class="term">--nopublicipcheck</span></dt><dd><p>
216 This option is used when testing with multiple local
217 daemons on a single machine. It disables checks related
218 to public IP addresses.
219 </p></dd><dt><span class="term">--nosetsched</span></dt><dd><p>
220 This is a debugging option. This option is only used when
223 Normally ctdbd will change its scheduler to run as a
224 real-time process. This is the default mode for a normal
225 ctdbd operation to gurarantee that ctdbd always gets the CPU
226 cycles that it needs.
228 This option is used to tell ctdbd to
229 <span class="emphasis"><em>not</em></span> run as a real-time process and
230 instead run ctdbd as a normal userspace process. This is
231 useful for debugging and when you want to run ctdbd under
232 valgrind or gdb. (You don't want to attach valgrind or gdb
233 to a real-time process.)
234 </p></dd><dt><span class="term">--socket=<em class="parameter"><code>FILENAME</code></em></span></dt><dd><p>
235 FILENAME specifies the name of the Unix domain socket that
236 ctdbd will create. This socket is used by local clients to
237 communicate with ctdbd.
239 The default is <code class="filename">/usr/local/var/run/ctdb/ctdbd.socket</code>.
240 You only need to use this option if you plan to run
241 multiple ctdbd daemons on the same physical host, usually
243 </p></dd><dt><span class="term">--script-log-level=<em class="parameter"><code>DEBUGLEVEL</code></em></span></dt><dd><p>
244 This option sets the debug level of event script output to
245 DEBUGLEVEL. The default is ERR (0).
247 See the <em class="citetitle">DEBUG LEVELS</em> section in
248 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
250 </p></dd><dt><span class="term">--sloppy-start</span></dt><dd><p>
251 This is debugging option. This speeds up the initial
252 recovery during startup at the expense of some consistency
253 checking. <span class="emphasis"><em>Don't use this option in
254 production</em></span>.
255 </p></dd><dt><span class="term">--torture</span></dt><dd><p>
256 This option is only used for development and testing of
257 CTDB. It adds artificial errors and failures to the
258 common codepaths in ctdbd to verify that ctdbd can recover
259 correctly from failures.
261 <span class="emphasis"><em>Do not use this option</em></span> unless you are
262 developing and testing new functionality in CTDB.
263 </p></dd><dt><span class="term">--valgrinding</span></dt><dd><p>
264 This is a debugging option. This option is only used when
265 debugging ctdbd. This enables additional debugging
266 capabilities and implies --nosetsched.
267 </p></dd></dl></div></div><div class="refsect1"><a name="idm139840521682688"></a><h2>SEE ALSO</h2><p>
268 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(1)</span>,
270 <span class="citerefentry"><span class="refentrytitle">ctdbd_wrapper</span>(1)</span>,
272 <span class="citerefentry"><span class="refentrytitle">onnode</span>(1)</span>,
274 <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span>,
276 <span class="citerefentry"><span class="refentrytitle">ctdb-tunables</span>(7)</span>,
278 <a class="ulink" href="http://ctdb.samba.org/" target="_top">http://ctdb.samba.org/</a>
279 </p></div></div></body></html>