为了提高资源利用率,降低成本,增强系统的灵活性,实现服务器虚拟架构的整合,客户提出合并部分群集。

 

       将A资源池,B资源池,C资源池的资源合并到生产资源池,再将剩余的资源池分为管理资源池和开发资源池,具体如下图所示。

vSphere跨群集虚拟机无法vMotion_vsphere

变更前架构

vSphere跨群集虚拟机无法vMotion_vmotion_02

变更后架构

 

准备工作如下:

全部主机的LUN挂载——用来满足vMotion的共享卷

物理网络(二、三层)——用来满足vMotion的连通性

虚拟网络(生产网络、vMotion网络)——用来满足虚拟机网络的一致性和可用性

规划后,由于涉及到正在运行的业务,采用了跨群集热迁移虚拟机。

vSphere跨群集虚拟机无法vMotion_management_03

下一步,验证成功

vSphere跨群集虚拟机无法vMotion_vmotion_04

结果迁移到9%,提示“出现了常规系统错误:Failed to start migration pre-coy.error 0xbad010b,the ESX host failed to connect over the VMotion network”,未能启动迁移预拷贝,具体如下:

vSphere跨群集虚拟机无法vMotion_vmotion_05

于是按照以下思路排错

1、检查ESXi主机的vMotion的kernel的IP地址在同一网段,VLAN ID相同,排除配置错误

2、群集内虚拟机迁移正常;

3、测试vMotion的网络是否连通,打开ESXi主机的SSH服务,使用vmkping 目标ESXi主机的vMotion IP和ESXi主机管理地址,均正常,排除网络错误;

vSphere跨群集虚拟机无法vMotion_vmotion_06

4、理论上来说,同一网段防火墙没有制定规则,登录防火墙配置界面再次查看,确定TCP 8000端口无限制,排除防火墙干扰;

5、在网上搜索到ESXi高级设置里设置的Migrate enabled(启用热迁移支持)最大为1,然后再设置为0,再恢复为1,或者将Migrate.NetTimeout(迁移网络操作超时)时间由20S提高到60S,以上的方法修改后还是无法迁移;

vSphere跨群集虚拟机无法vMotion_vsphere_07

vSphere跨群集虚拟机无法vMotion_failed_08

6、最后请教朋友,检测Management Network(管理网络)的属性,查看是否有主机启用了vMotion,而检测后发现有一台ESXi主机的管理网络勾选了

vMotion,取消即迁移成功。

vSphere跨群集虚拟机无法vMotion_failed_09

vSphere跨群集虚拟机无法vMotion_vsphere_10

后记

当Management Network和vMotion同时开启vMotion功能时,优先选择Management Network的vMotion,而vMotion信息不一致,导致无法跨群集迁移虚拟机。