06-17-2009 09:18 AM
Hi
I have two servers and a single VIP for a website which requires stickiness. I use a specific uri for keepalives so the servers can be taken from service if the keepalive uri becomes unavailable.
The problem I have is that if I rename the keepalive file on the server resulting in the keepalives going to "Down", existing client connections arent remapped for up to 60 seconds afterwards.
New connections appear fine and are routed to the functioning server.
Config
service server1
ip address 10.12.1.244
keepalive type http
keepalive port 80
protocol tcp
keepalive method get
port 80 range 3001
keepalive uri "/alive.htm"
active
service server2
ip address 10.12.1.245
keepalive type http
keepalive port 80
protocol tcp
keepalive method get
port 80 range 3001
keepalive uri "/alive.htm"
active
content RG-PROD-1
vip address 10.123.190.20
add service server1
add service server2
protocol tcp
no persistent
advanced-balance sticky-srcip
active
For example, if as a client I am opening http://10.123.190.20/alive.htm in my browser and I then rename the alive.htm on server1 causing the keepalive->Down, I just sit there hitting refresh for up to 60 seconds and during that time I keep getting the expected 404 not found from the server until some sort of timeout kicks in and I get correctly moved to the functioning server.
Am I missing something obvious here? I use CSM's as well and have no such problems.
Thoughts appreciated.
Ross
06-17-2009 11:08 AM
Resolved.
It took a lot of searching but identified via post http://forum.cisco.com/eforum/servlet/NetProf?page=netprof&forum=Data%20Center&topic=Application%20Networking&topicID=.ee7814f&fromOutline=&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.ee94177
Essentially, the client does not get remapped unless it receives a RST from the balancer when the service goes down. This functionality only works if you are close enough to have an arp for the device or you have the content rule configured to include the line: url "/*". Making it a L5 rule(not sure what you can do about raw tcp socket connections).
This resolved the issue. Please see the above post for a better explanation.
Much kudos to Gilles for his earlier post.
Cheers
Ross
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide