在没有故障转移群集的情况下为实时迁移设置主机

本文介绍如何设置未群集的主机,以便在它们之间执行实时迁移。 如果在安装 Hyper-V 时未设置实时迁移,或者想要更改设置,请使用这些说明。 若要设置群集主机,请使用用于故障转移群集的工具。

设置实时迁移的要求

若要为实时迁移设置非群集主机,需要:

  • 有权执行各种步骤的用户帐户。 源计算机和目标计算机上的本地“Hyper-V 管理员”组或“管理员”组中的成员身份满足此要求,除非你要配置约束委派。 配置受约束委派需要“域管理员”组中的成员身份。

  • 源和目标服务器上安装的 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)来实现网络隔离。

升级到 Windows Server 2025

从 Windows Server 2025 开始,默认情况下凭据防护在非域控制器的所有已加入域的服务器上启用。 因此,升级到 Windows Server 2025 后,可能无法将基于 CredSSP 的实时迁移与 Hyper-V 配合使用。 基于 CredSSP 的委派是 Windows Server 2022 和更早版本的实时迁移的默认值。 请改用 Kerberos 约束委派,如以下部分所述。 有关详细信息,请参阅 升级到 Windows Server 2025 时使用 Hyper-V 中断的实时迁移。

步骤 1:配置约束委派(可选)

如果你已决定使用 Kerberos 对实时迁移流量进行身份验证,请使用作为域管理员组成员的帐户配置受约束委派。

使用“用户和计算机”管理单元配置约束委派

  1. 打开“Active Directory 用户和计算机”管理单元。 (从服务器管理器中,选择服务器(如果未选择),单击“工具”“Active Directory 用户和计算机”)。

  2. 在“Active Directory 用户和计算机”导航窗格中,选择域,然后双击“计算机”文件夹。

  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 多通道将自动检测并使用多个连接。

有关详细信息,请参阅通过 SMB 直通优化文件服务器的性能

后续步骤

设置主机后,即可执行实时迁移。 有关说明,请参阅在不使用故障转移群集的情况下使用实时迁移来移动虚拟机