Forum Discussion

Chris_Miller's avatar
Chris_Miller
Icon for Altostratus rankAltostratus
Aug 11, 2010

Selective Persistence with Priority Grouping

1. All users are in DC1.

 

2. F5 exists in DC1.

 

3. The Pool contains 2 Servers in DC1 and 2 Servers in DC2. Using Priority Group Activation, the Servers in DC1 will receive all traffic as long as at least 1 of them is up.

 

4. Server persistence is not required, DC persistence is.

 

5. Traffic is SNATd to 1 of 4 possible addresses before hitting this F5.

 

6. If DC1 goes down, users will lose session when failing over to DC2. when DC1 comes back up, I'd like users to remain in DC2 so they don't lose session again.

 

 

 

I'm not entirely sure of the best way to handle this situation. I only need persistence if the 2 DC1 servers have failed and that persistence simply needs to keep users in DC2. I can't use cookie persistence and source_address persistence seems like it would keep me from distributing load to each of the 2 servers in DC1 while they were up. Thoughts?

13 Replies

  • Interesting additional requirement.

     

     

     

    For one of the pools, I'll want to send all traffic to the 2 servers in DC1 until they meet a connection limit at which time, I'd want to send new connections to DC2 while keeping existing connections at DC1. I'd set the connection limit to about 70% of the actual limit so existing users aren't impacted...not sure this is even possible with this situation. I know I can override connection limit with my persistence profile but if I'm using source_address with all users being SNATed before they get to the VS, I think I'm screwed.
  • You might be able to come up with something using the Table command and rate limiting based off of the LB::selected event. That is currently beyond my skill level with iRules though.