LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] Cannot figure out failover balancing

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [lvs-users] Cannot figure out failover balancing
From: Peter Scott <Peter@xxxxxxxx>
Date: Fri, 20 Jan 2012 17:13:19 -0800
Hello.  We are using the Redhat load balancing add-on that comes on RHEL 
6.  We want to have highly available MySQL; we have two co-master MySQL 
servers that replicate to each other.  MySQL says that that updates 
should only come in to one of these at a time because of the possibility 
that conflicting updates arrive at each server simultaneously.  So we 
want to use LVS to direct all traffic to one of the co-masters (call it 
mysql01) except when it is down, in which case to direct all traffic to 
the other one (call it mysql02).

We thought this requirement would be common enough to be addressable via 
stock LVS capability.  Our initial thought was to set the weight of 
mysql01 to 1 and mysql02 to 0.  However, new connections still went to 
mysql02.  We discovered 
http://archive.linuxvirtualserver.org/html/lvs-users/2008-10/msg00101.html 
and set the /etc/sysctl.conf parameters, also tried setting them via the 
equivalent files in /proc/sys/net/ipv4/vs/, still connections went to 
both servers even when we waited beyond the persistence timeout of 600s.

Because of this behavior, we are not able to test whether our approach 
is sound to begin with; i.e., if mysql01 goes down will traffic be 
redirected to mysql02 even though its weight is 0?  We thought that if 
it was the only machine up in its group the weight would not matter.  
But would like to know if that assumption was accurate also.

Here's that section of our lvs.cf:

virtual MySQL {
      active = 1
      address = 192.168.185.115 eth0:6
      vip_nmask = 255.255.255.0
      fwmark = 3306
      port = 3306
      persistent = 600
      use_regex = 0
      load_monitor = none
      scheduler = wlc
      protocol = tcp
      timeout = 6
      reentry = 15
      quiesce_server = 0
      server MySQL01 {
          address = 192.168.185.51
          active = 1
          port = 3306
          weight = 1
      }
      server MySQL02 {
          address = 192.168.185.52
          active = 1
          port = 3306
          weight = 0
      }
}

Would appreciate any advice.  Thanks.

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>