Ethernet Channel Bonding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux