Again, you need to talk to the pacemaker people for actual clustering
information.
The ping was so a node could detect it lost upstream connectivity, and
move the VIP, otherwise the VIP may continue to run on a system which
does not have access to your network. This has nothing at all to do with
split brain.
If you want to deal with split brain, add a third node. Period. You also
want to have redundant heartbeat communication paths. You also want
STONITH/fencing so if one node detects the other is down it'll power it
off or crash it. I've not had issues with a two-node cluster with two
diverse backend communication links and fencing enabled.
David
On 11/29/12 3:58 PM, Hermes Flying wrote:
"You can have pacemaker ping an IP (gateway for example) and migrate
the VIP based on that"
How does this help for splitbrain?
If I understand what you say, pacemaker will ping an IP and if
successfull will assume that the other node has crashed. But what if
the other node hasn't and it is just their communication link that
failed? Won't both become primary?
How does the ping help?
*From:* David Coulson <[email protected]>
*To:* Hermes Flying <[email protected]>
*Cc:* Baptiste <[email protected]>; "[email protected]"
<[email protected]>
*Sent:* Thursday, November 29, 2012 10:26 PM
*Subject:* Re: HAproxy and detect split-brain (network failures)
On 11/29/12 3:11 PM, Hermes Flying wrote:
I see now!
One last question since you are using Pacemaker. Do you recommend it
for splitbrain so that I look into that direction?
Any two node cluster has risk of split brain. if you implement
fencing/STONITH, you are in a better place. If you have a third node,
that's even better, even if it does not actually run any services
beyond the cluster software
I mean when you say that pacemaker restart HAProxy, does it detect
network failures as well? Or only SW crashes?
I assume pacemaker will be aware of both HAProxy1 and HAProxy2 in my
described deployment
You can have pacemaker ping an IP (gateway for example) and migrate
the VIP based on that. In my config I have haproxy configured as a
cloned resource in pacemaker, so all nodes have the same pacemaker
config for haproxy and it keeps haproxy running on all nodes all of
the time.