Hello Simon,
On Tue, 19 May 2009 19:52:42 +1000 Simon Horman wrote:
> On Tue, May 19, 2009 at 04:27:19PM +0900, Christian Balzer wrote:
> >
> > Hello,
> >
> > On Sat, 16 May 2009 02:24:55 +1000 Simon Horman wrote:
> > > > On Fri, 2009-05-15 at 09:19 -0400, Geoff Harrison wrote:
> > > > Isn't that what quiescent=yes is for? At least in masquerade mode
> > > > (what we use), when the weight is set to 0 ipvs continues to send
> > > > existing TCP sessions to that server. We weight a server to 0,
> > > > then watch to make sure all of the connections have closed, then
> > > > bring the service down.
> > >
> > > Just to clarify, quiescent=yes should work this way for all of LVS's
> > > forwarding methods.
> > >
> > It does not for SH (and DH I presume but I never tested that). Well,
> > not as expected at least. As I've been pointing out for well over a
> > year and just re-tested with the latest kernel.
> >
> > If the weight goes to 0 with SH and quiescent=yes set connections will
> > keep going to the old server as expected. Alas even when they expire
> > they will keep being sent there as will completely new connections if
> > the hash result assigns them to the weight 0 RS.
>
> I don't seem to be able to reproduce that problem.
Debian Sid install (2.6.29 bleeding edge kernel, but anything 2.6 and hand
rolled kernels are the same), Heartbeat with ldirectord and this config:
---
$ cat /etc/ha.d/conf/web
# Global Directives
checktimeout=10
checkinterval=2
autoreload=no
quiescent=yes
# Virtual Server for HTTP
virtual=203.216.90.88:80
# fallback=127.0.0.1:80
real=203.216.90.82:80 gate
real=203.216.90.83:80 gate
service=http
scheduler=sh
protocol=tcp
checktype=connect
emailalertfreq=600
emailalert=root
---
Shutting down Apache on the 2nd RS or manually setting its weight to 0 via
ipvsadm (for a planned maintenance) will result in the above scenario.
Only with quiescent=no and the resulting impact for maintenance things
work as expected.
> Do you have persistence set? If so, could you try setting
> /proc/sys/net/ipv4/vs/expire_quiescent_template to 1 ?
>
As you can see there is no persistence set in the config and back when I
reported this I played with all those flags. But here I go again, it is 0
by default and setting it to 1 does not change that behavior.
If there is anything else you would like me to do or try, please let me
know. Access to these or other test boxes could be arranged, too.
Regards,
Christian
--
Christian Balzer Network/Systems Engineer NOC
chibi@xxxxxxx Global OnLine Japan/Fusion Network Services
http://www.gol.com/
https://secure3.gol.com/mod-pl/ols/index.cgi/?intr_id=F-2ECXvzcr6656
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users
|