Forum Discussion

Arturo's avatar
Arturo
Icon for Employee rankEmployee
Aug 22, 2013

Causing GTM failover if highest priority group in LTM have failed - iCall?

Hi,

 

I have two datacenters and F5 is load-balancing a wide IP using topology because I don't want users in DC1 go to VS in DC2. I have configured in the internal LTMs two priority groups. The highest priority for pool members in the same DC.

 

If all pool members in DC1 fail, LTM will carry on load balancing traffic to the pool members with lower priority group in DC2. (LTM would keep established sessions working but I want that GTM start to resolve new requests with the VIP in DC2).

 

Can GTM realize about it and start to resolve only with the VS of DC2? I have though in an iCall or iRule... What can I use?

 

Thank you in advanced, Ar.

 

3 Replies

  • uni's avatar
    uni
    Icon for Altostratus rankAltostratus

    I don't know if this is the most elegant solution, but consider something like this.

    Instead of 1 pool with priority groups, create two pools, the default pool, and the backup pool, and manage the priority group in an irule. The same irule can be used to determine which pool is in use, and which can be used to supply this info to the GTM via a monitor on the GTM.

    The LTM irule would look something like this:

    ltm rule my-rule {
        when HTTP_REQUEST {
          if { [HTTP::uri] eq "/_gtm_monitor" } {
             if { [active_members [LB::server pool] ] < 1 } {
                HTTP::respond 200 content "default pool down"
             } else {
                HTTP::respond 200 content "default pool up"
             }
          } else {
             if { [active_members [LB::server pool] ] < 1 } {
                pool backup_pool
             }
          }
       }
    }
    

    You then create an http monitor on the GTM assigned to the virtual server which requests /_gtm_monitor, and expects "default pool up".

  • Hi - Wondering if the iRule solution worked for you? We have a similar situation. We are currently using GA in GTM to prefer Site A all the time due to persistence requirements.

     

    However, we want GTM to prefer Site B should x% of the servers fail at Site A.

     

    Currently I've considered VS capacity but I think that would mean that should 1 server in the LTM pool fail then that site would be un-preferred by GTM. I've also looked at QoS but not quite sure how the weightings would work.

     

    So thinking a GTM iRule monitor might be the way to go?