cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1242
Views
0
Helpful
4
Replies

How to configure a failover-service on Layer4-Loadbalancing

UlrichHauser
Level 1
Level 1

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

4 Replies 4

pablo.nxh
Level 3
Level 3

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.

http://xrl.us/biffxf

HTH

__ __

Pablo

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

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

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

Review Cisco Networking for a $25 gift card