F5 GTM Wide-IP Pool Failover for topology load-balancing
The "problem”
When using Topology load balancing at the Wide-IP level to select a pool, the pools' statuses are not taken into account. This means when a pool is disabled/offline, traffic won't failover to another pool. The default behavior is to simply return all the member IPs.
This is explained well in K05446309:
- This is by design that the topology of wide IP does not take pool status into account, so the preferred topology takes effect but not the default one.
- There are load balancings of Preferred, Alternate, and Fallback. By default, the method for each of them is Round Robin, Round Robin, and Return to DNS, when the pool is offline, load balancings of Preferred and Alternate fail, so the Fallback returns all the member IPs as the resolution result.
And further in K39000314:
When Return to DNS has been configured and all pool members are down, the BIG-IP DNS will refer to the ZoneRunner for the zone name... and resolved the IPs configured in the zone file.
Solutions
- You can change the Alternate, and Fallback methods for each of the pools to None.
- This will cause the next available pool to be selected (based on order).
- From the GTM manual:
... Alternatively, when the preferred method for all pools is configured, but the alternate and fallback methods are set to None, if the preferred method fails, BIG-IP GTM uses the next available pool.
- From the GTM manual:
- Ideal for automatically failing over between two pools.
- Less control with three pools since the failover relies on the pool ordering.
- This will cause the next available pool to be selected (based on order).
- You can configure the pools to use Global Availability with pool members from the other pools.
- The failover behavior is controlled at the pool level within each pool.
- Ideal for when you have one pool member per pool. Put each pool member in each pool, and change the pool member ordering to control the failover ordering.
- Prevents you from using other load balancing modes within each pool.