LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Upgrade lo:0 conflict from heartbeat 1.2.3 to 2.0.7

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Upgrade lo:0 conflict from heartbeat 1.2.3 to 2.0.7
From: "Ben Hollingsworth" <ben.hollingsworth@xxxxxxxxxxxx>
Date: Thu, 08 Mar 2007 13:15:01 -0600
Ben Hollingsworth wrote:
> I'm having the exact same symptoms (using IPaddr2).  Is dropping back to
> heartbeat 1.2 the only way to run on a 2.6 kernel?  I somehow doubt
> that.  I've followed the instructions on the UltraMonkey 2-host LVS
> setup at http://www.ultramonkey.org/3/topologies/sl-ha-lb-eg.html, which
> I believe are the most current docs available for doing 2-host LVS.  Are
> there better docs to use for that setup?  I'm pulling my hair out over
> this.  I was hoping somebody would post a fix for Brent, but I never saw
> one.
>   

After much googling last night, I found a link to the release notes for
heartbeat 2.0.8 that mentioned fixing IPaddr2 to work with lo:0
aliases.  Aha!  2.0.8 isn't available in RedHat packages yet (only
2.0.7), but I grabbed the source from
http://linux-ha.org/download/index.html#2.0.8 and made the necessary
changes by hand to /usr/lib/ocf/resource.d/heartbeat/IPaddr2.  Viola! 
Failing the IP back and forth works now.  Hope this helps somebody, and
that 2.0.8 makes it into the CentOS repository soon...

I'm one step further now, but I'll post that problem under a new subject.

Here's the patch for IPaddr2, if anybody cares:

# diff IPaddr2 IPaddr2.orig
249,252d248
<       if [ X`uname -s` != "XLinux" ]; then
<               ocf_log err "IPaddr2 only supported Linux."
<               exit $OCF_ERR_INSTALLED
<       fi
283c279,280
<       if [ x"${OCF_RESKEY_lvs_support}" = x"true" \
---
>       if [ "$SYSTYPE" = "Linux" -o "$SYSTYPE" = "SunOS" ]; then
>           if [ x"${OCF_RESKEY_lvs_support}" = x"true" \
286a284
>           fi
532,548c530,536
<       cur_nic="`find_interface $BASEIP`"
<
<       if [ -z "$cur_nic" ]; then
<               echo "no"
<               return 0
<       fi
<
<       if [ -z "$IP_CIP" ]; then
<               case $cur_nic in
<               lo*)    if [ "$LVS_SUPPORT" = "1" ]; then
<                               echo "no"
<                               return 0
<                       fi
<                       ;;
<               esac
<
<               echo "ok"
---
>       case `find_interface $BASEIP` in
>       lo*)    if [ "$LVS_SUPPORT" = "1" ]; then
>                       echo "no"
>                       return 0
>               fi
>               ;;
>       "")     echo "no"
550c538,544
<       fi
---
>               ;;
>       *)      if [ -z "$IP_CIP" ]; then
>                       echo "ok"
>                       return 0
>               fi
>               ;;
>       esac


-- 
CONFIDENTIALITY NOTICE: This e-mail message, including any
attachments, is for the sole use of the intended recipient(s)
and may contain confidential and privileged information.  Any
unauthorized review, use, disclosure or distribution is 
prohibited.  If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies
of the original message.





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