虚拟机高可用实现方法技术

技术编号:39509654 阅读:9 留言:0更新日期:2023-11-25 18:45
本申请提供了一种虚拟机高可用实现方法

【技术实现步骤摘要】
虚拟机高可用实现方法、设备及计算机可读介质


[0001]本申请涉及信息
,尤其涉及一种基于存储心跳的虚拟机高可用实现方法

设备及计算机可读介质


技术介绍

[0002]VM HA(Virtual Machine High Availability
,虚拟机高可用
)
是一种虚拟化技术,它旨在提高虚拟机的可用性和容错性
。VM HA
的核心概念是将多个物理服务器组成一个集群,将虚拟机在这些物理服务器之间进行动态迁移以实现故障转移

但是目前的
VM HA
技术大部分都是基于虚拟机代理同步的虚拟机状态,来判断是否需要执行高可用处理逻辑,因此当存储出现问题而导致虚拟机无法写入数据时,难以及时发现问题,会导致虚拟机上运行的业务长时间受到影响


技术实现思路

[0003]本申请的一个目的是提供一种基于存储心跳的虚拟机高可用实现方法

设备及计算机可读介质

[0004]为实现上述目的,本申请提供了一种基于存储心跳的虚拟机高可用实现方法,所述方法包括:
[0005]虚拟机代理定时向存储设备中的存储心跳文件写入所述虚拟机代理所在的第一物理服务器的心跳信息,所述存储心跳文件由服务器集群中由多个物理服务器共享,所述多个物理服务器中包括所述第一物理服务器;
[0006]当连续写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态;
[0007]当管理节点与第一物理服务器之间的网络中断时,所述管理节点通过所述服务器集群中的其它物理服务器访问所述存储心跳文件;
[0008]所述管理节点根据所述存储心跳文件中的心跳信息,判断所述第一物理服务器上的虚拟机是否已关闭;
[0009]若所述第一物理服务器上的虚拟机已关闭,所述管理节点根据高可用处理逻辑尝试在其它物理服务器上启动所述虚拟机

[0010]进一步地,当连续写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态,包括:
[0011]当写入心跳信息失败,所述虚拟机代理记录一次写入失败的次数;
[0012]当写入失败的次数达到最大尝试次数之前,写入心跳信息成功,将写入失败的次数重置为零;
[0013]当写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态

[0014]进一步地,所述方法还包括:
[0015]当管理节点与第一物理服务器之间的网络正常时,所述管理节点通过与所述第一物理服务器上的虚拟机代理,获取所述第一物理服务器上的虚拟机的状态;
[0016]若所述虚拟机的状态为停止状态,所述管理节点根据高可用处理逻辑尝试在其它物理服务器上启动所述虚拟机

[0017]进一步地,当管理节点与第一物理服务器之间的网络中断时,所述管理节点通过所述服务器集群中的其它物理服务器访问所述存储心跳文件,包括:
[0018]当管理节点与第一物理服务器之间的网络中断时,所述管理节点检测第一物理服务器上的虚拟机代理是否正常;
[0019]若所述虚拟机代理正常,所述管理节点通过所述服务器集群中的其它物理服务器访问所述存储心跳文件

[0020]进一步地,所述方法还包括:
[0021]若所述虚拟机代理不正常,所述管理节点不在其它物理服务器上启动所述虚拟机

[0022]进一步地,所述方法还包括:
[0023]若所述第一物理服务器上的虚拟机未关闭,所述管理节点不在其它物理服务器上启动所述虚拟机

[0024]进一步地,所述管理节点根据所述存储心跳文件中的心跳信息,判断所述第一物理服务器上的虚拟机是否已关闭,包括:
[0025]所述管理节点定时读取所述存储心跳文件中的心跳信息,若多次读取到的心跳信息相同,则判定所述第一物理服务器上的虚拟机已关闭;若多次读取到的心跳信息不相同,则判定所述第一物理服务器上的虚拟机未关闭

[0026]进一步地,所述心跳信息为当前的系统时间或计数器次数

[0027]基于本申请的另一方面,还提供了一种基于存储心跳实现虚拟机高可用的设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述基于存储心跳的虚拟机高可用实现方法

[0028]本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现所述基于存储心跳的虚拟机高可用实现方法

[0029]与现有技术相比,本申请提供了一种基于存储心跳的虚拟机高可用实现方案,该方案中虚拟机代理定时向存储设备中的存储心跳文件写入所述虚拟机代理所在的第一物理服务器的心跳信息;当连续写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态;当管理节点与第一物理服务器之间的网络中断时,所述管理节点通过所述服务器集群中的其它物理服务器访问所述存储心跳文件,若根据所述存储心跳文件中的心跳信息确定第一物理服务器上的虚拟机已关闭,即可根据高可用处理逻辑尝试在其它物理服务器上启动所述虚拟机

由于本方案是基于物理服务器与对应的存储设备之间的心跳信息来判断是否需要迁移虚拟机,不完全依赖于管理节点和虚拟机代理之间的状态同步,同时由于存储心跳文件是由服务器集群中由多个物理服务器共享的,因此通过集群中的其它物理服务器也可以访问到存储心跳文件,即使第一物理服务器网络中断,可以确保及时发现问题,避免虚拟机上运行的业务
长时间受到影响

附图说明
[0030]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征

目的和优点将会变得更明显:
[0031]图1为基于存储心跳的虚拟机高可用实现方法的处理流程图;
[0032]图2为采用本申请实施例提供的方案实现虚拟机高可用的整体逻辑示意图;
[0033]附图中相同或相似的附图标记代表相同或相似的部件

具体实施方式
[0034]下面结合附图对本申请作进一步详细描述

[0035]为使本申请实施例的目的

技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例

基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于存储心跳的虚拟机高可用实现方法,其特征在于,所述方法包括:虚拟机代理定时向存储设备中的存储心跳文件写入所述虚拟机代理所在的第一物理服务器的心跳信息,所述存储心跳文件由服务器集群中由多个物理服务器共享,所述多个物理服务器中包括所述第一物理服务器;当连续写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态;当管理节点与第一物理服务器之间的网络中断时,所述管理节点通过所述服务器集群中的其它物理服务器访问所述存储心跳文件;所述管理节点根据所述存储心跳文件中的心跳信息,判断所述第一物理服务器上的虚拟机是否已关闭;若所述第一物理服务器上的虚拟机已关闭,所述管理节点根据高可用处理逻辑尝试在其它物理服务器上启动所述虚拟机
。2.
根据权利要求1所述的方法,其特征在于,当连续写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态,包括:当写入心跳信息失败,所述虚拟机代理记录一次写入失败的次数;当写入失败的次数达到最大尝试次数之前,写入心跳信息成功,将写入失败的次数重置为零;当写入失败的次数达到最大尝试次数,所述虚拟机代理关闭所述第一物理服务器上的虚拟机,以使所述虚拟机的状态更新为停止状态
。3.
根据权利要求1所述的方法,其特征在于,所述方法还包括:当管理节点与第一物理服务器之间的网络正常时,所述管理节点通过与所述第一物理服务器上的虚拟机代理,获取所述第一物理服务器上的虚拟机的状态;若所述虚拟机的状态为停止状态,所述管理节点根据高可用处理逻辑尝试在其它物理服务器上启动所述虚拟机
。4.
根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:张秋宇古劲松
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

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

1