Forum Discussion

IT_Support_5777's avatar
IT_Support_5777
Icon for Nimbostratus rankNimbostratus
Feb 17, 2008

Ratio and source_addr persistence

I have some questions regarding 'ratio' load-balancing and source address persistence.

 

 

We would like one member of a pool to handle all traffic until it fails. We are unable to create a separate virtual server for this pool (as seen in other examples of this). We currently redirect certain host traffic to this pool away from the main pool. My question is, can one use 'ratio' LB to achieve this? We use source_addr persistence as well. Do I just set the ratio so high that it never gets hit?

 

 

Does it use current connections? Total connections? Does it count to a number and then start over? We must avoid having clients connect to one pool member and then connecting to another in the same session. They must remain on the original member.

 

 

 

REDIRECT:

 

 

when HTTP_REQUEST {

 

if { [HTTP::host] equals "server.domain.com" } {

 

pool SERVER-Pool

 

log local0. "server redirected: [IP::client_addr]"

 

}

 

}

 

 

 

BIP 9.1.2

 

 

 

Any guidance would be appreciated. Thank you.

 

 

3 Replies

  • Have you tried configuring 'priority group activation' on the pool for which one member must handle all traffic until it fails?

     

     

    This will allow you to force all connections to one member until the number of available members is less than n

     

     

    See these:

     

    https://support.f5.com/kb/en-us/solutions/public/2000/400/sol2422.html?sr=457825

     

    https://support.f5.com/kb/en-us/solutions/public/0000/400/sol483.html?sr=457825

     

    https://support.f5.com/kb/en-us/solutions/public/2000/400/sol2423.html?sr=457826

     

     

    Another option may be to use two pools, one with a member which must handle all traffic until it fails and another with those you would fail over to, you could then use an iRule to check the state of the first pool, if its unavailable send all requests to the second pool.

     

     

    The second option requires that you be able to test the state of the first pool, I'm unsure how to do that using an iRule but am sure it can be done (I do it with iControl).

     

     

    I'll have a look in to testing pool state and let you know if I find anything as it's something I anticipate doing soon for a new deployment.

     

     

    Hope this helps, I'm a noob at this but perhaps it gets the thoughts going.

     

     

    J
  • I found the iRule Event:

     

    http://devcentral.f5.com/Wiki/default.aspx/iRules/LB_FAILED.html