LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: lvs with bonding, heartbeat, etc.

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: lvs with bonding, heartbeat, etc.
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Thu, 07 Mar 2002 23:32:01 +0100
Hi Paul,

Ethernet bonding with LVS can be fun - even without much documentation.
Is anyone else out there using LVS with the Linux bonding/ifenslave
setup?  I feel a document coming on and would be happy to include any
additional wisdom others have gleaned from using and/or setting up linux
bonding[1].

What are the benefits?

I have yet to get heartbeat to work with it, but it should work given
enough elbow grease.  Also, I have yet to get 2 separate bonds (bond0,
bond1, etc) to come up.
>
Here's what I wanted to do:
  client network  lvs server (dell 2550)
  cisco 2924      ipvs1.0.0 on 2.4.18
port group 1 interface bond0 port 1 <------->eepro100 dualNIC port#1 port 2 <------->eepro100 dualNIC port#2
  server network  lvs server (dell 2550)
  cisco 3548      ipvs1.0.0 on 2.4.18
port group 2 interface bond1 port 3 <------->eepro100 dualNIC port#1
  port 4 <------->eepro100 dualNIC port#2
(for the sake of clarity in this example, the lvs servers mentioned
above both refer to the same box, not two separate lvs servers)

What is the purpose of this setup?

Interface bond0 comes up fine with eth1 and eth2 no problem.  Bond1
fails miserably every time.  I'm going to take that issue up on the
bonding mailing list.

Which patch did you try? Is it the following:

http://prdownloads.sourceforge.net/bonding/bonding-2.4.18-20020226

Did you pass max_bonds=2 when you loaded the bonding.o module? Without that you have no chance. Read the source (if you haven't already) to see what other fancy parameters you might want to pass.

And if you're talking to them you might ask them if they'd like to clean up the bonding_init(void) function with the *dev_bond/*dev_bonds mess :)

Anyhow, here's what I ended up with:
  client network  lvs server (dell 2550)
cisco 2924 sw ipvs1.0.0 on 2.4.18 port group 1 interface bond0 port fa0/1 <------->eepro100 dualNIC port#1 port fa0/2 <------->eepro100 dualNIC port#2

Cool.

  server network  lvs server (dell 2550)
  cisco 3548      ipvs1.0.0 on 2.4.18
  port g0/1 <---->onboard GiGENIC (broadcomm chipset)

This is driven in part by our desire to see how far we can push lvs.  I
know it does 100mb/s in and out.  If it can keep 2 channels full, I'll
add a thirds, fourth,fifth, etc as necessary.

Read [http://www.sfu.ca/acs/cluster/nic-test.html] to get the impression of what happens if you try to bond too many NICs. Been there, done that. But again, feel free to excel. You might find out some more and maybe even be able to linearly scale the throughput.

Using apache bench (ab) this time.  ;)

How do you want to stress LVS with ab? :) You need much stronger tobacco for that!

Best regards,
Roberto Nibali, ratz



<Prev in Thread] Current Thread [Next in Thread>