LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Can LVS do this?

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Can LVS do this?
From: Derek Glidden <dglidden@xxxxxxxxxxxxxxx>
Date: 27 Feb 2002 12:10:49 -0500
On Wed, 2002-02-27 at 11:58, Joseph Mack wrote:
> Gre7g Luterman wrote:
> > 
> 
> > We have solid hardware running FreeBSD, Apache, and Mysql off of a
> > business grade DSL line.  But there are times when our ISP gets
> > bottlenecked and even though our server is sitting on its thumbs,
> > waiting for requests, the clients are not getting good response time.
> > 
> > What I would like to do is set up N systems located in different
> > places with different ISPs and then set up some sort of external
> > monitor that can watch them and direct traffic... balance traffic not
> > only based on load but on performance.  Is this something that LVS
> > can do?
> 
> the short answer is no.
> 
> [snip]

The company I work for works with F5 when we can't (political reasons
usually) put a home-grown LVS box in a customer site.  The F5 "3DNS" and
"BigIP" servers can do this kind of geographically-diverse
load-balancing.  They do it by being tricksy with DNS:  

When a hostname lookup comes into their DNS server, it immediately
responds with whichever IP is currently the highest in priority, but
with a 0-second live time for the response, which means the next request
that same client makes from the server will also require another DNS
lookup.  (i.e. the next link on your website that gets clicked)  At the
moment of the first request from a new client IP, the DNS server pokes
all the various load-balancers to ask them to find out which one has the
best response time to this particular client IP and the next time that
client asks for DNS resolution of the hostname, the DNS server responds
with the IP of the load balancer that has the best response (that also
has real-servers that are alive and well of course).

The reason I mention this is because one of the guys in the office here
has said he's gotten this kind of thing to work with BIND and our
LVS-based boxes.  I haven't actually talked to him much about it, so I
can't give more details, but I can ask what he's done.  A google search
may turn something up as well.

The advantage is, it doesn't require any modifications to the core LVS
code, since you have a separate daemon sitting around doing the
traffic/network analysis and the hard work is done at your DNS server.

The disadvantage is, you need to be able to run and maintain your own
DNS server to use this method, which not everyone is able or capable of
doing.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \
    | extract_mpeg2 | mpeg2dec - 

         http://www.cs.cmu.edu/~dst/DeCSS/Gallery/
http://www.eff.org/                   http://www.anti-dmca.org/



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