[LARTC] How to check an inactive slave in a bond?

olivier arsac oliv at arsac.org
Thu Jul 19 15:16:18 CEST 2007


I'm using bonding in active-fallback mode to guarantee maximum 
availability on some critical servers.
The mii mode is active so I can detect things like dead card and/or 
unplugged cable even on the inactive slave.
But how do I check that the inactive slave is properly 
configured/connected to the switch/vlan?
I ask this question because it has just bitten me in a part I'll keep 
undisclosed.

Scenario:
your bond0 is running fine. it uses eth0 as active slave and eth2 as 
inactive slave (different cards/ different driver to be safe)
some bozo reconfigures the switch port where your eth2 is plugged in and 
you don't notice it (the crucial point here)
later on, your eth0 dies (or is unplugged by the brother of the first bozo)
and bamm... your nice HA node is off-line.
note: eth2 is still plugged and fine at the mii level.
even an arp would return OK so going from mii to arp for the bond is not 
the right option.

So. How could I check that an IP packet send via eth2 would really reach 
its vlan?
I tried a probably naive thing:
ifenslave -d bond0 eth2
ifconfig eth2 $ip netmask 255.255.255.255
route add -host $target eth2
ping $target
(target is the gateway, ip is a reserved IP used only on this server to 
do that check)
but it does not work as I hopped. Sometimes the ping is OK (but goes 
thru bond0) sometimes it blocks...
The real question is How to do it properly (rather than how to fix my 
naive try).

Thank you for your help.

    Olivier






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ds9a.nl/pipermail/lartc/attachments/20070719/75aaba9f/attachment.html


More information about the LARTC mailing list