diff options
author | Martin Schwenke <martin@meltin.net> | 2016-12-15 14:09:16 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2016-12-19 04:07:08 +0100 |
commit | 605347faf6fc8f05f945b38a0d351efe378a18d2 (patch) | |
tree | e4ccf43897bf9c9ab38e6f1c8091ab7d5cdca7b2 /ctdb/doc | |
parent | 3d80fdd5801c9bc8e81e0bc6fd3cb4f1bd355553 (diff) | |
download | samba-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.xml | 90 | ||||
-rw-r--r-- | ctdb/doc/ctdb.1.xml | 8 |
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 |