ctdb-tests: Switch local daemons to use new style configuration file
[samba.git] / ctdb / doc / ctdbd.conf.5.xml
index 3d7ae42ea41654360e9afa317f43c4b7947a2668..624a84f48addc94c01e1b23f93212a743653c016 100644 (file)
@@ -23,7 +23,7 @@
     <para>
       This file contains CTDB configuration variables that are affect
       the operation of CTDB.  The default location of this file is
-      <filename>/etc/ctdb/ctdbd.conf</filename>.
+      <filename>/usr/local/etc/ctdb/ctdbd.conf</filename>.
     </para>
 
     <para>
       <filename>/etc/default/ctdb</filename> (Debian).  However, these
       files should be reserved for variables used by the initscript.
       A historical alternative is
-      <filename>/etc/ctdb/sysconfig/ctdb</filename> - this is
+      <filename>/usr/local/etc/ctdb/sysconfig/ctdb</filename> - this is
       deprecated.
     </para>
 
   </refsect1>
 
-  <refsect1>
-    <title>
-      INITSCRIPT CONFIGURATION
-    </title>
-
-    <para>
-      Some options must be available to the initscript so they need to
-      be set in the distribution-specific initscript configuration,
-      such as <filename>/etc/sysconfig/ctdb</filename> or
-      <filename>/etc/default/ctdb</filename>.
-    </para>
-
-    <variablelist>
-
-      <varlistentry>
-       <term>CTDB_PIDFILE=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           FILENAME is the name of the file used to contain the
-           process ID (PID) of the main CTDB daemon when it is
-           running.  This is passed from the initscript to
-           <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry>.
-         </para>
-
-         <para>
-           Default is <filename>/var/run/ctdb/ctdbd.pid</filename>.
-           Corresponds to <option>--pidfile</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-    </variablelist>
-  </refsect1>
-
-  <refsect1>
-    <title>
-      GLOBAL CONFIGURATION
-    </title>
-
-    <para>
-      These options may be used in the initscripts, daemon and
-      scripts.
-    </para>
-
-    <variablelist>
-
-      <varlistentry>
-       <term>CTDB_BASE=<parameter>DIRECTORY</parameter></term>
-       <listitem>
-         <para>
-           DIRECTORY containing CTDB scripts and configuration files.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_VARDIR=<parameter>DIRECTORY</parameter></term>
-       <listitem>
-         <para>
-           DIRECTORY containing CTDB files that are modified at
-           runtime.
-         </para>
-         <para>
-           Defaults to <filename>/var/ctdb</filename>, unless
-           <filename>/var/lib/ctdb</filename> already exists in which
-           case it is used.
-         </para>
-       </listitem>
-      </varlistentry>
-
-
-    </variablelist>
-  </refsect1>
-
   <refsect1>
     <title>
       DAEMON CONFIGURATION
       <manvolnum>1</manvolnum></citerefentry> and are converted into
       command-line arguments to
       <citerefentry><refentrytitle>ctdbd</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry>.  Correspondence with
-      <citerefentry><refentrytitle>ctdbd</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry> options is shown for
-      each variable.  The the documentation for the relevant options
-      for more details.
+      <manvolnum>1</manvolnum></citerefentry>.
     </para>
 
     <para>
        <term>CTDB_CAPABILITY_LMASTER=yes|no</term>
        <listitem>
          <para>
-           Defaults to yes.  Corresponds to <option>--no-lmaster</option>.
+           Defaults to yes.
          </para>
        </listitem>
       </varlistentry>
        <term>CTDB_CAPABILITY_RECMASTER=yes|no</term>
        <listitem>
          <para>
-           Defaults to yes.  Corresponds to
-           <option>--no-recmaster</option>.
+           Defaults to yes.
          </para>
        </listitem>
       </varlistentry>
        <term>CTDB_DBDIR=<parameter>DIRECTORY</parameter></term>
        <listitem>
          <para>
-           Defaults to <varname>CTDB_VARDIR</varname>.  Corresponds to
-           <option>--dbdir</option>.
+           Defaults to <filename>/usr/local/var/lib/ctdb/volatile</filename>.
          </para>
        </listitem>
       </varlistentry>
        <term>CTDB_DBDIR_PERSISTENT=<parameter>DIRECTORY</parameter></term>
        <listitem>
          <para>
-           Defaults to <varname>CTDB_VARDIR</varname>/persistent.
-           Corresponds to <option>--dbdir-persistent</option>.
+           Defaults to <filename>/usr/local/var/lib/ctdb/persistent</filename>.
          </para>
        </listitem>
       </varlistentry>
        <term>CTDB_DBDIR_STATE=<parameter>DIRECTORY</parameter></term>
        <listitem>
          <para>
-           Defaults to <varname>CTDB_VARDIR</varname>/state.
-           Corresponds to <option>--dbdir-state</option>.
+           Defaults to <filename>/usr/local/var/lib/ctdb/state</filename>.
          </para>
        </listitem>
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
+       <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
+       <listitem>
+         <para>
+           FILENAME is a script to run to log debug information when
+           an event script times out.
+         </para>
+         <para>
+           Default is <filename>/usr/local/etc/ctdb/debug-hung-script.sh</filename>.
+         </para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
        <listitem>
          <para>
-           Default is NOTICE (2).  Corresponds to <option>-d</option> or
-           <option>--debug</option>.
+           FILENAME is a script to run to log debug information when
+           an CTDB fails to freeze databases during recovery.
+         </para>
+         <para>
+           No default, usually
+           <filename>/usr/local/etc/ctdb/debug_locks.sh</filename>.
          </para>
        </listitem>
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_EVENT_SCRIPT_DIR=<parameter>DIRECTORY</parameter></term>
+       <term>CTDB_DEBUGLEVEL=<parameter>DEBUGLEVEL</parameter></term>
        <listitem>
          <para>
-           Default is <varname>CTDB_BASE</varname>/events.d, so usually
-           <filename>/etc/ctdb/events.d</filename>.  Corresponds to
-           <option>--event-script-dir</option>.
+           Default is NOTICE.
          </para>
        </listitem>
       </varlistentry>
        <listitem>
          <para>
            STRING specifies where ctdbd will write its log. The
-           default is file:<filename>/var/log/log.ctdb</filename> or
-           similar - the prefix may differ depending on how CTDB was
-           built.  Corresponds to <option>--logging</option>.
+           default is
+           file:<filename>/usr/local/var/log/log.ctdb</filename>.
          </para>
          <para>
            Valid values are:
              <listitem>
                <para>
                  FILENAME where ctdbd will write its log. This is usually
-                 <filename>/var/log/log.ctdb</filename>.
+                 <filename>/usr/local/var/log/log.ctdb</filename>.
                </para>
              </listitem>
            </varlistentry>
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter></term>
-       <listitem>
-         <para>
-           No default.  Corresponds to "<option>--lvs</option>
-           <option>--single-public-ip IPADDR"</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_NODES=<parameter>FILENAME</parameter></term>
+       <term>CTDB_NOSETSCHED=yes|no</term>
        <listitem>
          <para>
-           Default is <varname>CTDB_BASE</varname>/nodes, so usually
-           <filename>/etc/ctdb/nodes</filename>.  Corresponds to
-           <option>--nlist</option>.
+           Defaults to no.
          </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_NOTIFY_SCRIPT=<parameter>FILENAME</parameter></term>
-       <listitem>
          <para>
-           No default, usually
-           <filename>/etc/ctdb/notify.sh</filename>.  Corresponds to
-           <option>--notification-script</option>.
+           Usually CTDB runs with real-time priority.  If you are running
+           CTDB on a platform that does not support real-time priority,
+           you can set this.
          </para>
        </listitem>
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_MAX_PERSISTENT_CHECK_ERRORS=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           Default 0.  Corresponds to
-           <option>--max-persistent-check-errors</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_NODE_ADDRESS=<parameter>FILENAME</parameter></term>
+       <term>CTDB_NODE_ADDRESS=<parameter>IPADDR</parameter></term>
        <listitem>
          <para>
            IPADDR is the private IP address that ctdbd will bind to.
-           Corresponds to <option>--listen</option>.
          </para>
          <para>
            By default ctdbd will select the first address from the
-           nodes list that in can bind to.  See also
-           <citetitle>CTDB_NODES</citetitle>.
+           nodes list that in can bind to.  See also the
+           <citetitle>Private address</citetitle> section in
+           <citerefentry><refentrytitle>ctdb</refentrytitle>
+           <manvolnum>7</manvolnum></citerefentry>.
          </para>
          <para>
            This option is only required when automatic address
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_PUBLIC_ADDRESSES=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           No default, usually
-           <filename>/etc/ctdb/public_addresses</filename>.
-           Corresponds to <option>--public-addresses</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_PUBLIC_INTERFACE=<parameter>INTERFACE</parameter></term>
+       <term>CTDB_RECOVERY_LOCK=<parameter>LOCK</parameter></term>
        <listitem>
          <para>
-           No default.  Corresponds to
-           <option>--public-interface</option>.
+           LOCK specifies the cluster-wide mutex used to detect and
+           prevent a partitioned cluster (or "split brain").
          </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_RECOVERY_LOCK=<parameter>FILENAME</parameter></term>
-       <listitem>
          <para>
-           Defaults to
+           No default, but the default configuration file specifies
            <filename>/some/place/on/shared/storage</filename>, which
-           should be change to a useful value.  Corresponds to
-           <option>--reclock</option>.
+           should be change to a useful value.
          </para>
          <para>
            For information about the recovery lock please see the
        <term>CTDB_SCRIPT_LOG_LEVEL=<parameter>DEBUGLEVEL</parameter></term>
        <listitem>
          <para>
-           Defaults to ERR (0).  Corresponds to
-           <option>--script-log-level</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_SOCKET=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           Defaults to <filename>/tmp/ctdb.socket</filename>.
-           Corresponds to <option>--socket</option>.
-         </para>
-         <para>
-           If you change this then you probably want to set this in
-           root's enviroment (perhaps in a file in
-           <filename>/etc/profile.d</filename>) so that you can use
-           the <citerefentry><refentrytitle>ctdb</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> command in a
-           straightforward manner.
+           Defaults to ERR.
          </para>
        </listitem>
       </varlistentry>
       <varlistentry>
        <term>CTDB_START_AS_DISABLED=yes|no</term>
        <listitem>
-         <para>
-           Default is no.  Corresponds to
-           <option>--start-as-disabled</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_START_AS_STOPPED=yes|no</term>
-       <listitem>
-         <para>
-           Default is no.  Corresponds to
-           <option>--start-as-stopped</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_TRANSPORT=tcp|infiniband</term>
-       <listitem>
-         <para>
-           Defaults to tcp.  Corresponds to
-           <option>--transport</option>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    <para>
-      While the following variables do not translate into daemon
-      options they are used by
-      <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry> when starting and
-      stopping <citerefentry><refentrytitle>ctdbd</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry>.
-    </para>
-
-    <variablelist>
-
-      <varlistentry>
-       <term>CTDB_SHUTDOWN_TIMEOUT=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM is the number of seconds to wait for
-           <citerefentry><refentrytitle>ctdbd</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> to shut down
-           gracefully before giving up and killing it.
-         </para>
-
-         <para>
-           Defaults is 30.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM is the number of seconds to wait for
-           <citerefentry><refentrytitle>ctdbd</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> complete early
-           initialisation up to a point where it is unlikely to
-           abort.  If <command>ctdbd</command> doesn't complete the
-           "setup" event before this timeout then it is killed.
-         </para>
-
-         <para>
-           Defaults is 10.
-         </para>
-       </listitem>
-      </varlistentry>
-
-    </variablelist>
-  </refsect1>
-
-  <refsect1>
-    <title>NETWORK CONFIGURATION</title>
-
-    <refsect2>
-      <title>NAT GATEWAY</title>
-
-      <para>
-       NAT gateway is used to configure fallback routing for nodes
-       when they do not host any public IP addresses.  For example,
-       it allows unhealthy nodes to reliably communicate with
-       external infrastructure.  One node in a NAT gateway group will
-       be designated as the NAT gateway master node and other (slave)
-       nodes will be configured with fallback routes via the NAT
-       gateway master node.  For more information, see the
-       <citetitle>NAT GATEWAY</citetitle> section in
-       <citerefentry><refentrytitle>ctdb</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>.
-      </para>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term>
-         <listitem>
-           <para>
-             IPADDR is an alternate network gateway to use on the NAT
-             gateway master node.  If set, a fallback default route
-             is added via this network gateway.
-           </para>
-           <para>
-             No default.  Setting this variable is optional - if not
-             set that no route is created on the NAT gateway master
-             node.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term>
-         <listitem>
-           <para>
-             FILENAME contains the list of nodes that belong to the
-             same NAT gateway group.
-           </para>
-           <para>
-             File format:
-             <screen>
-<parameter>IPADDR</parameter>
-             </screen>
-           </para>
-           <para>
-             No default, usually
-             <filename>/etc/ctdb/natgw_nodes</filename> when enabled.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term>
-         <listitem>
-           <para>
-             IPADDR/MASK is the private sub-network that is
-             internally routed via the NAT gateway master node.  This
-             is usually the private network that is used for node
-             addresses.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term>
-         <listitem>
-           <para>
-             IFACE is the network interface on which the
-             CTDB_NATGW_PUBLIC_IP will be configured.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term>
-         <listitem>
-           <para>
-             IPADDR/MASK indicates the IP address that is used for
-             outgoing traffic (originating from
-             CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master
-             node.  This <emphasis>must not</emphasis> be a
-             configured public IP address.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_SLAVE_ONLY=yes|no</term>
-         <listitem>
-           <para>
-             When set to "yes" a node can not be a NAT gateway master
-             node.  In this case
-             <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and
-             <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional
-             and unused.
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term>
-         <listitem>
-           <para>
-             Each IPADDR/MASK identifies a network or host to which
-             NATGW should create a fallback route, instead of
-             creating a single default route.  This can be used when
-             there is already a default route, via an interface that
-             can not reach required infrastructure, that overrides
-             the NAT gateway default route.
-           </para>
-           <para>
-             If GATEWAY is specified then the corresponding route on
-             the NATGW master node will be via GATEWAY.  Such routes
-             are created even if
-             <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not
-             specified.  If GATEWAY is not specified for some
-             networks then routes are only created on the NATGW
-             master node for those networks if
-             <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
-             specified.
-           </para>
-           <para>
-             This should be used with care to avoid causing traffic
-             to unnecessarily double-hop through the NAT gateway
-             master, even when a node is hosting public IP addresses.
-             Each specified network or host should probably have a
-             corresponding automatically created link route or static
-             route to avoid this.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-
-      <refsect3>
-       <title>Example</title>
-       <screen>
-CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
-CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
-CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
-CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
-CTDB_NATGW_PUBLIC_IFACE=eth0
-       </screen>
-
-       <para>
-         A variation that ensures that infrastructure (ADS, DNS, ...)
-         directly attached to the public network (10.0.0.0/24) is
-         always reachable would look like this:
-       </para>
-       <screen>
-CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
-CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24
-CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
-CTDB_NATGW_PUBLIC_IFACE=eth0
-CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24
-       </screen>
-       <para>
-         Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is
-         not specified.
-       </para>
-      </refsect3>
-
-    </refsect2>
-
-    <refsect2>
-      <title>POLICY ROUTING</title>
-
-      <para>
-       A node running CTDB may be a component of a complex network
-       topology.  In particular, public addresses may be spread
-       across several different networks (or VLANs) and it may not be
-       possible to route packets from these public addresses via the
-       system's default route.  Therefore, CTDB has support for
-       policy routing via the <filename>13.per_ip_routing</filename>
-       eventscript.  This allows routing to be specified for packets
-       sourced from each public address.  The routes are added and
-       removed as CTDB moves public addresses between nodes.
-      </para>
-
-      <para>
-       For more information, see the <citetitle>POLICY
-       ROUTING</citetitle> section in
-       <citerefentry><refentrytitle>ctdb</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>.
-      </para>
-
-      <variablelist>
-       <varlistentry>
-         <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term>
-         <listitem>
-           <para>
-             FILENAME contains elements for constructing the desired
-             routes for each source address.
-           </para>
-
-           <para>
-             The special FILENAME value
-             <constant>__auto_link_local__</constant> indicates that no
-             configuration file is provided and that CTDB should
-             generate reasonable link-local routes for each public IP
-             address.
-           </para>
-
-           <para>
-             File format:
-             <screen>
-<parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional>
-             </screen>
-           </para>
-
-           <para>
-             No default, usually
-             <filename>/etc/ctdb/policy_routing</filename> when enabled.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM sets the priority (or preference) for the routing
-           rules that are added by CTDB.
-         </para>
-
-         <para>
-           This should be (strictly) greater than 0 and (strictly)
-           less than 32766.  A priority of 100 is recommended, unless
-           this conflicts with a priority already in use on the
-           system.  See
-           <citerefentry><refentrytitle>ip</refentrytitle>
-           <manvolnum>8</manvolnum></citerefentry>, for more details.
-         </para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>
-           CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>,
-           CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter>
-         </term>
-         <listitem>
-           <para>
-             CTDB determines a unique routing table number to use for
-             the routing related to each public address.  LOW-NUM and
-             HIGH-NUM indicate the minimum and maximum routing table
-             numbers that are used.
-           </para>
-
-           <para>
-             <citerefentry><refentrytitle>ip</refentrytitle>
-             <manvolnum>8</manvolnum></citerefentry> uses some
-             reserved routing table numbers below 255.  Therefore,
-             CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly)
-             greater than 255.
-           </para>
-
-           <para>
-             CTDB uses the standard file
-             <filename>/etc/iproute2/rt_tables</filename> to maintain
-             a mapping between the routing table numbers and labels.
-             The label for a public address
-             <replaceable>ADDR</replaceable> will look like
-             ctdb.<replaceable>addr</replaceable>.  This means that
-             the associated rules and routes are easy to read (and
-             manipulate).
-           </para>
-
-           <para>
-             No default, usually 1000 and 9000.
-           </para>
-         </listitem>
-       </varlistentry>
-      </variablelist>
-
-      <refsect3>
-       <title>Example</title>
-       <screen>
-CTDB_PER_IP_ROUTING_CONF=/etc/ctdb/policy_routing
-CTDB_PER_IP_ROUTING_RULE_PREF=100
-CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
-CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
-       </screen>
-      </refsect3>
-
-    </refsect2>
-
-    <refsect2>
-      <title>MISCELLANEOUS NETWORK CONFIGURATION</title>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no</term>
-         <listitem>
-           <para>
-             Whether one or more offline interfaces should cause a
-             monitor event to fail if there are other interfaces that
-             are up.  If this is "yes" and a node has some interfaces
-             that are down then <command>ctdb status</command> will
-             display the node as "PARTIALLYONLINE".
-           </para>
-
-           <para>
-             Default is "no".
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-    </refsect2>
-
-  </refsect1>
-
-  <refsect1>
-    <title>SERVICE CONFIGURATION</title>
-
-    <para>
-      CTDB can be configured to manage and/or monitor various NAS (and
-      other) services via its eventscripts.
-    </para>
-
-    <para>
-      In the simplest case CTDB will manage a service.  This means the
-      service will be started and stopped along with CTDB, CTDB will
-      monitor the service and CTDB will do any required
-      reconfiguration of the service when public IP addresses are
-      failed over.
-    </para>
-
-    <refsect2>
-      <title>SAMBA</title>
-
-      <refsect3>
-       <title>Eventscripts</title>
-
-       <simplelist>
-         <member><filename>49.winbind</filename></member>
-         <member><filename>50.samba</filename></member>
-       </simplelist>
-      </refsect3>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_MANAGES_SAMBA=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage Samba?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_MANAGES_WINBIND=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage Winbind?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter></term>
-         <listitem>
-           <para>
-             When monitoring Samba, check TCP ports in
-             space-separated PORT-LIST.
-           </para>
-           <para>
-             Default is to monitor ports that Samba is configured to listen on.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no</term>
-         <listitem>
-           <para>
-             As part of monitoring, should CTDB skip the check for
-             the existence of each directory configured as share in
-             Samba.  This may be desirable if there is a large number
-             of shares.
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_SERVICE_NMB=<parameter>SERVICE</parameter></term>
-         <listitem>
-           <para>
-             Distribution specific SERVICE for managing nmbd.
-           </para>
-           <para>
-             Default is distribution-dependant.
-           </para>
-         </listitem>
-       </varlistentry>
-       <varlistentry>
-         <term>CTDB_SERVICE_SMB=<parameter>SERVICE</parameter></term>
-         <listitem>
-           <para>
-             Distribution specific SERVICE for managing smbd.
-           </para>
-           <para>
-             Default is distribution-dependant.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter></term>
-         <listitem>
-           <para>
-             Distribution specific SERVICE for managing winbindd.
-           </para>
-           <para>
-             Default is "winbind".
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-
-    </refsect2>
-
-    <refsect2>
-      <title>NFS</title>
-
-      <para>
-       This includes parameters for the kernel NFS server.
-       Alternative NFS subsystems (such as <ulink
-       url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>)
-       can be integrated using <varname>CTDB_NFS_CALLOUT</varname>.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>60.nfs</filename></member>
-       </simplelist>
-      </refsect3>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_CLUSTER_FILESYSTEM_TYPE=gpfs</term>
-         <listitem>
-           <para>
-             The type of cluster filesystem to use with NFS-ganesha.
-             Currently only "gpfs" is supported.
-           </para>
-           <para>
-             Default is "gpfs".
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_MANAGES_NFS=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage NFS?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter></term>
-         <listitem>
-           <para>
-             COMMAND specifies the path to a callout to handle
-             interactions with the configured NFS system, including
-             startup, shutdown, monitoring.
-           </para>
-           <para>
-             Default is the included
-             <command>nfs-linux-kernel-callout</command>.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_NFS_SKIP_SHARE_CHECK=yes|no</term>
-         <listitem>
-           <para>
-             As part of monitoring, should CTDB skip the check for
-             the existence of each directory exported via NFS.  This
-             may be desirable if there is a large number of exports.
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
-         <listitem>
-           <para>
-             IPADDR or HOSTNAME indicates the address that
-             <command>rpcinfo</command> should connect to when doing
-             <command>rpcinfo</command> check on IPv4 RPC service during
-             monitoring.  Optimally this would be "localhost".
-             However, this can add some performance overheads.
-           </para>
-           <para>
-             Default is "127.0.0.1".
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter></term>
-         <listitem>
-           <para>
-             IPADDR or HOSTNAME indicates the address that
-             <command>rpcinfo</command> should connect to when doing
-             <command>rpcinfo</command> check on IPv6 RPC service
-             during monitoring.  Optimally this would be "localhost6"
-             (or similar).  However, this can add some performance
-             overheads.
-           </para>
-           <para>
-             Default is "::1".
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-
-    </refsect2>
-
-    <refsect2>
-      <title>APACHE HTTPD</title>
-
-      <para>
-       CTDB can manage the Apache web server.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>41.httpd</filename></member>
-       </simplelist>
-      </refsect3>
-
-      <variablelist>
-       <varlistentry>
-         <term>CTDB_MANAGES_HTTPD=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage the Apache web server?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-      </variablelist>
-    </refsect2>
-
-    <refsect2>
-      <title>CLAMAV</title>
-
-      <para>
-       CTDB has support to manage the popular anti-virus daemon
-       ClamAV.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>31.clamd</filename></member>
-       </simplelist>
-
-       <para>
-         This eventscript is not enabled by default.  Use
-         <command>ctdb enablescript</command> to enable it.
-       </para>
-
-      </refsect3>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_MANAGES_CLAMD=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage ClamAV?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter></term>
-         <listitem>
-           <para>
-             FILENAME is the socket to monitor ClamAV.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-
-    </refsect2>
-
-    <refsect2>
-      <title>ISCSI</title>
-
-      <para>
-       CTDB has support for managing the Linux iSCSI tgtd service.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>70.iscsi</filename></member>
-       </simplelist>
-      </refsect3>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_MANAGES_ISCSI=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage iSCSI tgtd?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter></term>
-         <listitem>
-           <para>
-             DIRECTORY on shared storage containing scripts to start
-             tgtd for each public IP address.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-      </variablelist>
-    </refsect2>
-
-    <refsect2>
-      <title>MULTIPATHD</title>
-
-      <para>
-       CTDB can monitor multipath devices to ensure that active paths
-       are available.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>20.multipathd</filename></member>
-       </simplelist>
-
-       <para>
-         This eventscript is not enabled by default.  Use
-         <command>ctdb enablescript</command> to enable it.
-       </para>
-      </refsect3>
-
-      <variablelist>
-       <varlistentry>
-         <term>CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter></term>
-         <listitem>
-           <para>
-             MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor?
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-      </variablelist>
-    </refsect2>
-
-    <refsect2>
-      <title>VSFTPD</title>
-
-      <para>
-       CTDB can manage the vsftpd FTP server.
-      </para>
-
-      <refsect3>
-       <title>Eventscript</title>
-
-       <simplelist>
-         <member><filename>40.vsftpd</filename></member>
-       </simplelist>
-      </refsect3>
-
-      <variablelist>
-       <varlistentry>
-         <term>CTDB_MANAGES_VSFTPD=yes|no</term>
-         <listitem>
-           <para>
-             Should CTDB manage the vsftpd FTP server?
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-      </variablelist>
-    </refsect2>
-
-    <refsect2>
-      <title>
-       SYSTEM RESOURCE MONITORING CONFIGURATION
-      </title>
-
-      <para>
-       CTDB can experience seemingly random (performance and other)
-       issues if system resources become too contrained.  Options in
-       this section can be enabled to allow certain system resources to
-       be checked.
-      </para>
-
-      <refsect3>
-       <title>Eventscripts</title>
-
-       <simplelist>
-         <member><filename>00.ctdb</filename></member>
-         <member><filename>05.system</filename></member>
-       </simplelist>
-
-       <para>
-         Filesystem usage monitoring is in
-         <filename>05.system</filename>.  This eventscript is not
-         enabled by default.  Use <command>ctdb
-         enablescript</command> to enable it.
-       </para>
-      </refsect3>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter></term>
-         <listitem>
-           <para>
-             FS-LIMIT-LIST is a space-separated list of
-             <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional>
-             triples indicating that warnings should be logged if the
-             space used on FILESYSTEM reaches WARN_LIMIT%.  If usage
-             reaches UNHEALTHY_LIMIT then the node should be flagged
-             unhealthy.  Either WARN_LIMIT or UNHEALTHY_LIMIT may be
-             left blank, meaning that check will be omitted.
-           </para>
-
-           <para>
-             No default.
-           </para>
-
-           <para>
-             Note that this feature uses the
-             <filename>05.system</filename> eventscript, which is not
-             enabled by default.  Use <command>ctdb
-             enablescript</command> to enable it.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_CHECK_SWAP_IS_NOT_USED=yes|no</term>
-         <listitem>
-           <para>
-             Should a warning be logged if swap space is in use.
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_MONITOR_FREE_MEMORY=<parameter>NUM</parameter></term>
-         <listitem>
-           <para>
-             NUM is a lower limit on available system memory, expressed
-             in megabytes.  If this is set and the amount of available
-             memory falls below this limit then some debug information
-             will be logged, the node will be disabled and then CTDB
-             will be shut down.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_MONITOR_FREE_MEMORY_WARN=<parameter>NUM</parameter></term>
-         <listitem>
-           <para>
-             NUM is a lower limit on available system memory, expressed
-             in megabytes.  If this is set and the amount of available
-             memory falls below this limit then a warning will be
-             logged.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-    </refsect2>
-
-    <refsect2>
-      <title>MISCELLANEOUS SERVICE-RELATED CONFIGURATION</title>
-
-      <variablelist>
-
-       <varlistentry>
-         <term>CTDB_MANAGED_SERVICES=<parameter>SERVICE-LIST</parameter></term>
-         <listitem>
-           <para>
-             SERVICE-LIST is a space-separated list of SERVICEs that
-             CTDB should manage.  This can be used as an alternative
-             to the
-             <varname>CTDB_MANAGES_<replaceable>SERVICE</replaceable></varname>
-             variables.
-           </para>
-           <para>
-             No default.
-           </para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term>
-         <listitem>
-           <para>
-             When CTDB should start and stop services if they become
-             managed or unmanaged.
-           </para>
-           <para>
-             Default is no.
-           </para>
-         </listitem>
-       </varlistentry>
-
-      </variablelist>
-
-    </refsect2>
-
-  </refsect1>
-
-  <refsect1>
-    <title>
-      TUNABLES CONFIGURATION
-    </title>
-
-    <para>
-      CTDB tunables (see
-      <citerefentry><refentrytitle>ctdbd-tunables</refentrytitle>
-      <manvolnum>7</manvolnum></citerefentry>) can be set from the
-      configuration file.  They are set as follows:
-
-      <literallayout>
-CTDB_SET_<replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
-      </literallayout>
-    </para>
-
-    <para>
-      For example:
-
-      <screen format="linespecific">
-CTDB_SET_MonitorInterval=20
-      </screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>
-      DEBUG AND TEST
-    </title>
-
-    <para>
-      Variable in this section are for debugging and testing CTDB.
-      They should not generally be needed.
-    </para>
-
-    <variablelist>
-
-      <varlistentry>
-       <term>CTDB_DEBUG_HUNG_SCRIPT=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           FILENAME is a script to run to log debug information when
-           an event script times out.
-         </para>
-         <para>
-           Default is <filename><varname>CTDB_BASE</varname>/debug-hung-script.sh</filename>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           FILENAME specifies where log messages should go when
-           debugging hung eventscripts.  This is a testing option.
-           See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
-         </para>
-         <para>
-           No default.  Messages go to stdout/stderr and are logged
-           to the same place as other CTDB log messages.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term>
-       <listitem>
-         <para>
-           REGEXP specifies interesting processes for which stack
-           traces should be logged when debugging hung eventscripts
-           and those processes are matched in pstree output.  REGEXP
-           is an extended regexp so choices are separated by pipes
-           ('|').  However, REGEXP should not contain parentheses.
-           See also <citetitle>CTDB_DEBUG_HUNG_SCRIPT</citetitle>.
-         </para>
-         <para>
-           Default is "exportfs|rpcinfo".
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_DEBUG_LOCKS=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           FILENAME is a script to run to log debug information when
-           an CTDB fails to freeze databases during recovery.
-         </para>
-         <para>
-           No default, usually
-           <filename><varname>CTDB_BASE</varname>/debug_locks.sh</filename>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_ETCDIR=<parameter>DIRECTORY</parameter></term>
-       <listitem>
-         <para>
-           DIRECTORY containing system configuration files.  This is
-           used to provide alternate configuration when testing and
-           should not need to be changed from the default.
-         </para>
-         <para>
-           Default is <filename>/etc</filename>.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_INIT_STYLE=debian|redhat|suse</term>
-       <listitem>
-         <para>
-           This is the init style used by the Linux distribution (or
-           other operating system) being used.  This is usually
-           determined dynamically by checking the system.  This
-           variable is used by the initscript to determine which init
-           system primitives to use.  It is also used by some
-           eventscripts to choose the name of initscripts for certain
-           services, since these can vary between distributions.
-         </para>
-         <para>
-           No fixed default.
-         </para>
-         <para>
-           If this option needs to be changed from the calculated
-           default for the initscript to function properly, then it
-           must be set in the distribution-specific initscript
-           configuration, such as
-           <filename>/etc/sysconfig/ctdb</filename>
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM is the maximum number of volatile TDB database backups
-           to be kept (for each database) when a corrupt database is
-           found during startup.  Volatile TDBs are zeroed during
-           startup so backups are needed to debug any corruption that
-           occurs before a restart.
-         </para>
-         <para>
-           Default is 10.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_MAX_OPEN_FILES=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM is the maximum number of open files.
-         </para>
-         <para>
-           There is no default.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_RC_LOCAL=<parameter>FILENAME</parameter></term>
-       <listitem>
-         <para>
-           FILENAME is a script fragment to be sourced by the
-           <filename>functions</filename> that is sourced by scripts.
-           On example use would be to override function definitions
-           in unit tests.  As a sanity check, this file must be
-           executable for it to be used.
-         </para>
-         <para>
-           No default.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_RUN_TIMEOUT_MONITOR=yes|no</term>
-       <listitem>
-         <para>
-           Whether CTDB should simulate timing out monitor events.
-           This uses the <filename>99.timeout</filename> eventscript.
-         </para>
          <para>
            Default is no.
          </para>
@@ -1607,25 +310,8 @@ CTDB_SET_MonitorInterval=20
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_SCRIPT_DEBUGLEVEL=<parameter>NUM</parameter></term>
-       <listitem>
-         <para>
-           NUM is the level debugging messages printed by CTDB
-           scripts.  Setting this to a higher number (e.g. 4) will
-           cause some scripts to log more messages.
-         </para>
-         <para>
-           Default is 2.
-         </para>
-       </listitem>
-      </varlistentry>
-
-      <varlistentry>
-       <term>CTDB_SUPPRESS_COREFILE=yes|no</term>
+       <term>CTDB_START_AS_STOPPED=yes|no</term>
        <listitem>
-         <para>
-           Whether CTDB core files should be suppressed.
-         </para>
          <para>
            Default is no.
          </para>
@@ -1633,25 +319,10 @@ CTDB_SET_MonitorInterval=20
       </varlistentry>
 
       <varlistentry>
-       <term>CTDB_VALGRIND=yes|no|<parameter>COMMAND</parameter></term>
+       <term>CTDB_TRANSPORT=tcp|infiniband</term>
        <listitem>
          <para>
-           If "yes", this causes
-           <citerefentry><refentrytitle>ctdbd</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> to be run under
-           <citerefentry><refentrytitle>valgrind</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> with logs going to
-           <filename>/var/log/ctdb_valgrind</filename>.  If neither
-           "yes" nor "no" then the value is assumed to be a COMMAND
-           (e.g. a <command>valgrind</command> variation, a
-           <citerefentry><refentrytitle>gdb</refentrytitle>
-           <manvolnum>1</manvolnum></citerefentry> command) that is
-           used in place of the default <command>valgrind</command>
-           command.  In either case, the <option>--valgrind</option>
-           option is passed to <command>ctdbd</command>.
-         </para>
-         <para>
-           Default is no.
+           Defaults to tcp.
          </para>
        </listitem>
       </varlistentry>
@@ -1660,15 +331,13 @@ CTDB_SET_MonitorInterval=20
 
   </refsect1>
 
-
   <refsect1>
     <title>FILES</title>
 
     <simplelist>
-      <member><filename>/etc/ctdb/ctdbd.conf</filename></member>
+      <member><filename>/usr/local/etc/ctdb/ctdbd.conf</filename></member>
       <member><filename>/etc/sysconfig/ctdb</filename></member>
       <member><filename>/etc/default/ctdb</filename></member>
-      <member><filename>/etc/ctdb/sysconfig/ctdb</filename></member>
     </simplelist>
   </refsect1>