问题描述
一台服务器由于一根内存条初始化错误,引起服务器异常重启,但该服务器上的4台虚拟机未能HA到该区域的其他主机。
原因定位
1、检查cps界面,配置->openstack->nova->虚拟机HA功能开关,是否打开
2、Type2场景,开启HA功能开关情况下是否配置了探测VLAN(未配置探测VLAN,在虚拟机HA时可能造成虚拟机脑裂。)
2.1、检查cps界面,配置->网络->物理网络配置,检查业务面物理网络探测vlan是否已填写,打开ha的时候必须开启探测vlan。(XX局点已配置)
2.2、测试探测vlan是否生效:
测试方法:找一个运行状态的虚拟机,记录虚拟机id,并编辑执行以下命令进行测试:
python /etc/fusionnetwork/oam-network-agent/provider_ping.py '{"provider_name": ["physnet2"],"vm_uuid": "0e1c002a-986f-4bfb-b5a4-882069a2189e"}'
注意:provider_name为虚拟机使用的物理网络平面,vm_uuid为虚拟机id,脚本不能在虚拟机所在的主机上执行,如果结果返回ok表示vlan已生效,bad表示探测vlan未配通。
以下为测试结果:返回结果为bad,表示探测vlan未生效故无法进行HA
3、探测vlan未生效原因定位
通过检查AC发现,计算节点上连业务交换机时,未在AC侧配置相应逻辑端口(计算节点物理端口连接交换机物理端口需要和AC上的逻辑端口连接的逻辑交换机一一对应)
A19-1-0-1至A19-1-0-10以及A19-2-0-1至A19-2-0-10逻辑端口均为下线状态 A19-1-0-11至A19-1-0-20以及A19-2-0-11至A19-2-0-20逻辑端口均未添加
原因由于在前期交付时挪过线缆,互联网计算节点的物理端口从交换机1-10挪到了11-20,而后期未在AC中将11-20端口添加进来,故而导致业务交换机未放通探测VLAN,从而导致该端口下联的主机上的虚拟机无法HA
解决方法
在AC添加相应的逻辑端口(A19-1-0-11至A19-1-0-20以及A19-2-0-11至A19-2-0-20)后,业务交换机放通了探测VLAN,探测VLAN生效
以下为配置后的逻辑端口,端口状态均为上线状态
测试验证
将相关联的逻辑端口添加上后,对11-20端口下联的主机中的虚拟机做HA测试,得出以下测试结果:
返回结果为OK,表示该虚拟机可HA到其他主机。