一、故障描述
某公司 HCS8.3.1云平台,X86架构计算节点原有37台华三R4930节点,8台浪潮CS5280H2节点。1月3日,扩容4台新浪潮CS5280H2节点,与原有的8台浪潮CS5280H2节点固件版本不一致。
扩容完成后在节点之间做虚拟机热迁移测试,过程中发现:
1. 新浪潮CS5280H2节点上的虚拟机热迁移时无法选择原有浪潮CS5280H2节点作为目的节点;
2. 新浪潮CS5280H2节点上的虚拟机热迁移至华三R4930节点失败,报错Unacceptable CPU info:Compare CPU model name fail

二、故障分析
步骤1:登录控制节点后台,根据虚拟机ID查询迁移任务列表

步骤2:根据req-id查看任务详情

步骤3:登录error报错主机后台,根据req-id查看报错日志详情。

发现error日志详情与OM报错一致。
步骤4:根据报错详情,在控制节点上查询各型号服务器的cpu model,结果如下:

步骤5:经咨询浪潮服务厂家,可以修改新浪潮CS5280H2节点BIOS中RDSEED and RDRAND Control的参数值为Disabled,使得两款浪潮CS5280H2节点的cpu_info_model值均为qemu64

注:
RDSEED and RDRAND Control值为Enabled,表示cpu_info_model为Dhyana模型
RDSEED and RDRAND Control值为Disabled,表示cpu_info_model为qemu64模型
步骤6:在修改后cpu_info_model值均为qemu64的新浪潮CS5280H2节点上发放一台虚拟机,对其进行热迁移操作,目的节点选择原有浪潮CS5280H2节点,迁移结果失败,报错依然为:Unacceptable CPU info:Compare CPU model name fail
综上测试以及咨询服务器厂家得出结论:
1. 虚拟机热迁移会强校验源及目的主机的cpu_info_model和cpu_info_model_name值,只有两者完全一致时,才允许做热迁移。
本局点新浪潮CS5280H2节点的cpu_info_model_name值中“32-Core”的C为大写,其余类型节点的cpu_info_model_name值中“32-core”的c为小写,因此报错检测cpu model name错误,热迁移失败。
2. 浪潮CS5280H2型号服务器均为定制固件,原有节点与新节点固件版本不一致,无法刷新为相同版本,因此导致同一型号的服务器cpu_info_model和cpu_info_model_name值不一致,且无法进行统一。
三、触发条件

四、故障处理
1. 后期修改原有的8台浪潮CS5280H2节点的RDSEED and RDRAND Control的参数值为Enabled,使得cpu_info_model值均为Dhyana,从而原有的8台浪潮CS5280H2节点可以和华三R4930节点之间进行虚拟机热迁移
2. 当前新扩容浪潮CS5280H2节点8台之间互相做虚拟机热迁移
五、故障小结
1. 后期采购时需服务器厂家提供cpu_info_model和cpu_info_model_name值,要和现网环境保持一致
2. 扩容之前检查BIOS、CPU等固件是否符合现网云平台环境