[SCM] CTDB repository - branch 1.2.40 updated - ctdb-1.2.45-2-gec1bfce

Amitay Isaacs amitay at samba.org
Thu Jul 26 07:14:39 MDT 2012


The branch, 1.2.40 has been updated
       via  ec1bfcec167194344a5694427bede4597bcf2547 (commit)
       via  34e329c87d8104b3ce71d0c0f4004387ef058b41 (commit)
      from  95efb0cffb19a4311d706b2fd7031834a2711022 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=1.2.40


- Log -----------------------------------------------------------------
commit ec1bfcec167194344a5694427bede4597bcf2547
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Jul 24 11:26:32 2012 +1000

    New version 1.2.46
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

commit 34e329c87d8104b3ce71d0c0f4004387ef058b41
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri Jul 20 16:43:39 2012 +1000

    Eventscripts: Default route on NAT gateway should have a metric of 10
    
    At the moment routes from 11.routing can fail to be added because they
    conflict with the default route added by 11.natgw.
    
    NAT gateway is meant to be a last resort, so routes from 11.routing
    should override it.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

-----------------------------------------------------------------------

Summary of changes:
 config/events.d/11.natgw   |    2 +-
 doc/ctdbd.1                |   39 +++++++++++-------
 doc/ctdbd.1.html           |   92 +++++++++++++++++++++++---------------------
 doc/ctdbd.1.xml            |   12 ++++--
 packaging/RPM/ctdb.spec.in |    4 +-
 5 files changed, 84 insertions(+), 65 deletions(-)


Changeset truncated at 500 lines:

diff --git a/config/events.d/11.natgw b/config/events.d/11.natgw
index ba6d7a5..c7ff289 100755
--- a/config/events.d/11.natgw
+++ b/config/events.d/11.natgw
@@ -79,7 +79,7 @@ case "$1" in
 		iptables -I INPUT -p tcp --syn -d $CTDB_NATGW_PUBLIC_IP_HOST -j REJECT 2>/dev/null
 
 		ip addr add $CTDB_NATGW_PUBLIC_IP dev $CTDB_NATGW_PUBLIC_IFACE
-		ip route add 0.0.0.0/0 via $CTDB_NATGW_DEFAULT_GATEWAY >/dev/null 2>/dev/null
+		ip route add 0.0.0.0/0 metric 10 via $CTDB_NATGW_DEFAULT_GATEWAY >/dev/null 2>/dev/null
 	else
 		# This is not the NAT-GW
 		# Assign the public ip to the private interface and make
diff --git a/doc/ctdbd.1 b/doc/ctdbd.1
index 5800520..b7e7c04 100644
--- a/doc/ctdbd.1
+++ b/doc/ctdbd.1
@@ -1,13 +1,22 @@
 '\" t
 .\"     Title: ctdbd
 .\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
-.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
-.\"      Date: 09/08/2010
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\"      Date: 07/24/2012
 .\"    Manual: CTDB - clustered TDB database
 .\"    Source: ctdb
 .\"  Language: English
 .\"
-.TH "CTDBD" "1" "09/08/2010" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDBD" "1" "07/24/2012" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
 .\" -----------------------------------------------------------------
 .\" * set default formatting
 .\" -----------------------------------------------------------------
@@ -118,7 +127,7 @@ This is a ctdbd debugging option\&. this option is only used when debugging ctdb
 .sp
 Normally ctdb will change its scheduler to run as a real\-time process\&. This is the default mode for a normal ctdbd operation to gurarantee that ctdbd always gets the cpu cycles that it needs\&.
 .sp
-This option is used to tell ctdbd to NOT run as a real\-time process and instead run ctdbd as a normal userspace process\&. This is useful for debugging and when you want to run ctdbd under valgrind or gdb\&. (You don\'t want to attach valgrind or gdb to a real\-time process\&.)
+This option is used to tell ctdbd to NOT run as a real\-time process and instead run ctdbd as a normal userspace process\&. This is useful for debugging and when you want to run ctdbd under valgrind or gdb\&. (You don\*(Aqt want to attach valgrind or gdb to a real\-time process\&.)
 .RE
 .PP
 \-\-notification\-script=<filename>
@@ -141,7 +150,7 @@ This is usually the file /etc/ctdb/public_addresses
 .RS 4
 This option tells ctdb which interface to attach public\-addresses to and also where to attach the single\-public\-ip when used\&.
 .sp
-This is only required when using public ip addresses and only when you don\'t specify the interface explicitly in /etc/ctdb/public_addresses or when you are using \-\-single\-public\-ip\&.
+This is only required when using public ip addresses and only when you don\*(Aqt specify the interface explicitly in /etc/ctdb/public_addresses or when you are using \-\-single\-public\-ip\&.
 .sp
 If you omit this argument when using public addresses or single public ip, ctdb will not be able to send out Gratious ARPs correctly or be able to kill tcp connections correctly which will lead to application failures\&.
 .RE
@@ -251,7 +260,7 @@ A public address on the other hand is not attached to an interface\&. This addre
 .PP
 The ctdb cluster will assign/reassign these public addresses across the available healthy nodes in the cluster\&. When one node fails, its public address will be migrated to and taken over by a different node in the cluster to ensure that all public addresses are always available to clients as long as there are still nodes available capable of hosting this address\&.
 .PP
-These addresses are not physically attached to a specific node\&. The \'ctdb ip\' command can be used to view the current assignment of public addresses and which physical node is currently serving it\&.
+These addresses are not physically attached to a specific node\&. The \*(Aqctdb ip\*(Aq command can be used to view the current assignment of public addresses and which physical node is currently serving it\&.
 .PP
 On each node this file contains a list of the public addresses that this node is capable of hosting\&. The list also contain the netmask and the interface where this address should be attached for the case where you may want to serve data out through multiple different interfaces\&.
 
@@ -307,7 +316,7 @@ In this example nodes 0 and 1 host two public addresses on the 10\&.1\&.1\&.x ne
 Ip address 10\&.1\&.1\&.1 can be hosted by either of nodes 0 or 1 and will be available to clients as long as at least one of these two nodes are available\&. If both nodes 0 and node 1 become unavailable 10\&.1\&.1\&.1 also becomes unavailable\&. 10\&.1\&.1\&.1 can not be failed over to node 2 or node 3 since these nodes do not have this ip address listed in their public addresses file\&.
 .SH "NODE STATUS"
 .PP
-The current status of each node in the cluster can be viewed by the \'ctdb status\' command\&.
+The current status of each node in the cluster can be viewed by the \*(Aqctdb status\*(Aq command\&.
 .PP
 There are five possible states for a node\&.
 .PP
@@ -354,7 +363,7 @@ How long should ctdb let an event script run before aborting it and marking the
 .PP
 Default: 300
 .PP
-If a node becomes banned causing repetitive recovery failures\&. The node will eventually become banned from the cluster\&. This controls how long the culprit node will be banned from the cluster before it is allowed to try to join the cluster again\&. Don\'t set to small\&. A node gets banned for a reason and it is usually due to real problems with the node\&.
+If a node becomes banned causing repetitive recovery failures\&. The node will eventually become banned from the cluster\&. This controls how long the culprit node will be banned from the cluster before it is allowed to try to join the cluster again\&. Don\*(Aqt set to small\&. A node gets banned for a reason and it is usually due to real problems with the node\&.
 .SS "DatabaseHashSize"
 .PP
 Default: 100000
@@ -369,7 +378,7 @@ Once a recovery has completed, no additional recoveries are permitted until this
 .PP
 Default: 1
 .PP
-When set to 0, this disables BANNING completely in the cluster and thus nodes can not get banned, even it they break\&. Don\'t set to 0\&.
+When set to 0, this disables BANNING completely in the cluster and thus nodes can not get banned, even it they break\&. Don\*(Aqt set to 0\&.
 .SS "DeterministicIPs"
 .PP
 Default: 1
@@ -381,7 +390,7 @@ The cost of using deterministic IP address assignment is that it disables part o
 .PP
 Default: 0
 .PP
-When set, As soon as a node becomes unhealthy, that node will also automatically become permanently DISABLED\&. Once a node is DISABLED, the only way to make it participate in the cluster again and host services is by manually enabling the node again using \'ctdb enable\'\&.
+When set, As soon as a node becomes unhealthy, that node will also automatically become permanently DISABLED\&. Once a node is DISABLED, the only way to make it participate in the cluster again and host services is by manually enabling the node again using \*(Aqctdb enable\*(Aq\&.
 .PP
 This disables parts of the resilience and robustness of the cluster and should ONLY be used when the system administrator is actively monitoring the cluster, so that nodes can be enabled again\&.
 .SS "NoIPFailback"
@@ -392,7 +401,7 @@ When set to 1, ctdb will not perform failback of IP addresses when a node become
 .PP
 Use with caution! Normally when a node becomes available to the cluster ctdb will try to reassign public IP addresses onto the new node as a way to distribute the workload evenly across the clusternode\&. Ctdb tries to make sure that all running nodes have approximately the same number of public addresses it hosts\&.
 .PP
-When you enable this tunable, CTDB will no longer attempt to rebalance the cluster by failing IP addresses back to the new nodes\&. An unbalanced cluster will therefore remain unbalanced until there is manual intervention from the administrator\&. When this parameter is set, you can manually fail public IP addresses over to the new node(s) using the \'ctdb moveip\' command\&.
+When you enable this tunable, CTDB will no longer attempt to rebalance the cluster by failing IP addresses back to the new nodes\&. An unbalanced cluster will therefore remain unbalanced until there is manual intervention from the administrator\&. When this parameter is set, you can manually fail public IP addresses over to the new node(s) using the \*(Aqctdb moveip\*(Aq command\&.
 .SH "LVS"
 .PP
 LVS is a mode where CTDB presents one single IP address for the entire cluster\&. This is an alternative to using public IP addresses and round\-robin DNS to loadbalance clients across the cluster\&.
@@ -568,7 +577,7 @@ This is the list of all nodes that belong to the same NATGW group as this node\&
 .PP
 When the NAT\-GW functionality is used, one of the nodes is elected to act as a NAT router for all the other nodes in the group when they need to originate traffic to the external public network\&.
 .PP
-The NAT\-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the designated interface and the provided default route\&. The NAT\-GW is configured to act as a router and to masquerade all traffic it receives from the internal private network and which is destined to the external network(s)\&.
+The NAT\-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the designated interface and the provided default route\&. Given that the NAT\-GW mechanism acts as a last resort, its default route is added with a metric of 10 so that it can coexist other configured static routes\&. The NAT\-GW is configured to act as a router and to masquerade all traffic it receives from the internal private network and which is destined to the external network(s)\&.
 .PP
 All other nodes in the group are configured with a default route of metric 10 pointing to the designated NAT GW node\&.
 .PP
@@ -583,7 +592,7 @@ If you want to remove NATGW completely from a node, use these steps:
 .RS 4
 .\}
 .nf
-1, Run \'CTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw removenatgw\'
+1, Run \*(AqCTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw removenatgw\*(Aq
 2, Then remove the configuration from /etc/sysconfig/ctdb
     
 .fi
@@ -597,9 +606,9 @@ If you want to change the NATGW configuration on a node :
 .RS 4
 .\}
 .nf
-1, Run \'CTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw removenatgw\'
+1, Run \*(AqCTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw removenatgw\*(Aq
 2, Then change the configuration in /etc/sysconfig/ctdb
-3, Run \'CTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw updatenatgw\'
+3, Run \*(AqCTDB_BASE=/etc/ctdb /etc/ctdb/events\&.d/11\&.natgw updatenatgw\*(Aq
     
 .fi
 .if n \{\
diff --git a/doc/ctdbd.1.html b/doc/ctdbd.1.html
index 063fbce..0bc2d5d 100644
--- a/doc/ctdbd.1.html
+++ b/doc/ctdbd.1.html
@@ -1,4 +1,4 @@
-<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.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" title="ctdbd"><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" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">ctdbd</code> </p></div><div class="cmdsynopsis"><p><code class="command">ctdbd</code>  [-? --help] [-d --debug=<INTEGER>] {--dbdir=<directory>} {--dbdir-persistent=<directory>} [--event-script-dir=<directory>] [-i --interactive] [--listen=<address>] [--logfile=<filename>] [--lvs] {--nlist=<filename>} [--no-lmaster] [--no-recmaster] [--nosetsched] {--notification-script=<filename>} [--public-add
 resses=<filename>] [--public-interface=<interface>] {--reclock=<filename>} [--single-public-ip=<address>] [--socket=<filename>] [--start-as-disabled] [--start-as-stopped] [--syslog] [--log-ringbuf-size=<num-entries>] [--torture] [--transport=<STRING>] [--usage]</p></div></div><div class="refsect1" title="DESCRIPTION"><a name="id424915"></a><h2>DESCRIPTION</h2><p>
+<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.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" title="ctdbd"><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" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">ctdbd</code> </p></div><div class="cmdsynopsis"><p><code class="command">ctdbd</code>  [-? --help] [-d --debug=<INTEGER>] {--dbdir=<directory>} {--dbdir-persistent=<directory>} [--event-script-dir=<directory>] [-i --interactive] [--listen=<address>] [--logfile=<filename>] [--lvs] {--nlist=<filename>} [--no-lmaster] [--no-recmaster] [--nosetsched] {--notification-script=<filename>} [--public-add
 resses=<filename>] [--public-interface=<interface>] {--reclock=<filename>} [--single-public-ip=<address>] [--socket=<filename>] [--start-as-disabled] [--start-as-stopped] [--syslog] [--log-ringbuf-size=<num-entries>] [--torture] [--transport=<STRING>] [--usage]</p></div></div><div class="refsect1" title="DESCRIPTION"><a name="idp209384"></a><h2>DESCRIPTION</h2><p>
       ctdbd is the main ctdb daemon.
     </p><p>
       ctdbd provides a clustered version of the TDB database with automatic rebuild/recovery of the databases upon nodefailures.
@@ -8,7 +8,7 @@
       ctdbd provides monitoring of all nodes in the cluster and automatically reconfigures the cluster and recovers upon node failures.
     </p><p>
       ctdbd is the main component in clustered Samba that provides a high-availability load-sharing CIFS server cluster.
-    </p></div><div class="refsect1" title="OPTIONS"><a name="id424942"></a><h2>OPTIONS</h2><div class="variablelist"><dl><dt><span class="term">-? --help</span></dt><dd><p>
+    </p></div><div class="refsect1" title="OPTIONS"><a name="idp211392"></a><h2>OPTIONS</h2><div class="variablelist"><dl><dt><span class="term">-? --help</span></dt><dd><p>
             Print some help text to the screen.
           </p></dd><dt><span class="term">-d --debug=<DEBUGLEVEL></span></dt><dd><p>
             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.
@@ -154,10 +154,10 @@
 	    implemented in the future.
           </p></dd><dt><span class="term">--usage</span></dt><dd><p>
             Print useage information to the screen.
-          </p></dd></dl></div></div><div class="refsect1" title="Private vs Public addresses"><a name="id382958"></a><h2>Private vs Public addresses</h2><p>
+          </p></dd></dl></div></div><div class="refsect1" title="Private vs Public addresses"><a name="idp100752"></a><h2>Private vs Public addresses</h2><p>
       When used for ip takeover in a HA environment, each node in a ctdb 
       cluster has multiple ip addresses assigned to it. One private and one or more public.
-    </p><div class="refsect2" title="Private address"><a name="id382967"></a><h3>Private address</h3><p>
+    </p><div class="refsect2" title="Private address"><a name="idp101376"></a><h3>Private address</h3><p>
         This is the physical ip address of the node which is configured in 
         linux and attached to a physical interface. This address uniquely
         identifies a physical node in the cluster and is the ip addresses
@@ -187,7 +187,7 @@
         10.1.1.2
         10.1.1.3
         10.1.1.4
-      </pre></div><div class="refsect2" title="Public address"><a name="id383002"></a><h3>Public address</h3><p>
+      </pre></div><div class="refsect2" title="Public address"><a name="idp104280"></a><h3>Public address</h3><p>
         A public address on the other hand is not attached to an interface.
         This address is managed by ctdbd itself and is attached/detached to
         a physical node at runtime.
@@ -248,7 +248,7 @@
 	unavailable. 10.1.1.1 can not be failed over to node 2 or node 3 since
 	these nodes do not have this ip address listed in their public
 	addresses file.
-	</p></div></div><div class="refsect1" title="Node status"><a name="id383063"></a><h2>Node status</h2><p>
+	</p></div></div><div class="refsect1" title="Node status"><a name="idp109200"></a><h2>Node status</h2><p>
       The current status of each node in the cluster can be viewed by the 
       'ctdb status' command.
     </p><p>
@@ -285,50 +285,50 @@
       RECMASTER or NATGW.
       This node does not perticipate in the CTDB cluster but can still be
       communicated with. I.e. ctdb commands can be sent to it.
-    </p></div><div class="refsect1" title="PUBLIC TUNABLES"><a name="id383111"></a><h2>PUBLIC TUNABLES</h2><p>
+    </p></div><div class="refsect1" title="PUBLIC TUNABLES"><a name="idp113224"></a><h2>PUBLIC TUNABLES</h2><p>
     These are the public tuneables that can be used to control how ctdb behaves.
-    </p><div class="refsect2" title="KeepaliveInterval"><a name="id383121"></a><h3>KeepaliveInterval</h3><p>Default: 1</p><p>
+    </p><div class="refsect2" title="KeepaliveInterval"><a name="idp113856"></a><h3>KeepaliveInterval</h3><p>Default: 1</p><p>
     How often should the nodes send keepalives to eachother.
-    </p></div><div class="refsect2" title="KeepaliveLimit"><a name="id383133"></a><h3>KeepaliveLimit</h3><p>Default: 5</p><p>
+    </p></div><div class="refsect2" title="KeepaliveLimit"><a name="idp114672"></a><h3>KeepaliveLimit</h3><p>Default: 5</p><p>
     After how many keepalive intervals without any traffic should a node
     wait until marking the peer as DISCONNECTED.
-    </p></div><div class="refsect2" title="MonitorInterval"><a name="id383147"></a><h3>MonitorInterval</h3><p>Default: 15</p><p>
+    </p></div><div class="refsect2" title="MonitorInterval"><a name="idp115552"></a><h3>MonitorInterval</h3><p>Default: 15</p><p>
     How often should ctdb run the event scripts to check for a nodes health.
-    </p></div><div class="refsect2" title="TickleUpdateInterval"><a name="id383160"></a><h3>TickleUpdateInterval</h3><p>Default: 20</p><p>
+    </p></div><div class="refsect2" title="TickleUpdateInterval"><a name="idp116384"></a><h3>TickleUpdateInterval</h3><p>Default: 20</p><p>
     How often will ctdb record and store the "tickle" information used to
     kickstart stalled tcp connections after a recovery.
-    </p></div><div class="refsect2" title="EventScriptTimeout"><a name="id383173"></a><h3>EventScriptTimeout</h3><p>Default: 20</p><p>
+    </p></div><div class="refsect2" title="EventScriptTimeout"><a name="idp117248"></a><h3>EventScriptTimeout</h3><p>Default: 20</p><p>
     How long should ctdb let an event script run before aborting it and
     marking the node unhealthy.
-    </p></div><div class="refsect2" title="RecoveryBanPeriod"><a name="id383186"></a><h3>RecoveryBanPeriod</h3><p>Default: 300</p><p>
+    </p></div><div class="refsect2" title="RecoveryBanPeriod"><a name="idp118112"></a><h3>RecoveryBanPeriod</h3><p>Default: 300</p><p>
     If a node becomes banned causing repetitive recovery failures. The node will
     eventually become banned from the cluster.
     This controls how long the culprit node will be banned from the cluster
     before it is allowed to try to join the cluster again.
     Don't set to small. A node gets banned for a reason and it is usually due
     to real problems with the node.
-    </p></div><div class="refsect2" title="DatabaseHashSize"><a name="id383202"></a><h3>DatabaseHashSize</h3><p>Default: 100000</p><p>
+    </p></div><div class="refsect2" title="DatabaseHashSize"><a name="idp119256"></a><h3>DatabaseHashSize</h3><p>Default: 100000</p><p>
     Size of the hash chains for the local store of the tdbs that ctdb manages.
-    </p></div><div class="refsect2" title="RerecoveryTimeout"><a name="id383215"></a><h3>RerecoveryTimeout</h3><p>Default: 10</p><p>
+    </p></div><div class="refsect2" title="RerecoveryTimeout"><a name="idp120104"></a><h3>RerecoveryTimeout</h3><p>Default: 10</p><p>
     Once a recovery has completed, no additional recoveries are permitted until this timeout has expired.
-    </p></div><div class="refsect2" title="EnableBans"><a name="id383228"></a><h3>EnableBans</h3><p>Default: 1</p><p>
+    </p></div><div class="refsect2" title="EnableBans"><a name="idp120968"></a><h3>EnableBans</h3><p>Default: 1</p><p>
     When set to 0, this disables BANNING completely in the cluster and thus nodes can not get banned, even it they break. Don't set to 0.
-    </p></div><div class="refsect2" title="DeterministicIPs"><a name="id383242"></a><h3>DeterministicIPs</h3><p>Default: 1</p><p>
+    </p></div><div class="refsect2" title="DeterministicIPs"><a name="idp121856"></a><h3>DeterministicIPs</h3><p>Default: 1</p><p>
     When enabled, this tunable makes ctdb 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. 
     </p><p>
     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.
-    </p></div><div class="refsect2" title="DisableWhenUnhealthy"><a name="id383262"></a><h3>DisableWhenUnhealthy</h3><p>Default: 0</p><p>
+    </p></div><div class="refsect2" title="DisableWhenUnhealthy"><a name="idp123376"></a><h3>DisableWhenUnhealthy</h3><p>Default: 0</p><p>
     When set, As soon as a node becomes unhealthy, that node will also automatically become permanently DISABLED. Once a node is DISABLED, the only way to make it participate in the cluster again and host services is by manually enabling the node again using 'ctdb enable'. 
     </p><p>
     This disables parts of the resilience and robustness of the cluster and should ONLY be used when the system administrator is actively monitoring the cluster, so that nodes can be enabled again.
-    </p></div><div class="refsect2" title="NoIPFailback"><a name="id383282"></a><h3>NoIPFailback</h3><p>Default: 0</p><p>
+    </p></div><div class="refsect2" title="NoIPFailback"><a name="idp124784"></a><h3>NoIPFailback</h3><p>Default: 0</p><p>
     When set to 1, ctdb will not perform failback of IP addresses when a node becomes healthy. Ctdb WILL perform failover of public IP addresses when a node becomes UNHEALTHY, but when the node becomes HEALTHY again, ctdb will not fail the addresses back.
     </p><p>
     Use with caution! Normally when a node becomes available to the cluster
 ctdb will try to reassign public IP addresses onto the new node as a way to distribute the workload evenly across the clusternode. Ctdb tries to make sure that all running nodes have approximately the same number of public addresses it hosts.
     </p><p>
     When you enable this tunable, CTDB will no longer attempt to rebalance the cluster by failing IP addresses back to the new nodes. An unbalanced cluster will therefore remain unbalanced until there is manual intervention from the administrator. When this parameter is set, you can manually fail public IP addresses over to the new node(s) using the 'ctdb moveip' command.
-    </p></div></div><div class="refsect1" title="LVS"><a name="id383310"></a><h2>LVS</h2><p>
+    </p></div></div><div class="refsect1" title="LVS"><a name="idp126976"></a><h2>LVS</h2><p>
     LVS is a mode where CTDB presents one single IP address for the entire
     cluster. This is an alternative to using public IP addresses and round-robin
     DNS to loadbalance clients across the cluster.
@@ -369,7 +369,7 @@ ctdb will try to reassign public IP addresses onto the new node as a way to dist
     the processing node back to the clients. For read-intensive i/o patterns you can acheive very high throughput rates in this mode.
     </p><p>
     Note: you can use LVS and public addresses at the same time.
-    </p><div class="refsect2" title="Configuration"><a name="id383366"></a><h3>Configuration</h3><p>
+    </p><div class="refsect2" title="Configuration"><a name="idp131752"></a><h3>Configuration</h3><p>
     To activate LVS on a CTDB node you must specify CTDB_PUBLIC_INTERFACE and 
     CTDB_LVS_PUBLIC_ADDRESS in /etc/sysconfig/ctdb.
 	</p><p>
@@ -392,7 +392,7 @@ You must also specify the "--lvs" command line argument to ctdbd to activete LVS
     all of the clients from the node BEFORE you enable LVS. Also make sure
     that when you ping these hosts that the traffic is routed out through the
     eth0 interface.
-    </p></div><div class="refsect1" title="REMOTE CLUSTER NODES"><a name="id383403"></a><h2>REMOTE CLUSTER NODES</h2><p>
+    </p></div><div class="refsect1" title="REMOTE CLUSTER NODES"><a name="idp134640"></a><h2>REMOTE CLUSTER NODES</h2><p>
 It is possible to have a CTDB cluster that spans across a WAN link. 
 For example where you have a CTDB cluster in your datacentre but you also
 want to have one additional CTDB node located at a remote branch site.
@@ -421,7 +421,7 @@ CTDB_CAPABILITY_RECMASTER=no
     </p><p>
 	Verify with the command "ctdb getcapabilities" that that node no longer
 	has the recmaster or the lmaster capabilities.
-    </p></div><div class="refsect1" title="NAT-GW"><a name="id383442"></a><h2>NAT-GW</h2><p>
+    </p></div><div class="refsect1" title="NAT-GW"><a name="idp137680"></a><h2>NAT-GW</h2><p>
       Sometimes it is desireable to run services on the CTDB node which will
       need to originate outgoing traffic to external servers. This might
       be contacting NIS servers, LDAP servers etc. etc.
@@ -444,7 +444,7 @@ CTDB_CAPABILITY_RECMASTER=no
       if there are no public addresses assigned to the node.
       This is the simplest way but it uses up a lot of ip addresses since you
       have to assign both static and also public addresses to each node.
-    </p><div class="refsect2" title="NAT-GW"><a name="id426195"></a><h3>NAT-GW</h3><p>
+    </p><div class="refsect2" title="NAT-GW"><a name="idp140096"></a><h3>NAT-GW</h3><p>
       A second way is to use the built in NAT-GW feature in CTDB.
       With NAT-GW you assign one public NATGW address for each natgw group.
       Each NATGW group is a set of nodes in the cluster that shares the same
@@ -459,7 +459,7 @@ CTDB_CAPABILITY_RECMASTER=no
       In each NATGW group, one of the nodes is designated the NAT Gateway
       through which all traffic that is originated by nodes in this group
       will be routed through if a public addresses are not available. 
-    </p></div><div class="refsect2" title="Configuration"><a name="id426217"></a><h3>Configuration</h3><p>
+    </p></div><div class="refsect2" title="Configuration"><a name="idp141880"></a><h3>Configuration</h3><p>
       NAT-GW is configured in /etc/sysconfigctdb by setting the following
       variables:
     </p><pre class="screen">
@@ -507,46 +507,50 @@ CTDB_CAPABILITY_RECMASTER=no
 # become natgw master.
 #
 # CTDB_NATGW_SLAVE_ONLY=yes
-    </pre></div><div class="refsect2" title="CTDB_NATGW_PUBLIC_IP"><a name="id426266"></a><h3>CTDB_NATGW_PUBLIC_IP</h3><p>
+    </pre></div><div class="refsect2" title="CTDB_NATGW_PUBLIC_IP"><a name="idp142856"></a><h3>CTDB_NATGW_PUBLIC_IP</h3><p>
       This is an ip address in the public network that is used for all outgoing
       traffic when the public addresses are not assigned.
       This address will be assigned to one of the nodes in the cluster which
       will masquerade all traffic for the other nodes.
     </p><p>
       Format of this parameter is IPADDRESS/NETMASK
-    </p></div><div class="refsect2" title="CTDB_NATGW_PUBLIC_IFACE"><a name="id426280"></a><h3>CTDB_NATGW_PUBLIC_IFACE</h3><p>
+    </p></div><div class="refsect2" title="CTDB_NATGW_PUBLIC_IFACE"><a name="idp143904"></a><h3>CTDB_NATGW_PUBLIC_IFACE</h3><p>
       This is the physical interface where the CTDB_NATGW_PUBLIC_IP will be
       assigned to. This should be an interface connected to the public network.
     </p><p>
       Format of this parameter is INTERFACE
-    </p></div><div class="refsect2" title="CTDB_NATGW_DEFAULT_GATEWAY"><a name="id426293"></a><h3>CTDB_NATGW_DEFAULT_GATEWAY</h3><p>
+    </p></div><div class="refsect2" title="CTDB_NATGW_DEFAULT_GATEWAY"><a name="idp144832"></a><h3>CTDB_NATGW_DEFAULT_GATEWAY</h3><p>
       This is the default gateway to use on the node that is elected to host
       the CTDB_NATGW_PUBLIC_IP. This is the default gateway on the public network.
     </p><p>
       Format of this parameter is IPADDRESS
-    </p></div><div class="refsect2" title="CTDB_NATGW_PRIVATE_NETWORK"><a name="id426306"></a><h3>CTDB_NATGW_PRIVATE_NETWORK</h3><p>
+    </p></div><div class="refsect2" title="CTDB_NATGW_PRIVATE_NETWORK"><a name="idp145768"></a><h3>CTDB_NATGW_PRIVATE_NETWORK</h3><p>
       This is the network/netmask used for the interal private network.
     </p><p>
       Format of this parameter is IPADDRESS/NETMASK
-    </p></div><div class="refsect2" title="CTDB_NATGW_NODES"><a name="id426319"></a><h3>CTDB_NATGW_NODES</h3><p>
+    </p></div><div class="refsect2" title="CTDB_NATGW_NODES"><a name="idp3303088"></a><h3>CTDB_NATGW_NODES</h3><p>
       This is the list of all nodes that belong to the same NATGW group
       as this node. The default is /etc/ctdb/natgw_nodes.
-    </p></div><div class="refsect2" title="Operation"><a name="id426329"></a><h3>Operation</h3><p>
+    </p></div><div class="refsect2" title="Operation"><a name="idp3303744"></a><h3>Operation</h3><p>
       When the NAT-GW functionality is used, one of the nodes is elected
       to act as a NAT router for all the other nodes in the group when
       they need to originate traffic to the external public network.
     </p><p>
-      The NAT-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the designated
-      interface and the provided default route. The NAT-GW is configured
-      to act as a router and to masquerade all traffic it receives from the
-      internal private network and which is destined to the external network(s).
+      The NAT-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the
+      designated interface and the provided default route.  Given that
+      the NAT-GW mechanism acts as a last resort, its default route is
+      added with a metric of 10 so that it can coexist other
+      configured static routes.  The NAT-GW is configured to act as a
+      router and to masquerade all traffic it receives from the
+      internal private network and which is destined to the external
+      network(s).
     </p><p>
       All other nodes in the group are configured with a default route of
       metric 10 pointing to the designated NAT GW node.
     </p><p>
       This is implemented in the 11.natgw eventscript. Please see the
       eventscript for further information.
-    </p></div><div class="refsect2" title="Removing/Changing NATGW at runtime"><a name="id426354"></a><h3>Removing/Changing NATGW at runtime</h3><p>
+    </p></div><div class="refsect2" title="Removing/Changing NATGW at runtime"><a name="idp3305832"></a><h3>Removing/Changing NATGW at runtime</h3><p>
       The following are the procedures to change/remove a NATGW configuration 
       at runtime, without having to restart ctdbd.
     </p><p>
@@ -560,7 +564,7 @@ CTDB_CAPABILITY_RECMASTER=no
 1, Run 'CTDB_BASE=/etc/ctdb /etc/ctdb/events.d/11.natgw removenatgw'
 2, Then change the configuration in /etc/sysconfig/ctdb
 3, Run 'CTDB_BASE=/etc/ctdb /etc/ctdb/events.d/11.natgw updatenatgw'
-    </pre></div></div><div class="refsect1" title="NOTIFICATION SCRIPT"><a name="id426385"></a><h2>NOTIFICATION SCRIPT</h2><p>
+    </pre></div></div><div class="refsect1" title="NOTIFICATION SCRIPT"><a name="idp3308080"></a><h2>NOTIFICATION SCRIPT</h2><p>
       Notification scripts are used with ctdb to have a call-out from ctdb
       to a user-specified script when certain state changes occur in ctdb.
       This is commonly to set up either sending SNMP traps or emails
@@ -572,17 +576,17 @@ CTDB_CAPABILITY_RECMASTER=no
       See /etc/ctdb/notify.sh for an example script.
     </p><p>
       CTDB currently generates notifications on these state changes:
-    </p><div class="refsect2" title="unhealthy"><a name="id426409"></a><h3>unhealthy</h3><p>
+    </p><div class="refsect2" title="unhealthy"><a name="idp3309880"></a><h3>unhealthy</h3><p>
       This call-out is triggered when the node changes to UNHEALTHY state.
-    </p></div><div class="refsect2" title="healthy"><a name="id426418"></a><h3>healthy</h3><p>
+    </p></div><div class="refsect2" title="healthy"><a name="idp3310480"></a><h3>healthy</h3><p>
       This call-out is triggered when the node changes to HEALTHY state.
-    </p></div><div class="refsect2" title="startup"><a name="id426427"></a><h3>startup</h3><p>
+    </p></div><div class="refsect2" title="startup"><a name="idp3311080"></a><h3>startup</h3><p>
       This call-out is triggered when ctdb has started up and all managed services are up and running.
-    </p></div></div><div class="refsect1" title="ClamAV Daemon"><a name="id426438"></a><h2>ClamAV Daemon</h2><p>
+    </p></div></div><div class="refsect1" title="ClamAV Daemon"><a name="idp3311776"></a><h2>ClamAV Daemon</h2><p>
 CTDB has support to manage the popular anti-virus daemon ClamAV.
 This support is implemented through the
 eventscript : /etc/ctdb/events.d/31.clamd.
-</p><div class="refsect2" title="Configuration"><a name="id426447"></a><h3>Configuration</h3><p>
+</p><div class="refsect2" title="Configuration"><a name="idp3312384"></a><h3>Configuration</h3><p>
 Start by configuring CLAMAV normally and test that it works. Once this is
 done, copy the configuration files over to all the nodes so that all nodes
 share identical CLAMAV configurations.
@@ -611,10 +615,10 @@ Once you have restarted CTDBD, use
 ctdb scriptstatus
 </pre><p>
 and verify that the 31.clamd eventscript is listed and that it was executed successfully.
-</p></div></div><div class="refsect1" title="SEE ALSO"><a name="id426497"></a><h2>SEE ALSO</h2><p>
+</p></div></div><div class="refsect1" title="SEE ALSO"><a name="idp3315856"></a><h2>SEE ALSO</h2><p>
       ctdb(1), onnode(1)
       <a class="ulink" href="http://ctdb.samba.org/" target="_top">http://ctdb.samba.org/</a>
-    </p></div><div class="refsect1" title="COPYRIGHT/LICENSE"><a name="id426509"></a><h2>COPYRIGHT/LICENSE</h2><div class="literallayout"><p><br>
+    </p></div><div class="refsect1" title="COPYRIGHT/LICENSE"><a name="idp3316616"></a><h2>COPYRIGHT/LICENSE</h2><div class="literallayout"><p><br>
 Copyright (C) Andrew Tridgell 2007<br>
 Copyright (C) Ronnie sahlberg 2007<br>
 <br>
diff --git a/doc/ctdbd.1.xml b/doc/ctdbd.1.xml
index 91e2f9f..ac5cf47 100644
--- a/doc/ctdbd.1.xml
+++ b/doc/ctdbd.1.xml
@@ -967,10 +967,14 @@ CTDB_CAPABILITY_RECMASTER=no
       they need to originate traffic to the external public network.
     </para>
     <para>
-      The NAT-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the designated
-      interface and the provided default route. The NAT-GW is configured
-      to act as a router and to masquerade all traffic it receives from the
-      internal private network and which is destined to the external network(s).
+      The NAT-GW node is assigned the CTDB_NATGW_PUBLIC_IP to the
+      designated interface and the provided default route.  Given that
+      the NAT-GW mechanism acts as a last resort, its default route is
+      added with a metric of 10 so that it can coexist other
+      configured static routes.  The NAT-GW is configured to act as a
+      router and to masquerade all traffic it receives from the
+      internal private network and which is destined to the external
+      network(s).
     </para>
     <para>
       All other nodes in the group are configured with a default route of
diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index ee25a0c..7a8c080 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -3,7 +3,7 @@ Name: ctdb
 Summary: Clustered TDB
 Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
-Version: 1.2.45
+Version: 1.2.46
 Release: 1GITHASH
 Epoch: 0
 License: GNU GPL version 3
@@ -144,6 +144,8 @@ development libraries for ctdb
 %{_libdir}/libctdb.a
 
 %changelog
+* Tue Jul 24 2012 : Version 1.2.46
+ - Default route on NAT gateway should have a metric of 10
 * Thu Jul 12 2012 : Version 1.2.45
  - Robust removal of rogue public IPs
 * Fri Jun 29 2012 : Version 1.2.44


-- 
CTDB repository


More information about the samba-cvs mailing list