Guest User!

You are not Sophos Staff.

[7.386] New load balancer doesn't work well

I'm trying out the new Load Balancer under NetworkSecurity...

I can't get it to work well... I've setup one recently on our 7.305 and it worked, and I'm familiar with other LB's, so I _think_ I know what I'm doing...

On 7.386, I've defined a host definition for one of Google's IPs (74.125.95.104), and one of Yahoo's (209.131.36.158).

I've setup a load balancer for it, on the DMZ interface address of my firewall (10.0.0.254), service HTTP.
Check Type: http host
Check URL: /

It shows both hosts are UP on the load balancer status.

When I go to http://10.0.0.254/, it ALWAYS gets google. (using shift-reload in browser)

If I change the IP of the Google definition to 10.0.0.10, which is offline, the status then says 'DOWN' for google, BUT http://10.0.0.254/ ALWAYS FAILS!

Am I doing something wrong, or is something broken/not fully implemented yet?

Thanks,
Barry
Parents
  • I changed the Check Type to 'ping' (and fixed the net def for google) and now it ALWAYS loads Yahoo!

    Ditto for 'tcp' checks.

    Changed it back to 'http' using 'index.html' and it's still stuck on Yahoo.

    Barry
  • It didn't occur to me earlier that the lb might be 'sticky', e.g. a client will be sent to the same server as long as that server is up.
    If this is the case, _some_ of what I wrote about above is unimportant, but the problem where a server goes down and the client isn't sent to the one that is up is still a problem.

    Also, it might be nice to be able to set the 'sticky' flag when configuring a lb; for example, if I am balancing a database cluster for use by webserver clients, and there's an more webservers than dbs, it might not be good to 'stick' the webservers to a db server, as then some of the dbs could be much more heavily loaded.
    However, there may be more to the logic so I might be over-simplifying things.

    Regardless, it would be best if the lb is documented as to how it balances, otherwise it's hard to know what's going on.

    Thanks,
    Barry
  • Hi Barry,

    We will indeed have some docuementation for this feature in time for release. Such is the fun of testing things early. (grin) In regards to what you see, it was a problem in the past where clients would get unassumingly balanced to a new server during their session. This causes problems, especially in website interaction, and is heavily reliant on the cluster having the proper type of mirroring and information sharing. You did however find a good example for the database balancing, this will likely be a drawback against our LB in this scenario.

    The intended behaviour is that once an incoming user is "balanced" they stick to the balanced server for 1hour, for the reasons mentioned above. As such, this would correlate with what you are seeing.

    The one thing maybe im just not getting this morning, is our balancing is for incoming balancing, so could you explain what you use google and yahoo for as part of your balancing group? Usually the group would have "webserver 1 internal, webserver 2 internal, webserver 3 interal etc...." so incoming port 80 connections would be distributed amongst your cluster....

    Cheers,
  • Hi

    I need clarifications on the way LB is working...

    You are using NAT right ? Do u plan to add Direct Routing also ?
    do you plan to add weight (wlc) in short term ?

    what is the priority between DNAT and LB ? I mean if in the bunch of rules I have for DNAT (more than 200 rules) I forgot to disable DNAT for a given IP/Port and I add LB for that same IP/PORT which one will be used ?

    thx
  • Hi Barry,
    The intended behaviour is that once an incoming user is "balanced" they stick to the balanced server for 1hour, for the reasons mentioned above. As such, this would correlate with what you are seeing.


    Hmm... currently at work, we have a application that updates every 15minutes, and when it does, it takes servers down, 1 at a time, for about 30 seconds each, so this wouldn't work too well in such a configuration; users would frequently hit servers that are down.

    ISTM that you'd want to re-distribute users when a server is down.

    Currently, we're using a CoyotePoint lb for our application, but we're setting up another datacenter and I was trying to see if Astaro would work out for this. (we're using Astaro as the firewall, so it'd be a free load balancer if we could use it.)

    The one thing maybe im just not getting this morning, is our balancing is for incoming balancing, so could you explain what you use google and yahoo for as part of your balancing group? Usually the group would have "webserver 1 internal, webserver 2 internal, webserver 3 interal etc...." so incoming port 80 connections would be distributed amongst your cluster....


    I know, but I don't have multiple webservers at home to play with [:P]

    Thanks,
    Barry
  • * DNAT overrules LB entries. This way you can specify more accurate rules,
    e.g. from host x always to real server y.

    * Users stick for one hour to a real server. However if this real server is down,
    the balancing decision and persistence is generated again.

    * There are now plans to add Direct Routing. ASG is a Firewall, as such a device we
    want to see the incoming and outgoing traffic [:)]

    * No plans to add weight distribution yet. Normally all real servers are from the same type,
    so weight distribution makes no sense in that cases.
  • * DNAT overrules LB entries. This way you can specify more accurate rules,
    e.g. from host x always to real server y.

    * Users stick for one hour to a real server. However if this real server is down,
    the balancing decision and persistence is generated again.

    * There are now plans to add Direct Routing. ASG is a Firewall, as such a device we
    want to see the incoming and outgoing traffic [:)]


    ok thx for explanations...


    * No plans to add weight distribution yet. Normally all real servers are from the same type,
    so weight distribution makes no sense in that cases.


    except like for us we want to use severall services and load balanced them based on weight... ie: one backoffice service that we want to be used more on a server but in case this server is down for some reason or overloaded we want the other one be used...
    we are hosting resorts company and the service we provide consist of 2 web access (backoffice (used by hotels, ...) which goes essentially to one server and frontoffice (used by a regular web user who order for example for 1 week in Paris...) which goes on another server... BUT both services are loadbalanced with different weight so service keep running even if we reboot a server, do maintenance or whatever...
    and we do that way because on normal use we keep want to dedicate services to a given server... of course we also have cases with more than X servers loadbalanced equally...

    thx
  • Are there any changes to the 'stickiness' in 7.390?

    Thanks,
    Barry
  • No, should there be any?

    BTW: You could either disable persistence or change the persistence time with the command
    line tool confd-client.plx
  • No, should there be any?

    BTW: You could either disable persistence or change the persistence time with the command
    line tool confd-client.plx


    eheh using the confd-client.plx command directly from ubuntu 8.10 64bits is working perfectly [[:)]] I know now a way to interact with my Hostflow system [[:)]]
    thx
Reply Children
No Data