NSX Manager UI 和 ESXi 主机上了解分布式负载均衡器服务的运行状态。

由于分布式负载均衡器服务随着 ESXi 主机数量增加呈线性扩展,因此,单个分布式负载均衡器服务可以支持多个 ESXi 主机。反过来,每个 ESXi 主机可以在很多 ESXi 主机之间支持多个虚拟接口 (VIF)。NSX Manager 级别的分布式负载均衡器的合并状态是使用所有关联的 ESXi 主机的合并状态计算的。ESXi 主机级别的分布式负载均衡器的合并状态是使用该 ESXi 主机上的所有关联的 VIF 的单独状态计算的。

NSX Manager 中的状态

状态 描述

启动

在所有相关的传输节点返回的分布式负载均衡器服务状态为就绪时,状态为启动

已降级

在满足所有以下条件时,状态为已降级

  • 至少一个传输节点返回的分布式负载均衡器服务状态为就绪部分就绪
  • 并非所有相关的传输节点返回的负载均衡器服务状态都是就绪
关闭

如果满足以下条件之一,则状态为关闭

  • 所有相关的传输节点返回未就绪
  • 至少一个传输节点返回未就绪,并且没有传输节点返回就绪

未知

在所有相关的传输节点返回的分布式负载均衡器服务状态为未知时,状态为未知

已禁用 在启用了分布式负载均衡器服务但未指定连接路径时,状态为已禁用

ESXi 主机中的状态

状态 描述
就绪
ESXi 主机上的所有关联的 VIF 的状态为 就绪时,该 ESXi 主机上的分布式负载均衡器服务的合并状态为 就绪
注:
  • VIF 上的就绪状态表示,分布式负载均衡器实例是最早的,并应用了该实例。

未就绪

在没有关联的 VIF 处于就绪状态时,ESXi 主机上的分布式负载均衡器服务的合并状态为未就绪

部分就绪

在满足以下两个条件时,ESXi 主机上的分布式负载均衡器服务的合并状态为部分就绪

  • 至少一个关联的 VIF 处于就绪状态。
  • 至少一个关联的 VIF 处于未就绪冲突状态。
注:
  • VIF 上的未就绪状态表示,分布式负载均衡器服务实例是最早的,应该应用但未应用该实例。
  • VIF 上的冲突状态表示,分布式负载均衡器服务实例不是最早的,并且未应用该实例。

通过 API 获取详细状态

运行以下 API 以获取在传输节点中运行的分布式负载均衡器实例的详细状态。

GET https://<manager IP>/policy/api/v1/infra/lb-services/<DLBname>/detailed-status?source=realtime&include_instance_details=true&transport_node_ids=node1_uuid

示例响应:

{
  "results": 
    {
      "service_path": "/infra/lb-services/mydlb",
      "service_status": "UP",
      "virtual_servers": [
        {
          "virtual_server_path": "/infra/lb-virtual-servers/mytcpvip",
          "status": "UP",
          "last_update_timestamp": 1591344963509,
          "resource_type": "LBVirtualServerStatus"
        }
      ],
      "pools": [
        {
          "pool_path": "/infra/lb-pools/mylbpool",
          "status": "UP",
          "last_update_timestamp": 1591344963509,
          "resource_type": "LBPoolStatus"
        }
      ],
      "last_update_timestamp": 1591344963509,
      "instance_detail_per_tn": [
        {
          "transport_node_id": "b09b7b6c-a60d-11ea-835e-d95476fe6438",
          "instance_detail_per_status": [
            {
              "status": "READY",
              "instance_number": 3,
              "instance_details": [
                {
                  "attachment_display_name": "12-vm_Client_VM_Ubuntu_1404-local-1762/12-vm_Client_VM_Ubuntu_1404-local-1762.vm@b09b7b6c-a60d-11ea-835e-d95476fe6438"
                },
                {
                  "attachment_display_name": "10-vm_Client_VM_Ubuntu_1404-local-1762/10-vm_Client_VM_Ubuntu_1404-local-1762.vm@b09b7b6c-a60d-11ea-835e-d95476fe6438"
                },
                {
                  "attachment_display_name": "11-vm_Client_VM_Ubuntu_1404-local-1762/11-vm_Client_VM_Ubuntu_1404-local-1762.vm@b09b7b6c-a60d-11ea-835e-d95476fe6438"
                }
              ]
            },
            {
              "status": "NOT_READY",
              "instance_number": 0
            },
            {
              "status": "CONFLICT",
              "instance_number": 0
            }
          ]
        }
      ],
      "enforcement_point_path": "/infra/sites/default/enforcement-points/default",
      "resource_type": "LBServiceStatus"
    }
  ],
  "intent_path": "/infra/lb-services/mydlb"
}

通过 CLI 获取状态

运行以下 CLI 命令以获取分布式负载均衡器的状态。

get load-balancer <UUID_LoadBalancer> status

Load Balancer
UUID : 8721fb3e-dbef-4d9a-8f48-432e893883f1
Display-Name : DLB_Service21
Status : ready
Ready LSP Count : 4
Not Ready LSP Count: 0
Partially Ready LSP Count : 0