背景


公司IDC机房迁移,IDC里有一部分IT的邮件容灾服务器和Hyper-V宿主机。 对于邮件容灾服务器,我们在新机房部署新环境,老机房直接下线即可。 而宿主机上面的很多虚拟机,保存着用户数据,不适合在新机房部署新环境。因此使用虚拟机迁移就更合适了。

环境


  • 原机房Hyper-V 宿主机操作系统 Windows Server 2012R2。
  • 新机房Hyper-V 宿主机操作系统 Windows Server 2019。

查看官方资料,是满足实时迁移条件的。

image.png

方案


  • 方案一:虚拟机导出,然后在新机房的宿主机导入,并注册。 看参考官方文档那文档。 https://docs.microsoft.com/zh-cn/windows-server/virtualization /hyper-v/deploy/export-and-import-virtual-machines

  • 方案二:虚拟机实时迁移

实时迁移:允许你以透明方式将正在运行的虚拟机从一台 Hyper-V 主机移到另一台主机,而无需感知停机时间。

可见实时迁移过程中,网络是不中断的,用户是无感知的。对于同一个二层网络中,实时迁移真是太有作用了。

但是本次迁移是跨地域、跨机房,IP网络都发生了变化。 选择实时迁移方案,也是一种技术探索(之前没有使用过)。

迁移准备


  • 源宿主机和目标宿主机均需要启用实时迁移功能

打开源宿主服务器Hyper-V设置->实时迁移->勾选"启用传入和传出的实时迁移" image.png

高级功能->身份验证协议->选择"使用kerberos"。 该认证方式更安全,但是需要设置委派。

image.png

在目标宿主服务器做同样的配置。

  • 委派配置
  1. 打开活动目录用户和计算机,搜索计算机(源宿主机) image.png
  2. 切换到"委派"选项卡, 按照图示,选择"仅信任此计算机来委派指定的服务",添加目标宿主机,并选择"icfs"和"microsoft virtual system migration service"。 保持默认"仅使用Kerberos" 也可以,但官方建议选择"使用任何身份验证协议"。 image.png
  • 其他相关设置
    • 取消网卡和虚拟交换机关联。(如果是一个二层网络的实时迁移,不需要取消关联,但是虚拟交换机名字必须一致)
    • 取消关联的iso文件。

执行迁移


  • 右击待迁移的虚拟机,选择"移动",启动迁移向导,选择"移动虚拟机" image.png

  • 输入目标宿主机和虚拟机文件存放目录 image.png image.png image.png

  • 迁移过程 image.png

文件开始陆续写入......

image.png

迁移完成后

可以看到源宿主机里的虚拟机不见了,相关目录里的文件也全部空了。

此时,在新的宿主机里,将网卡关联到新的虚拟交换机即可。

迁移失败FAQ


https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/virtualization/troubleshoot-live-migration-issues

我在迁移过程中,因为某台虚拟机DVD驱动器关联了ISO文件,导致迁移失败,提示"找不到文件",取消关联后,顺利完成迁移。