How to configure JGroups for specific NIC address?
mkrzemien Sep 4, 2007 12:00 PMWe use hosts with multiple NICs. One specific NIC in each host is intended for JBossCache/JGroups communication. Does anyone know how to configure JGroups for such environment. Specifically I don't know how to configure GMS to use a specified NIC. (I am not sure if the GMS it the only thing that makes the problem). The only place I know that allows specifying addresses in configuration is the UDP part.
I made some prototyping - details below.
Thank you in advance
kind regards
Mariusz
Version: JBossCache 1.4.1 SP3, JGroups 2.4.1
Environment: a LAN consisting of two hosts (), each host with two NICs (eth0, eth1), the hosts connected directly (possible connections: eth0-to-eth0, eth1-to-eth1), only one link working (either eth-0-to-eth0 or eth1-to-eth1). JGroups was intended to communicate on the working interfaces and to use multicast (see Configuration below)
Test description:
- link eth0-to-eth0 working, link eth1-to-eth1 broken. JGroups configured for working interfaces
on each node started one instance of JBossCache
replication working correctly
repeat test for link eth1-to-eth1 working, link eth0-to-eth0 broken
For both test executions GMS reported using eth0. For the first execution replication worked fine. For second execution there was no replication until I repaired eth0-to-eth0 link.
Configuration details:
<UDP mcast_addr="228.8.8.8" mcast_port="45566"
ip_ttl="64" ip_mcast="true"
mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
loopback="false"
<!-- receive_interfaces="eth1"
send_interfaces="eth1"/>-->
receive_interfaces="eth0"
send_interfaces="eth0"/>
<PING timeout="2000" num_initial_members="3"
up_thread="false" down_thread="false"/>
<MERGE2 min_interval="10000" max_interval="20000"/>
<!-- <FD shun="true" up_thread="true" down_thread="true" />-->
<FD_SOCK/>
<VERIFY_SUSPECT timeout="1500"
up_thread="false" down_thread="false"/>
<pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
max_xmit_size="8192" up_thread="false" down_thread="false"/>
<UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
down_thread="false"/>
<pbcast.STABLE desired_avg_gossip="20000"
up_thread="false" down_thread="false"/>
<pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
shun="true" print_local_addr="true"/>
<FC max_credits="2000000" down_thread="false" up_thread="false"
min_threshold="0.20"/>
<FRAG frag_size="8192" down_thread="false" up_thread="true"/>
<pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>