> What is the feasibility of running a daemon on the director and a
> service on the real servers. The real servers would announce the
> services that they are willing to accept. The daemon would control the
> monitoring of the services and building the LVS tables to route the
> services to the real servers. The real servers would monitor their load
> and can add/drop services depending on some local factors. This would
> allow the real servers to handle some more intelligent monitoring and
> simplify the monitoring aspects of keepailved.
What exactly would you be able to do that keepalived can't do now?
> Obviously we would want it using some secure communications. For
> example I have 2 web servers and 4 mail servers running with
> keepalived/LVS When mail spam starts flooding in I would like to have
> the 2 web servers come online to handle the mail. After the deluge is
> over they could stop accepting mail and handle just web access again.
In this situation, you could announce to the director 'hey, i'm getting
killed here, bring up more servers to handle this service, if you got them!'
Which is basically what the wrr and wlc stuff does. You can give your two
primary mail servers a [much] higher priority than the webservers. Only
when the load gets high does the webserver start to take over.
> With this setup I could have a network based install, netboot the real
> server and then have it announce its services and start taking load. I
> could bring servers/services up to handle the current demand.
You can do the same thing by adding the realserver to the director
beforehand, with a good set of tests (ping, accept on port n, etc) and have
it just start to work when it's ready to accept connections.
Don't get me wrong, I'm not trying to say that you have a bad idea. In
fact, on the surface, I like it. But after thinking about it a bit,
everything you want to be able to do is doable /now/ with the tools
available, it just works in reverse of what you propose. I'm personally in
favor of having the director as an authoritive source for what goes where
instead of an announce/opt-in system.
----- Side note:
I would personally like to see the effort put into consolodating the various
pieces (lvs, keepalived, heartbeat, etc) into one product like piranha that
could be administered over the web and with an easy to use ncurses interface
for those paranoid souls.
Something that makes the process of setting up this stuff very very easy and
that could be embeded into a dedicated server like a google box or some of
the expensive load balancing solutions.
Maybe even going as far as adapting (ie, stripping) a stable distro and
making ISOs. I wouldn't mind donating the limited time I have available to
making something like this come to fruition.
Hell, I'd lead the project :-)