Again, you are mixing everything up.
HAProxy has it's own configuration - It defines what nodes your port 80
traffic (or whatever) is routed to. Haproxy does periodic health checks
of these backend services to make sure they are available for requests.
If you have multiple haproxy instances they will all independently do
health checks and not share any of that information with each other.
HAProxy will route traffic to all systems defined as a backend for a
particular service based upon whatever criteria is in the haproxy config.
You can run a two-node environment that is active/backup from a VIP
perspective, but active/active from a haproxy service perspective - Each
node would run Apache (or whatever your service is) and haproxy would
distribute requests across both based on your haproxy config. But, at
any point in time only one node would actually be routing requests
through it's local instance of haproxy.
I can't make it any simpler than that. Draw a diagram of what you are
trying to do if it doesn't make sense.
On 11/29/12 2:06 PM, Hermes Flying wrote:
You are saying that one instance of HAProxy runs in each system and
one instance is assigned the VIP that clients hit-on (out of scope for
HAProxy).
But this HAProxy distributes the requests according to the load,
either on system-A or system-B for which you seem to refer to as
backup system. In what way are you now refering to it as backup
system? Because I am interested in distributing the load to all the nodes.
*From:* David Coulson <da...@davidcoulson.net>
*To:* Hermes Flying <flyingher...@yahoo.com>
*Cc:* Baptiste <bed...@gmail.com>; "haproxy@formilux.org"
<haproxy@formilux.org>
*Sent:* Thursday, November 29, 2012 8:57 PM
*Subject:* Re: HAproxy and detect split-brain (network failures)
You can do that, but haproxy doesn't have anything to do with the
failover process, other than you run an instance of haproxy on one
server, and another instance on your backup system. As I said, neither
of the haproxy instances communicate anything, so all you need to do
is move the IP clients are using from one server to the other in order
to handle a failure. Moving the IP around is something keepalived,
pacemaker, etc handles - Look at their documentation for specifics and
challenges in a two-node config.
HAProxy doesn't have a concent of primary and backup in terms of it's
own instances. Each of them is stand alone. It's up to you, based on
your network/IP config which one has traffic routed to it.
David
On 11/29/12 1:53 PM, Hermes Flying wrote:
But if I install 2 HAProxy as load balancers, doesn't one act as the
primary loadbalancer directing the load to the known servers while
the secondary takes over load distribution as soon as the heartbeat
fails? I remember reading this. Is this wrong?
*From:* David Coulson mailto:da...@davidcoulson.net
*To:* Hermes Flying mailto:flyingher...@yahoo.com
*Cc:* Baptiste mailto:bed...@gmail.com; mailto:haproxy@formilux.org
mailto:haproxy@formilux.org
*Sent:* Thursday, November 29, 2012 8:39 PM
*Subject:* Re: HAproxy and detect split-brain (network failures)
You are mixing two totally different things together.
1) HAProxy will do periodic health checks of backend systems you are
routing to. Depending if you configure something as 'backup' or 'not
backup' will determine if/how traffic is routed to it. The backend
systems do not 'take over'. Haproxy just routes traffic to systems
based on your configuration. The backend systems don't know/care
about the other backend nodes, unless your application requires it
which is a different story and nothing to do with haproxy. HAproxy
only cares about a single instance of itself - If you have more than
one haproxy instance, they do NOT communicate anything between each
other.
2) In terms of keepalived, pacemaker, etc, it makes no difference
which you use with haproxy - all they do is manage the IP address(es)
which haproxy is listening on, and perhaps restart haproxy if it
dies. Their configuration and how you maintain quorum in a two-node
configuration is a question for one of their mailing lists, or just
read their documentation. I personally use pacemaker.
On 11/29/12 1:35 PM, Hermes Flying wrote:
Well I don't follow:
"You can have a pool of primary that it routes across, then backup
systems that are only used when all primary systems are unavailable."
When you are saying that "the backup systems that are used when
primary systems are unavailable", how do they decide to take over?
How do they know that the other systems are unavailable?
Are you saying that they depend on third party components like the
ones you mentioned (Keepalived etc)? In this case, what is the most
suitable tool to be used along with HAProxy? Is there a reference
manual for this somewhere?
*From:* David Coulson mailto:da...@davidcoulson.net
*To:* Hermes Flying mailto:flyingher...@yahoo.com
*Cc:* Baptiste mailto:bed...@gmail.com; mailto:haproxy@formilux.org
mailto:haproxy@formilux.org
*Sent:* Thursday, November 29, 2012 8:21 PM
*Subject:* Re: HAproxy and detect split-brain (network failures)
HAProxy only does primary and backup in terms of active backend
systems - You can have a pool of primary that it routes across, then
backup systems that are only used when all primary systems are
unavailable.
There is no concept of a cluster in terms of haproxy instances,
although you can run more than one and manage them via something
like pacemaker, keepalived or rgmanager.
On 11/29/12 1:19 PM, Hermes Flying wrote:
Hi,
From a quick look into HAProxy, I see that it is a Primary/backup
architecture. So isn't ensuring that both "nodes" don't become
primary part of HAProxy's primary/backup "protocol" ?
*From:* Baptiste mailto:bed...@gmail.com
*To:* Hermes Flying mailto:flyingher...@yahoo.com
*Cc:* mailto:haproxy@formilux.org mailto:haproxy@formilux.org
*Sent:* Thursday, November 29, 2012 3:02 PM
*Subject:* Re: HAproxy and detect split-brain (network failures)
Hi,
This is not HAProxy's role, this is the tool you use to ensure high
availability to do that.
I could see a way where HAProxy can report one interface failing,
maybe this could help you to detect if you're in a split brain
situation.
cheers
On Thu, Nov 29, 2012 at 11:51 AM, Hermes Flying
<flyingher...@yahoo.com <mailto:flyingher...@yahoo.com>> wrote:
> Hi,
> I am looking into using HAProxy as our load balancer.
> I see that you are using a primary/backup approach. I was
wondering how does
> HAProxy (if it does) address split-brain situation? Do you have a
mechanism
> to detect and avoid it? Do you have some standard recommendation
to all
> those using your solution?
>
> Thanks