On Fri, 25 Jul 2008, David Dyer-Bennet wrote:
> I'm looking at an application for LVS that requires scheduling that I'm
> not sure is available.
what you want isn't easily done (at least in the few minutes
since I started looking at your posting) by load balancing
at the network level, which is where LVS does its balancing.
> The batch runs can be distinguished based on the IPs it's
> requested from, or we could set things up so it passes its
> requests to a different request address.
weights are relative, so even if you had two VIPs, all the
users of the batch VIP would be balanced with each other,
and all the users of the interactive VIP would balance with
each other. The two virtual services (here VIPs) would be
independant of each other.
> An added complexity is that some of the services will use
> multiple cores for a request, and others will not; raw
> counts of actual connections are not an adequate way to
> estimate the load currently being handled by a server.
the kernel virtualises the hardware. LVS has no idea how
many CPUs are underneath. LVS only knows about connections
on the network.
> Do you guys see a good way to approach this short of writing my own
> scheduler module?
I'm not sure whether it's even possible to write a scheduler
to do what you want, since an LVS scheduler is operating at
the network level.
Your problem is at the application level. Can your batch
scheduler nice its jobs?
> suggests that I can set set the weight at a finer level of detail than
> just the server, but I'm not sure. If I say
> ipvsadm -a service-1 -r server-1 -w 1
> ipvsadmm -a service-2 -r server-1 -w 2
> what does it mean? Am I setting the limits for that virtual server for
> that service only, or am I setting the cost of that service for that
> virtual server? But then where do server weights get set?
see my bit above about 2 independant virtual services.
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!