LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: IPVS-persistance, weight and bringing down a realserver.

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: IPVS-persistance, weight and bringing down a realserver.
From: Graeme Fowler <graeme@xxxxxxxxxxx>
Date: Fri, 16 Feb 2007 10:30:13 +0000
HiOn 16/02/2007 10:06, Olle ֖stlund wrote:
<snip long detailed description>
To me it seems very strange that the direcor try to keep using a
realserver which weight is 0 / has stopped ansvering the directors
polling-requests.

Not really.

Setting the weight to 0 means that a given realserver ceases to accept new connections from new clients. Established connections from established clients will continue, and if they've idled out in TCP terms (ie gone to FIN/WAIT state) but are still within their session persistence, then they'll come back to the same realserver - this is why you might see an *increase* in active sessions, even when quiesced.

There's a "blunt stick" approach to quiescing realservers in persistent states, which is to:

echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template

That means that when the realserver is quiesced - weight set to 0 - all persistence templates will be removed, and sessions will fail immediately to other servers.

In my experience I've had to combine "affinity" - persistence in LVS terms - with session management/awareness across realservers. That way I've been able to fail out a realserver with no interruption.

Not what you were asking for - the graceful method - but a way forward nonetheless.

G

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