LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Buffer overflow when listing large number of VLS's?

To: "Wensong Zhang" <wensong@xxxxxxxxxxxx>
Subject: Re: Buffer overflow when listing large number of VLS's?
Cc: "Linux Virtual Server Mailing List" <linux-virtualserver@xxxxxxxxxxxx>
From: "Ted Pavlic" <tpavlic_list@xxxxxxxxxxx>
Date: Wed, 30 Jun 1999 10:34:13 -0400
> > Recently I configured 254 virtual servers on my LinuxDirector. This
worked
> > fine, but whenever I tried to list them... random things would occur.
>
> Wah, this is the biggest LVS that I have ever heard!

Really? In the end, I'll probably end up having multiple ports balanced on
over 700 clusters. (Probably 1024 for expansion purposes)

> BTW, what are you using it for? could we visit it?

This will be implemented at an ISP. We have four servers that will be
identical and handle all services from http to nameservice. We have a large
number of customers to whom we provide webservice. Currently all of our
users are serviced from one web server. Our new configuration will put a
loadbalancer between the world and our four web/named/mail/etc. servers and
balance traffic among them.

(So basically on every virtual server there exists an alias for 700+ (1024,
probably) IPs. In our old setup, we used one server with a large number if
IP aliases. We're basically doing the same thing here.)

On that note -- if you are ever thinking of writing another loadbalancing
algorithm, if you could write one that balances based on traffic rather than
cluster... What I mean is -- since I have to setup 700+ clusters... I'm not
effectively balancing all my servers -- I'm just balancing each particular
website. For example... someone might go to:

www.netwalk.com ---> real server A

and then someone might also come to:

www.tedpavlic.com --> real server A

and then back to:

www.netwalk.com ---> real server B

and then back to:

www.tedpavlic.com ---> real server B

whereas, it would be nice if the LinuxDirector could keep track of the last
time the real server was hit. THEN... loadbalance based on that. (I suppose
I could use the LeastConnections algorithm might be useful to help out with
this, but I still think it wouldn't be perfect connetions aren't all the
same) So instead of going AABB... it would go ABCD. Am I making sense?

And yes, when I'm finished with my RND on the LinuxDirector and a few other
load balancing products, you'll be able to go to it. Any web site of ours
will be going through the load balancer.

> > It sounds like the ipvsadm -L is not checking the size of the buffer its
...
> > Can anyone else confirm these findings?
>
> Sorry that I have left this overflow bug in the code. Tomorrow I will
> release a new patch.

Sounds great. :)

Another idea -- if tehre was a way to list JUST a particular server or just
a particular port or just a particular server a port... (all three would be
nice :) ) -- that'd be very helpful.

Example:

ipvsadm -L 10.200.0.5
ipvsadm -L 10.200.0.5:80
ipvsadm -L :80

Or even partial matches...

ipvsadm -L 10.200.0
ipvsadm -L 10.200.0.5:800 (would print any port with 800 in it -- including
8001, etc.)

And if you really are bored... regular expression use might be neat, but
probably would be bloated and not very useful. :)

Anyway -- you have a good product. Considering I have several thousand
dollars in machinery around me that I purchased to do the job this
LinuxDirector looks like it can do in a cinch, that's pretty impressive...
:)

All the best --
Ted



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