LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] How to Tell If an RS Is Really Up

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [lvs-users] How to Tell If an RS Is Really Up
From: Graeme Fowler <graeme@xxxxxxxxxxx>
Date: Thu, 04 Dec 2008 21:59:24 +0000
On Thu, 2008-12-04 at 09:54 -0800, Robinson, Eric wrote:
> Joe, please take a look at this. It explains why I am asking this
> question.
<snip>
> Still down after a full minute! And it will *stay* down until I run
> ipvsadm with -w 1
> 
> This is what makes me wonder why I seem to get different behavior from
> the command line than from the healthchecks. I'm sure it must be
> something simple that I am overlooking.

I just played with this and observed the same behaviour, and I think I
can summarise it as:

Manage your LVS manually, or automate it with keepalived/ldirectord.

Don't do both.

I get the feeling that both of the above will *change* the weight (or
remove a server from the pool) when there's a state change, but if the
state remains the same the in-memory structures will stay the same so
the actual weight assigned in the mix of user/kernel space that's in use
at this point remains the same.

If you change weight using a tool like ipvsadm, then *that* weight will
apply until something changes to make the automation system change
something.

For the record, I've used a MISC_CHECK with keepalived before in order
to "manually" quiesce a server by simply appending the IP address to a
text file or creating an empty file with the same name as an IP/port
pair in the pool. This can then be checked for existence every
delay_loop, and if it exists make the script exit with a weight which
sets the realserver's weight to zero.
This has meant I haven't ever ended up in the situation you're seeing,
so I did have to check :)

Graeme


_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

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