以下过程介绍了如何使用 NSX API 替换 NSX Edge 集群中的 NSX Edge 传输节点。无论 Edge 传输节点是否正在运行,您都可以替换该节点。

如果要替换的 Edge 节点未运行,新的 Edge 节点可能具有相同的管理 IP 地址和 TEP IP 地址。如果要替换的 Edge 节点正在运行,新的 Edge 节点必须具有不同的管理 IP 地址和 TEP IP 地址。

前提条件

  • 熟悉安装 NSX Edge 节点、将 Edge 节点加入管理平面以及创建 NSX Edge 传输节点的过程。有关详细信息,请参见NSX 安装指南
  • 确保将用于替换旧 NSX Edge 节点的新 NSX Edge 节点已准备就绪。有关详细信息,请参见NSX 安装指南

过程

  1. 如果希望新的 NSX Edge 传输节点具有与要替换的旧 NSX Edge 传输节点相同的配置,请进行以下 API 调用以查找配置:
    GET https://<nsx-manager-IP>/policy/api/v1/infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes
    {
        "node_id": "250175b8-223b-11ed-826e-b07b25e93f64",
        "host_switch_spec": {
            "host_switches": [
                {
                    "host_switch_name": "nsxHostSwitch",
                    "host_switch_id": "809299a2-c090-4543-8747-d200e12cd2ea",
                    "host_switch_type": "NVDS",
                    "host_switch_mode": "STANDARD",
                    "host_switch_profile_ids": [
                        {
                            "key": "UplinkHostSwitchProfile",
                            "value": "57da58fa-bce6-448b-8db3-874ceff59656"
                        },
                        {
                            "key": "LldpHostSwitchProfile",
                            "value": "9e0b4d2d-d155-4b4b-8947-fbfe5b79f7cb"
                        }
                    ],
                    "pnics": [
                        {
                            "device_name": "fp-eth0",
                            "uplink_name": "Uplink1"
                        },
                        {
                            "device_name": "fp-eth2",
                            "uplink_name": "Uplink2"
                        },
                        {
                            "device_name": "fp-eth4",
                            "uplink_name": "Uplink3"
                        },
                        {
                            "device_name": "fp-eth6",
                            "uplink_name": "Uplink4"
                        }
                    ],
                    "is_migrate_pnics": false,
                    "ip_assignment_spec": {
                        "ip_pool_id": "82f8ae96-992b-45c6-8376-777b82bfeb1d",
                        "resource_type": "StaticIpPoolSpec"
                    },
                    "cpu_config": [],
                    "transport_zone_endpoints": [
                        {
                            "transport_zone_id": "15897bda-802f-4481-b9fd-4e5cc1ef084b",
                            "transport_zone_profile_ids": [
                                {
                                    "resource_type": "BfdHealthMonitoringProfile",
                                    "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
                                }
                            ]
                        },
                        {
                            "transport_zone_id": "4a237a28-050e-4499-a241-0eb0c9dad97f",
                            "transport_zone_profile_ids": [
                                {
                                    "resource_type": "BfdHealthMonitoringProfile",
                                    "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
                                }
                            ]
                        }
                    ],
                    "pnics_uninstall_migration": [],
                    "vmk_uninstall_migration": [],
                    "not_ready": false
                }
            ],
            "resource_type": "StandardHostSwitchSpec"
        },
        "maintenance_mode": "DISABLED",
        "node_deployment_info": {
            "deployment_type": "PHYSICAL_MACHINE",
            "node_settings": {
                "hostname": "w1-hs2-m2716.eng.vmware.com",
                "enable_ssh": true,
                "allow_ssh_root_login": false
            },
            "resource_type": "EdgeNode",
            "external_id": "250175b8-223b-11ed-826e-b07b25e93f64",
            "ip_addresses": [
                "10.196.145.177"
            ],
            "id": "250175b8-223b-11ed-826e-b07b25e93f64",
            "display_name": "w1-hs2-m2716.eng.vmware.com",
            "tags": [],
            "_revision": 3
        },
        "is_overridden": false,
        "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
        "resource_type": "TransportNode",
        "id": "250175b8-223b-11ed-826e-b07b25e93f64",
        "display_name": "w1-hs2-m2716.eng.vmware.com",
        "tags": [],
        "_create_time": 1661187299037,
        "_create_user": "admin",
        "_last_modified_time": 1661255498968,
        "_last_modified_user": "admin",
        "_system_owned": false,
        "_protection": "NOT_PROTECTED",
        "_revision": 3
    }
  2. 记下要替换的节点的传输节点 ID“55120a1a-51c6-4c20-b4a3-6f59662c9f6a”。
  3. 准备要替换旧 NSX Edge 节点的新 NSX Edge 传输节点。请参见NSX 安装指南中的创建 NSX Edge 传输节点
    准备新 NSX Edge 节点时,请注意以下配置点:
    • 如果旧 NSX Edge 节点正在运行,请勿使用相同 IP 地址 "ip_addresses": ["10.161.68.92"]
    • 如果旧 NSX Edge 节点正在运行,请勿使用相同的 TEP IP 地址
  4. 进行 API 调用以检索必须替换的传输节点的成员索引。
    GET https://<nsx-manager-IP>/api/v1/edge-clusters
    ....
        {
          "resource_type": "EdgeCluster",
          "description": "",
          "id": "9a302df7-0833-4237-af1f-4d826c25ad78",
          "display_name": "Edge-Cluster-1",
    ...
          "members": [
            {
              "member_index": 0,
              "transport_node_id": "55120a1a-51c6-4c20-b4a3-6f59662c9f6a"
            },
            {
              "member_index": 1,
              "transport_node_id": "890f0e3c-aa81-46aa-843b-8ac25fe30bd3"
            }
          ],
  5. 进行 API 调用以替换 NSX Edge 集群中的传输节点。member_index 必须与要替换的传输节点的索引匹配。
    例如,传输节点 TN-edgenode-01a (73cb00c9-70d0-4808-abfe-a12a43251133) 发生故障,并将其替换为 NSX Edge 集群 Edge-Cluster-1 (9a302df7-0833-4237-af1f-4d826c25ad78) 中的传输节点 TN-edgenode-03a (890f0e3c-aa81-46aa-843b-8ac25fe30bd3)。
    POST http://<nsx-manager-IP>/api/v1/edge-clusters/9a302df7-0833-4237-af1f-4d826c25ad78?action=replace_transport_node
    {
        "member_index": 0,
        "transport_node_id" : "890f0e3c-aa81-46aa-843b-8ac25fe30bd3"
    }

结果

如果运行的 NSX 版本低于 3.1.3,则在替换 NSX Edge 传输节点后,您可能会看到警报“所有 BGP/BFD 会话已关闭 (All BGP/BFD sessions are down)。”要解决此问题,请按照知识库文章 https://kb.vmware.com/s/article/83983 中的解决办法说明执行操作。