Add 60.ganesha to what gets installed by make install as well as by the RPM
[sahlberg/ctdb.git] / web / configuring.html
index 219edac19b97a9e038ce427aa08268ab8bdbf280..f91cd4519a82b4484d6fd355a30f2e301cd0f706 100644 (file)
@@ -38,7 +38,6 @@ The most important options are:
 <ul>
 <li>CTDB_NODES
 <li>CTDB_RECOVERY_LOCK
-<li>CTDB_PUBLIC_INTERFACE
 <li>CTDB_PUBLIC_ADDRESSES
 </ul>
 
@@ -82,50 +81,26 @@ Content of /etc/ctdb/nodes:
 The default for this file is /etc/ctdb/nodes.
 
 
-<h3>CTDB_PUBLIC_INTERFACE</h3>
-
-This parameter is used to tell CTDB which network interface is used to
-hold the public ip addresses when CTDB is used to manage IP
-takeover.<p>
-
-This can be the same network interface as is used for the private
-addresses in the CTDB_NODES list but it is recommended that you use a
-different interface.<p>
-
-Example using eth0 for the public interface:
-<pre>
-  CTDB_PUBLIC_INTERFACE=eth0
-</pre>
-
-It is strongly recommended that you use CTDB with IP takeover.<p>
-
-When you use this parameter you must also specify the
-CTDB_PUBLIC_ADDRESSES parameter.
-
 <h3>CTDB_PUBLIC_ADDRESSES</h3>
 
-In order to use IP takeover you must specify a file containing a list
-of public IP addresses. One IP address for each node.<p>
-
+Each node in a CTDB cluster contains a list of public addresses which that 
+particular node can host.<p>
 
-This file contains a list of public cluster addresses.<p>
+While running the CTDB cluster will assign each public address that exists in the entire cluster to one node that will host that public address.<p>
 
 These are the addresses that the SMBD daemons and other services will
-bind to and which clients will use to connect to the cluster. This
-file must contain one address for each node, i.e. it must have the
-same number of entries as the nodes file. This file must also be the
-same for all nodes in the cluster.<p>
+bind to and which clients will use to connect to the cluster.<p>
 
-Example 4 node cluster:
+<h3>Example 4 node cluster:</h3>
 <pre>
   CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
 </pre>
 Content of /etc/ctdb/public_addresses:
 <pre>
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.2.1/24
- 192.168.2.2/24
+ 192.168.1.1/24 eth0
+ 192.168.1.2/24 eth0
+ 192.168.2.1/24 eth1
+ 192.168.2.2/24 eth1
 </pre>
 
 These are the IP addresses that you should configure in DNS for the
@@ -138,18 +113,10 @@ cluster.<p>
 
 The CTDB cluster utilizes IP takeover techniques to ensure that as long as at least one node in the cluster is available, all the public IP addresses will always be available to clients.<p>
 
-This means that if one physical node fails, the public address of that
-node will be taken over by a different node in the cluster. This
+This means that if one physical node fails, the public addresses that
+node was serving will be taken over by a different node in the cluster. This
 provides a guarantee that all ip addresses exposed to clients will
-always be reachable by clients even if a node has been powered off or
-has crashed.<p>
-
-CTDB nodes will only take over IP addresses that are inside the same
-subnet as its own public IP address. In the example above, nodes 0 and
-1 would be able to take over each others public ip and analog for
-nodes 2 and 3, but node 0 and 1 would NOT be able to take over the IP
-addresses for nodes 2 or 3 since they are on a different
-subnet.<p>
+always be reachable by clients as long as at least one node still remains available in the cluster with the capability to host that public address (i.e. the public address exists in that nodes public_addresses file).
 
 Do not assign these addresses to any of the interfaces on the
 host. CTDB will add and remove these addresses automatically at
@@ -157,9 +124,35 @@ runtime.<p>
 
 This parameter is used when CTDB operated in takeover ip mode.<p>
 
-The usual location for this file is /etc/ctdb/public_addresses. If you
-use this you <strong>must</strong> also specify the
-CTDB_PUBLIC_INTERFACE parameter.<p>
+The usual location for this file is /etc/ctdb/public_addresses.<p><p>
+
+<h3>Example 2:</h3>
+By using different public_addresses files on different nodes it is possible to 
+partition the cluster into subsets of nodes.
+
+<pre>
+Node 0 : /etc/ctdb/public_addresses
+10.1.1.1/24 eth0
+10.1.2.1/24 eth1
+</pre>
+
+<pre>
+Node 1 : /etc/ctdb/public_addresses
+10.1.2.1/24 eth1
+10.1.3.1/24 eth2
+</pre>
+
+<pre>
+Node 2 : /etc/ctdb/public_addresses
+10.1.3.2/24 eth2
+</pre>
+
+In this example we have three nodes but a total of 4 public addresses.<p>
+
+10.1.2.1 can be hosted by either node 0 or node 1 and will be available to clients as long as at least one of these nodes are available. Only if both nodes 0 and 1 fails will this public address become unavailable to clients.<p>
+
+All other public addresses can only be served by one single node respectively and will therefore only be avialable if the respective node is also available.
+
 
 <h2>Event scripts</h2>
 
@@ -174,7 +167,10 @@ proivide event scripts for.<p>
 
 Please see the service scripts that installed by ctdb in
 /etc/ctdb/events.d for examples of how to configure other services to
-be aware of the HA features of CTDB.
+be aware of the HA features of CTDB.<p>
+
+Also see /etc/ctdb/events.d/README for additional documentation on how to
+create and manage event scripts.
 
 <h2>TCP port to use for CTDB</h2>