[Pacemaker] Arp and configuration advice

j j at intuitivecreations.com
Fri Sep 11 14:45:41 UTC 2009


Hi,

I tried running the send_arp program by hand. The output suggested it
was looking for the IP address given via the given eth.

So, I have VIP 192.168.20.150
eth0 with 192.168.20.10

and the send_arp program would say something similar to
"Looking up 192.168.20.150 from eth0 192.168.20.10"

and would successfully update the arp cache for the VIP.

That tells me that either I'm using the program completely backwards or
it's actually looking a who-is lookup and not a gratuitous announcement.

I'm not a network guru though, so I could be off base here.

j

On Fri, 2009-09-11 at 12:10 +0200, Dejan Muhamedagic wrote:
> Hi,
> 
> On Wed, Sep 09, 2009 at 01:55:33PM -0400, j wrote:
> > Thanks for your replies.
> > 
> > I seemed to have found the solution. Perhaps this will help others, so
> > I'll send along what I've found:
> > 
> > I have a VIP on all db servers using IPAddr2. I found this link (to
> > follow) before but executed the instructions on ALL machines, which was
> > my stupidity...
> > 
> > http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp_ignore_to_disable_ARP
> > 
> > Instead, the instructions should be followed for all machines with a VIP
> > *not* running LVS/director.
> > 
> > That solves the problem of the wrong machines replying to who-is
> > requests.
> > 
> > The only thing left is to make sure the web servers update their arp
> > cache. So, I can execute SendArp on the web servers via an order
> > constraint to they re-ask for the arp address for the director machine.
> > 
> > In testing, I had found that the SendArp tool (contrary to what it says)
> > actually *asks* for the arp address, it doesn't send a gratuitous arp
> > like advertised.
> 
> It does send an ARP packet. You can take a look at send_arp.c.
> How did you find out it doesn't?
> 
> Thanks,
> 
> Dejan
> 
> > I hope this helps someone. Thank you all so much for your input!
> > 
> > Justin
> > 
> > On Wed, 2009-09-09 at 11:13 -0400, E-Blokos wrote:
> > > ----- Original Message ----- 
> > > From: <Darren.Mansell at opengi.co.uk>
> > > To: <pacemaker at clusterlabs.org>
> > > Sent: Wednesday, September 09, 2009 10:39 AM
> > > Subject: Re: [Pacemaker] Arp and configuration advice
> > > 
> > > 
> > > >> Greetings,
> > > >> 
> > > >> I have a two webserver/two database server clustered setup. I've got
> > > >> ldirector and LVS managed by pacemaker and configured to be able to
> > > > run
> > > >> on either database machine.
> > > >> 
> > > >> I know how to disable ARP for the machine not running ldirector,
> > > >> unfortunately I'm not sure how to dynamically get the webservers to
> > > >> update their ARP cache when ldirector gets moved upon failure.
> > > >> 
> > > >> Is it possible to set up a service for the two web servers to delete
> > > >> the
> > > >> ARP cache for the VIP on the event that ldirector gets moved?
> > > > 
> > > > The IPaddr2 RA runs send_arp when the start action is called I believe:
> > > > 
> > > > 
> > > > #
> > > > # Run send_arp to note peers about new mac address
> > > > #
> > > > run_send_arp() {
> > > >        ARGS="-i $ARP_INTERVAL_MS -r $ARP_REPEAT -p $SENDARPPIDFILE $NIC
> > > > $BASEIP auto not_used not_used"
> > > >        if [ "x$IP_CIP" = "xyes" ] ; then
> > > >            if [ x = "x$IF_MAC" ] ; then
> > > >                MY_MAC=auto
> > > >            else
> > > >                MY_MAC=`echo ${IF_MAC} | sed -e 's/://'`
> > > >            fi
> > > >            ARGS="-i $ARP_INTERVAL_MS -r $ARP_REPEAT -p $SENDARPPIDFILE
> > > > $NIC $BASEIP $MY_MAC not_used not_used"
> > > >        fi
> > > >        ocf_log info "$SENDARP $ARGS"
> > > >        case $ARP_BACKGROUND in
> > > >        yes)
> > > >                ($SENDARP $ARGS || ocf_log err "Could not send
> > > > gratuitous arps" &) >&2
> > > >                ;;
> > > >        *)
> > > >                $SENDARP $ARGS || ocf_log err "Could not send gratuitous
> > > > arps"
> > > >                ;;
> > > >        esac
> > > > }
> > > > 
> > > > 
> > > > So when the VIP is started on another node, other nodes should be
> > > > notified the IP has changed hosts. Doesn't it work for you?
> > > > 
> > > >> 
> > > >> I can build my own OCF script to update the arp cache, that's not an
> > > >> issue. I simply don't know how to configure pacemaker to say "Oop. db2
> > > >> died. Move ldirector to db1 and tell the webservers to update their
> > > > ARP
> > > >> cache".
> > > >> 
> > > >> Any suggestions?
> > > >> 
> > > >> Thanks in advance!
> > > >> 
> > > >> Justin
> > > >> 
> > > > 
> > > > Regards,
> > > > Darren
> > > 
> > > I have also this kind of problem months ago,
> > > ARP was not really updating well I don't know why...
> > > 
> > > 
> > > > _______________________________________________
> > > > Pacemaker mailing list
> > > > Pacemaker at oss.clusterlabs.org
> > > > http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> > > > 
> > > > -- 
> > > > This message has been scanned for viruses and
> > > > dangerous content by MailScanner, and is
> > > > believed to be clean.
> > > 
> > 
> > 
> > _______________________________________________
> > Pacemaker mailing list
> > Pacemaker at oss.clusterlabs.org
> > http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker





More information about the Pacemaker mailing list