You can specify the minimum threshold parameters for a virtual service or a pool to make it serviceable. This section explains the virtual service and pool configurations to define the parameters through the CLI.

Virtual Service Configuration

Use min_pools_up to specify the minimum number of pools out of a single pool group in a virtual service that has to be up to mark the virtual service as UP.

min_pools_up for a virtual service is configured as shown below.

[admin:abc-ctrl]: virtualservice> min_pools_up 3
[admin:abc-ctrl]: virtualservice> save
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
| uuid                               |virtualservice-9c5eee94-fd57-      | 
|                                    |4ef6-b912-fadbb10ae464             |
|name                                |vs-1                               |
|----------------------truncated output----------------------------------|
|min_pools_up                        |3                                  |
+------------------------------------+-----------------------------------+

Verify the configuration as shown below:

[admin:abc-test-ctrl]: > show  virtualservice vs_1
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
| uuid                               |virtualservice-9c5eee94-fd57-      | 
|                                    |4ef6-b912-fadbb10ae464             |
|name                                |vs-1                               |
|----------------------truncated output----------------------------------|
|use_vip_as_snat                     |false                              |
|traffic_enabled                     |true                               |
|min_pools_up                        |3                                  |
+------------------------------------+-----------------------------------+

Pool Configurations

  • Use min_servers_up to specify the minimum number of servers required to be UP for the pool’s health to be marked as available. If this parameter is not defined, the pool is marked as available until at least one server is UP.

  • Use min_health_monitors_up to specify the minimum number of health monitors required to succeed, to decide whether to mark the corresponding server as UP. If this parameter is not defined, the server is marked as UP only if all the health monitors are successful. min_servers_up and min_health_monitors_up are configured in a pool as shown below:

[admin:abc-ctrl]: pool> min_servers_up 2
[admin:abc-ctrl]: pool> min_health_monitors_up
INTEGER     Minimum number of health monitors in UP state to mark server UP.
[admin:abc-ctrl]: pool> min_health_monitors_up 1
[admin:abc-ctrl]: pool> save
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
|uuid                                |pool-6fb04b70-5547-4232-b7b7-      |
|                                    |33e72ee33d64                       |
|--------------------------truncated output------------------------------|
|min_servers_up                      |3                                  |
|min_health_monitors_up              |1                                  |
+------------------------------------+-----------------------------------+

Verify the configuration as shown below:

[admin:abc-test-ctrl]: > show pool vs_1-pool
+------------------------------------+-----------------------------------+
| Field                              | Value                             |
+------------------------------------+-----------------------------------+
|uuid                                |pool-6fb04b70-5547-4232-b7b7-      |
|                                    |33e72ee33d64                       |
|--------------------------truncated output------------------------------|
|min_servers_up                      |3                                  |
|min_health_monitors_up              |1                                  |
+------------------------------------+-----------------------------------+

For example, If two servers are marked DOWN. This does not meet the minimum threshold (three servers in UP state). Therefore, the pool is marked DOWN and is not available for any virtual service referencing it.

Note:

If the minimum threshold parameters are not defined, NSX Advanced Load Balancer retains the default behavior.

Use Cases:Minimum Health Monitors

NSX Advanced Load Balancer designates a server as UP only when all the monitors bound to it are UP. If one of the health monitors marks it DOWN, NSX Advanced Load Balancer considers the server as DOWN.

In scenarios where multiple services are monitored on a backend server using separate monitors. If either one is available, NSX Advanced Load Balancer will mark that server as UP. For example, GET for /foo.html and GET for /bar.html. If either is available, NSX Advanced Load Balancer marks the server UP.

In a similar use case, to specify the minimum number of health monitors required to succeed and to decide whether to mark the corresponding server as UP, define the parameter min_health_monitors_up. If this parameter is not defined, the server is marked as UP only if all the health monitors are successful.

Minimum Servers

NSX Advanced Load Balancer marks a pool as up when one of the servers present in that pool is UP. In a scenario where at least two servers are required to be marked as up to mark the pool as UP, the option min_servers_up can be used to specify the numbers of servers that must be up to mark the pool as UP. If this parameter is not defined, the pool is marked as available until at least one server is UP.

See Reasons Servers Can Be Marked Down section in the VMware NSX Advanced Load Balancer guide.