下列程序說明如何使用 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. 記下要取代的節點的傳輸節點識別碼:「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 工作階段已關閉。」若要解決此問題,請遵循知識庫文章 https://kb.vmware.com/s/article/83983 中的因應措施指示。