[Pacemaker] Arp and configuration advice
j
j at intuitivecreations.com
Wed Sep 9 17:55:33 UTC 2009
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.
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.
>
More information about the Pacemaker
mailing list