背景
公司IDC机房迁移,IDC里有一部分IT的邮件容灾服务器和Hyper-V宿主机。 对于邮件容灾服务器,我们在新机房部署新环境,老机房直接下线即可。 而宿主机上面的很多虚拟机,保存着用户数据,不适合在新机房部署新环境。因此使用虚拟机迁移就更合适了。
环境
- 原机房Hyper-V 宿主机操作系统 Windows Server 2012R2。
- 新机房Hyper-V 宿主机操作系统 Windows Server 2019。
查看官方资料,是满足实时迁移条件的。
方案
-
方案一:虚拟机导出,然后在新机房的宿主机导入,并注册。 看参考官方文档那文档。 https://docs.microsoft.com/zh-cn/windows-server/virtualization /hyper-v/deploy/export-and-import-virtual-machines
-
方案二:虚拟机实时迁移
实时迁移:允许你以透明方式将正在运行的虚拟机从一台 Hyper-V 主机移到另一台主机,而无需感知停机时间。
可见实时迁移过程中,网络是不中断的,用户是无感知的。对于同一个二层网络中,实时迁移真是太有作用了。
但是本次迁移是跨地域、跨机房,IP网络都发生了变化。 选择实时迁移方案,也是一种技术探索(之前没有使用过)。
迁移准备
- 源宿主机和目标宿主机均需要启用实时迁移功能
打开源宿主服务器Hyper-V设置->实时迁移->勾选"启用传入和传出的实时迁移"
高级功能->身份验证协议->选择"使用kerberos"。 该认证方式更安全,但是需要设置委派。
在目标宿主服务器做同样的配置。
- 委派配置
- 打开活动目录用户和计算机,搜索计算机(源宿主机)
- 切换到"委派"选项卡, 按照图示,选择"仅信任此计算机来委派指定的服务",添加目标宿主机,并选择"icfs"和"microsoft virtual system migration service"。 保持默认"仅使用Kerberos" 也可以,但官方建议选择"使用任何身份验证协议"。
- 其他相关设置
- 取消网卡和虚拟交换机关联。(如果是一个二层网络的实时迁移,不需要取消关联,但是虚拟交换机名字必须一致)
- 取消关联的iso文件。
执行迁移
-
右击待迁移的虚拟机,选择"移动",启动迁移向导,选择"移动虚拟机"
-
输入目标宿主机和虚拟机文件存放目录
-
迁移过程
文件开始陆续写入......
迁移完成后
可以看到源宿主机里的虚拟机不见了,相关目录里的文件也全部空了。
此时,在新的宿主机里,将网卡关联到新的虚拟交换机即可。
迁移失败FAQ
https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/virtualization/troubleshoot-live-migration-issues
我在迁移过程中,因为某台虚拟机DVD驱动器关联了ISO文件,导致迁移失败,提示"找不到文件",取消关联后,顺利完成迁移。