[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openais
Subject:    Re: [Openais] Question about corosync mcastaddr setting
From:       Jan Friesse <jfriesse () redhat ! com>
Date:       2013-04-29 6:54:42
Message-ID: 517E1932.3020002 () redhat ! com
[Download RAW message or body]

Moull=E9 Alain napsal(a):
> Jan,
> OK thanks.
> =

> By the way, is there a way to modify the corosync.conf mcast values and
> to make a Started Pacemaker/corosync configuration take it in account
> without a restart ?
> =


Sadly not. It's one of "nice to have" features, but sadly quite complex
to implement.

Regards,
  Honza

> Alain
>> Alain,
>> don't test with ifdown. Ifdown changes route table and makes corosync
>> bind to 127.0.0.1 so other nodes sees that node as it's own and corosync
>> will behave extremely badly (no reaction to other node failure or gather
>> state loop).
>>
>> I'm really not able to remember what was real issue with same mcast
>> addresses, but when I was testing that, it had big problems. You maybe
>> didn't hit them because of ifdown, but they are there. Don't expect
>> crash of corosync. Expect inconsistent membership view, no reaction on
>> failure, ... In short, just don't do that.
>>
>> Moull=E9 Alain napsal(a):
>>> Hi again Jan,
>>>
>>> I add another question to my last question :
>>> "what is the real risk with my configuration (and corosync-1.4.1-7) ?"
>>>
>>> and is there any dependancy between the risk and the IF used for both
>>> hearbeats ?
>>> I explain :
>>>    I've tested this configuration with two std eth IF, meaning doing
>>> ifdown on an IF  and then
>>>    same test but on the second IF , and all works fine providing
>>> there is
>>> always at least one IF reachable
>>>    there is no impact on Pacemaker/corosync.
>>>    But when mixing two IF types, let's say : a std eth IF and a bridge
>>> eth IF , or a std eth IF and a IP/IB IF, etc.
>>>    in this case I've always had a problem when "ifdown-ing" one or
>>> the IF
>>> (don't remember which one) as if
>>>    there was only one heartbeat network.
>>>    So my question, does the risk of rrp mode not working correctly (if
>>> mcastaddr and mcastport are the same
>>>    for both rings), depends on IF used ?
>> Not from corosync side, but routing of packets may do a really bad job,
>> like packet is delivered even it shouldn't ... To make really highly
>> available setup, use two nics per machine connected to two independent
>> switches.
>>
>> Honza
>>
>>>    And is the risk null when using two std eth IF ?
>>>
>>> Thanks for all information.
>>> Alain
>>>
>>> Le 25/04/2013 17:33, Jan Friesse a =E9crit :
>>>> Moull=E9 Alain napsal(a):
>>>>> Hi,
>>>>>
>>>>> "you can choose" ... meaning that it is not mandatory ? and my
>>>>> configuration is correct anyway ?
>>>> No, your configuration is not correct. "You can choose..." means binary
>>>> OR. So (table)
>>>>
>>>> same_mcast_addr | same_port +- 1 | works
>>>> ----------------------------------------
>>>> 0               | 0              | 1
>>>> 0               | 1              | 1
>>>> 1               | 0              | 1
>>>> 1               | 1              | 0
>>>>
>>>>
>>>>> Because somebody told me that it we put same mcastaddr it is
>>>>> written in
>>>>> corosync documentation (but I can't find where)
>>>>> that corosync may crash if one network becomes unreachable ...
>>>>> could you
>>>>> confirm this or reassure me telling that it is not true ;-)     ?
>>>> Yes, rrp will not works as expected.
>>>>
>>>> Honza
>>>>
>>>>> Thanks
>>>>> Alain
>>>>>> Moull=E9 Alain napsal(a):
>>>>>>> Hi,
>>>>>>>
>>>>>>> corosync-1.4.1-7
>>>>>>>
>>>>>>> with two rings in corosync.conf , and rrp mode active, is it
>>>>>>> recommended
>>>>>>> to have two distinct mcastaddr ?
>>>>>> You can choose to have ether two distinct mcastaddr(eses) or distinct
>>>>>> ports (don't use port +- 1).
>>>>>>
>>>>>>> (and if so, where can I find this information ?)
>>>>>>>
>>>>>> It looks like it's not documented (thanks for that information, I
>>>>>> will
>>>>>> add to my TODO) and sadly, corosync will not complain (this already
>>>>>> exists in TODO)
>>>>>>
>>>>>> Regards,
>>>>>>      Honza
>>>>>>
>>>>>>> or it is not important and we can have same mcast addr on both
>>>>>>> rings ?
>>>>>>>
>>>>>>> Saying it in another way , is this sample correct :
>>>>>>>
>>>>>>>         interface {
>>>>>>>             ringnumber: 0
>>>>>>>
>>>>>>>             # The following three values need to be set based on
>>>>>>> your
>>>>>>> environment
>>>>>>>             bindnetaddr: 182.128.3.0
>>>>>>>             mcastaddr: 239.0.0.1
>>>>>>>             mcastport: 5405
>>>>>>>         }
>>>>>>>            interface {
>>>>>>>                    ringnumber: 1
>>>>>>>
>>>>>>>                    # The following values need to be set based on
>>>>>>> your
>>>>>>> environment
>>>>>>>                    bindnetaddr: 182.128.2.0
>>>>>>>                    mcastaddr: 239.0.0.1
>>>>>>>                    mcastport: 5405
>>>>>>>            }
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>> Alain
>>>>>>> _______________________________________________
>>>>>>> Openais mailing list
>>>>>>> Openais@lists.linux-foundation.org
>>>>>>> https://lists.linuxfoundation.org/mailman/listinfo/openais
> =


_______________________________________________
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/openais
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic