<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
Vladimir Legeza wrote:
<blockquote
 cite="mid:AANLkTimZvkQEDATRxwKQoTtVVx+RWYzKSjmuheTuH2nr@mail.gmail.com"
 type="cite"><i>Hello folks.<br>
  <br>
I try to setup four ip balanced nodes but,  I didn't found the right
way to balance load between nodes when some of them are filed.<br>
  <br>
I've done:</i><br>
  <br>
[root@node1 ~]# crm configure show<br>
node node1<br>
node node2<br>
node node3<br>
node node4<br>
primitive ClusterIP ocf:heartbeat:IPaddr2 \<br>
    params ip="10.138.10.252" cidr_netmask="32"
clusterip_hash="sourceip-sourceport" \<br>
    op monitor interval="30s"<br>
clone StreamIP ClusterIP \<br>
    meta globally-unique="true" <b>clone-max="8" clone-node-max="2"</b>
target-role="Started" notify="true" ordered="true" interleave="true"<br>
property $id="cib-bootstrap-options" \<br>
    dc-version="1.0.9-0a40fd0cb9f2fcedef9d1967115c912314c57438" \<br>
    cluster-infrastructure="openais" \<br>
    expected-quorum-votes="4" \<br>
    no-quorum-policy="ignore" \<br>
    stonith-enabled="false"<br>
  <br>
  <i>When all the nodes are up and running:</i><br>
  <br>
 [root@node1 ~]# crm status<br>
============<br>
Last updated: Thu Oct 28 17:26:13 2010<br>
Stack: openais<br>
Current DC: node2 - partition with quorum<br>
Version: 1.0.9-0a40fd0cb9f2fcedef9d1967115c912314c57438<br>
4 Nodes configured, 4 expected votes<br>
2 Resources configured.<br>
============<br>
  <br>
Online: [ node1 node2 node3 node4 ]<br>
  <br>
 Clone Set: StreamIP (unique)<br>
     ClusterIP:0    (ocf::heartbeat:IPaddr2):    Started node1<br>
     ClusterIP:1    (ocf::heartbeat:IPaddr2):    Started node1<br>
     ClusterIP:2    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:3    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:4    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:5    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:6    (ocf::heartbeat:IPaddr2):    Started node4<br>
     ClusterIP:7    (ocf::heartbeat:IPaddr2):    Started node4<br>
  <i><br>
Everything is OK and each node takes 1/4 of all traffic - wonderfull.<br>
But we become to 25% traffic loss if one of them goes down:<br>
  </i><br>
</blockquote>
Isn't this supposed to be normal behavior in a load balancing
situation, 4 nodes receive 25% of traffic each, one node goes down, the
load balancer notices the failure and directs 33,33% of traffic to the
remaining nodes?<br>
<br>
Just out of curiosity.<br>
<blockquote
 cite="mid:AANLkTimZvkQEDATRxwKQoTtVVx+RWYzKSjmuheTuH2nr@mail.gmail.com"
 type="cite">[root@node1 ~]# crm node standby node1<br>
[root@node1 ~]# crm status<br>
============<br>
Last updated: Thu Oct 28 17:30:01 2010<br>
Stack: openais<br>
Current DC: node2 - partition with quorum<br>
Version: 1.0.9-0a40fd0cb9f2fcedef9d1967115c912314c57438<br>
4 Nodes configured, 4 expected votes<br>
2 Resources configured.<br>
============<br>
  <br>
Node node1: standby<br>
Online: [ node2 node3 node4 ]<br>
  <br>
 Clone Set: StreamIP (unique)<br>
  <b>     ClusterIP:0    (ocf::heartbeat:IPaddr2):    Stopped <br>
     ClusterIP:1    (ocf::heartbeat:IPaddr2):    Stopped </b><br>
     ClusterIP:2    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:3    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:4    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:5    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:6    (ocf::heartbeat:IPaddr2):    Started node4<br>
     ClusterIP:7    (ocf::heartbeat:IPaddr2):    Started node4<br>
  <br>
  <i>I found the solution (to prevent loosing) by set <b>clone-node-max
  </b>to<b> 3</b></i><br>
  <br>
[root@node1 ~]# crm resource meta StreamIP set clone-node-max 3<br>
[root@node1 ~]# crm status<br>
============<br>
Last updated: Thu Oct 28 17:35:05 2010<br>
Stack: openais<br>
Current DC: node2 - partition with quorum<br>
Version: 1.0.9-0a40fd0cb9f2fcedef9d1967115c912314c57438<br>
4 Nodes configured, 4 expected votes<br>
2 Resources configured.<br>
============<br>
  <br>
  <b>Node node1: standby</b><br>
Online: [ node2 node3 node4 ]<br>
  <br>
 Clone Set: StreamIP (unique)<br>
  <b>     ClusterIP:0    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:1    (ocf::heartbeat:IPaddr2):    Started node3</b><br>
     ClusterIP:2    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:3    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:4    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:5    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:6    (ocf::heartbeat:IPaddr2):    Started node4<br>
     ClusterIP:7    (ocf::heartbeat:IPaddr2):    Started node4<br>
  <br>
  <i>The problem is that nothing gonna changed when node1 back online.</i><br>
  <br>
[root@node1 ~]# crm node online node1<br>
[root@node1 ~]# crm status<br>
============<br>
Last updated: Thu Oct 28 17:37:43 2010<br>
Stack: openais<br>
Current DC: node2 - partition with quorum<br>
Version: 1.0.9-0a40fd0cb9f2fcedef9d1967115c912314c57438<br>
4 Nodes configured, 4 expected votes<br>
2 Resources configured.<br>
============<br>
  <br>
Online: [ <b>node1</b> node2 node3 node4 ]<br>
  <br>
 Clone Set: StreamIP (unique)<br>
  <b>     ClusterIP:0    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:1    (ocf::heartbeat:IPaddr2):    Started node3</b><br>
     ClusterIP:2    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:3    (ocf::heartbeat:IPaddr2):    Started node2<br>
     ClusterIP:4    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:5    (ocf::heartbeat:IPaddr2):    Started node3<br>
     ClusterIP:6    (ocf::heartbeat:IPaddr2):    Started node4<br>
     ClusterIP:7    (ocf::heartbeat:IPaddr2):    Started node4<br>
  <i><br>
There are NO TRAFFIC on node1.<br>
If I back clone-node-max to 2  - all nodes revert to the original state.</i><br>
  <br>
 <br>
  <br>
So, My question is How to avoid such "hand-made" changes ( or is it
possible to automate<i><b> clone-node-max</b></i> adjustments)? <br>
  <br>
Thanks!<br>
</blockquote>
You could use location constraints for the clones, something like:<br>
<br>
location StreamIP:0 200: node1<br>
location StreamIP:0 100: node2<br>
<br>
This way if node1 is up, it will run there, but if node1 fails it will
move to node2. And if you don't define resource stickiness, when node1
comes back online, the resource migrates back to it.<br>
<br>
I haven't tested this, but it should give you a general idea about how
it could be implemented.<br>
<br>
Regards,<br>
<br>
Dan<br>
<blockquote
 cite="mid:AANLkTimZvkQEDATRxwKQoTtVVx+RWYzKSjmuheTuH2nr@mail.gmail.com"
 type="cite"><br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Pacemaker mailing list: <a class="moz-txt-link-abbreviated" href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a>
<a class="moz-txt-link-freetext" href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a>

Project Home: <a class="moz-txt-link-freetext" href="http://www.clusterlabs.org">http://www.clusterlabs.org</a>
Getting started: <a class="moz-txt-link-freetext" href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a>
Bugs: <a class="moz-txt-link-freetext" href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a>
  </pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">-- 
Dan FRINCU
Systems Engineer
CCNA, RHCE
Streamwide Romania
</pre>
</body>
</html>