On Tue, 2007-05-15 at 13:32 -0700, Robinson, Eric wrote:
> We turned off one of the servers and now it looks like this, which is
> expected:
>
> [root@lb1 ]# ipvsadm|grep 3008
> TCP extrovert.mydomain.com:3008 lblc persistent 360
> -> appftp2.mydomain.com:3008 Masq 0 0 3
> -> appftp1.mydomain.com:3008 Masq 1 2 6
>
>
> However, users who were connected to appftp2 got "page could not be
> displayed" errors, which tells me that LVS is was still directing
> traffic to the down server.
>
> After a while, the situation cleared up. I assume this is because
> ipvsadm started directing traffic to the up server.
Sort of.
You've set the server to quiesce (weight=0; whether you or ldirectord
did this is of no concern). Existing connections - those prior to TCP
FIN/RST or those within the persistence timeout - continue to be sent to
the quiesced realserver.
To change this behaviour, set the sysctls:
/proc/sys/net/ipv4/vs/expire_nodest_conn = 1
/proc/sys/net/ipv4/vs/expire_quiescent_template = 1
The first removes all persistent entries from realservers which have
been removed from the VS, the second removes all persistent entries from
realservers which have been quiesced in a given VS.
Graeme
|