We have a new NFS server with two NICs (3c905B Cyclone).
I would like to be able to utilize both NICS with some sort
of load balancing algorithm (I mean to use the bandwidth of both
ethernet cards). Right now, both NICS have IP numbers from the
same net and there are two route entries for this net (one for eth0,
the other for eth1):
eth0: IP is 10.3.2.62
eth1: IP is 10.3.2.63
routing table:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.0.4.1 0.0.0.0 UG 0 0 0 eth0
(All my nfs clients are from net 10.0.0.0). I assumed that this
should provide for some load balancing. Surprisingly, what
I see is that all RX packets are distributed evenly between the two
interfaces and all TX packets go through the eth0:
----------------------------------------------------------------------------
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:50:04:00:AC:67
inet addr:10.3.2.62 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1443994 errors:0 dropped:0 overruns:0 frame:0
TX packets:767705 errors:0 dropped:0 overruns:0 carrier:11
collisions:89927 txqueuelen:100
Interrupt:9 Base address:0xec00
ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:50:04:00:AC:04
inet addr:10.3.2.63 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1247296 errors:0 dropped:0 overruns:0 frame:0
TX packets:311 errors:0 dropped:0 overruns:0 carrier:0
collisions:4 txqueuelen:100
Interrupt:11 Base address:0xe080
-----------------------------------------------------------------------------
That really surprises me. Doesn't TX stands for transmitted and RX for
received? Should not such set-up at the very least provide for balancing
of the transmitted packets? Also, having some clients to mount on
10.3.2.63:/mount_path and some on 10.3.2.62:/mount_path does not change
the picture.
I am running kernel 2.2.1/2.2.2 configured to do gatewaying, firewalling,
IP-masq, IP-aliasing, ipautofw, ipportfw, ip fwmark. I have applied all
necessary upgrades to run 2.2. I have kernel nfs server support enabled
and I run knfsd.
Am I missing something? Is my kernel configuration a problem (firewall
or other options enabled)?
Summary questions:
1) Is there a way to do load balancing on several interfaces, utilizing
their bandwidth?
2) Is there a way to at least make the nfs server to utilize several
network interfaces? I do not necessarily mean automatic bandwidth
utilization (which would be the best of course), but maybe some
configuration trick is possible, like different instances of nfs
daemon running on different interfaces, or using virtual interfaces
(ip aliasing and some NAT rules?).
Is it possible at all?
Please share your ideas.
Please CC me if you reply. I have just subscribed to the list.
--
----------------------------------------
Constantine Gavrilov
Unix System Administrator and Programmer
Orbotech
Yavne 81102, Israel
Phone: (972-8)-942-3645
Fax: (972-8)-942-3800
----------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]