
chibi at gol
May 19, 2009, 8:30 PM
Post #10 of 13
(1981 views)
Permalink
|
|
Re: [lvs-users] ldirectord feature patch - add abilility to signal system maintenance
[In reply to]
|
|
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 [at] gol 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 [at] LinuxVirtualServer Send requests to lvs-users-request [at] LinuxVirtualServer or go to http://lists.graemef.net/mailman/listinfo/lvs-users
|