Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > Linux Forums > HOWTO-Related Questions

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 2nd December 2005, 08:15
themachine themachine is offline
Senior Member
 
Join Date: Oct 2005
Location: Texas, USA
Posts: 109
Thanks: 0
Thanked 0 Times in 0 Posts
Default Nic Bonding/Teaming Howto

I know some of you have seen this howto:

http://www.howtoforge.com/nic_bonding


However, some people were having issues getting it working properly. So, I wanted to start the thread and see if this is working for people or not. I just updated it with some key changes (typos... left overs from Woody config) and I think it should work solid now.

Let me know if there are any questions maybe I could help.
__________________
themachine
5dollarwhitebox.org
Reply With Quote
Sponsored Links
  #2  
Old 5th February 2006, 01:36
lxtwin lxtwin is offline
Junior Member
 
Join Date: Feb 2006
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Question Not quite right

Hi there,
Have you got this working on RHEL 4 where eth0 & eth1 = bond0 failover mode
and eth2 & eth3 = bond1 in failover mode. I have this working on SLES9 and RHEL3 but not on 4?


paul
Reply With Quote
  #3  
Old 6th February 2006, 08:58
themachine themachine is offline
Senior Member
 
Join Date: Oct 2005
Location: Texas, USA
Posts: 109
Thanks: 0
Thanked 0 Times in 0 Posts
Default

What exactly isn't working? Are you getting errors, do the logs note anything...?

I don't exactly have a RHEL box available to me right now, but I might be able to make something happen.
__________________
themachine
5dollarwhitebox.org
Reply With Quote
  #4  
Old 8th February 2006, 17:42
william william is offline
Junior Member
 
Join Date: Feb 2006
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default Bonding- trying to understand more

I have three internet connections, dsl, satellite and a modem. If i bond all three connections ie eth0 eth1 eth2 then route bond1 to a local network, will the local network get a internet speed equal to the dsl + satellite + modem? And will it share equally to all three, because the dsl is faster than the modem?

modem ---|
dsl ---|---bond1(eth0,1,2)---linux---eth3---|---local network
kuband ---|

Many Thanks

William
Reply With Quote
  #5  
Old 8th February 2006, 20:48
themachine themachine is offline
Senior Member
 
Join Date: Oct 2005
Location: Texas, USA
Posts: 109
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I am not exactly sure what you are attempting to accomplish. The main goal of bonding is failover in the event that one of your network links fails. If all 3 nic are bonded, and connected to DSL... your bottleneck (speed limitation) will be that of the DSL link. You're not going to increase your DSL speed by bonding multiple NIC to the DSL connection.

Additionally, all links need to be a part of the same VLAN.
__________________
themachine
5dollarwhitebox.org
Reply With Quote
  #6  
Old 21st April 2006, 21:58
aixguy aixguy is offline
Junior Member
 
Join Date: Apr 2006
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I am working with a Ubuntu server install
2.6.12-10-686
My goal is to get NIC failover such as we have on our AIX servers. If on path fails the other takes over instantly.
I follow the instructions here:
http://www.howtoforge.com/nic_bonding

And I have had some success.
bond0 comes up and it functional, but I think this is a trunk set up rather than failover. All three adapter have the same MAC and I don't think that is correct. In the AIX would the new sudo adapter like bond0 has the mac of the first nic, and when it fails over to the other NIC keeps the address of the first. However, the 2 physical NICs keep there real MACs when you look at the devices. Also neither of the physical nics are up or show up in ifconfig..

When we pull the cable hooked to eth0 the only way we can get the server to fail over, is to initiate a connection from the server to someting .. ie ping some other box. If we don't do this, we can not get to the box from the rest of the network. The other issue is that this config does not come back after a reboot. After rebooting there is no bond0 and no network connection.
Thanks in advance for any insite, I am new to Linux and am getting frustrated with not being able to find the answers I need.
Thanks,
Doug
Reply With Quote
  #7  
Old 21st April 2006, 22:16
themachine themachine is offline
Senior Member
 
Join Date: Oct 2005
Location: Texas, USA
Posts: 109
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by aixguy
I am working with a Ubuntu server install
2.6.12-10-686
My goal is to get NIC failover such as we have on our AIX servers. If on path fails the other takes over instantly.
I follow the instructions here:
http://www.howtoforge.com/nic_bonding

And I have had some success.
bond0 comes up and it functional, but I think this is a trunk set up rather than failover. All three adapter have the same MAC and I don't think that is correct. In the AIX would the new sudo adapter like bond0 has the mac of the first nic, and when it fails over to the other NIC keeps the address of the first. However, the 2 physical NICs keep there real MACs when you look at the devices. Also neither of the physical nics are up or show up in ifconfig..

When we pull the cable hooked to eth0 the only way we can get the server to fail over, is to initiate a connection from the server to someting .. ie ping some other box. If we don't do this, we can not get to the box from the rest of the network. The other issue is that this config does not come back after a reboot. After rebooting there is no bond0 and no network connection.
Thanks in advance for any insite, I am new to Linux and am getting frustrated with not being able to find the answers I need.
Thanks,
Doug

It would sound to me, that if the 'bond0' device does not load on boot up then you have not configured the module properly in '/etc/modutils/aliases'. You need to add something like the following:

alias bond0 bonding


Once in '/etc/modutils/aliases', you need to run 'update-modules'. This is the Debian way of doing things, and I assume the Ubuntu way. If not, simply add 'alias bond0 bonding' to /etc/modules.conf. You also need the aliases for your physical NICs (I believe).

This type of configuration performs a 'round robin' type network connection. Both NICs are used to send traffic, therefore the traffic comes from the bond0 interface (appearing to coming from the MAC of the bond). If the MAC address changed when the NIC failed over, you would loose your ARP and therefore no connections would come to the box until you re-arped (i.e. ping from the other NIC). So it appears that the bond is infact not configured properly (or there is something different about Ubuntu which I wouldn't think is the case).

Can you paste your '/etc/network/interfaces' config?

Thanks.
__________________
themachine
5dollarwhitebox.org
Reply With Quote
  #8  
Old 19th November 2006, 01:21
vertical98 vertical98 is offline
Junior Member
 
Join Date: Oct 2006
Location: Granite City, IL
Posts: 7
Thanks: 0
Thanked 1 Time in 1 Post
Default 50% packet loss

just to get it out of the way here is my pings

=================
64 bytes from 10.1.100.61: icmp_seq=25 ttl=64 time=0.060 ms
64 bytes from 10.1.100.61: icmp_seq=27 ttl=64 time=0.063 ms
64 bytes from 10.1.100.61: icmp_seq=29 ttl=64 time=0.062 ms
64 bytes from 10.1.100.61: icmp_seq=31 ttl=64 time=0.061 ms
64 bytes from 10.1.100.61: icmp_seq=33 ttl=64 time=0.064 ms

--- 10.1.100.61 ping statistics ---
34 packets transmitted, 17 received, 50% packet loss, time 33004ms
rtt min/avg/max/mdev = 0.060/0.075/0.285/0.053 ms
mail:~#
=================

I have two machines: mail and argon connected via 2 crossover cables

mail has 3 nics: eth0 = pcnet32 --> lan
eth1 = tulip --> X-over --> argon
eth2 = 8139too -> X-over -> argon

argon also has 3 nics: eth0 = e100 --> lan
eth1 = pcnet32 --> X-over --> mail
eth2 = 8139too --> X-over --> mail

aliases is correct and /etc/network/interfaces should be fine:

auto bond0
iface bond0 inet static
address 10.1.100.63
netmask 255.255.255.0
# hwaddress ether 00:02:B3:48:50:2C
# gateway 10.1.100.1
up ifenslave bond0 eth1 eth2
down ifenslave -d bond0 eth1 eth2

I just realized that the HWaddress was commented out. I removed the # and presto it works fine.

I'll leave the full comment, incase someone else runs into this problem.

Vertical
Reply With Quote
  #9  
Old 27th March 2007, 03:11
Djolliff Djolliff is offline
Junior Member
 
Join Date: Mar 2007
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default Anyone gotten bonding to work with RealTek cards?

I'm using (K)Ubuntu 6.10 and followed the bonding howto, but the RealTek chipset cards don't seem to work -- Anyone have this working with these cheap cards?
They work really well so far stand alone.
Reply With Quote
  #10  
Old 15th November 2007, 21:52
babrew babrew is offline
Junior Member
 
Join Date: Nov 2007
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
 
Default multiple bond interfaces on rhel4u4 problem

if, on rhel4 update 4, you have working bond0 but have problem with setting up bond1 interface see
http://article.gmane.org/gmane.linux.network/77672

Quote:
To load multiple instances of the module, it is necessary to
specify a different name for each instance (the module loading system
requires that every loaded module, even multiple instances of the same
module, have a unique name). This is accomplished by supplying multiple
sets of bonding options in /etc/modprobe.conf, for example:

alias bond0 bonding
options bond0 -o bond0 mode=balance-rr miimon=100

alias bond1 bonding
options bond1 -o bond1 mode=balance-alb miimon=50

will load the bonding module two times. The first instance is
named "bond0" and creates the bond0 device in balance-rr mode with an
miimon of 100. The second instance is named "bond1" and creates the
bond1 device in balance-alb mode with an miimon of 50.

In some circumstances (typically with older distributions),
the above does not work, and the second bonding instance never sees
its options. In that case, the second options line can be substituted
as follows:

install bond1 /sbin/modprobe --ignore-install bonding -o bond1 \
mode=balance-alb miimon=50

This may be repeated any number of times, specifying a new and
unique name in place of bond1 for each subsequent instance.

It has been observed that some Red Hat supplied kernels are unable
to rename modules at load time (the "-o bond1" part). Attempts to pass
that option to modprobe will produce an "Operation not permitted" error.
This has been reported on some Fedora Core kernels, and has been seen on
RHEL 4 as well
. On kernels exhibiting this problem, it will be impossible
to configure multiple bonds with differing parameters (as they are older
kernels, and also lack sysfs support).
On my server I set up bonding in /etc/modprobe.conf in this way:
Quote:
alias bond0 bonding
options bond0 -o bond0 miimon=100 mode=1
install bond1 /sbin/modprobe --ignore-install bonding -o bond1 mode=1 miimon=100
and now it works.

bartek
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SNMP Howto till Suggest HOWTO 8 5th November 2010 16:07
Media Server Howto Ridge Suggest HOWTO 1 18th April 2009 12:31
RHEL 4 Howto g8rbait Suggest HOWTO 12 29th December 2005 21:36
howto regenerate default certificate ? DarkBen Installation/Configuration 1 27th October 2005 12:46
Exim 4 howto dante Suggest HOWTO 0 11th August 2005 22:51


All times are GMT +2. The time now is 13:52.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.