实现 Hyper-V VM 的实时迁移
虚拟化的主要优点之一是能够跨不同的物理主机转换 VM。 在此类场景中,高可用性的先决条件是能够在没有可感知的故障的情况下执行此类操作。 Hyper-V 实时迁移提供此功能。
什么是 Hyper-V 实时迁移?
实时迁移是 Hyper-V 的一项功能。通过该功能,可将运行中的 VM 从一个 Hyper-V 主机无缝移动到另一个主机,同时保持 VM 工作负载的可用性。 实时迁移的主要优点是灵活性。 例如,可以根据需要停止或升级 Hyper-V 主机,而无需计划维护时段,只需实时迁移其所有 VM 即可。
注意
Windows Server 支持无共享实时迁移,这种迁移不依赖于共享存储或故障转移群集。 迁移流量会遍历源与目标 Hyper-V 主机之间的网络连接。
实现 Hyper-V 实时迁移
可以使用 Hyper-V 管理器中的 Hyper-V 设置来启用和配置 Hyper-V 实时迁移。 启用后,可在“实时迁移”选项卡的“高级功能”中选择身份验证协议。 默认选项是凭据安全支持提供程序 (CredSSP),但是可以切换到 Kerberos 身份验证。 确定要使用的身份验证协议时,请注意以下事项:
- CredSSP 更易于配置,但不提供与 Kerberos 相同的安全级别。 若要实时迁移启用了 CredSSP 的 VM,必须通过远程桌面会话或远程 Windows PowerShell 会话登录到源服务器。
- 在这两个选项中,Kerberos 身份验证更安全。 它要求额外配置受约束的委派,这涉及修改源 Hyper-V 主机 AD DS 计算机帐户的属性。 但是这种方式无需登录到该主机服务器,即可启动实时迁移。
你还可以选择限制同时实时迁移的数量并基于源 Hyper-V 主机 IP 地址限制传入实时迁移。
可以通过以下方式启动实时迁移过程:
- Windows Admin Center。
- 故障转移群集管理。
- Hyper-V 管理器。
- Windows PowerShell。
注意
无法使用 Hyper-V 管理器执行群集 VM 的实时迁移。
Hyper-V 实时迁移如何工作?
实时迁移过程包含以下阶段:
- 迁移设置。 管理员启动 VM 故障转移时,源 Hyper-V 服务器会创建与目标 Hyper-V 服务器的 TCP 连接。 此连接用于在这两个主机之间传输 VM 配置数据。 实时迁移会在目标主机上创建临时 VM,并将内存分配到目标 VM。 迁移准备还会进行检查,确定是否可以迁移 VM。
- VM 内存传输。 源主机将正在运行的 VM 的内存传输到目标主机。 Hyper-V 通过多次重复执行内存复制过程,支持自上一次迭代以来发生的任何更改。 如果源主机和目标主机的 VM 内存的内容差异低于预定义阈值,或者迭代次数达到预定义限制(10 次),复制过程将停止。
- 状态传输。 源 Hyper-V 会停止 VM,并将其状态以及剩余所有内存传输到目标主机,此时目标主机会启动其 VM 副本。
- 清理。 清除阶段通过删除源主机上的 VM 完成迁移。
注意
实时迁移支持服务器消息块 (SMB) 3.x。 这意味着可以通过连接到 SMB 3.x 共享托管 VM 文件的网络执行实时迁移,并利用 SMB 直通和 SMB 多通道等 SMB 功能。 SMB 直通可以优化迁移速度,而对源和目标 Hyper-V 主机的处理器利用率的影响极小。
演示
以下视频演示如何使用故障转移群集管理器执行 Hyper-V VM 实时迁移。
此过程的主要步骤如下:
- 创建 AD DS 环境。 创建包含三个域成员服务器的单域 AD DS 林,其中第三个服务器包含四个数据磁盘。
- 使用 Windows PowerShell 创建 Windows Server 故障转移群集。 使用前两个域成员服务器创建一个双节点群集。
- 设置 iSCSI 目标。 使用第三个域成员服务器设置 iSCSI 目标。
- 设置 iSCSI 存储。 在第三个域成员服务器上,创建一个 iSCSI 虚拟磁盘,并使其可供群集节点上的 iSCSI 发起程序使用。
- 设置 iSCSI 发起程序。 在群集节点上配置 iSCSI 发起程序,以设置共享存储。
- 配置 CSV。 使用故障转移群集管理器配置群集共享卷 (CSV)。
- 创建高度可用的 VM。 使用故障转移群集管理器创建高度可用的 VM。
- 对高度可用的 VM 执行实时迁移。 使用故障转移群集管理器对高度可用的 VM 执行实时迁移。