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 - [email protected] Send requests to [EMAIL PROTECTED] or go to http://lists.graemef.net/mailman/listinfo/lvs-users
