[CentOS] Combining active-backup and round-robbin network bonding

Thu Dec 11 19:34:44 UTC 2008
Timm Essigke <Timm.Essigke at uni-bayreuth.de>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I think my first mail was not processed because it was send before the
confirmation mail. In case you receive this mail twice, I am sorry!
- ---------------------------------------------------------------------


Hi,

I want to set up two servers as a active-active HA cluster. Both servers
have four Gbit NICs. Besides an unmanaged Gbit switch for the cluster
communication (connected with eth0) I have two managed Gbit switches to
which the servers and the clients will be attached.

My idea was to use the following setup:

switch2------eth1--bond1--
                   |
switch1------eth2  |
               |   |
               bond0
               |
switch1------eth3

This is for server1. Server2 should have two links with switch2 and one
with switch1 instead. Switch1 and switch2 have a 3x1GBit 802.3ad trunk
as switch interconnect.

bond0 should be balance-rr (mode 0) to have load balancing and fault
tolerance on switch2. The primary use is to double the capacity of the
Gbit link.

bond1 should be active-passive (mode 1) with bond0 as primary interface.
This should guarantee availability of server1 to the workstations
attached to switch2 in case switch1 fails.

Both modes work fine as long as I use ethX-devices.

According to /proc/net/bonding/bond0 I can bring bond0 up (MII Status:
up), but in /proc/net/bonding/bond1 I can not bring the slave interface
bond0 up. The "Permantent HW addr" is 00:00:00:00:00:00 no matter if I
specify a MAC in ifcfg-bond0 or not.

ifconfig bond0 shows the MAC of eth1 as HWaddr and the device as "UP
BROADCAST RUNNING SLAVE MASTER MULTICAST".

I use ARP for link monitoring, because MII monitoring seemed not
reliable with my hardware (Broadcom BCM5708 + Intel 82571EB NICs and
3com 3848 + 4500G switches) on CentOS 5.2 (2.6.18-92.1.18.el5xen).

How can I activate bond0 to work in the way I intended?
Is such a setup impossible (i.e. to enslave bond-interfaces)?
Is there a different/better way of doing what I want?

Thanks in advance!

Timm
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQEVAwUBSUFrVMGs9/GXBO2vAQJAfgf/ZrM74TXKoX7PdD54V9i7ly0UyBRsIsRB
Z2Nwq3YuUCkmN2wXSUwIyrccs/PeZ+Lm3k7THhbUGIxHXjI6EdfeJYgy5FYuNsWG
6BpUUUmgMSz7vXQ5NIJO9UkNpXQmgsjNpv5I0jwSvMRI/9blY5CHQf0pbxWG5dm8
Wz/YnvxwXf3ilNreEu7hTZ3C/ohnnUh8BRY0rmE0YKJRReeqol2at6GQ4XoPDw6m
tAayNhv9+mUA1TYYvy/sOPXH9na143NSr4A7lPXG4l8aeS/obSI2359oZZyzR1Br
2brmensyswU9FbAreRr5/GIsWQ3zdQOdLoV9uTkzn57fD147u/ZiGQ==
=Wk+k
-----END PGP SIGNATURE-----