Forum Discussion

Piotr_Lewandows's avatar
Piotr_Lewandows
Icon for Altostratus rankAltostratus
Apr 25, 2017

HA Group and pools

Hi,

 

According to what I read it seems that HA Group (HAG) is best suited for monitoring trunks and clusters (on VIPRION). Still pools can be used as well.

 

My question is about what is best practice for configuring pools in HAG. I know article Best practices for the HA group feature - there is not a lot here except from avoiding pools with members that are not stable (can go down and up rapidly).

 

I can see two scenarios when using pool makes sense:

 

  • Same pool used on each device in HAG - each device has completely separate network path to members. So it is possible that member is down on one device and up on another. Quite simple to configure.
  • Separate pools on each device pointing to different members - that is one that I am not sure how to implement.

Second case is showed in this video Setting up HA Groups (part 2 of 2).

 

One of the condition is that each device should have not only separate pool (A, B, C) but as well separate VS using those pools like that:

 

  • BIG-IPA - VSA - PoolA
  • BIG-IPB - VSB - PoolB
  • ...

As well easy to configure but there is one catch - in case of failover VS IP will change, so connections will be lost and there is some external method necessary to direct clients to new VIP - Am I right?

 

So not a perfect solution.

 

I can imagine that there is a way to switch pools assigned to the same VS depending on which device is Active (using iRule with HA::status and tcl_platform(machine)) - but is that good idea? Sure connections will be reset as well but there is no need to redirect clients to other VIP.

 

Any other way to have same VIP on every device but using separate pools for HAG config?

 

Any other scenarios for using pools in HAG?

 

Piotr

 

2 Replies

  • Tested this simple iRule and it seems to work OK, question is if this is a right way to implement one VIP and separate pools for each device.

    when CLIENT_ACCEPTED {
        if { $static::tcl_platform(machine) ne "DeviceA" } {
            log local0. "Active device pool PoolB"
            pool PoolB
        } else {
            log local0. "Active device pool PoolA"
        }
    }
    

    Assuming that VS has PoolA set via configuration. Piotr

  • In an HA pair, both the active and standby will monitor independently the pool members. In that case, is possible that the pool is up in one unit and down in the other unit.

     

    Normally for HA Group you will choose a pool that is very important, like a pool with default gateways (as you can use a pool when creating routes), and that you think should be relevant to calculate if that unit should continue active.