Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 221
  • Last Modified:

Load balancing across dual NICs

I've got an NFS server exporting a couple filesystems to approximately 120 servers. These are all on the same class C, connected to a Cicso Catalyst 5513, and spread fairly evenly across the two halves of the backplane on the Catalyst.

I've got both NICs up and running currently, with a round-robin DNS entry, but the vast majority of the traffic is still hitting eth0. I'm afraid it's due to eth0 being the default gateway.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
207.170.100.140 *               255.255.255.255 UH    0      0        0 eth0
207.170.100.139 *               255.255.255.255 UH    0      0        0 eth1
207.170.100.0   *               255.255.255.0   U     0      0        0 eth0
207.170.100.0   *               255.255.255.0   U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         gateway         0.0.0.0         UG    0      0        0 eth0

Essentially, what I'm looking for is a way to aggregate the two 100Mbs connections.

All servers are running RH 6.0 with 2.2.14 and all current patches.
0
mwallis
Asked:
mwallis
1 Solution
 
jlevieCommented:
I believe the only way you'll load balance across both NIC's will be to split the class C into two subnets with half the clients on each. The only other way would be if you could find a software package for 6.0 that implements 802.3 trunking and NIC bonding.

The system sees both NIC's on the same network. While it will accept requests on both NIC's, I think it's sending all the return data out of the first NIC that it finds connected to that network (eth0).
0
 
mwallisAuthor Commented:
I was afraid of that, but I'm really trying to avoid ripping the kernel to pieces to implement channel bonding a' la Beowulf style.

I've read somewhere that spoofing the MAC and assigning both cards the same ip might have the desired effect, but I havn't had the opportunity to test it.

Anyone else have any suggestions?
0
 
AGBCommented:
What NICs you have?
0
 
mwallisAuthor Commented:
eth0: 3Com 3c905B Cyclone 100baseTx at 0xe800,  00:50:da:70:04:22, IRQ 5
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 7849.
  MII transceiver found at address 0, status 7849.
  Enabling bus-master transmits and whole-frame receives.
eth1: 3Com 3c905B Cyclone 100baseTx at 0xec00,  00:50:da:16:f0:a7, IRQ 10
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 7849.
  MII transceiver found at address 0, status 7849.
0
 
pheurCommented:
What you can do is to recompile the kernel with the following options:
- advanced router
- equal cost multipath
In this case you will have the two NICs (you may use the same IP and netmaskon both of them), the kernel will have two routes to the local network, one through each eth and comforming to the kernel documentation will choose undeterministically one of them.
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now