8ded4ff33e4b39e42aa6a067312c22387eaa80a1
[amitay/ctdb-web.git] / web / manpages / ctdbd.1.html
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 &#8212; 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.
3     </p><p>
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.
6     </p><p>
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.
12           </p><p>
13             See the <em class="citetitle">DEBUG LEVELS</em> section in
14             <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
15             information.
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.
20           </p><p>
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
26             filesystem.
27           </p><p>
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.
33           </p><p>
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.
39           </p><p>
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.
45           </p><p>
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>.
49           </p><p>
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
58             default is
59             file:<code class="filename">/usr/local/var/log/log.ctdb</code>.
60           </p><p>
61             Valid values are:
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
67                   the syslog(3) API.
68                 </p><p>
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.
72                 </p><p>
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
77                   must be one of:
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
81                         mode.
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
94                         syslog daemons.
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
99             information.
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.
103           </p><p>
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
112             cluster.
113           </p><p>
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.
121           </p><p>
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
124             information.
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.
129           </p><p>
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
132             information.
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.
136           </p><p>
137             This file is usually
138             <code class="filename">/usr/local/etc/ctdb/notify.sh</code>.
139           </p><p>
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
142             information.
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
146             CTDB.
147           </p><p>
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.
155           </p><p>
156             The IP addresses specified in this file can differ across
157             nodes.
158           </p><p>
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.
164           </p><p>
165             When using public IP addresses, this is only required if
166             interfaces are not explicitly specified in the public
167             addresses file.
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.
172           </p><p>
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.
179           </p><p>
180             Please see the <em class="citetitle">LVS</em> section in
181             <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
182             information.
183           </p></dd><dt><span class="term">--start-as-disabled</span></dt><dd><p>
184             This makes ctdbd start in the DISABLED state.
185           </p><p>
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.
189           </p><p>
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.
195           </p><p>
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.
199           </p><p>
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".
206           </p><p>
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
214             daemon.
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
221             debugging ctdbd.
222           </p><p>
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.
227           </p><p>
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.
238           </p><p>
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
242             for testing.
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).
246           </p><p>
247             See the <em class="citetitle">DEBUG LEVELS</em> section in
248             <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span> for more
249             information.
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.
260           </p><p>
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>,
269
270       <span class="citerefentry"><span class="refentrytitle">ctdbd_wrapper</span>(1)</span>,
271
272       <span class="citerefentry"><span class="refentrytitle">onnode</span>(1)</span>,
273
274       <span class="citerefentry"><span class="refentrytitle">ctdb</span>(7)</span>,
275
276       <span class="citerefentry"><span class="refentrytitle">ctdb-tunables</span>(7)</span>,
277
278       <a class="ulink" href="http://ctdb.samba.org/" target="_top">http://ctdb.samba.org/</a>
279     </p></div></div></body></html>