<cmdsynopsis>
<command>ctdbd</command>
- <arg choice="req">--reclock=<filename></arg>
- <arg choice="req">--nlist=<filename></arg>
- <arg choice="req">--dbdir=<directory></arg>
<arg choice="opt">-? --help</arg>
- <arg choice="opt">--usage</arg>
- <arg choice="opt">-i --interactive</arg>
- <arg choice="opt">--public-addresses=<filename></arg>
+ <arg choice="opt">-d --debug=<INTEGER></arg>
+ <arg choice="req">--dbdir=<directory></arg>
+ <arg choice="req">--dbdir-persistent=<directory></arg>
<arg choice="opt">--event-script-dir=<directory></arg>
- <arg choice="opt">--logfile=<filename></arg>
+ <arg choice="opt">-i --interactive</arg>
<arg choice="opt">--listen=<address></arg>
- <arg choice="opt">--transport=<STRING></arg>
+ <arg choice="opt">--logfile=<filename></arg>
+ <arg choice="req">--nlist=<filename></arg>
+ <arg choice="opt">--nosetsched</arg>
+ <arg choice="opt">--public-addresses=<filename></arg>
+ <arg choice="opt">--public-interface=<interface></arg>
+ <arg choice="req">--reclock=<filename></arg>
+ <arg choice="opt">--single-public-ip=<address></arg>
<arg choice="opt">--socket=<filename></arg>
- <arg choice="opt">-d --debug=<INTEGER></arg>
+ <arg choice="opt">--syslog</arg>
<arg choice="opt">--torture</arg>
+ <arg choice="opt">--transport=<STRING></arg>
+ <arg choice="opt">--usage</arg>
</cmdsynopsis>
</refsynopsisdiv>
</listitem>
</varlistentry>
- <varlistentry><term>--usage</term>
+ <varlistentry><term>-d --debug=<DEBUGLEVEL></term>
<listitem>
<para>
- Print useage information to the screen.
+ This option sets the debuglevel on the ctdbd daemon which controls what will be written to the logfile. The default is 0 which will only log important events and errors. A larger number will provide additional logging.
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--reclock=<filename></term>
+ <varlistentry><term>--dbdir=<directory></term>
<listitem>
<para>
- This is the name of the lock file stored of the shared cluster filesystem that ctdbd uses to arbitrate which node has the role of recovery-master.
- This file must be stored on shared storage.
+ This is the directory on local storage where ctdbd keeps the local
+ copy of the TDB databases. This directory is local for each node and should not be stored on the shared cluster filesystem.
+ </para>
+ <para>
+ This directory would usually be /var/ctdb .
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--nlist=<filename></term>
+ <varlistentry><term>--dbdir-persistent=<directory></term>
<listitem>
<para>
- This file contains a list of the private ip addresses of every node in the cluster. There is one line/ip address for each node. This file must be the same for all nodes in the cluster.
+ This is the directory on local storage where ctdbd keeps the local
+ copy of the persistent TDB databases. This directory is local for each node and should not be stored on the shared cluster filesystem.
</para>
<para>
- This file is usually /etc/ctdb/nodes .
+ This directory would usually be /etc/ctdb/persistent .
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--dbdir=<directory></term>
+ <varlistentry><term>--event-script-dir=<directory></term>
<listitem>
<para>
- This is the directory on local storage where ctdbd keeps the local
- copy of the TDB databases. This directory is local for each node and should not be stored on the shared cluster filesystem.
+ This option is used to specify the directory where the CTDB event
+ scripts are stored.
</para>
<para>
- This directory would usually be /var/ctdb .
+ This will normally be /etc/ctdb/events.d which is part of the ctdb distribution.
</para>
</listitem>
</varlistentry>
</listitem>
</varlistentry>
- <varlistentry><term>--public_addresses=<filename></term>
+ <varlistentry><term>--listen=<address></term>
<listitem>
<para>
- When used with IP takeover this specifies a file containing the public ip addresses to use on the cluster. This file contains a list of ip addresses netmasks and interfaces. When ctdb is operational it will distribute these public ip addresses evenly across the available nodes.
+ This specifies which ip address ctdb will bind to. By default ctdbd will bind to the first address it finds in the /etc/ctdb/nodes file and which is also present on the local system in which case you do not need to provide this option.
</para>
<para>
- This is usually the file /etc/ctdb/public_addresses
+ This option is only required when you want to run multiple ctdbd daemons/nodes on the same physical host in which case there would be multiple entries in /etc/ctdb/nodes what would match a local interface.
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--event-script-dir=<directory></term>
+ <varlistentry><term>--logfile=<filename></term>
<listitem>
<para>
- This option is used to specify the directory where the CTDB event
- scripts are stored.
+ This is the file where ctdbd will write its log. This is usually /var/log/log.ctdb .
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>--nlist=<filename></term>
+ <listitem>
+ <para>
+ This file contains a list of the private ip addresses of every node in the cluster. There is one line/ip address for each node. This file must be the same for all nodes in the cluster.
</para>
<para>
- This will normally be /etc/ctdb/events.d which is part of the ctdb distribution.
+ This file is usually /etc/ctdb/nodes .
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--logfile=<filename></term>
+ <varlistentry><term>--nosetsched</term>
<listitem>
<para>
- This is the file where ctdbd will write its log. This is usually /var/log/log.ctdb .
+ Normally ctdb will change its scheduler to run as a real-time
+ process. This option is used to change this behaviour and have
+ ctdb run as a normal process.
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--listen=<address></term>
+ <varlistentry><term>--public_addresses=<filename></term>
<listitem>
<para>
- This specifies which ip address ctdb will bind to. By default ctdbd will bind to the first address it finds in the /etc/ctdb/nodes file and which is also present on the local system in which case you do not need to provide this option.
+ When used with IP takeover this specifies a file containing the public ip addresses to use on the cluster. This file contains a list of ip addresses netmasks and interfaces. When ctdb is operational it will distribute these public ip addresses evenly across the available nodes.
</para>
<para>
- This option is only required when you want to run multiple ctdbd daemons/nodes on the same physical host in which case there would be multiple entries in /etc/ctdb/nodes what would match a local interface.
+ This is usually the file /etc/ctdb/public_addresses
</para>
</listitem>
</varlistentry>
- <varlistentry><term>--transport=<STRING></term>
+ <varlistentry><term>--public_interface=<interface></term>
<listitem>
<para>
- This option specifies which transport to use for ctdbd internode communications. The default is "tcp".
+ This option tells ctdb which interface to attach public-addresses
+ to and also where to attach the single-public-ip when used.
</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>--reclock=<filename></term>
+ <listitem>
<para>
- Suported transports are "tcp" and "infiniband".
+ This is the name of the lock file stored of the shared cluster filesystem that ctdbd uses to arbitrate which node has the role of recovery-master.
+ This file must be stored on shared storage.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>--single-public-ip=<address></term>
+ <listitem>
+ <para>
+ This option is used to activate the "ipmux" functionality of ctdb.
+ In this mode, all nodes of the cluster will expose a single
+ ip address from all nodes with all incoming traffic to the cluster
+ being passed through the current recmaster. This functionality
+ is similar to using a load-balancing switch.
+ </para>
+ <para>
+ All incoming packets are sent to the recmaster which will multiplex
+ the clients across all available nodes and pass the packets on to
+ a different node in the cluster to manage the connection based
+ on the clients ip address. Outgoing packets however are sent
+ directly from the node that was choosen back to the client.
+ Since all incoming packets are sent through the recmaster this will
+ have a throughput and performance impact when used. This impact
+ in performance primarily affects write-performance while
+ read-performance should be mainly unaffected.
+ Only use this feature if your environment is mostly-read
+ (i.e. most traffic is from the nodes back to the clients) or
+ if it is not important to get maximum write-performance to the
+ cluster.
+ </para>
+ <para>
+ When using a single public ip, you must also specify the
+ public-interface so that ctdb knows which interface to attach the
+ single public ip to.
</para>
</listitem>
</varlistentry>
</listitem>
</varlistentry>
- <varlistentry><term>-d --debug=<DEBUGLEVEL></term>
+ <varlistentry><term>--syslog</term>
<listitem>
<para>
- This option sets the debuglevel on the ctdbd daemon which controls what will be written to the logfile. The default is 0 which will only log important events and errors. A larger number will provide additional logging.
+ Send all log messages to syslog instead of to the ctdb logfile.
</para>
</listitem>
</varlistentry>
</para>
</listitem>
</varlistentry>
+
+ <varlistentry><term>--transport=<STRING></term>
+ <listitem>
+ <para>
+ This option specifies which transport to use for ctdbd internode communications. The default is "tcp".
+ </para>
+ <para>
+ Suported transports are "tcp" and "infiniband".
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>--usage</term>
+ <listitem>
+ <para>
+ Print useage information to the screen.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>