[Spread-users] Multi-homed multi-segment

Adrian Revill adrian.revill at shazamteam.com
Thu Oct 16 02:27:03 EDT 2008


Hello Jonathan,

The closest is 3.
We have 3 clusters of 50 nodes each on a physically isolated network and 
each cluster has a few masters and a lot of slaves.

We want are changing the topography to improve performance by moving a 
common component on to one of the three clusters and sharing it with the 
other two. This will then leave space on the other two clusters for 
additional components.
The simplest answer for our application is to create a new spread group 
for the shared components, and then allow the masters to see their own 
and the shared network.

I did initially look at the single configuration, but as the names have 
to be unique, I found we would have to rename all 150 nodes, which is 
impractical.

I have found a solution that seems to work well. I start a separate 
spread daemon for each interface and have changed each cluster to work 
on a unique port.
In the application we already had logic that mapped each group to a 
port. so i can now simply set the ports in the applications 
configuration to select which network will be used.

This does have the restriction that the application has to use the 
socket connection and not the tcp connection. This is because two spread 
daemons will not bind to 127.0.0.1 at the same time, even if they are on 
different ports.


regards
Adrian



Jonathan Stanton wrote:
> Can you say more about why you are trying to use this configuration?
>
> I can think of three scenarios for this (maybe there are others)
>
> 1) You want to use a "multi-path" fault-tolerance setup where spread 
> runs rings on two separaet ethernet segments, and if one goes down 
> (switch failure) Spread continues working by using the other network. 
>
> In this case, Spread does not natively support that model. A number of
> years ago a patch was written to add multi-path support to Spread
> (against 3.16 and I heard it was ported to 3.17 versions). We
> host a copy for download from our website, and link to it from the
> development page. I don't see the link currently, but you can still get
> the file at:
>
> http://www.spread.org/files/multipath_3.16.1-5.tar.gz
>
> This would definitely require some work to update it to the 4.0 code and 
> clean it up for use, but at the time it was used by several groups for 
> FT setups. I don't know if anyone on the list has current experience 
> with it. 
>
> 2) You want to utilize the 2 separate ethernet interfaces to gain 
> performance (i.e  messages/second ).
>
> In this case it won't work. Spread assumes that each segment is a 
> separate broadcast domain with unique machines on it. So every packet 
> will be forwarded to all of the segments. So the result would be 
> c1-master3 getting each packet twice, once on each interface.
>
>
> 3) You want to allow each spread daemon to listen on either interface 
> for packets destined for it (whether client or daemon), but you don't 
> need to replicate the sending of packets (as in case 1)
>
> In this case Spread currently supports this. In this case you just have 
> one Spread_Segment with all of the machines listed, For each one list 
> both interfaces in the multi-home setup (like you have below)
>
> If you do have some machines actually on a separate segment, you can 
> list additional segments with those machines, but each physical machine 
> (with 1 or more interfaces) is only listed once in the configuration.
>
> This setup can work better with a multicast address instead of a 
> broadcast address for the segment (replace 172.1.255.255 with 226.5.2.3 
> -- or any valid multicast address)
>
>
> If you had a different goal in mind, pleaes let us know and I can see 
> whether it's possible with Spread or not.
>
> Cheers,
>
> Jonathan
>
>
> On Tue, Sep 23, 2008 at 06:33:58PM +0100, Adrian Revill wrote:
>   
>> Yes you are right, im sorry i copied the wrong spread.conf
>>
>> It should read
>> Spread_Segment  172.1.255.255:4800
>> {
>>
>>        c1-master3      172.1.0.12 {
>>                                172.1.0.12
>>                                172.2.0.22
>>                                127.0.0.1
>>                                }
>>       c1-quad-1       172.1.3.1
>> }
>>
>> Spread_Segment  172.2.255.255:4800
>> {
>>        c2-master23  172.2.0.22 {
>>                             172.1.0.12
>>                            127.0.0.1
>>                            172.2.0.22
>>                                }
>>        c2-opto-2          172.2.2.2
>> }
>>
>>
>>
>> John Robinson wrote:
>>     
>>> Adrian Revill wrote:
>>>       
>>>> Hi
>>>> I have a server that has 2 NICs (172.1.x.x and 172.2.x.x) and i need 
>>>> to run a daemon that can be a member of the two segments on each NIC
>>>>
>>>> I can only get master3 to appear as member of the 172.1.255.255 segment.
>>>>
>>>> Does anyone know how to be able to get master3 to be a member of both 
>>>> segments?
>>>>
>>>> I have tried
>>>>
>>>> Spread_Segment  172.255.255.255:4800
>>>>         
>>> Shouldn't that be 172.1.255.255:4800 ?
>>>
>>> /jr
>>> ---
>>>       
>>>> {
>>>>       c1-master3      172.1.0.12 {
>>>>                               172.1.0.12
>>>>                               172.2.0.22
>>>>                               127.0.0.1
>>>>                               }
>>>>       c1-quad-1       172.1.3.1
>>>> }
>>>>
>>>> Spread_Segment  172.2.255.255:4800
>>>> {
>>>>       c2-master3      172.2.0.22 {
>>>>                               172.1.0.12
>>>>                               127.0.0.1
>>>>                               172.2.0.22
>>>>                               }
>>>>       c2-opto-2        172.2.2.2
>>>> }
>>>>
>>>>
>>>>
>>>> ______________________________________________________________________
>>>> This email has been scanned by the MessageLabs Email Security System.
>>>> For more information please visit http://www.messagelabs.com/email 
>>>> ______________________________________________________________________
>>>>
>>>> _______________________________________________
>>>> Spread-users mailing list
>>>> Spread-users at lists.spread.org
>>>> http://lists.spread.org/mailman/listinfo/spread-users
>>>>         
>>> ______________________________________________________________________
>>> This email has been scanned by the MessageLabs Email Security System.
>>> For more information please visit http://www.messagelabs.com/email 
>>> ______________________________________________________________________
>>>       
>> ______________________________________________________________________
>> This email has been scanned by the MessageLabs Email Security System.
>> For more information please visit http://www.messagelabs.com/email 
>> ______________________________________________________________________
>>
>> _______________________________________________
>> Spread-users mailing list
>> Spread-users at lists.spread.org
>> http://lists.spread.org/mailman/listinfo/spread-users
>>     
>
>   

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________




More information about the Spread-users mailing list