Hi,
I think there are three bugs in LVS code that are related to the problem
reported in this mailing list by other users ("taking realserver out for
maintenance" and similar problem).
The first problem is that LVS don't expire ESTABLISHED connection that
point to a realserver with weight == 0 when expire_nodest_conn is enabled.
The second problem is that LVS don't expire connection template
(persistent connection information) that point to a realserver with weight
== 0 when expire_quiescent_template is enabled.
The third problem is that LVS refresh connection template expire time only
on new connection and not everytime that a packet arrive for a real
connection related to an existing connection template.
I checked the source also of the latest kernel 2.6.13 and the problem
seems still presents...
Attached you can find the patchs against kernel 2.6.11.4
The patch has been tested on a production LVS that handle more than 5000
simultaneus ESTABLISHED connection with persistent timeout enabled and
thing works without problems!
Bye,
Agostino
--
Network Manager
FinecoBank
--
Experience is when you get what you don't want to get!
lvspatch-2.6.11.4
Description: Text document
|