I assume from what I've read that "quiescent" means "weight == 0". I
do not use this. The RS in question was *deleted* from the active
table, not weighted 0. I don't use keepalived's inhibit_on_failure.
1. Two RSes active, both weighted 50
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
FWM 11 wlc persistent 1200
-> 10.2.34.11:0 Route 50 84 34
-> 10.2.34.5:0 Route 50 88 54
2. One RS fails, so one is left active, the other is deleted.
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
FWM 11 wlc persistent 1200
-> 10.2.34.11:0 Route 50 84 34
3. Traffic is still being directed to the failed/deleted RS. Worse, I
did not see any traffic being directed to the still-active RS.
Correct me if I'm wrong, please, but I believe what should have
happened was that all traffic should be directed to the only remaining
active RS once the failed RS gets deleted.
Sebastian Vieira wrote (at Thu, Oct 19, 2006 at 04:47:53PM +0200):
> If you use persistence and want to prevent clients being sent to a quiescent
> server, do:
>
> echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template
>
> (as suggested some time ago by somebody on this list)
>
>
> Sebastian
>
>
> On 10/19/06, Alexandre Cassen <acassen@xxxxxxxxxx> wrote:
> >
> >Hi,
> >
> >> As stated, I'm using keepalived, not ldirectord. But, if I remember
> >> correctly, the quiescent setting causes ldirectord to set the weight
> >> of a RS to 0 when it fails (as opposed to deleting it from the active
> >> list). keepalived is not doing that; it is definitely deleting the
> >> server from the list. I verified it with 'ipvsadm -lnf 11'.
> >
> >no :) try to have a look at inhibit_on_failure.
--
Casey Zacek
Senior Engineer
NeoSpire, Inc.
|