NSX Edge 虛擬機器變得失效或在資料中心的放置需要變更時,您可以重新部署它。例如,當 NSX Edge 必須移至另一個資料存放區或計算資源時,請重新部署 NSX Edge 節點。您也可以將節點移至另一個網路。不過,根據您的網路需求,可能有其他需要重新部署的原因。

您只能使用 NSX Edge 虛擬機器應用裝置來重新部署現有的 NSX Edge 節點 (實體伺服器或 NSX Edge 虛擬機器應用裝置)。

必要條件

  • 雖然您可以變更 NSX Edge 傳輸節點裝載的部分組態,但請勿在應由新節點重新部署的現有 NSX Edge 節點上變更這些組態:
    • 失敗網域
    • 傳輸節點連線
    • 實體 NIC 組態
    • 邏輯路由器
    • 負載平衡器配置
  • 如果現有 NSX Edge 節點是實體伺服器或透過 vSphere Client 手動部署的虛擬機器,請確保 NSX Edge 節點和 NSX Manager 之間的連線已關閉。如果連線已開啟,則 NSX-T 不會允許將現有 NSX Edge 節點取代為新的節點。

程序

  1. (實體伺服器或透過 vSphere Client 部署的 NSX Edge) 開啟 SSH 工作階段,並連線至 NSX Edge 主控台。
  2. 透過 CLI 主控台 get logical-routers 確認已在 NSX Edge 節點上設定邏輯路由。
  3. 關閉 NSX Edge 節點的電源。
  4. 透過執行下列 API 命令來確認 NSX Edge 節點已與 NSX Manager 中斷連線。
    GET api/v1/transport-nodes/<edgenode>/state
     "node_deployment_state": 
            {"state": MPA_Disconnected"}

    node_deployment_state 值為 MPA 已中斷連線,這表示您可以繼續重新部署 NSX Edge 節點。

    備註: 如果 node_deployment_state節點就緒,則 NSX Manager 會顯示錯誤 78006 - 管理程式與 Edge 節點的連線必須關閉。否則不允許硬體取代/重新部署
  5. 或者,從 Edge 傳輸節點頁面中,檢視 NSX Edge 節點與 NSX Manager 之間的連線狀態。已中斷連線的 NSX Edge 節點會顯示下列系統訊息,組態錯誤,Edge 虛擬機器 MPA 連線已關閉
  6. 如果 NSX Edge 節點是自動部署的節點,請執行 GET /<NSX-Manager-IPaddress>/api/v1/transport-nodes/<edgenode>。複製此 API 的輸出裝載。
    "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
  7. 您可以從其中一個重新部署案例中進行選擇:
    選項 動作

    使用 NSX Edge 虛擬機器節點 (透過 NSX Manager API 部署) 重新部署現有的 NSX Edge 節點 (實體伺服器或手動部署的節點)

    在 API 命令中執行下列命令,/api/v1/transport-nodes/<transport-node-id>?action=redeploy
    • 在重新部署 API 的本文中貼上裝載。
    • 確認 deployment_config 區段參考您想要在其中重新部署節點的計算管理程式、資料存放區以及網路詳細資料。確保這些值與 node_settings 區段中使用的值一致。

    • deployment_config 區段中新增登入密碼。

    NSX Manager 會根據 deployment_config 區段中提供的詳細資料來重新部署 NSX Edge 節點。

    變更現有 NSX Edge 節點的放置

    在 API 命令中執行下列命令,/api/v1/transport-nodes/<transport-node-id>?action=redeploy
    • 在重新部署 API 的本文中貼上裝載。
    • deployment_config 區段中,參考新的計算管理程式、資料存放區、網路、CPU、記憶體或延遲敏感度詳細資料。
    POST https://<manager-ip>/api/v1/transport-nodes/<transport-node-id>?action=redeploy 的範例
    	{
    	    "node_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "host_switch_spec": {
    	        "host_switches": [
    	            {
    	                "host_switch_name": "nsxvswitch_overlay",
    	                "host_switch_id": "c0a4a83e-c8b8-4324-a4d7-dbbc07b30b53",
    	                "host_switch_type": "NVDS",
    	                "host_switch_mode": "STANDARD",
    	                "host_switch_profile_ids": [
    	                    {
    	                        "key": "UplinkHostSwitchProfile",
    	                        "value": "f9a2a2fa-b49d-498f-abaf-2fdc81917716"
    	                    },
    	                    {
    	                        "key": "LldpHostSwitchProfile",
    	                        "value": "9e0b4d2d-d155-4b4b-8947-fbfe5b79f7cb"
    	                    }
    	                ],
    	                "pnics": [
    	                    {
    	                        "device_name": "fp-eth0",
    	                        "uplink_name": "uplink1"
    	                    }
    	                ],
    	                "is_migrate_pnics": false,
    	                "ip_assignment_spec": {
    	                    "ip_pool_id": "647d9b0d-0143-4903-91f5-930d9ab011e8",
    	                    "resource_type": "StaticIpPoolSpec"
    	                },
    	                "cpu_config": [],
    	                "transport_zone_endpoints": [
    	                    {
    	                        "transport_zone_id": "0b33b078-6438-4d9b-a1ec-33211fd36822",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    },
    	                    {
    	                        "transport_zone_id": "a0133574-48de-4e3a-9407-7db1a68bae41",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    }
    	                ],
    	                "vmk_install_migration": [],
    	                "pnics_uninstall_migration": [],
    	                "vmk_uninstall_migration": [],
    	                "not_ready": false
    	            }
    	        ],
    	        "resource_type": "StandardHostSwitchSpec"
    	    },
    	    "transport_zone_endpoints": [],
    	    "maintenance_mode": "DISABLED",
    	    "node_deployment_info": {
    	        "deployment_type": "VIRTUAL_MACHINE",
    	        "deployment_config": {
    	            "vm_deployment_config": {
    	                "vc_id": "cc82da39-b119-4869-a7fe-a54621cb4d3d",
    	                "compute_id": "domain-c9",
    	                "storage_id": "datastore-14",
    	                "host_id": "host-12",
    	                "compute_folder_id": "group-v5",
    	                "management_network_id": "network-16",
    	                "hostname": "EdgeSmallFactor",
    	                "data_network_ids": [
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c"
    	                ],
    	                "search_domains": [
    	                    "eng.vmware.com",
    	                    "vmware.com"
    	                ],
    	                "enable_ssh": true,
    	                "allow_ssh_root_login": true,
    	                "reservation_info": {
    	                    "memory_reservation": {
    	                        "reservation_percentage": 100
    	                    },
    	                    "cpu_reservation": {
    	                        "reservation_in_shares": "HIGH_PRIORITY",
    	                        "reservation_in_mhz": 0
    	                    }
    	                },
    	                "resource_allocation": {
    	                    "cpu_count": 4,
    	                    "memory_allocation_in_mb": 8192
    	                },
    	                "placement_type": "VsphereDeploymentConfig"
    	            },
    	            "form_factor": "MEDIUM",
    	            "node_user_settings": {
    	                 "cli_username": "admin",
                            "root_password":"Admin!23Admin", 
                            "cli_password":"Admin!23Admin" 
    	            }
    	        },
    	        "node_settings": {
    	            "hostname": "EdgeSmallFactor",
    	            "search_domains": [
    	                "eng.vmware.com",
    	                "vmware.com"
    	            ],
    	            "enable_ssh": true,
    	            "allow_ssh_root_login": true
    	        },
    	        "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
    
    備註: 如果舊節點是透過 NSX Manager UI 部署的 NSX Edge 虛擬機器節點,則不需在 API 裝載的 node_user_settings 區段中提供登入認證。
    如需關於裝載詳細資料的詳細資訊,請參閱 《NSX-T Data Center API 指南》
  8. NSX Manager 中,確認新 NSX Edge 節點的組態狀態
  9. 或者,透過執行 API 命令 Get api/v1/transport-nodes/<node-id>/state,確認新準備 NSX Edge 傳輸節點的狀態。
  10. 透過執行 CLI 命令 get logical-routers,確認邏輯路由器組態已移轉至新的 NSX Edge 節點。
  11. 確認已取代 NSX Edge 節點上的 TEP 位址保持不變。
  12. 確認 NSX Edge 叢集狀態為「開啟」。API 為 GET api/v1/edge-clusters/<cluster>。如果 NSX-T 設定為使用 NSX 聯盟,請確認站台間狀態為「啟動」。
  13. 檢查 NSX Edge 傳輸節點和叢集狀態 API 以確認狀態是否為「開啟」。
  14. 疑難排解錯誤訊息:
    • (78006) NSX Manager 與 Edge 節點的連線必須關閉。否則不允許取代硬體:請確定 NSX Edge 節點未連線至 NSX Manager。

    • (16064) 遺失部署組態:在重新部署 API 中,輸入 deployment_config 區段的詳細資料。

    • (16066) 遺失登入密碼:請提供登入認證。

    • (15019) 節點上要配置給負載平衡器集區的資源不足:NSX Edge 節點的機器尺寸大小可能小於舊 NSX Edge 節點的機器尺寸。新的機器尺寸可能沒有足夠的資源可配置給負載平衡器集區。

下一步

  • 如果您想要讓已取代實體伺服器或手動部署的 NSX Edge 虛擬機器應用裝置成為您網路的一部分,請確保該節點已與網路中斷連線。然後,執行 del nsx 以完整刪除節點上的 NSX-T VIB。如需有關 del nsx 的詳細資訊,請參閱《NSX-T Data Center 安裝指南》

    在主機上執行 del nsx 後,系統會釋放邏輯路由器的舊項目、VTEP IP 位址與上行 IP 位址。您現在可以將已取代的實體伺服器準備為新的 NSX-T 傳輸節點。

  • 重新部署 NSX Edge 虛擬機器應用裝置後,系統會將少數安全參數設定為其預設值。請根據您的環境來重新設定這些參數。
    • set auth-policy minimum-password-length <password-length-arg>

      設定密碼必須具有的最少字元數。可設定的最小值為 8

      例如,nsx> set auth-policy minimum-password-length 12

    • set user <node-username> password-expiration <password-expiration-arg>

      設定使用者密碼在密碼變更後的有效天數。

      其中,<username> 是使用者的使用者名稱,

      <password-expiration> 是密碼變更後的有效天數 (1 - 9999)

      例如,nsx> set user audit password-expiration 120

    • set auth-policy cli max-auth-failures <auth-failures-arg>

      設定在鎖定帳戶之前允許的 CLI 驗證嘗試失敗次數。如果設定為 0,則將停用帳戶鎖定。

      其中,<auth-failures> 是會觸發鎖定的驗證失敗次數

      例如,nsx> set auth-policy cli max-auth-failures 5

    • set banner

      設定安全橫幅或每日訊息。

      例如,nsx> set banner

      請輸入文字訊息。以「Ctrl-D」結尾

    • reset dataplane hugepage

      這會將與大型分頁有關的開機時間選項重設為出廠預設值。

      例如

      nsx-edge-1> reset dataplane hugepage

      0000:0b:00.0 already bound to driver vfio-pci, skipping
      0000:1b:00.0 already bound to driver vfio-pci, skipping
      0000:13:00.0 already bound to driver vfio-pci, skipping
      INFO: Config was written to: /config/vmware/edge/config.json
      Generating grub configuration file ...
      Found linux image: /vmlinuz-3.14.17-nn4-server
      Found initrd image: //initrd.img-3.14.17-nn4-server
      File descriptor 4 (/tmp/ffinvYglp (deleted)) leaked on lvs invocation. Parent PID 32203: /bin/sh
      done
      INFO: Updated grub. Please reboot to take effect.