LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: heartbeat feature request: "Noisy" gratuitous arp

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: heartbeat feature request: "Noisy" gratuitous arp
From: Horms <horms@xxxxxxxxxxxx>
Date: Fri, 4 Feb 2005 16:35:35 +0900
On Wed, Feb 02, 2005 at 10:32:07AM -0800, Todd Lyons wrote:
> For reasons beyond my control, we have two real servers serving http
> that will answer an arp erroneously when the core router sends the arp
> request.  At that point, all traffic goes directly to that one real
> server.  The fix is for me to ssh to the load balancer, and manually
> run (obfuscated):
> 
>     /usr/lib/heartbeat/send_arp -i 1010 -r 5 -p 
> /var/lib/heartbeat/rsctmp/send_arp/send_arp-xx.xx.xx.xx eth0 xx.xx.xx.xx auto 
> xx.xx.xx.xx ffffffffffff
> 
> This is the same command that heartbeat runs when it does a failover
> and/or initially starts up.  When I run this command manually, the
> router and firewall properly replace the mac of the IP with the
> loadbalancer's mac.
> 
> I would like to see a "noisy gratuitous arp" setting where you can tell
> heartbeat to occassional resend the gratuitous arp.  Something like:
>     noisy_arp 720  # 720 minutes = 12 hours
> 
> I can write a script to manually do this if I need to.
> 
> Yes, yes, I know that installing the proper kernel on the two real boxen
> would be the ideal choice.  We're talking legacy hardware/software
> though, which ties my hands.  I'm just curious if anybody thinks this is
> a good idea, or if I need to go ahead and just script it myself.

Actually, that was my original design, and that is the way
fake, which heartbeat was subsequently based on works.
However it didn't make it into heartbeat, partly because
no one notices, and partly because it didn't fit well into the model.

But the way things stand now it could easily be added as an
option to send arp. Do you want to have a look at patching that,
unfortunately I am a touch busy?

-- 
Horms

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