Edge 服務閘道虛擬機器移轉至 NSX Edge 節點並確認路由和服務均正常運作後,您可以將 NSX-V 主機移轉至 NSX 主機傳輸節點。

您可以設定多個關於主機移轉的設定,包含移轉順序及啟用主機。請務必瞭解這些設定的效果。如需詳細資訊,請參閱設定 NSX-V 主機移轉。如果您使用分散式防火牆或 vSphere Distributed Switch 7.0 或更新版本,則更有必要瞭解主機移轉設定。

如需有關主機移轉期間所發生情況的詳細資訊,請參閱在端對端移轉中,於執行主機移轉期間所做的變更

如果 NSX-V 環境中的安全性原則針對 Guest Introspection 和/或網路自我檢查使用合作夥伴服務,請選擇主機移轉模式,如下表所示。
合作夥伴服務 主機移轉模式
僅 Guest Introspection

支援就地和維護模式。

僅網路自我檢查

支援維護模式。不過,建議使用自動維護模式。

不支援就地模式。

Guest Introspection 和網路自我檢查

支援維護模式。

不支援就地模式。

重要: 在移轉 VMware 合作夥伴 NSX-V 工作負載上執行的服務之前,請先向其諮詢。在進行移轉之前,請向合作夥伴洽詢其服務是否支援移轉至 NSX 並尋求其意見。合作夥伴將使用自己的準則以將其服務移轉至 NSX
注意: 主機移轉應該在與 Edge 移轉相同的維護時段完成。

您必須先停用 IPFIX 並重新開機 ESXi 主機,然後再移轉這些主機。

如果 NSX-V 環境中的合作夥伴服務提供 Guest Introspection 和/或網路自我檢查服務,請遵循本主題中的程序來逐一移轉叢集。將所有主機叢集移轉至 NSX 後,請在每個 NSX 叢集中執行以主機為基礎的服務部署。

如果 NSX-V 環境中的合作夥伴服務僅提供網路自我檢查服務,請使用移轉使用網路自我檢查服務的主機中所述的主機移轉方法。

必要條件

  • 確認 Edge 移轉已完成,並且所有路由和服務皆正常運作。
  • VMware vCenter UI 中,移至主機和叢集頁面,並確認所有 ESXi 主機都處於運作狀態。解決主機的任何問題,包括已中斷連線的狀態。若要進入及結束維護模式,不得有擱置中的重新開機或擱置中的工作。

程序

  1. 移轉主機頁面上,按一下開始

    如果您針對所有主機群組選取就地自動維護移轉模式,主機移轉隨即啟動。請注意,在自動維護模式下,移轉協調器不會重新設定已關閉電源的虛擬機器。移轉之後,您需要先手動設定這些虛擬機器,然後再開啟這些虛擬機器的電源。

  2. 如果您為任何主機群組選取了手動維護移轉模式,則必須為每個虛擬機器完成下列其中一項工作,讓主機可以進入維護模式。
    選項 動作
    關閉虛擬機器電源或暫停虛擬機器。
    1. 以滑鼠右鍵按一下虛擬機器,然後選取電源 > 關閉電源電源 > 關閉客體作業系統,或電源 > 暫停
    2. 在主機移轉後,將虛擬機器介面連結至適當的 NSX 區段,並開啟虛擬機器的電源。
    使用 vMotion 移動虛擬機器。 以滑鼠右鍵按一下虛擬機器,然後選取 [移轉]。依照提示將虛擬機器移至其他主機。請注意,在移轉期間,移轉協調器透過 vMotion 將虛擬機器移至受臨時規則保護的特定連接埠以保持安全性。對於手動 vMotion,不會將虛擬機移至這些連接埠,因此,可能存在安全性漏洞。若要手動透過 vMotion 進行移動,必須使用 vSphere API 移轉虛擬機器,其中,網路支援必須指向與 NSX 區段對應的 OpaqueNetwork 識別碼 (使用 NVDS 時),或者指向 VDS 連接埠群組識別碼 (使用 VDS 7 時)。在這兩種情況下,網路裝置的 externalId 必須設定為「VM_UUID:vNIC_ID」字串,其中 VM_UUID 是虛擬機器的執行個體 UUID,vNIC_ID 是虛擬機器的 vNIC 索引,其中第一個 vNIC 為 4000。
    使用冷移轉移動虛擬機器。
    1. 以滑鼠右鍵按一下虛擬機器,然後選取電源 > 關閉電源電源 > 關閉客體作業系統,或電源 > 暫停
    2. 以滑鼠右鍵按一下虛擬機器,然後選取 [移轉]。依照提示,將虛擬機器移至不同的主機,並將虛擬機器介面連線至適當的 NSX 區段。
    以下 Python 程式碼用於為虛擬機器中的每個 vNIC 指定外部識別碼,然後透過 vMotion 移動虛擬機器,以便這些 vNIC 使用正確的連接埠連線至識別碼為「ls_id」的 NSX 區段:
    devices = vmObject.config.hardware.device
    nic_devices = [device for device in devices if isinstance(device, vim.Vm.device.VirtualEthernetCard)]
    vnic_changes = []
    for device in nic_devices:
        vif_id = vmObject.config.instanceUuid + ":" + str(device.key)
        vnic_spec = self._get_nsxt_vnic_spec(device, ls_id, vif_id)
        vnic_changes.append(vnic_spec)
    relocate_spec = vim.Vm.RelocateSpec()
    relocate_spec.SetDeviceChange(vnic_changes)
    # set other fields in the relocate_spec
    vmotion_task = vmObject.Relocate(relocate_spec)
    WaitForTask(vmotion_task)
    
    def _get_nsxt_vnic_spec(self, device, ls_id, vif_id):
        nsxt_backing = vim.Vm.Device.VirtualEthernetCard.OpaqueNetworkBackingInfo()
        nsxt_backing.SetOpaqueNetworkId(ls_id)
        nsxt_backing.SetOpaqueNetworkType('nsx.LogicalSwitch')
        device.SetBacking(nsxt_backing)
        device.SetExternalId(vif_id)
        dev_spec = vim.Vm.Device.VirtualDeviceSpec()
        dev_spec.SetOperation(vim.Vm.Device.VirtualDeviceSpec.Operation.edit)
        dev_spec.SetDevice(device)
        return dev_spec

    如需完整指令碼的範例,請參閱 https://github.com/dixonly/samples/blob/main/vmotion.py

    移動所有虛擬機器、關閉其電源或暫停之後,主機會進入維護模式。如果您想要在移轉中的主機進入維護模式之前,使用冷移轉將虛擬機器移至不同的主機,則在移動虛擬機器時,您至少必須讓一個虛擬機器保持執行中。最後一部虛擬機器關閉電源或暫停時,主機會進入維護模式,且主機隨即開始移轉至 NSX
  3. (選擇性) NSX 4.1.1 開始,當移轉結束時,您可以在按一下完成之前,先按一下取得移轉報告,以檢查某些物件是否已正確移轉。當報告就緒後,請按一下下載報告
    報告會包含以下資訊:
    • 移轉前與移轉後,NSX-V 中具有安全性標籤的虛擬機器。如果存在差異,會列出這些差異。
    • 移轉前與移轉後,NSX-V 中的安全群組。如果存在差異,會列出這些差異。

結果

使用就地移轉模式將主機移轉至 NSX 後,您可能會看到嚴重警示,並顯示訊息網路連線中斷。此警示會在 vSphere Distributed Switch (VDS) 6.5 或 6.7 移轉至 N-VDS 時發生,因為主機不再有任何實體 NIC 連線至其先前所連線的 VDS。若要將已移轉的主機還原為已連線狀態,請在每部主機上按一下重設為綠色,然後隱藏該警告 (如果有)。

如果主機無法移轉,您可以將其主機群組移至群組清單的底端。您在解決故障主機的問題時,可以繼續移轉其他主機群組。

如果主機無法移轉,則在所有進行中的主機移轉完成後,移轉程序將會暫停。當您解決主機的問題之後,按一下重試,以重試移轉故障的主機。如果該主機仍無法移轉,則可以在該主機上手動設定 NSX 或從系統中移除該主機。在這種情況下,在主機移轉步驟結束時,由於無法移轉的主機,將不會啟用完成按鈕。您必須使用 REST API 用戶端 (例如 Postman 或 curl) 呼叫 REST API POST https://<nsx-mgr-IP>/api/v1/migration?action=finalize_infra (<nsx-mgr-IP> 是執行移轉服務所在位置的 NSX Manager 的 IP 位址) 才能完成移轉,然後執行移轉後工作。

如需對其他主機移轉問題進行疑難排解的相關資訊,請參閱疑難排解移轉問題

下一步

如果已移轉的安全性原則使用第三方合作夥伴服務,請在 NSX 中部署合作夥伴服務的執行個體。如需詳細指示,請參閱: