Ethernet Channel Bonding
Jim Christiansen
christiansen_j at hotmail.com
Tue Nov 25 18:16:43 UTC 2003
Hello Everyone,
I've just joined the list and need to bite the bullet and tryout Fedora.
I've got about 100 RedHat9 boxes being served NIS and NFS'ed home from one
RH9 box. The one main server also serves 30 thin-clients.
I have posted this to the K12LTSP list as well, so I know that a few of you
may recognize this mesage- sorry for repeats.
I want to increase the network capacity on the main server by adding another
nic to the same subnet. I'm not a networking or Linux pro, but this short
article may do the trick for me.
The article speaks about one nic recieving and one nic transmitting- sounds
OK. Then it continues by stating that each nic plugs into its own hub or
switch- OK too, if the switches can be linked.
I ask for your comments and really appreciate any help.
Thanks,
Jim
-----------------------------
Ethernet Channel Bonding
The help file on this topic can be found at
http://www.beowulf.org/software/bonding.html
Ifenslave, that is talked about in the files is already included after you
have a kernel that supports Ethernet channel bonding.
It is important to note that completing the Ethernet channel bonding process
relies on having the right kernel in you system. We have updated all of our
kernels to the stable release of kernel 2.4 which can be found at
http://www.kernel.org/
or one of the mirror sites. While compiling kernels is beyond the scope of
this article we are including a quick start reference for RedHat systems at
these sites.
http://www2.linuxjournal.com
and
http://www.linuxdoc.org/
We should also state that you will need two switches or hubs as after you
have successfully bonded your Ethernet cards you have one card connected to
one switch/hub and the other connected to a different switch/hub. The reason
being is that once bonded one Ethernet card is for sending packets and one
Ethernet Card is used for receiving packets.
Change dir to the /usr/src/< current kernel dir >/Documentation/networks and
check to see if you have a file called bonding.txt if you do you are set to
configure you workstation for Ethernet channel bonding.
cd /usr/src/linux-2.4.0/Documentation/networks
ls bonding.txt
>>bonding.txt
If you do not have the file and are not sure if you have a kernel capable of
Ethernet channel bonding change dir to the /usr/src/ and do a make xconfig,
if you are in gnome or kde, or a make menuconfig if you are just in a shell.
cd /usr/src/linux-2.4.0
make xconfig or make menuconfig
Now look for a section called ?Networking Device Support? and a subsection
called ?Bonding Driver Support? If this subsection is there your kernel
supports Ethernet channel bonding and you can recompile your kernel with the
option. (See appendix)
Once you have Ethernet channel bonding support compiled into your kernel you
can complete the process with just a few easy steps.
First you need two Ethernet cards in your workstation. (more if you wish to
bond more) You probably already have one card in your workstation which is
configured for your network already. If needed, install a second card in
your workstation, however do not configure it, as you will do this during
this process.
Modify /etc/conf.modules by adding the line:
NOTE: If you are using a new version of RedHat 6.0 + you will probably be
using /etc/modules.conf not /etc/conf.modules.
alias bond0 bonding
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-bond0
edit ifcfg-bond0, and make it look the following:
DEVICE=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
BROADCAST=XXX.XXX.XXX.255
NETWORK=XXX.XXX.XXX.0
NETMASK=255.255.255.0
IPADDR=XXX.XXX.XXX.XXX
(put the approiate values for you network in where the XXX's are at. Also
you may have your variables in quotes, we left ours that way and when we
added new or changed variables we put in quotes)
Example:
Device=?bond0?
We also did not remove any lines, we just added what was needed and left the
other lines alone.
Then, edit ifcfg-eth0/ifcfg-eth1 (and all the other slave devices), and make
them
look like this:
DEVICE=eth0 (or eth1 or whatever device name you are using)
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
Reboot, and the network should come up bonded together.
You can check this by issuing the command ifconfig
ifconfig | more
bond0 Link encap:Ethernet HWaddr 00:01:02:3E:7A:CF
inet addr:192.168.0.4 Bcast:192.168.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2107 errors:0 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:0
eth0 Link encap:Ethernet HWaddr 00:C0:4F:8C:69:97
inet addr:192.168.0.4 Bcast:192.168.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1351609 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:11 Base address:0xcc80
eth1 Link encap:Ethernet HWaddr 00:01:02:3E:7A:CF
inet addr:192.168.0.4 Bcast:192.168.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:1393352 errors:0 dropped:0 overruns:1 frame:0
TX packets:2107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Base address:0xdc80
You are have successfully completed your Ethernet channel bonding.
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus&pgmarket=en-ca&RU=http%3a%2f%2fjoin.msn.com%2f%3fpage%3dmisc%2fspecialoffers%26pgmarket%3den-ca
More information about the fedora-list
mailing list