基于云环境虚拟机的高可用保护方法及装置与流程

文档序号:21263890发布日期:2020-06-26 22:35阅读:144来源:国知局
基于云环境虚拟机的高可用保护方法及装置与流程

本发明涉及云计算技术领域,尤指一种基于云环境虚拟机的高可用保护方法及装置。



背景技术:

云计算技术可以通过互联网将多个相对成本较低的计算实体整合成一个具有强大计算能力的处理系统。云计算的底层需要虚拟化技术的支持。通过虚拟化技术,用户可以根据自己的需求,以易扩展的方式来获得所需的服务。目前,云计算在it市场上逐渐获得了广泛应用,它的雏形正在逐步形成。

高可用的目的是为了尽可能减少服务的停机时间,以提高服务的可用性。高可用性是指一台物理主机上的服务发生故障时,在不需要人为干预的情况下,可由另外一台物理主机接管服务,从而保证对外服务的持续可用性,提高用户体验。

云环境下,一个处理系统通常拥有多个虚拟机,而虚拟机上会运行多个应用服务程序对外提供服务。云环境中,如果某个虚拟机上提供的某个应用服务程序发生故障,则会无法继续对外提供服务,进而会给用户造成无法估量的损失。而目前云平台中并没有保护虚拟机上运行的应用服务程序的功能,无法保证虚拟机的高可用性,进而无法满足用户的要求。



技术实现要素:

本发明实施例提供一种基于云环境虚拟机的高可用保护方法及装置,用以解决现有技术中存在虚拟机高可用性无法保证的问题。

本发明实施例提供一种基于云环境虚拟机的高可用保护方法,所述方法应用于虚拟化服务器主机,包括:

所述虚拟化服务器主机上各个虚拟机对应的虚拟机服务监控插件对运行在各自虚拟机上的应用服务程序进行监控;

当监控到第一虚拟机的第一应用服务程序异常,更新所述第一应用服务程序的故障频率;

判断所述故障频率是否超过预设阈值;

当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述第一虚拟机迁移至其他虚拟化服务器主机。

进一步地,当所述故障频率未超过所述预设阈值时,所述方法,还包括:

停止所述第一应用服务程序;

检测所述第一应用服务程序的运行环境,若无异常,重新启动所述第一应用服务程序。

其中,所述当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的故障频率包括:

当监控到所述第一应用服务程序运行异常时,将所述第一应用服务程序的故障频率加一;

当监控到所述第一应用服务程序重新启动失败时,将所述第一应用服务程序的故障频率更新为无穷大。

进一步地,所述方法,还包括:

当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的异常记录;

当监控到所述第一应用服务程序重新启动成功时,清空所述第一应用服务程序的异常记录,并将所述第一应用服务程序的故障频率初始化为0。

进一步地,所述方法,还包括:

接收来自所述云管理平台服务器的重启通知;

重新启动所述重启通知对应的应用服务程序。

本发明实施例还提供一种基于云环境虚拟机的高可用保护方法,所述方法应用于云管理平台服务器,包括:

接收虚拟化服务器主机上的虚拟机服务监控插件发来的迁移通知;

确定运行所述迁移通知对应的虚拟机,根据所述虚拟机确定对应的第一虚拟化服务器主机;

根据预先配置的迁移策略,从所述云管理平台服务器所管理的虚拟化服务器主机中选择一台虚拟化服务器主机作为目标虚拟化服务器主机,所述目标虚拟化服务器主机与所述第一虚拟化服务器主机不同;

将所述虚拟机迁移至所述目标虚拟化服务器主机。

进一步地,所述方法,还包括:

完成所述虚拟机迁移后,发送重启通知给所述目标虚拟机服务器主机以重新启动出现异常的应用服务程序。

本发明实施例还提供一种基于云环境虚拟机的高可用保护装置,所述装置应用于虚拟化服务器主机,与运行在所述虚拟化服务器主机上的虚拟机一一对应,包括:监控单元、更新单元、判断单元以及处理单元;其中,

所述监控单元,用于对对应虚拟机上的应用服务程序进行监控;

所述更新单元,用于当第一应用服务程序异常,更新所述第一应用服务程序的故障频率;

所述判断单元,用于判断所述故障频率是否超过预设阈值;

所述处理单元,用于当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述虚拟机迁移至其他虚拟化服务器主机。

进一步地,所述处理单元,还用于

当所述故障频率未超过所述预设阈值时,停止所述第一应用服务程序;

检测所述第一应用服务程序的运行环境,若无异常,重新启动所述第一应用服务程序。

其中,所述更新单元,具体用于:

当所述第一应用服务程序运行异常时,将所述第一应用服务程序的故障频率加一;当监控到所述第一应用服务程序重新启动失败时,将所述第一应用服务程序的故障频率更新为无穷大。

进一步地,所述更新单元,还用于:

当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的异常记录;

当监控到所述第一应用服务程序重新启动成功时,清空所述第一应用服务程序的异常记录,并将所述第一应用服务程序的故障频率初始化为0。

进一步地,所述处理单元,还用于:

接收来自所述云管理平台服务器的重启通知;

重新启动所述重启通知对应的应用服务程序。

本发明实施例还提供一种基于云环境虚拟机的高可用保护装置,所述装置应用于云管理平台服务器,包括:接收单元、确定单元、选择单元以及迁移单元;其中,

所述接收单元,用于接收虚拟化服务器主机发来的迁移通知;

所述确定单元,用于确定运行所述迁移通知对应的虚拟机,根据所述虚拟机确定对应的第一虚拟化服务器主机;

所述选择单元,用于根据预先配置的迁移策略,从所述云管理平台服务器所管理的虚拟化服务器主机中选择一台虚拟化服务器主机作为目标虚拟化服务器主机,所述目标虚拟化服务器主机与所述第一虚拟化服务器主机不同;

所述迁移单元,用于将所述虚拟机迁移至所述目标虚拟化服务器主机。

其中,所述迁移单元,还用于:

完成所述虚拟机迁移后,发送重启通知给所述目标虚拟化服务器主机以重新启动出现异常的应用服务程序。

本发明有益效果如下:

本发明实施例提供的基于云环境虚拟机的高可用保护方法及装置,虚拟化服务器主机上各个虚拟机对应的虚拟机服务监控插件对运行在各自虚拟机上的应用服务程序进行监控;当监控到第一虚拟机的第一应用服务程序异常,更新所述第一应用服务程序的故障频率;判断所述故障频率是否超过预设阈值;当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述第一虚拟机迁移至其他虚拟化服务器主机。本发明实施例通过对运行在虚拟机上的应用服务程序进行实时监控,当所述应用服务程序出现异常,根据故障频率进行相应处理,可以重新启动,也可以直接通知云管理平台服务器进行虚拟机迁移,提高了应用服务程序功能的连续性,保证了虚拟机的高可用性,提升了用户使用体验。

附图说明

图1为本发明实施例应用于云环境的整体框架图;

图2为本发明实施例中基于云环境虚拟机的高可用保护方法的流程图;

图3为本发明实施例中基于云环境虚拟机的高可用保护方法的另一流程图;

图4为本发明实施例中基于云环境虚拟机的高可用保护装置的结构示意图;

图5为本发明实施例中基于云环境虚拟机的高可用保护装置的另一结构示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

针对现有技术中存在的虚拟机高可用性无法保证的的问题,本发明实施例提供的基于云环境虚拟机的高可用保护方法,首先对本发明实施例应用的云环境进行一个整体框架介绍,具体参照图1,云管理平台服务器统一管理多个虚拟化服务器主机及运行在虚拟化服务器主机上的虚拟机,负责资源的整合与优化;虚拟机服务监控插件安装在各个虚拟机上,用于对当前虚拟机上运行的应用服务程序进行高可用配置及管理。云管理平台服务器可以配置管理各个虚拟机要监控的应用服务,云管理平台服务器与虚拟机服务监控插件共同工作完成虚拟机上应用服务程序的保护工作。虚拟机服务监控插件发现应用服务程序异常时可重新启动该故障的应用服务程序,也可通知云管理平台服务器进行处理。

下面对本发明实施例提供的一种基于云环境虚拟机的高可用保护方法进行具体介绍,该方法应用于虚拟化服务器主机,具体实现的流程如图2所示,执行步骤如下:

步骤201,所述虚拟化服务器主机上各个虚拟机对应的虚拟机服务监控插件对运行在各自虚拟机上的应用服务程序进行监控;

步骤202,当监控到第一虚拟机的第一应用服务程序异常,更新所述第一应用服务程序的故障频率;

这里,第一虚拟机可以为云管理平台服务器所管理的任一虚拟化服务器主机上任一虚拟机上运行的任一应用服务程序,这里,为了方便表述,将监控的某一出现异常的应用服务程序记为第一应用服务程序,同理,将运行第一应用服务程序的虚拟机记为第一虚拟机。

步骤203,判断所述故障频率是否超过预设阈值;

这里,所述预设阈值可以根据经验和需求进行设定,例如可以为3、5等等。

步骤204,当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述第一虚拟机迁移至其他虚拟化服务器主机。

进一步地,当所述故障频率未超过所述预设阈值时,所述方法,还包括:

停止所述第一应用服务程序;具体通过调用停止脚本停止所述第一应用服务程序,如果停止脚本执行失败,则调用高权重执行停止脚本停止所述第一应用服务程序或执行强制停止命令,使所述第一应用服务程序停止;

检测所述第一应用服务程序的运行环境,若无异常,重新启动所述第一应用服务程序。

其中,所述当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的故障频率包括:

当监控到所述第一应用服务程序运行异常时,将所述第一应用服务程序的故障频率加一;

当监控到所述第一应用服务程序重新启动失败时,将所述第一应用服务程序的故障频率更新为无穷大。

进一步地,所述方法,还包括:

当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的异常记录;具体地,这里可以记录所述第一应用服务程序异常发生的时间等等。

当监控到所述第一应用服务程序重新启动成功时,清空所述第一应用服务程序的异常记录,并将所述第一应用服务程序的故障频率初始化为0。

进一步地,所述方法,还包括:

接收来自所述云管理平台服务器的重启通知;

重新启动所述重启通知对应的应用服务程序;这里,应用服务程序可以在一次启动失败后,根据故障频率进行重启操作,也可以在云管理平台将异常的应用服务程序所在的虚拟机进行迁移后,发送重启通知给迁移后的虚拟机以进行重启操作。

上述实施例是以虚拟化服务器主机作为执行主体进行的描述,下面将以云管理服务平台服务器作为执行主体,对本发明实施例提供的基于云环境虚拟机的高可用保护方法进行进一步描述,本发明实施例提供的基于云环境虚拟机的高可用保护方法,应用于云管理平台服务器,具体执行步骤如图3所示,包括:

步骤301,接收虚拟化服务器主机上的虚拟机服务监控插件发来的迁移通知;

步骤302,确定运行所述迁移通知对应的虚拟机,根据所述虚拟机确定对应的第一虚拟化服务器主机;

步骤303,根据预先配置的迁移策略,从所述云管理平台服务器所管理的虚拟化服务器主机中选择一台虚拟化服务器主机作为目标虚拟化服务器主机,所述目标虚拟化服务器主机与所述第一虚拟化服务器主机不同;

具体地,可以通过执行热迁移(livemigration),又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍平滑运行,用户不会察觉到任何差异。

步骤304,将所述虚拟机迁移至所述目标虚拟化服务器主机。

具体地,虚拟机热迁移可以用vmotion迁移实现,具体过程如下:

1、请求vmotion迁移时,vcenterserver会验证虚拟机与虚拟化服务器主机状态是否稳定;

2、此时,源虚拟化服务器主机将虚拟机内存克隆到新虚拟化服务器主机;

源虚拟化服务器主机将克隆期间发生改变的内存信息记录在内存对应图上(又称为心电图);

3、当虚拟机内存数据迁移到新虚拟化服务器主机后,源虚拟化服务器主机会使虚拟机处于静止状态,此时虚拟机无法提供服务(仅仅一两秒钟而已),然后将内存对应图克隆到新虚拟化服务器主机。静止状态所需要的时间极为短暂;

4、新虚拟化服务器主机再根据内存对应图恢复内存数据,完成后两台虚拟化服务器主机对于这台虚拟机的内存就完全一致;

5、最后在新虚拟化服务器主机运行该虚拟机,并在源虚拟化服务器主机中自动删除内存数据。

进一步地,所述方法,还包括:

完成所述虚拟机迁移后,发送重启通知给所述目标虚拟机服务器主机以重新启动出现异常的应用服务程序。

基于同一发明构思,本发明实施例还提供一种基于云环境虚拟机的高可用保护装置,该装置可以应用于虚拟化服务器主机,与运行在所述虚拟化服务器主机上的虚拟机一一对应,结构如图4所示,包括:监控单元41、更新单元42、判断单元43以及处理单元44;其中,

所述监控单元41,用于对对应虚拟机上的应用服务程序进行监控;

所述更新单元42,用于当第一应用服务程序异常,更新所述第一应用服务程序的故障频率;

所述判断单元43,用于判断所述故障频率是否超过预设阈值;

所述处理单元44,用于当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述虚拟机迁移至其他虚拟化服务器主机。

其中,所述处理单元44,还用于

当所述故障频率未超过所述预设阈值时,停止所述第一应用服务程序;

检测所述第一应用服务程序的运行环境,若无异常,重新启动所述第一应用服务程序。

其中,所述更新单元42,具体用于:

当所述第一应用服务程序运行异常时,将所述第一应用服务程序的故障频率加一;当监控到所述第一应用服务程序重新启动失败时,将所述第一应用服务程序的故障频率更新为无穷大。

进一步地,所述更新单元42,还用于:

当监控到所述第一应用服务程序异常,更新所述第一应用服务程序的异常记录;

当监控到所述第一应用服务程序重新启动成功时,清空所述第一应用服务程序的异常记录,并将所述第一应用服务程序的故障频率初始化为0。

进一步地,所述处理单元44,还用于:

接收来自所述云管理平台服务器的重启通知;

重新启动所述重启通知对应的应用服务程序。

应当理解,本发明实施例提供的装置实现原理及过程与上述图2及所示的实施例类似,在此不再赘述。

基于同一发明构思,本发明实施例还提供一种基于云环境虚拟机的高可用保护装置,所述装置应用于云管理平台服务器,结构如图5所示,包括:接收单元51、确定单元52、选择单元53以及迁移单元54;其中,

所述接收单元51,用于接收虚拟化服务器主机发来的迁移通知;

所述确定单元52,用于确定运行所述迁移通知对应的虚拟机,根据所述虚拟机确定对应的第一虚拟化服务器主机;

所述选择单元53,用于根据预先配置的迁移策略,从所述云管理平台服务器所管理的虚拟化服务器主机中选择一台虚拟化服务器主机作为目标虚拟化服务器主机,所述目标虚拟化服务器主机与所述第一虚拟化服务器主机不同;

所述迁移单元54,用于将所述虚拟机迁移至所述目标虚拟化服务器主机。

进一步地,所述迁移单元54,还用于:

完成所述虚拟机迁移后,发送重启通知给所述目标虚拟化服务器主机以重新启动出现异常的应用服务程序。

应当理解,本发明实施例提供的装置实现原理及过程与上述图3及所示的实施例类似,在此不再赘述。

本发明实施例提供的基于云环境虚拟机的高可用保护方法及装置,虚拟化服务器主机上各个虚拟机对应的虚拟机服务监控插件对运行在各自虚拟机上的应用服务程序进行监控;当监控到第一虚拟机的第一应用服务程序异常,更新所述第一应用服务程序的故障频率;判断所述故障频率是否超过预设阈值;当所述故障频率超过所述预设阈值时,发送迁移通知给所述虚拟化服务器主机对应的云管理平台服务器以将所述第一虚拟机迁移至其他虚拟化服务器主机。本发明实施例通过对运行在虚拟机上的应用服务程序进行实时监控,当所述应用服务程序出现异常,根据故障频率进行相应处理,可以重新启动,也可以直接通知云管理平台服务器进行虚拟机迁移,提高了应用服务程序功能的连续性,保证了虚拟机的高可用性,提升了用户使用体验。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1