在沒有容錯移轉叢集的情況下為即時移轉設定主機

適用於:Windows Server 2022、Windows Server 2016、Microsoft Hyper-V Server 2016、Windows Server 2019、Microsoft Hyper-V Server 2019

本文說明如何設定未叢集的主機,以便您可在主機之間進行即時移轉。 如果您在安裝 Hyper-V 時未設定即時移轉,或想要變更設定,請使用這些指示。 若要設定叢集主機,請使用容錯移轉叢集的工具。

設定即時移轉的需求

若要設定非叢集主機以進行即時移轉,您需要:

  • 使用者帳戶具有權限可以執行各種步驟。 除非您正在設定限制委派,否則來源和目的地電腦上的本機 Hyper-V 系統管理員群組或 Administrators 群組的成員資格符合這項需求。 若要設定限制委派,需要網域系統管理員群組中的成員資格。

  • 安裝在來源和目的地伺服器上 Windows Server 2016 或 Windows Server 2012 R2 中的 Hyper-V 角色。 如果虛擬機器至少為第 5 版,則您可以在執行 Windows Server 2016 和 Windows Server 2012 R2 的主機之間進行即時移轉。
    如需版本升級指示,請參閱在 Windows 10 或 Windows Server 2016 上升級 Hyper-V 中的虛擬機器版本。 如需安裝指示,請參閱在 Windows Server 上安裝 Hyper-V 角色

  • 來源和目的電腦必須屬於相同的 Active Directory 網域,或是屬於彼此信任的網域。

  • Hyper-V 管理工具安裝在執行 Windows Server 2016 或 Windows 10 的電腦上,除非工具安裝在來源或目的地伺服器上,且您將從伺服器執行工具。

考慮驗證和網路功能的選項

請考慮如何設定下列項目:

  • 驗證:哪些通訊協定將用來驗證來源與目的地伺服器之間的即時移轉流量? 選擇會決定在開始即時移轉之前,是否需要登入來源伺服器:

    • Kerberos 讓您可避免必須登入伺服器,但需要設定限制委派。 如需指示,請參閱下文。

    • CredSSP 可讓您避免設定限制委派,但需要您登入來源伺服器。 您可以透過本機主控台工作階段、遠端桌面工作階段或遠端 Windows PowerShell 工作階段來執行此動作。

      針對可能不明顯的情況,CredSPP 就需要登入。 例如,如果您登入 TestServer01 將虛擬機器移到 TestServer02,接著又想將虛擬機器移回 TestServer01,您必須先登入 TestServer02,然後再試著將虛擬機器移回 TestServer01。 如果您未這麼做,驗證嘗試會失敗、發生錯誤,並顯示下列訊息:

      「位於移轉來源的虛擬機器移轉操作失敗。 無法建立與主機的連線 主機名稱:安全性封裝沒有可供使用的認證 (0x8009030E)。」

  • 效能:設定效能選項是否合理? 這些選項可減少網路和 CPU 使用量,以及讓即時移轉更加快速。 請考慮您的需求和基礎結構,並測試不同的組態,以協助您做出決定。 步驟 2 結尾會說明這些選項。

  • 網路喜好設定:您願意讓即時移轉流量通過任何可用的網路,或將流量隔離到特定網路? 最佳的安全性做法,建議您將流量隔離到受信任的私用網路,因為在網路上傳送即時移轉時不會加密。 透過實際隔離的網路或另一種受信任的網路技術 (例如 Vlan) 可以達成網路隔離。

步驟 1:設定限制委派 (選擇性)

如果您已經決定使用 Kerberos 來驗證即時移轉流量,請使用網域系統管理員群組成員的帳戶來設定限制委派。

使用 [使用者和電腦] 嵌入式管理單元來設定限制委派

  1. 開啟 [Active Directory 使用者和電腦] 嵌入式管理單元。 (如果未選取伺服器,請從伺服器管理員選取伺服器,按一下 [工具]>>[Active Directory 使用者和電腦])。

  2. 從 [Active Directory 使用者和電腦] 的瀏覽窗格選取網域,然後按兩下 [Computers] 資料夾。

  3. 從 [Computers] 資料夾,在來源伺服器的電腦帳戶上按一下滑鼠右鍵,然後按一下 [內容]

  4. 在 [屬性] 中,按一下 [委派] 索引標籤。

  5. 在 [委派] 索引標籤上,選取 [信任這台電腦,但只委派指定的服務],然後再按一下 [使用任何驗證通訊協定]

  6. 按一下新增

  7. 在 [新增服務] 中,按一下 [使用者或電腦]

  8. 在 [選取使用者或電腦] 中,輸入目的地伺服器的名稱。 按一下 [檢查名稱] 進行確認,然後按一下 [確定]

  9. 在 [新增服務] 的可用服務清單中,執行下列動作,然後按一下 [確定]

    • 若要移動虛擬機器存放裝置,請選取 [cifs] 。 如果您想要將存放裝置與虛擬機器一起移動,以及如果您想要只移動虛擬機器的存放裝置,就必須選取這個選項。 如果伺服器設定為在 Hyper-V 使用 SMB 存放裝置,這個選項應該已經選取。

    • 若要移動虛擬機器,請選取 [Microsoft 虛擬系統移轉服務]

  10. 在 [內容] 對話方塊的 [委派] 索引標籤上,確認您在上一個步驟中選取的服務已經列示為目的電腦可以顯示委派認證的服務。 按一下 [確定]

  11. 從 [Computers] 資料夾,選取目的地伺服器的電腦帳戶,然後重複這個程序。 在 [選取使用者或電腦] 對話方塊中,確定指定了來源伺服器的名稱。

設定變更會在下列兩項發生之後生效:

  • 變更已複寫到執行 Hyper-V 的伺服器所登入的網域控制站。
  • 網域控制站會發出新的 Kerberos 票證。

步驟 2:設定即時移轉的來源和目的電腦

此步驟包括選擇驗證和網路的選項。 最佳的安全性做法,建議您選取特定網路用於即時移轉流量,如上所述。 此步驟也會示範如何選擇效能選項。

使用 Hyper-V 管理員來設定即時移轉的來源和目的電腦

  1. 開啟 [Hyper-V 管理員]。 (從伺服器管理員,按一下 [工具]>>[Hyper-V 管理員]。)

  2. 在瀏覽窗格中,選取其中一部伺服器。 (如果未列出,請以滑鼠右鍵按一下 [Hyper-V 管理員],按一下 [連線到伺服器]、輸入伺服器名稱,然後按一下 [確定]。重複以新增更多伺服器。)

  3. 在 [動作] 窗格中,按一下 [Hyper-V 設定]>>[即時移轉]

  4. 在 [即時移轉] 窗格中,核取 [啟用連入與連出即時移轉]

  5. 在 [並行即時移轉] 下,如果您不想使用預設值 2,請指定不同的數值。

  6. 在 [連入即時移轉] 下,如果您想要使用特定網路連線來接受即時移轉流量,請按一下 [新增] 以便輸入 IP 位址資訊。 否則,請按一下 [使用任何可用的網路來進行即時移轉] 。 按一下 [確定]

  7. 若要選擇 Kerberos 和效能選項,請展開 [即時移轉],然後選取 [進階功能]

    • 如果您已經設定限制委派,請在 [驗證通訊協定] 下選取 [Kerberos]
    • 在 [效能選項] 底下,檢閱詳細資料,然後在適合您的環境時選擇不同的選項。
  8. 按一下 [確定]

  9. 在 [Hyper-V 管理員] 中選取其他伺服器,並重複這些步驟。

使用 Windows PowerShell 來設定即時移轉的來源和目的電腦

有三個 Cmdlet 可用於在非叢集主機上設定即時移轉:Enable-VMMigrationSet-VMMigrationNetworkSet-VMHost。 此範例會使用這三個,並執行下列動作:

  • 在本機主機上設定即時移轉
  • 只允許特定網路上的傳入移轉流量
  • 選擇 Kerberos 做為驗證通訊協定

每一列代表一個個別的命令。

PS C:\> Enable-VMMigration

PS C:\> Set-VMMigrationNetwork 192.168.10.1

PS C:\> Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos

Set-VMHost 也可讓您選擇效能選項 (以及其他許多主機設定)。 例如,若要選擇 SMB,但將驗證通訊協定維持設定為 CredSSP 的預設值,請輸入:

PS C:\> Set-VMHost -VirtualMachineMigrationPerformanceOption SMB

下表描述效能選項的運作方式。

選項 描述
TCP/IP 透過 TCP/IP 連線將虛擬機器的記憶體複製到目的地伺服器。
壓縮 先壓縮虛擬機器的記憶體內容,再透過 TCP/IP 連線將其複製到目的地伺服器。 注意:這是預設設定。
SMB 透過 SMB 3.0 連線,將虛擬機器的記憶體複製到目的地伺服器。

- 當來源和目的地伺服器上的網路介面卡都啟用遠端直接記憶體存取 (RDMA) 功能時,便會使用 SMB 直接傳輸。
- 找到適當的 SMB 多重通道設定後,SMB 多重通道會自動偵測和使用多重連線。

如需詳細資訊,請參閱 Improve Performance of a File Server with SMB Direct

下一步

設定主機之後,您就可以進行即時移轉。 如需指示,請參閱使用即時移轉而不使用容錯移轉叢集來移動虛擬機器