LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] Cannot figure out failover balancing

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [lvs-users] Cannot figure out failover balancing
Cc: Peter Scott <Peter@xxxxxxxx>
From: David Coulson <david@xxxxxxxxxxxxxxxx>
Date: Fri, 20 Jan 2012 20:43:59 -0500
Why not just setup a resource in rgmanager (I'd say use pacemaker, but 
RedHat doesn't support that yet), and move the MySQL IP between the 
hosts, rather than messing around with IPVS?

David

On 1/20/12 8:13 PM, Peter Scott wrote:
> 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

_______________________________________________
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>