summaryrefslogtreecommitdiff
path: root/ctdb/doc
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2016-12-15 14:09:16 +1100
committerAmitay Isaacs <amitay@samba.org>2016-12-19 04:07:08 +0100
commit605347faf6fc8f05f945b38a0d351efe378a18d2 (patch)
treee4ccf43897bf9c9ab38e6f1c8091ab7d5cdca7b2 /ctdb/doc
parent3d80fdd5801c9bc8e81e0bc6fd3cb4f1bd355553 (diff)
downloadsamba-605347faf6fc8f05f945b38a0d351efe378a18d2.tar.gz
ctdb-takeover: IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs
Introduce a single new tunable IPAllocAlgorithm to set the IP allocation algorithm. This defaults to 2 for LCP2 IP address allocation. Tunables LCP2PublicIPs and DeterministicIPs are obsolete. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb/doc')
-rw-r--r--ctdb/doc/ctdb-tunables.7.xml90
-rw-r--r--ctdb/doc/ctdb.1.xml8
2 files changed, 68 insertions, 30 deletions
diff --git a/ctdb/doc/ctdb-tunables.7.xml b/ctdb/doc/ctdb-tunables.7.xml
index 1e263dac9a4..8a789a5e3dc 100644
--- a/ctdb/doc/ctdb-tunables.7.xml
+++ b/ctdb/doc/ctdb-tunables.7.xml
@@ -136,24 +136,6 @@
</refsect2>
<refsect2>
- <title>DeterministicIPs</title>
- <para>Default: 0</para>
- <para>
- When set to 1, ctdb will try to keep public IP addresses locked
- to specific nodes as far as possible. This makes it easier
- for debugging since you can know that as long as all nodes are
- healthy public IP X will always be hosted by node Y.
- </para>
- <para>
- The cost of using deterministic IP address assignment is that it
- disables part of the logic where ctdb tries to reduce the number
- of public IP assignment changes in the cluster. This tunable may
- increase the number of IP failover/failbacks that are performed
- on the cluster by a small margin.
- </para>
- </refsect2>
-
- <refsect2>
<title>DisableIPFailover</title>
<para>Default: 0</para>
<para>
@@ -250,6 +232,70 @@
</refsect2>
<refsect2>
+ <title>IPAllocAlgorithm</title>
+ <para>Default: 2</para>
+ <para>
+ Selects the algorithm that CTDB should use when doing public
+ IP address allocation. Meaningful values are:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ Deterministic IP address allocation.
+ </para>
+ <para>
+ This is a simple and fast option. However, it can cause
+ unnecessary address movement during fail-over because
+ each address has a "home" node. Works badly when some
+ nodes do not have any addresses defined. Should be used
+ with care when addresses are defined across multiple
+ networks.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>
+ Non-deterministic IP address allocation.
+ </para>
+ <para>
+ This is a relatively fast option that attempts to do a
+ minimise unnecessary address movements. Addresses do
+ not have a "home" node. Rebalancing is limited but it
+ usually adequate. Works badly when addresses are
+ defined across multiple networks.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ LCP2 IP address allocation.
+ </para>
+ <para>
+ Uses a heuristic to assign addresses defined across
+ multiple networks, usually balancing addresses on each
+ network evenly across nodes. Addresses do not have a
+ "home" node. Minimises unnecessary address movements.
+ The algorithm is complex, so is slower than other
+ choices for a large number of addresses. However, it
+ can calculate an optimal assignment of 900 addresses in
+ under 10 seconds on modern hardware.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ If the specified value is not one of these then the default
+ will be used.
+ </para>
+ </refsect2>
+
+ <refsect2>
<title>KeepaliveInterval</title>
<para>Default: 5</para>
<para>
@@ -277,14 +323,6 @@
</refsect2>
<refsect2>
- <title>LCP2PublicIPs</title>
- <para>Default: 1</para>
- <para>
- When set to 1, ctdb uses the LCP2 ip allocation algorithm.
- </para>
- </refsect2>
-
- <refsect2>
<title>LockProcessesPerDB</title>
<para>Default: 200</para>
<para>
diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml
index 2f371c0a86c..1d6979a4890 100644
--- a/ctdb/doc/ctdb.1.xml
+++ b/ctdb/doc/ctdb.1.xml
@@ -813,8 +813,6 @@ DatabaseHashSize = 100001
DatabaseMaxDead = 5
RerecoveryTimeout = 10
EnableBans = 1
-DeterministicIPs = 0
-LCP2PublicIPs = 1
NoIPFailback = 0
DisableIPFailover = 0
VerboseMemoryNames = 0
@@ -845,9 +843,11 @@ DBRecordSizeWarn = 10000000
DBSizeWarn = 100000000
PullDBPreallocation = 10485760
NoIPHostOnAllDisabled = 0
-Samba3AvoidDeadlocks = 0
TDBMutexEnabled = 0
LockProcessesPerDB = 200
+RecBufferSizeLimit = 1000000
+QueueBufferSize = 1024
+IPAllocAlgorithm = 2
</screen>
</refsect3>
</refsect2>
@@ -1201,7 +1201,7 @@ DB Statistics: locking.tdb
when you have changed the tunables for the daemon to:
</para>
<para>
- DeterministicIPs = 0
+ IPAllocAlgorithm != 0
</para>
<para>
NoIPFailback = 1