某运营商扩容计算节点后,验证虚机热迁移时,虚机可以从老的5300 G4节点热迁移到新的5300 G4节点,但是无法从新的节点回迁到老的节点,从而导致热迁移失败。冷迁移方式可以成功迁移。
TECS OpenStack版本是V3.17.15.P4B2。
老的服务器CPU型号是2 × Intel(R) Xeon(R) Gold 5120T CPU @ 2.20GHz。
新的G4服务器CPU型号是2 × Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz。
1. 如果CPU版本差异导致CPU的指令集不一致,那么会存在不能由高版本的CPU往低版本CPU进行热迁移的问题。经与TECS运维人员确认,CPU类型5120T和5218两款CPU的指令集一样,不存在该问题。
2. CPU版本不存在问题,热迁移不成功,则可能和CPU的底层配置差异有关。因此,分别在两个服务器上执行lscpu命令,对比结果中的Flags,如下图所示。
3. 对比结果中发现新服务器的Flags中比老服务器多了monitor参数,如下图所示。
4. 因此需要在新服务器中将monitor参数关闭,否则会导致热迁移失败。
1. 查看服务器的BIOS中的monitor参数值,为Enabled,如下图所示。
2. 修改monitor参数值为Disabled。
3. 保存配置自动重启设备后,热迁移问题解决。
4. 问题总结:扩容服务器和老服务器间底层配置的参数需要保持一致。
我们是一群平均从业年限5+的通信专业工程师。 关注我们,带你了解通信世界的精彩!