| 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="idp49146288"></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="idp49554896"></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="idp55026688"></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="idp55048176"></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>
 | 
|---|