虚拟机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版本后的虚拟机开机流程完全一样)