一种虚拟机故障处理方法和装置与流程

文档序号:15828897发布日期:2018-11-03 00:14阅读:114来源:国知局

本发明涉及通信领域,尤指一种虚拟机故障处理方法和装置。

背景技术

虚拟化是一种能够充分利用物理资源,通过互联网实现计算资源的共享的物理模型。按需的资源和服务,对资源进行动态分配是虚拟化技术的特点,虚拟化技术不断发展的同时,虚拟机作为虚拟化技术实现的焦点,如何保证虚拟机在使用过程中的高可用也成为当前热点问题。

实际生产环境中虚拟机在建立以后发生故障的风险就一直存在,且当虚拟机资源不足、压力过大时虚拟机发生故障的风险随之增高,当虚拟机故障后不能够及时处理直接导致虚拟机内业务不可用,严重影响用户体验。因此,如何设计一套虚拟机的高可用系统满足用户高可用的需求,实现虚拟机故障及时处理成为一个需要迫切解决的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种虚拟机故障处理方法和装置,可实现虚拟机的高可用。

为了达到本发明目的,第一方面,本发明提供了一种虚拟机故障处理方法,包括:

监听虚拟机故障事件;

在监听到虚拟机故障时,按照预设的处理模式进行故障处理。

第二方面,本发明提供了一种虚拟机故障处理装置,包括:

监控模块,用于监听虚拟机故障事件;

处理模块,用于在监听到虚拟机故障时,按照预设的处理模式进行故障处理。

第三方面,本发明提供了虚拟机故障处理装置,包括存储器和处理器,存储器用于存储执行指令;处理器调用所述执行指令,用于执行如第一方面实施例所述的虚拟机故障处理方法。

第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现第一方面实施例所述的方法的步骤。

本发明提供的虚拟机故障处理方法和装置,在监听到虚拟机故障事件后,可直接按照用户预先设置的预设的处理模块进行故障处理,实现虚拟机的高可用,及大的提高了虚拟机的容错能力;而无需在出现虚拟故障事件后,向用户咨询或提示,在用户执行相应操作后,比如,选择重启还是关闭虚拟机,才进行故障处理。同时,预设的处理模式包括自动处理和强制处理模式,且强制处理可选择强制重启或强制关机,在自动处理模式下能够根据当前物理主机资源情况自动做出相应处理,可实现向用户提供多种高可用处理策略,实现虚拟机的高可用,及大的提高了虚拟机的容错能力。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的虚拟机故障处理方法的流程图;

图2为本发明实施例一提供的虚拟机故障处理装置的结构示意图;

图3为本发明实施例二提供的虚拟机故障处理装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例提供的虚拟机故障处理方法的流程图,如图1所示,本发明实施例提供的虚拟机故障处理方法,用于实现虚拟机高可用,包括:

s101:监听虚拟机故障事件。

具体的,可通过虚拟机中的监控模块完成虚拟机事件监控功能,监控模块通过事件端口实时监听虚拟机故障事件,及时捕获虚拟机事件并及时上报给处理模块。

s102:在监听到虚拟机故障时,按照预设的处理模式进行故障处理。

具体的,可通过虚拟机中的处理模块主完成虚拟机故障处理,其在接收到监控模块上报的虚拟机故障事件后,可直接按照预设的处理模块进行故障处理,实现虚拟机的高可用,及大的提高了虚拟机的容错能力;而无需在出现虚拟故障事件后,向用户咨询或提示,在用户执行相应操作后,比如,选择重启还是关闭虚拟机,才进行故障处理。

其中,预设的处理模式是用户预先设置好的,预设的处理模式可以包括:自动处理模式和强制处理模式。

一种实现方式:用户可直接在每一个虚拟上设置好虚拟机的故障处理,具体为,用户操作页面设置虚拟机高可用,并设置处理器的高可用处理策略为自动处理或者强制处理,当选择为强制处理时需选择强制关机或者强制重启。比如,有两个虚拟机:虚拟机1和虚拟机2,用户预先设置虚拟机1中故障的处理模式为强制处理模式,且为强制重启,预先设置虚拟机2中故障的处理模式为自动处理模式,这样,在出现故障时,虚拟机1以强制处理模式进行故障处理,虚拟机2以自动处理模式进行故障处理。

可选的,预设的处理模式可以根据虚拟机的重要程度而定,比如,对于重要的虚拟机可设置故障的处理模式为强制处理模式,对于不重要的虚拟机可设置故障的处理模式为自动处理模式。

另一种实现方式:用户可在虚拟机中设置虚拟机与预设的处理模式的对应关系,或者设置故障类型与预设的处理模式的对应关系,在监听到虚拟机故障时,处理模块通过查询预先设置的虚拟机与预设的处理模式或故障类型与预设的处理模式的对应关系,确定该虚拟机的预设的处理模式,按照确定出的预设的处理模式进行故障处理。

需要说明的是,本发明实施例中,确定监听的虚拟机事件是否是虚拟机故障事件与现有技术的实现原理相同,本发明实施例在此不进行限定和赘述。

本发明实施例提供的虚拟机故障处理方法,在监听到虚拟机故障事件后,可直接按照预设的处理模块进行故障处理,实现虚拟机的高可用,及大的提高了虚拟机的容错能力;而无需在出现虚拟故障事件后,向用户咨询或提示,在用户执行相应操作后,比如,选择重启还是关闭虚拟机,才进行故障处理。

进一步,在上述实施例中,预设的处理模式包括:自动处理模式;按照预设的处理模式进行故障处理,包括:

确定虚拟机所在物理主机的当前资源使用率;判断当前资源使用率是否高于预设阈值;在当前资源使用率高于或等于预设阈值时,关闭故障虚拟机并发出警告;在当前资源使用率低于预设阈值时,重启故障虚拟机。

具体的,在预设的处理模式为自动处理模式,即用户预先设置为自动处理模式时,通过判断虚拟机所在物理主机的当前资源使用率,以确定关闭还是重启故障虚拟机。其中,预设阈值可以是虚拟机默认的,也可以是用户根据自身需求预先设置的。可选的,预设阈值为90。

可选的,确定虚拟机所在物理主机的当前资源使用率,包括:根据当前cpu和内存的使用率计算当前物理主机的资源使用率ret,具体方法为:若cpu使用率=100%,或者内存使用率=100%,则ret=100;否则,ret=cpu使用率*0.5+内存使用率*0.5。

可选的,确定虚拟机所在物理主机的当前资源使用率,还包括:根据当前存储情况计算当前物理主机的资源使用率ret,具体方法:若当前存储总量为0、使用量为0,则ret=100。

具体的,处理模块获取当前虚拟机所在物理主机的资源使用情况,根据当前存储情况、cpu和内存的使用率计算当前物理主机的资源使用率ret,计算方法为:1.若cpu使用率=100%或者内存使用率=100%,则ret=100。2.若cpu使用率!=100%且内存使用率!=100%,则ret=cpu使用率*0.5+内存使用率*0.5。3.特别的,当前存储总量为0、使用量为0,即存储损坏或者故障,此时直接ret=100。

可选的,本发明实施例提供的虚拟机故障处理方法,还包括:预先设置重启故障虚拟机的最大重启次数;在重启故障虚拟机的次数达到最大重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

具体的,本发明实施例在重启故障虚拟机时,设置有重启故障虚拟机的最大重启次数,在重启故障虚拟机的次数达到最大重启次数仍为成功重启时,关闭故障虚拟机并发出警告,避免了虚拟机在出现故障时不断的重复重启。其中,最大重启次数可以是虚拟机默认的,也可以是用户根据自身需求预先设置的。可选的,最大重启次数为3次。

本发明实施例中,在预设的处理模式为自动处理模式,即用户预先设置为自动处理模式时,获取当前虚拟机所在物理主机的资源使用情况,根据当前资源使用率计算结果ret,若ret>=90,则关闭虚拟机并发出警告,若ret<90,则尝试重启虚拟机,如果3次产生均不能成功则关闭虚拟机并发出警告。

进一步,在上述实施例中,预设的处理模式包括:强制处理模式;按照预设的处理模式进行故障处理,包括:

监听到虚拟机故障,强制关闭故障虚拟机;或者,监听到虚拟机故障,强制重启故障虚拟机。

具体的,在预设的处理模式为强制处理模式,即用户预先设置为强制处理模式时,本发明实施例提供了强制关闭故障虚拟机和强制重启故障虚拟机两种强制处理模式,若是强制关闭故障虚拟机,即监听到故障事件时直接强制关闭虚拟机;若是强制重启故障虚拟机,即监听到故障事件强制时直接重启虚拟机。

需要说明的是,当用户预先设置为强制处理模式时,需要设置是强制关闭还是强制重启。

可选的,本发明实施例提供的虚拟机故障处理方法,还包括:预先设置强制重启故障虚拟机的最大强制重启次数;在强制重启故障虚拟机的次数达到最大强制重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

具体的,本发明实施例在强制重启故障虚拟机时,设置有强制重启故障虚拟机的最大强制重启次数,在强制重启故障虚拟机的次数达到最大强制重启次数仍为成功重启时,关闭故障虚拟机并发出警告,避免了虚拟机在出现故障时不断的重复强制重启。其中,最大强制重启次数可以是虚拟机默认的,也可以是用户根据自身需求预先设置的。可选的,最大强制重启次数为3次。

本发明实施例中,根据用户设置,若是强制关机,即处理模块接收到监控模块发送的故障事件直接强制关闭虚拟机;若是强制重启,即处理模块接收到监控模块发送的故障事件强制直接重启虚拟机,强制重启最大次数为3,若尝试3次都未能成功则关闭虚拟机发出警告。

本发明实施例提供的虚拟机故障处理方法,在监听到虚拟机故障事件后,可直接按照用户预先设置的预设的处理模块进行故障处理,实现虚拟机的高可用,及大的提高了虚拟机的容错能力;而无需在出现虚拟故障事件后,向用户咨询或提示,在用户执行相应操作后,比如,选择重启还是关闭虚拟机,才进行故障处理。同时,预设的处理模式包括自动处理和强制处理模式,且强制处理可选择强制重启或强制关机,在自动处理模式下能够根据当前物理主机资源情况自动做出相应处理,可实现向用户提供多种高可用处理策略,实现虚拟机的高可用,及大的提高了虚拟机的容错能力。

图2为本发明实施例一提供的虚拟机故障处理装置的结构示意图,如图2所示,本发明实施例提供的虚拟机故障处理装置,包括:监控模块21和处理模块22。

监控模块21,用于监听虚拟机故障事件;

处理模块22,用于在监听到虚拟机故障时,按照预设的处理模式进行故障处理。

本发明实施例提供的虚拟机故障处理装置用于执行图1所示方法实施例的技术方案,其实现原理和实现效果类似,此处不再赘述。

进一步地,在上述实施例中,所述预设的处理模式包括:自动处理模式;

处理模块22按照预设的处理模式进行故障处理,包括:

确定所述虚拟机所在物理主机的当前资源使用率;判断所述当前资源使用率是否高于预设阈值;在所述当前资源使用率高于或等于预设阈值时,关闭故障虚拟机并发出警告;或者;在所述当前资源使用率低于预设阈值时,重启故障虚拟机;

进一步地,在上述实施例中,处理模块22确定所述虚拟机所在物理主机的当前资源使用率,包括:根据当前cpu和内存的使用率计算当前物理主机的资源使用率ret,包括:

若cpu使用率=100%,或者内存使用率=100%,则ret=100;否则,ret=cpu使用率*0.5+内存使用率*0.5。

进一步地,在上述实施例中,处理模块22确定所述虚拟机所在物理主机的当前资源使用率,还包括:根据当前存储情况计算当前物理主机的资源使用率ret,包括:

若当前存储总量为0、使用量为0,则ret=100.

进一步地,在上述实施例中,处理模块22,还用于:

预先设置重启故障虚拟机的最大重启次数;在重启故障虚拟机的次数达到所述最大重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

进一步地,在上述实施例中,所述预设的处理模式包括:强制处理模式;

处理模块22按照预设的处理模式进行故障处理,包括:

监听到虚拟机故障,强制关闭故障虚拟机;或者;监听到虚拟机故障,强制重启故障虚拟机。

进一步地,在上述实施例中,处理模块22还用于:

预先设置强制重启故障虚拟机的最大强制重启次数;在强制重启故障虚拟机的次数达到所述最大强制重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

图3为本发明实施例二提供的虚拟机故障处理装置的结构示意图,如图3所示,本发明实施例提供的虚拟机故障处理装置,包括:存储器31和处理器32。

存储器31用于存储执行指令,处理器32可以是一个中央处理器(centralprocessingunit,简称cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称asic),或者完成实施本发明实施例的一个或多个集成电路。当虚拟机故障处理装置运行时,处理器32与存储器31之间通信,处理器32调用执行指令,用于执行以下操作:

监听虚拟机故障事件;

在监听到虚拟机故障时,按照预设的处理模式进行故障处理。

进一步地,所述预设的处理模式包括:自动处理模式;

处理器32按照预设的处理模式进行故障处理,包括:

确定所述虚拟机所在物理主机的当前资源使用率;

判断所述当前资源使用率是否高于预设阈值;

在所述当前资源使用率高于或等于预设阈值时,关闭故障虚拟机并发出警告;

或者;

在所述当前资源使用率低于预设阈值时,重启故障虚拟机。

进一步地,处理器32确定所述虚拟机所在物理主机的当前资源使用率,包括:

根据当前cpu和内存的使用率计算当前物理主机的资源使用率ret,包括:

若cpu使用率=100%,或者内存使用率=100%,则ret=100;

否则,ret=cpu使用率*0.5+内存使用率*0.5。

进一步地,处理器32确定所述虚拟机所在物理主机的当前资源使用率,还包括:

根据当前存储情况计算当前物理主机的资源使用率ret,包括:

若当前存储总量为0、使用量为0,则ret=100。

进一步地,处理器32还用于:

预先设置重启故障虚拟机的最大重启次数;

在重启故障虚拟机的次数达到所述最大重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

进一步地,所述预设的处理模式包括:强制处理模式;

处理器32按照预设的处理模式进行故障处理,包括:

监听到虚拟机故障,强制关闭故障虚拟机;

或者;

监听到虚拟机故障,强制重启故障虚拟机。

进一步地,处理器32还用于:

预先设置强制重启故障虚拟机的最大强制重启次数;

在强制重启故障虚拟机的次数达到所述最大强制重启次数仍为成功重启时,关闭故障虚拟机并发出警告。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现上述任一实施例所述的虚拟机故障处理方法的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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