Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux-HA: Users

corosync binding to 127.0.0.1 instead of correct interface

 

 

Linux-HA users RSS feed   Index | Next | Previous | View Threaded


Ulrich.Windl at rz

Aug 13, 2012, 12:41 AM

Post #1 of 4 (581 views)
Permalink
corosync binding to 127.0.0.1 instead of correct interface

Hi!

I have a problem with corosync as of SLES11 SP2 (current updates):

Given these routing table:
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 172.20.3.62 0.0.0.0 UG 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
172.20.3.0 0.0.0.0 255.255.255.192 U 0 0 0 eth0
172.20.76.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
172.20.77.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

and this ring configuration:
interface {
bindnetaddr: 172.20.0.0
mcastaddr: 239.192.3.9
mcastport: 5405
ringnumber: 0
}
interface {
mcastaddr: 239.192.3.109
mcastport: 5405
bindnetaddr: 192.168.0.0
ringnumber: 1
}

I get:
# corosync-cfgtool -s
Printing ring status.
Local node ID 16777343
RING ID 0
id = 127.0.0.1
status = ring 0 active with no faults
RING ID 1
id = 192.168.0.61
status = ring 1 active with no faults

So why isn't corosync using eth0 as interface? for ring 0? In this configuration nodes cannot join the cluster. I couldn't find any error or warning during initial startup regarding the choice of the network address/interface. I guess there's a bug in it.
corosync-1.4.1-0.13.1
pacemaker-1.1.6-1.29.1

Regards,
Ulrich


_______________________________________________
Linux-HA mailing list
Linux-HA [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems


bruno.macadre at univ-rouen

Aug 13, 2012, 1:10 AM

Post #2 of 4 (555 views)
Permalink
Re: corosync binding to 127.0.0.1 instead of correct interface [In reply to]

Hi,

It's totaly normal 'cause your bindnetaddr doesn't correspond to any
interface. I explain :

The bindnetaddr parameter must contain a vlid network address (not IP
address of the server but IP address of the network).

On your server you've got 4 ethernet interfaces with their respective
network adresse :
eth0 => IP: 172.20.3.X NetIP: 172.20.3.0 Bcast: 172.20.3.63
eth1 => IP: 172.20.76.X NetIP: 172.20.76.0 Bcast: 172.20.76.255
eth2 => IP: 172.20.77.X NetIP: 172.20.77.0 Bcast: 172.20.77.255
eth3 => IP: 192.168.0.61 NetIP: 192.168.0.0 Bcast: 192.168.0.255

As you can see, the only one bindnetaddr that correspond to a valid
NetIP is 192.168.0.0 so the behaviour is correct.

If you want that corosync bind to eth0 you must replace 172.20.0.0 by
172.20.3.0 and all would work correctly.

Regards,
Bruno

Le 13/08/2012 09:41, Ulrich Windl a écrit :
> Hi!
>
> I have a problem with corosync as of SLES11 SP2 (current updates):
>
> Given these routing table:
> # netstat -rn
> Kernel IP routing table
> Destination Gateway Genmask Flags MSS Window irtt Iface
> 0.0.0.0 172.20.3.62 0.0.0.0 UG 0 0 0 eth0
> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
> 172.20.3.0 0.0.0.0 255.255.255.192 U 0 0 0 eth0
> 172.20.76.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
> 172.20.77.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
>
> and this ring configuration:
> interface {
> bindnetaddr: 172.20.0.0
> mcastaddr: 239.192.3.9
> mcastport: 5405
> ringnumber: 0
> }
> interface {
> mcastaddr: 239.192.3.109
> mcastport: 5405
> bindnetaddr: 192.168.0.0
> ringnumber: 1
> }
>
> I get:
> # corosync-cfgtool -s
> Printing ring status.
> Local node ID 16777343
> RING ID 0
> id = 127.0.0.1
> status = ring 0 active with no faults
> RING ID 1
> id = 192.168.0.61
> status = ring 1 active with no faults
>
> So why isn't corosync using eth0 as interface? for ring 0? In this configuration nodes cannot join the cluster. I couldn't find any error or warning during initial startup regarding the choice of the network address/interface. I guess there's a bug in it.
> corosync-1.4.1-0.13.1
> pacemaker-1.1.6-1.29.1
>
> Regards,
> Ulrich
>
>
> _______________________________________________
> Linux-HA mailing list
> Linux-HA [at] lists
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
>


--

Bruno MACADRE
-------------------------------------------------------------------
Ingénieur Systèmes et Réseau | Systems and Network Engineer
Département Informatique | Department of computer science
Responsable Réseau et Téléphonie | Telecom and Network Manager
Université de Rouen | University of Rouen
-------------------------------------------------------------------
Coordonnées / Contact :
Université de Rouen
Faculté des Sciences et Techniques - Madrillet
Avenue de l'Université - BP12
76801 St Etienne du Rouvray CEDEX
FRANCE

Tél : +33 (0)2-32-95-51-86
Fax : +33 (0)2-32-95-51-87
-------------------------------------------------------------------

_______________________________________________
Linux-HA mailing list
Linux-HA [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems


df.cluster at gmail

Aug 13, 2012, 1:35 AM

Post #3 of 4 (561 views)
Permalink
Re: corosync binding to 127.0.0.1 instead of correct interface [In reply to]

Hi,

On Mon, Aug 13, 2012 at 11:10 AM, Bruno MACADRE
<bruno.macadre [at] univ-rouen> wrote:
> Hi,
>
> It's totaly normal 'cause your bindnetaddr doesn't correspond to any
> interface. I explain :
>
> The bindnetaddr parameter must contain a vlid network address (not IP
> address of the server but IP address of the network).
>
> On your server you've got 4 ethernet interfaces with their respective
> network adresse :
> eth0 => IP: 172.20.3.X NetIP: 172.20.3.0 Bcast: 172.20.3.63
> eth1 => IP: 172.20.76.X NetIP: 172.20.76.0 Bcast: 172.20.76.255
> eth2 => IP: 172.20.77.X NetIP: 172.20.77.0 Bcast: 172.20.77.255
> eth3 => IP: 192.168.0.61 NetIP: 192.168.0.0 Bcast: 192.168.0.255

Actually these are reversed, 192.168.x.x is set on eth1 and
172.20.77.x is on eth3.

>
> As you can see, the only one bindnetaddr that correspond to a valid
> NetIP is 192.168.0.0 so the behaviour is correct.
>
> If you want that corosync bind to eth0 you must replace 172.20.0.0 by
> 172.20.3.0 and all would work correctly.

Actually no. Binding to 127.0.0.1 usually occurs when it can't bind to
the correct interface, such as if you do a manual ifconfig ethx/bondx
down. Also, if in the bindnetaddr you but the actual IP address of the
interface, it works. If you put the network address, it's going to
search for the largest IP it finds. But there may be issues when
having subnets. Best choice would be to disable the automatic lookup
by just using the IP address in the bindnetaddr field.

>
> Regards,
> Bruno
>
> Le 13/08/2012 09:41, Ulrich Windl a écrit :
>> Hi!
>>
>> I have a problem with corosync as of SLES11 SP2 (current updates):
>>
>> Given these routing table:
>> # netstat -rn
>> Kernel IP routing table
>> Destination Gateway Genmask Flags MSS Window irtt Iface
>> 0.0.0.0 172.20.3.62 0.0.0.0 UG 0 0 0 eth0
>> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
>> 172.20.3.0 0.0.0.0 255.255.255.192 U 0 0 0 eth0
>> 172.20.76.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
>> 172.20.77.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
>> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
>>
>> and this ring configuration:
>> interface {
>> bindnetaddr: 172.20.0.0
>> mcastaddr: 239.192.3.9
>> mcastport: 5405
>> ringnumber: 0
>> }
>> interface {
>> mcastaddr: 239.192.3.109
>> mcastport: 5405
>> bindnetaddr: 192.168.0.0
>> ringnumber: 1
>> }
>>
>> I get:
>> # corosync-cfgtool -s
>> Printing ring status.
>> Local node ID 16777343
>> RING ID 0
>> id = 127.0.0.1
>> status = ring 0 active with no faults
>> RING ID 1
>> id = 192.168.0.61
>> status = ring 1 active with no faults
>>
>> So why isn't corosync using eth0 as interface? for ring 0? In this configuration nodes cannot join the cluster. I couldn't find any error or warning during initial startup regarding the choice of the network address/interface. I guess there's a bug in it.

More likely a configuration issue.

HTH

>> corosync-1.4.1-0.13.1
>> pacemaker-1.1.6-1.29.1
>>
>> Regards,
>> Ulrich
>>
>>
>> _______________________________________________
>> Linux-HA mailing list
>> Linux-HA [at] lists
>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>> See also: http://linux-ha.org/ReportingProblems
>>
>
>
> --
>
> Bruno MACADRE
> -------------------------------------------------------------------
> Ingénieur Systèmes et Réseau | Systems and Network Engineer
> Département Informatique | Department of computer science
> Responsable Réseau et Téléphonie | Telecom and Network Manager
> Université de Rouen | University of Rouen
> -------------------------------------------------------------------
> Coordonnées / Contact :
> Université de Rouen
> Faculté des Sciences et Techniques - Madrillet
> Avenue de l'Université - BP12
> 76801 St Etienne du Rouvray CEDEX
> FRANCE
>
> Tél : +33 (0)2-32-95-51-86
> Fax : +33 (0)2-32-95-51-87
> -------------------------------------------------------------------
>
> _______________________________________________
> Linux-HA mailing list
> Linux-HA [at] lists
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems



--
Dan Frincu
CCNA, RHCE
_______________________________________________
Linux-HA mailing list
Linux-HA [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems


stjoanis at gmail

Sep 7, 2012, 4:33 AM

Post #4 of 4 (498 views)
Permalink
Re: corosync binding to 127.0.0.1 instead of correct interface [In reply to]

Ulrich Windl wrote:
>
> and this ring configuration:
> interface {
> bindnetaddr: 172.20.0.0
> mcastaddr: 239.192.3.9
> mcastport: 5405
> ringnumber: 0
> }
>


We got the same problem
but first, you should put :
bindnetaddr: 172.20.3.0
instead of :
bindnetaddr: 172.20.0.0
to settle better in the eth0



Ulrich Windl wrote:
>
> I get:
> # corosync-cfgtool -s
> Printing ring status.
> Local node ID 16777343
> RING ID 0
> id = 127.0.0.1
> status = ring 0 active with no faults
> RING ID 1
> id = 192.168.0.61
> status = ring 1 active with no faults
>

then I had to put a delay in /etc/sysconfig/network :
NETWORKDELAY=30

so that LSB service use it :
[ -n "${NETWORKDELAY}" ] && /bin/sleep ${NETWORKDELAY}
-> end of start() function

and corosync.service must be adjusted to start afterwhile network script
and then corosync binds on eth0 correctly.

--
View this message in context: http://old.nabble.com/corosync-binding-to-127.0.0.1-instead-of-correct-interface-tp34290633p34402258.html
Sent from the Linux-HA mailing list archive at Nabble.com.

_______________________________________________
Linux-HA mailing list
Linux-HA [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Linux-HA users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.