您可以为虚拟服务或池指定使其可用的最小阈值参数。本节介绍了虚拟服务和池配置以通过 CLI 定义参数。

虚拟服务配置

可以使用 min_pools_up 指定在将虚拟服务标记为 UP 时,必须在虚拟服务上的单个池组中启动的最小池数。

虚拟服务的 min_pools_up 配置如下所示。

[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                                  |
+------------------------------------+-----------------------------------+

验证配置,如下所示:

[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                                  |
+------------------------------------+-----------------------------------+

池配置

  • 可以使用 min_servers_up 指定将池的运行状况标记为可用所需的最小 UP 服务器数。如果未定义该参数,直到至少一个服务器为 UP 时,才会将池标记为可用。

  • 可以使用 min_health_monitors_up 指定所需的最小成功运行状况监控器数,以及决定是否将相应服务器标记为 UP。如果未定义该参数,只有在所有运行状况监控器都成功时,才会将服务器标记为 UPmin_servers_upmin_health_monitors_up 是在池中配置的,如下所示:

[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                                  |
+------------------------------------+-----------------------------------+

验证配置,如下所示:

[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                                  |
+------------------------------------+-----------------------------------+

例如,将两个服务器标记为 DOWN,这不满足最低阈值要求(三个服务器处于 UP 状态)。因此,将池标记为 DOWN,引用它的任何虚拟服务无法使用该池。

注:

如果未定义最小阈值参数,则 NSX Advanced Load Balancer 保留默认行为。

用例:最小运行状况监控器数

只有在绑定到服务器的所有监控器都为 UP 时,NSX Advanced Load Balancer 才会将服务器指定为 UP。如果其中的一个运行状况监控器将其标记为 DOWN,则 NSX Advanced Load Balancer 将服务器视为 DOWN

在使用单独的监控器在后端服务器上监控多个服务的场景中,如果任一服务可用,则 NSX Advanced Load Balancer 将该服务器标记为 UP。例如,针对 /foo.htmlGET 和针对 /bar.htmlGET。如果任一服务可用,则 NSX Advanced Load Balancer 将服务器标记为 UP

在类似的用例中,要指定所需的最小成功运行状况监控器数以及决定是否将相应服务器标记为 UP,请定义 min_health_monitors_up 参数。如果未定义该参数,只有在所有运行状况监控器都成功时,才会将服务器标记为 UP

最小服务器数

如果池中的一个服务器为 UP,则 NSX Advanced Load Balancer 将该池标记为启动。在需要至少将两个服务器标记为启动才能将池标记为 UP 的场景中,可以使用 min_servers_up 选项指定将池标记为 UP 时必须启动的服务器数。如果未定义该参数,直到至少一个服务器为 UP 时,才会将池标记为可用。

请参见 VMware NSX Advanced Load Balancer 指南中的可能将服务器标记为关闭的原因一节。