提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

HA介绍

|

问题描述

HA介绍

解决方案

虚拟机HA功能
HA是指虚拟机故障迁移,当虚拟机所在主机出现故障时,自动切换到其它物理主机上运行
一、简要介绍
虚拟机HA后台服务是vtprgm,集群虚拟机的HA工作节点只用一个,588版本之后的版本,工作节点是主控节点,588版本之前的版本,工作节点是IP最小节点(日志文件可能在sfvt_vtpperlproxy.log文件中)。
备注:虚拟机HA时,是在主机出现突然的宕机离线等,如果是在页面点或者后台关闭或者重启主机,虚拟机是会被正常关闭的(Linux系统在关机时首先会正常关闭主机上的系统服务),不会出现虚拟机的HA操作。
虚拟机HA中两重要的配置文件,虚拟机的电源状态信息(/cfs/nodes/cluster/vmpower.info)和虚拟机的运行状态信息(/cfs/nodes/cluster/vmstatus.info);和HA的配置文件(/cfs/nodes/cluster/haconfig.json)
vmstatus.info : 1463921317374,running,host-0cc47a42a1a6,32284(vmid,运行状态,运行的主机节点,虚拟机的kvm进程id)
vmpower.info  : 2906852093958=on,cnt=0(vmid=电源状态,cnt=0,HA启动是记录启动的次数)
问题排查思路:
1. 确认虚拟机是否开启HA机制:查看虚拟机是否开启HA,查看虚拟机的配置文件(/cfs/nodes/cluster/qemu-server/)中虚拟机的HA配置ha_enable: 1。
2. 确认页面HA功能的配置,在什么情况下虚拟机会HA,以及虚拟机的异常时多长时间会启动HA流程。
3. 后续的步骤就要区分版本了,588版本之前的所有版本,虚拟机HA时vtprgm服务会在HA服务的工作节点直接调用cluvmadm脚本选择主机的运行节点后启动虚拟机(启动虚拟机的流程和上述中588版本之前得启动流程一样)
588版本之后的所有版本,虚拟机的启动流程会代理转发到主控节点的vm-scheduler(vm-scheduler-compute)服务选择节点后再启动虚拟机(虚拟机的启动流程和588版本后的虚拟机开机流程完全一样)

操作影响范围

二、HA 原理




        通过探测虚拟机所在存储是否能正常访问,虚拟机使用的物理出口是否可正常通信(目前只支持接到物理出口上的虚拟机),以及虚拟机所在主机是否在线,即从存储面,网络面,管理面,三个维度判断虚拟机是否需要HA。
三、HA场景
存储非aSAN场景:
1.存储网络中断
上面四种情况,不管其他网络如何,只要存储网络发生中断,必然引起虚拟机HA
2.只断数据出口,会先找到出口正常的主机,然后在目标主机重新开机(原主机先关机)
3.管理网络和数据出口同时中断,发生异常的主机主动关机,其他主机重新开机
4.本地存储也不会HA,虚拟机是共享存储的虚拟机,勾选HA,非直连业务口,副本正常,vs本地副本正常不会HA,单管理口断不会HA成功



1.仅存储私网断开:
a.虚拟机仍可正常访问存储,不需要HA(运行位置有副本,如左边和右边的主机)
b.虚拟机无法访问存储,需要HA(运行位置无副本,如中间位置的主机)
2.存储私网,管理网络同时断开
a.虚拟机运行主机有副本,仍可正常访问,但主机离线,其他节点仍可拉起虚拟机(脑列,出现两个kvm虚拟机进程,存储私网恢复后VS会杀掉一个)如果虚拟存储配置了探测ip,被孤立的主机会关闭虚拟机
b.虚拟机运行主机无副本,无法正常访问存储,主机离线,其他节点正常来启动虚拟机

我要分享
文档编号: 221037
作者: admin
更新时间: 2023-01-05 17:29
适用版本: