Forum Discussion

bilsch_10068's avatar
bilsch_10068
Icon for Nimbostratus rankNimbostratus
Feb 10, 2011

pools/sub-pools on the ltm

I am working on a configuration using the LTM to load balance across a number of jboss app servers and am curious if there is a way to have a single pool comprise multiple sub pools without the use of an irule. Say you have the following setup:

 

 

A: 10.10.10.1:8080 , 10.10.10.2:8080 , 10.10.10.3:8080 , 10.10.10.4:8080 , 10.10.10.5:8080

 

B: 10.10.10.1:8180 , 10.10.10.2:8180 , 10.10.10.3:8180 , 10.10.10.4:8180 , 10.10.10.5:8180

 

C: 10.10.10.1:8280 , 10.10.10.2:8280 , 10.10.10.3:8280 , 10.10.10.4:8280 , 10.10.10.5:8280

 

D: 10.10.10.1:8380 , 10.10.10.3:8380 , 10.10.10.3:8380 , 10.10.10.4:8380 , 10.10.10.5:8380

 

 

Is it possible, in the same pool definition, to build a pool which comprises members of A-D balancing evenly across and preserv ing recovery within the same group. EG, if a node in A goes down,

 

1) Initial traffic assuming all is well users would be round-robin across members in groups A-D

 

2) sessions in group A will be re-distributed across nodes only in group A

 

3) Optionally recovering to groups B-D if none are available in group A.

 

 

( forgive if this is a re-post - firefox/noscript and devcentral don't get along )
  • Obviously one big pool with persistence would keep you at the same pool member, but to persist/distribute at the actual pool level would likely require an iRule. I currently use an iRule to do exactly what you're doing.
  • I'm not sure I understand all of the requirements, but...

     

     

    Could you use priority load balancing in a single pool with A servers set to the highest priority and minimum active members set to 4 and then have the other members set at lower priority?

     

     

    Aaron
  • The requirement here is to treat all members as equal with the exception that recovery of a failed node must stay within a given group.

     

     

    I had thought about priority group activation but that is, at least how I set it up, more or less an overflow scenario. EG, group A receives all traffic until/unless group A members/min avail is met - at which point you flow in to group B and so on.

     

     

    Does that help?
  • Yea forgot to mention - persistence is a requirement as well. Currently using cookie insert.

     

     

    Curious, how do you manage recovery priority within a group?
  • BUMP - Pehaps some new information/soluiton is available? I have the same requirement. * 8 servers that whose systems are managed in "groups" of 4 (2 groups of 4=8). * Traffic should be load balanced evenly across all members.

     

    * Application requires session affinity/persistence to the selected member. * If the member fails, it should select another member in the same "group" as the application has recovery within that same group.

     

    I don't see any pool setting that would accomplish this. I could see creating two virtual servers, one for each "group" of servers with GSLB load balancing in front of it.. But this becomes all to complex. IRule? If there is an iRule avialable that could be shared, that would be appreciated...

     

    Thanks so much.

     

  • Found another article addressing this in the form of an iRule that would choose between two pools. Each group would be a separate pool and the iRule would round-robin between the two:

     

    link text

     

    This was in the HTTP_REQUEST event. I was thinking is more of a load balance event as once it is selected it should persist to whatever member was selected.

     

    Appreciate any thoughts and expertise on this.