On Fri, 6 Mar 2009, Michael Schwartzkopff wrote:

Ben Timby schrieb:
I am working with a 3 node cluster and using an IPaddr2 resource. The
resource is a clone, which implies the use of iptables CLUSTERIP for
load sharing. However, with three nodes it seems impossible to get
even load distribution on failure. Let me explain.

If I use three clones, when a node fails, it's identity is assumed by
one of the remaining two nodes. This node now has two of the three
clones and thus gets 2/3rds of the traffic.

I tried using 6 clones n * (n - 1) and using location preferences so
that each node would normally have two clones. When a node fails, in
theory, it's two clones would each be assigned to one of the remaining
nodes.

However in practice, with all 3 nodes running, the clones are
distributed uevenly (4 on one node, and 1 each on the other two
nodes). And failure seems to result in similarly unbalanced
distribution.

Would it not be possible for the IPaddr2 resource to simply adjust the
number of clones when a node dies? Changing the --total-nodes
parameter in the iptables would seemingly be the easiest way to ensure
even traffic distribution. I know this would play havoc with sessions
(sticky connections), but that is not a problem for me.

I have attached my cib.xml, I suspect perhaps my location constraints
cannot be defined on clone resources the way I have done it.

Hi,

by the way, CLUSTERIP is a quite experimental target of iptables. For a
production cluster think about using Linux Virtual Server. It also
integrates nicely into heartbeat.

CLUSTERIP and LVS serve very different purposes.

CLUSTERIP spreads the load across different servers in that heartbeat cluster.

LVS spreads the load across different servers outside that heartbeat cluster.

David Lang
_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to