This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

load balancing on multiple connections

Hi, hi read many posts about this feature and i know that is not possible to implement this feature now. So i want to ask to expert people these things:

(i have 2 adsl connection but i use only one through an astaro firewall/gataway in nat mode, i'll be happy to add the second connection balancing all the donwstream traffic)

1) many people talk about external hacks or tricks to add this feature in basically form

2) other people wait new version of astaro with the hope in adding this feature, is this true?? (i should wait?)

3) I've read this trick for a general linux kerner, can I try in astaro? http://lists.netfilter.org/pipermail/netfilter/2001-February/007722.html  


This thread was automatically locked due to age.
Parents
  • Yes, you could do this with ASL.

    What you'd want to do is add the routes inte /sbin/init.d/routes.local as outlined here:

    http://docs.astaro.org/older_versions/ASL-V3.2/docs_v3/hacking/policy_routing.txt

    The hack you describe will actually create a round-robin type of load balancing.  It's not perfect, but it does work.  Just be aware that if you have two 1mb connections, a SINGLE connection can still never exceed 1mb.

    good luck

    LK  
  • thanks for help, i m going to watch this page but it doesn't online anymore. [:S]b???

    thanks very mutch.. and fogive me for my english 
  • I just checked that link, and it works fine for me...

    About the 1mb, what I'm saying is that if you are attempting to "load balance" using this method, a single connection cannot exceed the speed of a single interface.

    If you have two interfaces to the internet that can transmit 1mb/s, it doesn't mean that you will be able to download a file at 2mb/s.

    This is just a rudimentary method of load balancing.  It is not bandwidth aggregation.  
  • [ QUOTE ]
    I just checked that link, and it works fine for me...

    About the 1mb, what I'm saying is that if you are attempting to "load balance" using this method, a single connection cannot exceed the speed of a single interface.

    If you have two interfaces to the internet that can transmit 1mb/s, it doesn't mean that you will be able to download a file at 2mb/s.

    This is just a rudimentary method of load balancing.  It is not bandwidth aggregation.   

    [/ QUOTE ]

    Has anyone tried backroute  
  • think that routing technique is round-robin; it will not take into account link bandwidth utilization; it doesn't decide which interface to use based on the packetload level of that interface (correct me if I'm wrong...). So it's a crude form of load balancing.

    Astaro acting as a REAL load balancer over a list of designated links (e.g. Any1, Any2...); now that would be challenging, wouldn't it?! You would need to keep track of who's using what link to insure the stateful nature of any user's session routing (using source routing, as recently posed by Guillermo on his post).

    So maybe we could balance the users based on CIDR subnetting of the internal network(s)? Or could the Linux kernel routing tables 'handle' (in terms of not making the machine slow) having a seperate source route for each internal IP address? And then how could we figure that a user hasn't generated IP traffic recently, so it's 'safe' to switch his/her designated interface route because of new interface utilization statistics?? Will the routing switch take place fast enough to not mess up a happenstance newly initiated session at the time the routing switch is made? And all the while taking into account whether a link went completely dead and moving the user's designation off that link [we ain't talking a bash script!]

    Anybody wants to Blue Sky this further, let's take it over to the Hackers Forum...

    P.S. Not blowing you off Biffa; haven't tried it. Looks good, though...
      
  • I was thinking how one could do this, and I was saying to myself "hmmm; that would need a pseudo device driver; go in on the virtual device and it decides which from a pool of other real network devices to pass the packets on to".

    Well, sure enough, it's been done. It's called a tql device. See:

    the followup to the message posted above 

    and

    Sangoma Technologies article

    When I tried it out on ASL, using one of my active eths as the dev argument, I got an:

    RTNETLINK answers: invalid argument

    So it appears to not be compiled into the ASL 4X kernel?

    (a 2.4 kernel)

    But even this appears to be a crude balancer; Sangoma calls it round-robin, so it probably is not looking at link utilization in its decision making process...

    [I know I suggested that we continue this on the Hackers forum, but I think that's the dead end to this topic and I didn't want to open a new post for probably one entry -unless somebody wants to write a Linux device driver]

    Any tql gurus, let's continue on the Hackers forum under subject tql...
      
Reply
  • I was thinking how one could do this, and I was saying to myself "hmmm; that would need a pseudo device driver; go in on the virtual device and it decides which from a pool of other real network devices to pass the packets on to".

    Well, sure enough, it's been done. It's called a tql device. See:

    the followup to the message posted above 

    and

    Sangoma Technologies article

    When I tried it out on ASL, using one of my active eths as the dev argument, I got an:

    RTNETLINK answers: invalid argument

    So it appears to not be compiled into the ASL 4X kernel?

    (a 2.4 kernel)

    But even this appears to be a crude balancer; Sangoma calls it round-robin, so it probably is not looking at link utilization in its decision making process...

    [I know I suggested that we continue this on the Hackers forum, but I think that's the dead end to this topic and I didn't want to open a new post for probably one entry -unless somebody wants to write a Linux device driver]

    Any tql gurus, let's continue on the Hackers forum under subject tql...
      
Children
  • I stand corrected! I was speed reading the Sangoma instructions, and skipped the crucial modprobe step!!

    Went through the steps, and it does appear to work. So you could put these commands in an /init.d/sbin startup script, add the tql interface to /etc/wfe/conf/itf.conf, and get load balancing out the interfaces aggregated under the tql device. Interessant...
       
  • Anyone know if the Sangoma cards work on ASL v5?