一种基于分布式故障监控的方法和虚拟机高可用系统技术方案

技术编号:26385087 阅读:18 留言:0更新日期:2020-11-19 23:54
一种基于分布式故障监控的方法和虚拟机高可用系统,从物理机的管理网络层、存储网络层和业务网络层多个层面监控物理机状态,并检测虚拟机生命周期的异常和运行进程的运行状态;并及时针对不同的故障组合执行不同的反应动作,将中断的虚拟机及时恢复;本发明专利技术实现了从多个维度检测云平台的状态,避免因为不同层面的状态不正常的而触发相同的HA操作,导致非预期的业务中断,根据不同的故障执行不同的隔离恢复操作,避免因为恢复业务的动作而引入非预期的故障,避免因为恢复故障虚拟机业务而造成其他虚拟机的中断,提高云平台的稳定性和可靠性;本发明专利技术实现了分布式的故障检测,避免了因为单节点故障而造成高可用系统的不可用。

【技术实现步骤摘要】
一种基于分布式故障监控的方法和虚拟机高可用系统
本专利技术涉及网络故障监控领域,尤其涉及一种基于分布式故障监控的方法和虚拟机高可用系统。
技术介绍
随着传统的应用变得越来越复杂,需要支持更多用户,提供更强计算能力,保证稳定性,增强安全性,为了支撑这些不断增长的需求,企业不得不购买各类硬件设备和软件,最困难的是,还需组建一个完整的团队来维护这些设备或软件的正常运作,这些维护工作主要包括安装、配置、测试、运行、升级以及保证系统的安全等。整个维护流程完整运行下来,会发现开销变得非常巨大,而且费用会随着应用的规模的增加而不断提高。然而,传统模式下的资源利用率并不高,造成了极大的浪费,于是云计算应运而生。随着越来越多传统IT架构下的用户转入云计算,企业应用云已经是大势所趋,而传统集中式应用系统的非中断运行几乎完全依赖于服务器的高可用性。如果云服务要求7X24小时不宕机,则无法满足需求或满足的成本会非常高。因此,虚拟机高可用功能也是众多云用户所急需的。现有的主流虚拟机高可用的方案只是基于管理网络层面对物理机进行故障检测,当管理网络心跳中断时,便会触发高可用动作,目前的云计算场景下,管理网、存储网、业务网是独立基于不同的硬件独立部署的,倘若只有管理网心跳中断,并不会影响到虚拟机的正常运行,业务也没有感知到中断,此时若触发HA动作,反而会产生业务中断,导致不必要的损失。
技术实现思路
本专利技术的目的在于提供一种基于分布式故障监控的方法和虚拟机高可用系统,从而解决现有技术中存在的前述问题。为了实现上述目的,本专利技术采用的技术方案如下:一种基于分布式故障监控的方法,包括物理机故障检测、虚拟机生命周期事件检测和运行进程检测;物理机的检测包括以下步骤:S101、检测所述常驻进程所在节点的自身网络状态,若自身网络状态不正常,则停止检测;若自身网络状态正常,则开始检测所述非维护态节点;S02、获取所述非维护态节点的信息,检测所述非维护态节点中是否有检测任务运行,若所述非维护态节点中没有所述检测任务,则新建所述检测任务;否则,所述常驻进程所在节点开始执行所述非维护节点的检测任务;S103、所述检测任务设置有预设最大时长,若所述检测任务的执行时间超过所述预设最大时长,则更换常驻进程所在的节点对所述非维护态节点执行所述检测任务;若未超过所述预设最大时长,则跳过所述非维护节点,开始下一个所述非维护节点的检测;S104、若被检测的所述非维护态节点的检测结果为状态正常,则停止运行对应所述非维护态节点的检测任务,开始执行下一个所述非维护态节点的检测任务;否则,获取所述检测任务对应的所述非维护态节点信息,生成故障通知并发送;S105、重复步骤S102ˉS104,当所有所述非维护态节点的所述检测任务全部执行一遍,则结束一轮所述物理机的检测周期;虚拟机的生命周期事件检测包括以下步骤:S201、建立与所述节点虚拟化软件之间的连接,查询所述节点上的虚拟机信息,并监听所述虚拟机的生命周期;S202、所检测到的虚拟机存在异常的生命周期事件时,获取所述事件对应的所述虚拟机信息;S203、将步骤S202中检测到的异常事件详情和对应的所述虚拟机信息作为故障信息,发送故障通知;运行进程的检测包括以下步骤:S301、由常驻进程获取所有待检测的运行进程的信息;S302、遍历检查所有待检测的运行进程,若所有待检测的运行进程均正常运行,则检测周期结束;若待检测的运行进程的运行存在异常,则尝试拉起异常退出的进程,并检测拉起结果;S303、若步骤S302中检测到所述进程拉起成功,则结束所述运行进程的检测;而检测到所述进程拉起失败,则收集所述运行进程对应的节点信息和所述运行进程的信息,形成故障信息,发送故障通知。优选的,将所述检测任务进行同步,当所述检测任务所在的所述非维护态节点已经完成检测时,执行其他检测任务的常驻进程所在节点同步已检测信息,避免对同一个所述非维护态节点进行重复检测。一种基于分布式故障监控的虚拟机高可用系统,包括故障检测模块、故障通知处理模块和故障恢复模块;所述故障检测模块的输出端与所述故障通知处理模块的输入端向连接;所述故障通知处理模块和所述故障恢复模块之间进行数据交互;所述故障检测模块通过读取每一个节点的网络配置信息,检测物理机的网络状态,并向所述故障通知处理模块发送网络状态异常的节点信息;调用接口接收虚拟机生命周期事件,并向所述故障通知处理模块发送生命周期事件异常的虚拟机信息;通过常驻进程监听预设的特定进程的运行状态,并向所述故障通知处理模块发送无法自行恢复的预设的特定进程对应的节点信息;所述故障通知处理模块接收所述故障检测模块发送的所述故障通知,进行存储;并传输给所述故障恢复模块;接收所述故障恢复模块返回的故障处理结果;所述故障恢复模块接收所述故障通知处理模块传输的故障通知,并根据不同的故障情况,判断故障节点的隔离级别,并触发不同的故障恢复任务,将故障恢复结果发送给所述故障通知处理模块。优选的,所述故障检测模块同时针对所述管理网络层、存储网络层和业务网络层的网络状态进行检测。优选的,所述故障检测模块中的检测结果与所述故障恢复模块的反应动作的动作关系为:当所述管理网络层的网络中断、所述存储网络层和所述业务网络层的网络正常时,所述故障恢复模块向所述故障通知处理模块发送故障信息;当所述存储网络层的网络中断、所述管理网络层和所述业务网络层的网络正常时,维护并隔离对应的故障节点,并疏散所述故障节点的所有所述虚拟机;当所述业务网络层的网络中断、所述存储网络层和所述管理网络层的网络正常时,维护所述故障节点,并将所述故障节点中的所述虚拟机迁移至正常节点;当所述管理网络层和所述业务网络层的网络中断,所述存储网络层的网络正常时,维护并隔离对应的故障节点,并疏散所述故障节点的所有所述虚拟机;当所述管理网络层、所述存储网络层和所述业务网络层的网络中断时,维护并隔离对应的故障节点,并疏散所述故障节点的所有所述虚拟机。优选的,对虚拟机的生命周期事件的处理过程为:监听宿主机上的所有虚拟机的生命周期事件,并获取所述虚拟机中生命周期事件异常的虚拟机信息;针对所述虚拟机信息恢复指定的虚拟机。优选的,对运行进程的故障的恢复过程为:周期性检查进程列表中的所有进程的运行状态,针对异常进程尝试重启,若所述异常进程重启后恢复正常,则处理完毕;若所述异常进程并没有完成重启,则对所述异常进程对应的所述故障节点进行隔离。本专利技术的有益效果是:本专利技术公开了一种基于分布式故障监控的方法和虚拟机高可用系统,从物理机的管理网络层、存储网络层和业务网络层多个层面监控物理机故障,并检测虚拟机生命周期的异常和运行进程的运行状态;并及时针对不同的故障组合执行不同的反应动作,将中断的虚拟机及时恢复;本专利技术实现了从多个维度检测云平台的状态,避免因为不同层面的状态不正常的而触发相同的HA操作,导致非预期的业务中本文档来自技高网...

【技术保护点】
1.一种基于分布式故障监控的方法,其特征在于,包括物理机故障检测、虚拟机生命周期事件检测和运行进程检测;/n物理机的检测包括以下步骤:/nS101、检测所述常驻进程所在节点的自身网络状态,若自身网络状态不正常,则停止检测;若自身网络状态正常,则开始检测所述非维护态节点;/nS102、获取所述非维护态节点的信息,检测所述非维护态节点中是否有检测任务运行,若所述非维护态节点中没有所述检测任务,则新建所述检测任务;否则,所述常驻进程所在节点开始执行所述非维护节点的检测任务;/nS103、所述检测任务设置有预设最大时长,若所述检测任务的执行时间超过所述预设最大时长,则更换常驻进程所在的节点对所述非维护态节点执行所述检测任务;若未超过所述预设最大时长,则跳过所述非维护节点,开始下一个所述非维护节点的检测;/nS104、若被检测的所述非维护态节点的检测结果为状态正常,则停止运行对应所述非维护态节点的检测任务,开始执行下一个所述非维护态节点的检测任务;否则,获取所述检测任务对应的所述非维护态节点信息,生成故障通知并发送;/nS105、重复步骤S102ˉS104,当所有所述非维护态节点的所述检测任务全部执行一遍,则结束一轮所述物理机的检测周期;/n虚拟机的生命周期事件检测包括以下步骤:/nS201、建立与所述节点虚拟化软件之间的连接,查询所述节点上的虚拟机信息,并监听所述虚拟机的生命周期;/nS202、所检测到的虚拟机存在异常的生命周期事件时,获取所述事件对应的所述虚拟机信息;/nS203、将步骤S202中检测到的异常事件详情和对应的所述虚拟机信息作为故障信息,发送故障通知;/n运行进程的检测包括以下步骤:/nS301、由常驻进程获取所有待检测的运行进程的信息;/nS302、遍历检查所有待检测的运行进程,若所有待检测的运行进程均正常运行,则检测周期结束;若待检测的运行进程的运行存在异常,则尝试拉起异常退出的进程,并检测拉起结果;/nS303、若步骤S302中检测到所述进程拉起成功,则结束所述运行进程的检测;而检测到所述进程拉起失败,则收集所述运行进程对应的节点信息和所述运行进程的信息,形成故障信息,发送故障通知。/n...

【技术特征摘要】
1.一种基于分布式故障监控的方法,其特征在于,包括物理机故障检测、虚拟机生命周期事件检测和运行进程检测;
物理机的检测包括以下步骤:
S101、检测所述常驻进程所在节点的自身网络状态,若自身网络状态不正常,则停止检测;若自身网络状态正常,则开始检测所述非维护态节点;
S102、获取所述非维护态节点的信息,检测所述非维护态节点中是否有检测任务运行,若所述非维护态节点中没有所述检测任务,则新建所述检测任务;否则,所述常驻进程所在节点开始执行所述非维护节点的检测任务;
S103、所述检测任务设置有预设最大时长,若所述检测任务的执行时间超过所述预设最大时长,则更换常驻进程所在的节点对所述非维护态节点执行所述检测任务;若未超过所述预设最大时长,则跳过所述非维护节点,开始下一个所述非维护节点的检测;
S104、若被检测的所述非维护态节点的检测结果为状态正常,则停止运行对应所述非维护态节点的检测任务,开始执行下一个所述非维护态节点的检测任务;否则,获取所述检测任务对应的所述非维护态节点信息,生成故障通知并发送;
S105、重复步骤S102ˉS104,当所有所述非维护态节点的所述检测任务全部执行一遍,则结束一轮所述物理机的检测周期;
虚拟机的生命周期事件检测包括以下步骤:
S201、建立与所述节点虚拟化软件之间的连接,查询所述节点上的虚拟机信息,并监听所述虚拟机的生命周期;
S202、所检测到的虚拟机存在异常的生命周期事件时,获取所述事件对应的所述虚拟机信息;
S203、将步骤S202中检测到的异常事件详情和对应的所述虚拟机信息作为故障信息,发送故障通知;
运行进程的检测包括以下步骤:
S301、由常驻进程获取所有待检测的运行进程的信息;
S302、遍历检查所有待检测的运行进程,若所有待检测的运行进程均正常运行,则检测周期结束;若待检测的运行进程的运行存在异常,则尝试拉起异常退出的进程,并检测拉起结果;
S303、若步骤S302中检测到所述进程拉起成功,则结束所述运行进程的检测;而检测到所述进程拉起失败,则收集所述运行进程对应的节点信息和所述运行进程的信息,形成故障信息,发送故障通知。


2.根据权利要求1所述的基于分布式故障监控的方法,其特征在于,将所述检测任务进行同步,当所述检测任务所在的所述非维护态节点已经完成检测时,执行其他检测任务的常驻进程所在节点同步已检测信息,避免对同一个所述非维护态节点进行重复检测。


3.一种基于分布式故障监控的虚拟机高可用系统,其特征在于,包括故障检测模块、故障通知处理模块和故障恢复模块;所述故障检测模块的输出端与所述故障通知处理模块的输入端向...

【专利技术属性】
技术研发人员:姚培瞿洪桂冯龙飞赵策
申请(专利权)人:北京中电兴发科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1