01-20-2011 09:18 AM
Hello,
we have CSS11503 load balancer with different http contents running OS 08.20.3.03.
Now we are looking for an solution to provide a maintenence page if all services of a content are down. This maintenence page will be homed on an other physical http-server.
I try to give an example:
content www_pages
vip address 192.168.125.33 range 6
port 80
protocol tcp
balance leastconn
redundancy-l4-stateless
flow-timeout-multiplier 5
add service www-server1
add service www-server2
add service www-server3
add service www-server4
! unknown_command service www-failover
active
service www-serverX
ip address 192.168.126.1
keepalive port 80
keepalive type http
keepalive method get
keepalive frequency 60
keepalive uri "/css-monitor.aspx"
active
service www-failover
ip address 192.168.127.24
keepalive port 80
keepalive type http
keepalive method get
keepalive frequency 60
keepalive uri "/css-monitor.aspx"
active
The idea is, if all of the four services www-serverX are down, the CSS have to forward http-requests to the service www-failover and this server will answer http requests. Of cause, the www-failover must answer for all URLs.
Who has a good idea?
Ulrich
01-20-2011 10:47 AM
Hi Ulrich,
The feature that you're looking for is called Sorry service, you just need to add your "www-failover" under the content rule
as follows:
primarySorryServer www-failover
Please refer to this link for further information about the feature.
HTH
__ __
Pablo
01-27-2011 11:37 PM
Hello Pablo,
thank you for opening my eyes. I was not able to find the command during reading the documentation.
We will configure it and I will report here.
Regards
Ulrich
02-02-2011 06:13 AM
Hello Pablo and all others,
for testing we have configured a new service (test-wwwSorry3) and added it as sorry-service to a content (primarySorryServer test-wwwSorry3).
As you can see, we have added different commands without full success.
The content now looks like this:
content TestWWW
vip address 192.168.123.213 range 6
port 80
protocol tcp
balance leastconn
redundancy-l4-stateless
flow-timeout-multiplier 2
add service test-www01
add service test-www02
primarySorryServer test-wwwSorry3
failover next
no persistent
active
We did a test:
- Requesting noncachable aspx-files using content TestWWW; requests are forwarded to test-www01 and test-www02 as we expect it.
- requesting the file again with Ctrl-F5, requests are forwarded to same service like before.
- suspending test-www01 and test-www02
- waiting around of 20 seconds, a show service summary reports 0 (zero) connections on service test-www01 and test-www02
- requesting the same aspx-file we have done at the start again (Ctrl-F5)
- NO sorry-server is used, the requests are forwarded to test-www01 or test-www02 depending on which service was used during the initial balance decison.
If we wait a longer time, the server or the browser quits the session.
After that, a new balance decision is done and the CSS forwards the request to PrimarySorryServer.
But, if we activate the services test-www01 and/or test-www02 again and do not wait until the tcp-connection is down, there is no new balance decision and requests are forwarded to primarySorryServer as long as the connections is not terminated a server or a client :-(
We can set keepalive-time on all servers to less then 10 seconds. Client, CSS and server must handle more connection establishment and connection termination. Is this realy a good idea if you have heavy load?
Has anyone a good idea to get a rapid new balance decision when a service will be suspended or down?
On both servers test-www01 and test-www02 is the same content.
CSS is running with sg0820303
Looking forward to receive ideas.
Regards
Ulrich
02-03-2011 09:46 AM
Hi Ulrich,
As per your description the CSS is just working as designed. Perhaps there's is a little problem/confusion with the way you're testing
the sorry server feature.
The suspend command on a service is a gracefully shutdown on the service meaning that all the current connections will be terminated
before the service is deactivated and no longer considered for load balancing, that's why you can keep F5ing the content will be still shown.
The way that you can assure sorry server works fine is bringing down your port or service on the server itself that way the keepalive will bring down
the service and the connection will be either remapped or reset'd; depending on what you've configured globally. This command under the content rule could help somehow to hurry up the process "flow-reset-reject"
Same happens once the sorry server is taking connections, in case one of the primary servers come back alive all the current connectionson the sorry server will be terminated there because there's already a flow mapped with that server regardless if you have a simple "Sorry" website or a whole .aspx page hosted on that server, once the client RST's the connection and sends a new request then primary "active" server should be used.
Hope this clears things up.
__ __
Pablo
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