CN117492922A - 一种虚拟机故障恢复方法、装置、设备及介质 - Google Patents

一种虚拟机故障恢复方法、装置、设备及介质 Download PDF

Info

Publication number
CN117492922A
CN117492922A CN202311462203.8A CN202311462203A CN117492922A CN 117492922 A CN117492922 A CN 117492922A CN 202311462203 A CN202311462203 A CN 202311462203A CN 117492922 A CN117492922 A CN 117492922A
Authority
CN
China
Prior art keywords
virtual machine
fault
priority
service
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311462203.8A
Other languages
English (en)
Inventor
王延家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202311462203.8A priority Critical patent/CN117492922A/zh
Publication of CN117492922A publication Critical patent/CN117492922A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种虚拟机故障恢复方法、装置、设备及介质,涉及虚拟机技术领域。在本方案中,当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。

Description

一种虚拟机故障恢复方法、装置、设备及介质
技术领域
本发明涉及虚拟机技术领域,特别是涉及一种虚拟机故障恢复方法、装置、设备及介质。
背景技术
目前,私有云的物理主机上运行的系统组件越来越多。其中,在私有云的物理主机中存在这样的业务系统,该业务系统包括前端服务器和本地数据库,除此之外还会与其依赖的后端服务器或其他业务系统进行交互,协作达成本业务系统对外提供的服务,这样的业务系统通常称为复杂业务系统。一个复杂业务系统通常由多个虚拟机组成,每个虚拟机负责运行不同的业务处理单元;例如,包括运行万维网(World Wide Web,web)应用的虚拟机,运行应用程序(application,app)业务的虚拟机以及运行数据库的虚拟机。这些虚拟机中的业务相互完整配合,对外提供一个完整的复杂业务。为了保证复杂业务系统的高可用要求,当其虚拟机故障时,需要快速地处理并恢复虚拟机的运行。
然而,当前对故障虚拟机的高可用恢复基本都是针对单个虚拟机。由于复杂业务通常由多个虚拟机组成,因此对故障的单个虚拟机的恢复,没有考虑到各虚拟机中运行的业务之间的关联关系,不能满足复杂业务系统下的高可用要求。
鉴于上述问题,如何解决当前复杂业务系统中故障虚拟机的恢复没有考虑到各虚拟机业务间的关联关系,是该领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种虚拟机故障恢复方法、装置、设备及介质,以解决当前复杂业务系统中故障虚拟机的恢复没有考虑到各虚拟机业务间的关联关系的问题。
为解决上述技术问题,本发明提供一种虚拟机故障恢复方法,包括:
当识别到故障虚拟机时,判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联;
若否,则根据通用处理逻辑启动恢复所述故障虚拟机;
若是,则获取所述故障虚拟机对应的优先级和优先级等级间隔时间;
根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机。
一方面,所述判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联包括:
判断所述故障虚拟机是否属于所述主机中的任一业务系统;其中,所述业务系统的数量为多个,各所述业务系统中均包含多个业务关联的所述虚拟机;
若是,则确认所述故障虚拟机与所述主机中的其他所述虚拟机存在业务关联;
若否,则确认所述故障虚拟机与所述主机中的其他所述虚拟机不存在业务关联。
另一方面,在识别所述故障虚拟机之前,还包括:
创建多个应用管理组;其中,各所述应用管理组与各所述业务系统一一对应;
将各所述业务系统中的所述虚拟机移入到对应的所述应用管理组中,以用于通过对应的所述应用管理组分别对各所述业务系统中各所述虚拟机进行统一管理;其中,统一管理方式至少包含启动、关闭、暂停以及生命周期管理的操作;
分别获取各所述业务系统对应的业务需求;
基于各所述业务系统的所述业务需求对应生成多个管理策略模板;其中,所述管理策略模板中包含各所述虚拟机对应的所述优先级和所述优先级等级间隔时间的优先级参数;
将所述管理策略模板存储于本地数据库;
开放对所述管理策略模板的读写权限,以便于当接收到新的所述业务需求时对所述管理策略模板进行修改;
基于各所述业务需求,将各所述应用管理组与各所述管理策略模板进行对应绑定,以用于将所述应用管理组管理的所述虚拟机与所述管理策略模板中的优先级参数进行映射。
另一方面,在所述将各所述应用管理组与各所述管理策略模板进行对应绑定之后,还包括:
获取更新后的所述业务需求;
根据更新后的所述业务需求对应调整各所述虚拟机对应的所述优先级等级间隔时间。
另一方面,所述判断所述故障虚拟机是否属于所述主机中的任一业务系统包括:
遍历各所述应用管理组,判断所述故障虚拟机是否由任一所述应用管理组进行管理;
若否,则确认所述故障虚拟机不属于所述主机中的任一所述业务系统;
若是,则确认所述故障虚拟机属于所述主机中的一个所述业务系统。
另一方面,所述获取所述故障虚拟机对应的优先级和优先级等级间隔时间包括:
根据对应的所述应用管理组中映射的各所述虚拟机的优先级参数,获取所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间。
另一方面,当所述故障虚拟机的数量为多个时,所述根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机包括:
根据多个所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间生成各所述故障虚拟机之间的启动恢复顺序;
根据所述启动恢复顺序启动恢复各所述故障虚拟机。
为解决上述技术问题,本发明还提供一种虚拟机故障恢复装置,包括:
判断模块,用于当识别到故障虚拟机时,判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则触发第一启动恢复模块;若是,则触发获取模块;
所述第一启动恢复模块,用于根据通用处理逻辑启动恢复所述故障虚拟机;
所述获取模块,用于获取所述故障虚拟机对应的优先级和优先级等级间隔时间;
第二启动恢复模块,用于根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机。
为解决上述技术问题,本发明还提供一种虚拟机故障恢复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的虚拟机故障恢复方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的虚拟机故障恢复方法的步骤。
本发明所提供的虚拟机故障恢复方法,当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则根据通用处理逻辑启动恢复故障虚拟机;若是,则获取故障虚拟机对应的优先级和优先级等级间隔时间;根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。本发明的有益效果在于,当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。
此外,本发明还提供了一种虚拟机故障恢复装置、设备及介质,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机故障恢复方法的流程图;
图2为本发明实施例提供的一种虚拟机故障恢复装置的示意图;
图3为本发明实施例提供的一种虚拟机故障恢复设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种虚拟机故障恢复方法、装置、设备及介质,以解决当前复杂业务系统中故障虚拟机的恢复没有考虑到各虚拟机业务间的关联关系的问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
目前,私有云的物理主机上运行的系统组件越来越多。其中,一个复杂业务系统通常由多个虚拟机组成,每个虚拟机负责运行不同的业务处理单元。各虚拟机中的业务相互完整配合,对外提供一个完整的复杂业务。为了保证复杂业务系统的高可用要求,当其虚拟机故障时,需要快速地处理并恢复虚拟机的运行。然而,当前对故障虚拟机的高可用恢复基本都是针对单个虚拟机。对故障的单个虚拟机的恢复没有考虑到各虚拟机中运行的业务之间的关联关系,不能满足复杂业务系统下的高可用要求。鉴于上述问题,本发明提供了一种虚拟机故障恢复方法。
需要注意的是,本发明所提供的方法应用于私有云业务系统中虚拟机的恢复,但是不对本发明所提供的方法的应用场景造成限制。在具体实施中,还可将本方法应用于其他具有业务关联性的虚拟机故障恢复,根据具体的实施情况而定。
图1为本发明实施例提供的一种虚拟机故障恢复方法的流程图。如图1所示,方法包括:
S10:当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则进入步骤S11;若是,则进入步骤S12。
可以理解的是,在私有云的物理主机上,一个复杂的业务系统通常由多个虚拟机组成。多个虚拟机分别运行不同的业务处理单元,这些虚拟机中的业务相互完整配合,以对外提供一个完整的业务。当识别到业务系统中的虚拟机发生故障时,需要对其进行故障恢复,保证业务系统能够正常对外提供业务。但是,业务系统中的各虚拟机之间存在业务关联,例如运行app业务的虚拟机需要从运行数据库的虚拟机中获取数据,需要从运行web应用的虚拟机中获取网络服务等。因此,当业务系统中发生虚拟机故障时,不光需要快速地恢复故障虚拟机,还需要考虑故障虚拟机中与系统中其他虚拟机之间的关联关系。
具体地,当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联。本实施例中对于判断故障虚拟机是否与主机中的其他虚拟机存在业务关联的具体方式不做限制,例如可判断故障虚拟机是否与主机中的其他虚拟机属于同一个业务系统,当属于一个业务系统时确认存在业务关联;还可获取故障虚拟机与其他虚拟机全部的关联关系,判断故障虚拟机与主机中的其他虚拟机之间的关联关系是否为业务关联,以此确认是否存在业务关联,根据具体的实施情况而定。若确认不存在业务关联,则进入步骤S11;若确认存在业务关联,则进入步骤S12。
S11:根据通用处理逻辑启动恢复故障虚拟机。
当确认故障虚拟机与主机中的其他虚拟机不存在业务关联时,则可以认为当前的故障虚拟机不参与私有云业务处理。也就是说,对故障虚拟机的恢复无需考虑到与其他虚拟机之间的关联关系,可直接通过通用处理逻辑对故障虚拟机进行启动恢复。
需要注意的是,本实施例中对于利用通用处理逻辑启动恢复故障虚拟机的过程不做限制,根据具体的实施情况而定。
S12:获取故障虚拟机对应的优先级和优先级等级间隔时间。
当确认故障虚拟机与主机中的其他虚拟机存在业务关联时,则可以认为当前的故障虚拟机参与私有云业务处理,具体参与某一业务系统的业务处理。也就是说,对故障虚拟机的恢复需要考虑到与其他虚拟机之间的关联关系。因此,为实现故障虚拟机启动恢复,在具体实施中,首先需要获取故障虚拟机对应的优先级和优先级等级间隔时间。
需要注意的是,在业务系统中,各虚拟机的运行存在对应的优先级和优先级等级间隔时间。例如,假设业务系统X中存在虚拟机a、虚拟机b、虚拟机c、虚拟机d共4个虚拟机,虚拟机a和虚拟机b的优先级为高,虚拟机c的优先级为中,虚拟机d的优先级为低,各虚拟机的优先级等级间隔时间相等,均为t;则当业务系统X运行时,虚拟机a和虚拟机b的优先级最高且相等,因此虚拟机a和虚拟机b最先且同时运行业务;经过优先级等级间隔时间t后,优先级为中的虚拟机c运行业务;最后,再经过优先级等级间隔时间t之,优先级为低的虚拟机d运行业务。
本实施例中对于故障虚拟机对应的优先级和优先级等级间隔时间的具体获取方式不做限制,根据具体的实施情况而定。
S13:根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。
进一步地,在得到故障虚拟机对应的优先级和优先级等级间隔时间之后,为了恢复故障虚拟机的运行,充分考虑到故障虚拟机与业务系统中其他虚拟机业务的业务关联,具体根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。
需要注意的是,本实施例中对于根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机的具体过程不做限制,根据具体的实施情况而定。例如,可依据故障虚拟机对应的优先级和优先级等级间隔时间,对所属业务系统中的全部虚拟机进行重新启动,以恢复故障虚拟机;还可根据业务系统中虚拟机的运行情况,按照故障虚拟机对应的优先级和优先级等级间隔时间对故障虚拟机进行恢复启动,以恢复故障虚拟机。
本实施例中,当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则根据通用处理逻辑启动恢复故障虚拟机;若是,则获取故障虚拟机对应的优先级和优先级等级间隔时间;根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。由此可知,上述方案当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。
为了确认故障虚拟机与主机中的其他虚拟机是否存在业务关联,在上述实施例的基础上,在一些实施例中,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联包括:
S100:判断故障虚拟机是否属于主机中的任一业务系统。若是,则进入步骤S101;若是,则进入步骤S102。
其中,业务系统的数量为多个,各业务系统中均包含多个业务关联的虚拟机。
S101:确认故障虚拟机与主机中的其他虚拟机存在业务关联。
S102:确认故障虚拟机与主机中的其他虚拟机不存在业务关联。
在具体实施中,物理主机中的业务系统可存在多个,分别对应执行不同的复杂业务。而各业务系统中均包含多个业务关联的虚拟机。因此,为了判断故障虚拟机是否与主机中的其他虚拟机存在业务关联,可具体判断故障虚拟机是否属于主机中的任一业务系统。如果故障虚拟机属于主机中的某一业务系统,则确认故障虚拟机与主机中的其他虚拟机存在业务关联;如果故障虚拟机不属于主机中的任何一个业务系统,则确认故障虚拟机与主机中的其他虚拟机不存在业务关联。
本实施例中,通过判断故障虚拟机是否属于主机中的任一业务系统。若是,则确认故障虚拟机与主机中的其他虚拟机存在业务关联;若否,则确认故障虚拟机与主机中的其他虚拟机不存在业务关联,实现了故障虚拟机的类型的确认,以便于后续选择对应的启动恢复方式。
由于物理主机中各业务系统的虚拟机数量众多,为了保证各业务系统的正常运行,就需要对虚拟机进行统一管理。因此,在上述实施例的基础上,在一些实施例中,在识别故障虚拟机之前,方法还包括:
S14:创建多个应用管理组。
其中,各应用管理组与各业务系统一一对应。
S15:将各业务系统中的虚拟机移入到对应的应用管理组中,以用于通过对应的应用管理组分别对各业务系统中各虚拟机进行统一管理。
其中,统一管理方式至少包含启动、关闭、暂停以及生命周期管理的操作。
具体地,应用管理组是对一类复杂业务的抽象,在应用管理组中统一管理组成复杂业务的多个单元业务,也就是统一管理同一业务系统下的各个虚拟机。因此,在创建的多个应用管理组中,各应用管理组与各业务系统一一对应。
进一步将各业务系统中的虚拟机移入到对应的应用管理组中,以用于通过对应的应用管理组分别对各业务系统中各虚拟机进行统一管理。需要注意的是,应用管理组能够实现的统一管理方式至少包含启动、关闭、暂停以及生命周期管理的操作,还可实现其他的管理方式,根据具体的实施情况而定。
S16:分别获取各业务系统对应的业务需求。
S17:基于各业务系统的业务需求对应生成多个管理策略模板。
其中,管理策略模板中包含各虚拟机对应的优先级和优先级等级间隔时间的。
由于各业务系统能够实现不同的业务,因此各业务系统的业务需求也就不同。为了对业务系统中各虚拟机负责的业务执行的优先级情况进行管理,在本实施例中,分别获取各业务系统对应的业务需求,基于各业务系统的业务需求对应生成多个管理策略模板。
需要注意的是,管理策略模板能够将应用管理组中虚拟机的高可用策略抽象出来,使其独立于具体的应用管理组,从而使每个管理策略模板可以应用到多个应用管理组。本实施例中,创建并定义多个管理策略模板,以适用于不同的业务系统的业务需求。其中,管理策略模板包含对应于虚拟机的优先级参数,具体包括优先级,例如高、中高、中、中低、低等多个等级;还包括优先级等级间隔时间,单位为s。
S18:将管理策略模板存储于本地数据库。
S19:开放对管理策略模板的读写权限,以便于当接收到新的业务需求时对管理策略模板进行修改。
进一步地,将管理策略模板存储于本地数据库,实现了对管理策略模板的存储。同时,开放对管理策略模板的读写权限,也就是开放了对管理策略模板的修改权限,具体开放了对其中各虚拟机对应的优先级和优先级等级间隔时间的修改权限,以便于后续存在新的业务需求时,对应调整管理策略模板中的各虚拟机对应的优先级和优先级等级间隔时间。
S20:基于各业务需求,将各应用管理组与各管理策略模板进行对应绑定,以用于将应用管理组管理的虚拟机与管理策略模板中的优先级参数进行映射。
最后,基于各业务需求,将各应用管理组与各管理策略模板进行对应绑定,形成关联关系;基于关联关系,将应用管理组管理的虚拟机与管理策略模板中的优先级参数进行映射。例如,web应用虚拟机映射低优先级,app虚拟机中优先级,数据库虚拟机高优先级等。
本实施例中,通过引入应用管理组,实现了对业务系统下的多个虚拟机的集中统一管理。通过制定管理策略模板及其优先级参数,并将应用管理组及其管理的多个虚拟机与管理策略模板及其优先级参数进行绑定关联、映射,从整体全局上实现了对业务系统的高可用调度。
为了使业务系统的高可用调度适应用户的实际业务需求,在上述实施例的基础上,在一些实施例中,在将各应用管理组与各管理策略模板进行对应绑定之后,方法还包括:
S21:获取更新后的业务需求;
S22:根据更新后的业务需求对应调整各虚拟机对应的优先级等级间隔时间。
具体地,在业务系统中,将应用管理组及其管理的多个虚拟机与管理策略模板及其优先级参数进行绑定关联、映射之后,业务系统的业务需求可能会随着实际应用有所调整,这将导致原有的参数映射对于新的业务需求并不适用。为解决该问题,本实施例中首先获取更新后的业务需求;进一步根据更新后的业务需求对应调整各虚拟机对应的优先级等级间隔时间,以便于使业务系统的高可用调度适应用户的实际业务需求。
由上述实施例可知,应用管理组与各业务系统一一对应,因此在上述实施例的基础上,在一些实施例中,判断故障虚拟机是否属于主机中的任一业务系统包括:
S103:遍历各应用管理组,判断故障虚拟机是否由任一应用管理组进行管理;若否,则进入步骤S104;若否,则进入步骤S105。
S104:确认故障虚拟机不属于主机中的任一业务系统。
S105:确认故障虚拟机属于主机中的一个业务系统。
具体地,由于预先设置了管理业务系统内部各虚拟机的应用管理组,因此判断故障虚拟机是否属于主机中的任一业务系统,可具体通过遍历各应用管理组,判断故障虚拟机是否由任一应用管理组进行管理。当确认故障虚拟机由某一应用管理组进行管理,则确认故障虚拟机属于主机中的一个业务系统,也就确认了故障虚拟机与主机中的其他虚拟机存在业务关联;而当确认故障虚拟机不由任何一个应用管理组进行管理,则确认故障虚拟机不属于主机中任何一个业务系统,也就确认了故障虚拟机与主机中的其他虚拟机不存在业务关联,以便于后续选取合适的启动恢复方式恢复故障虚拟机。
在上述实施例的基础上,在一些实施例中,获取故障虚拟机对应的优先级和优先级等级间隔时间包括:
S120:根据对应的应用管理组中映射的各虚拟机的优先级参数,获取故障虚拟机对应的优先级和优先级等级间隔时间。
由上述实施例可知,管理策略模板包含对应于虚拟机的优先级参数,且将应用管理组及其管理的多个虚拟机与管理策略模板及其优先级参数进行了绑定关联和映射,因此为了获取故障虚拟机对应的优先级和优先级等级间隔时间,可具体根据故障虚拟机对应的应用管理组中映射的各虚拟机的优先级参数,获取故障虚拟机对应的优先级和优先级等级间隔时间,以便于后续重新启动恢复故障虚拟机。
在具体实施中,同一业务系统下可能同时存在多个故障虚拟机。为了对多个故障虚拟机进行启动恢复,在上述实施例的基础上,在一些实施例中,当故障虚拟机的数量为多个时,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机包括:
S130:根据多个故障虚拟机对应的优先级和优先级等级间隔时间生成各故障虚拟机之间的启动恢复顺序。
S131:根据启动恢复顺序启动恢复各故障虚拟机。
具体地,首先获取多个故障虚拟机对应的优先级和优先级等级间隔时间。进一步根据多个故障虚拟机对应的优先级和优先级等级间隔时间生成各故障虚拟机之间的启动恢复顺序,最后根据启动恢复顺序启动恢复各故障虚拟机。
以上述实施例中的业务系统X为例,当其中的虚拟机b和虚拟机c为故障虚拟机时,根据虚拟机b和虚拟机c对应的优先级和优先级等级间隔时间生成两个虚拟机间的启动恢复顺序,具体为先启动恢复虚拟机b,再启动恢复虚拟机c,从而实现了多个故障虚拟机的恢复启动,保证了复杂业务的可用性,确保系统持续稳定运行。
在上述实施例中,对于虚拟机故障恢复方法进行了详细描述,本发明还提供虚拟机故障恢复装置对应的实施例。
图2为本发明实施例提供的一种虚拟机故障恢复装置的示意图。如图2所示,虚拟机故障恢复装置包括:
判断模块10,用于当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则触发第一启动恢复模块11;若是,则触发获取模块12。
第一启动恢复模块11,用于根据通用处理逻辑启动恢复故障虚拟机。
获取模块12,用于获取故障虚拟机对应的优先级和优先级等级间隔时间。
第二启动恢复模块13,用于根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。
在一些实施例中,判断模块10包括:
第一判断子模块,用于判断故障虚拟机是否属于主机中的任一业务系统;其中,业务系统的数量为多个,各业务系统中均包含多个业务关联的虚拟机;若是,则触发第一确认模块;若否,则触发第二确认模块。
第一确认模块,用于确认故障虚拟机与主机中的其他虚拟机存在业务关联。
第二确认模块,用于确认故障虚拟机与主机中的其他虚拟机不存在业务关联。
在一些实施例中,装置还包括:
创建模块,用于创建多个应用管理组;其中,各应用管理组与各业务系统一一对应,用于分别对各业务系统中各虚拟机进行统一管理,管理方式至少包含启动、关闭、暂停以及生命周期管理的操作。
业务需求获取模块,用于分别获取各业务系统对应的业务需求。
模板生成模块,用于基于各业务系统的业务需求对应生成多个管理策略模板;其中,管理策略模板中包含各虚拟机对应的优先级和优先级等级间隔时间的优先级参数。
绑定模块,用于基于各业务需求,将各应用管理组与各管理策略模板进行对应绑定,以用于将应用管理组管理的虚拟机与管理策略模板中的优先级参数进行映射。
在一些实施例中,装置还包括:
业务需求监测模块,用于获取更新后的业务需求;
调整模块,用于根据更新后的业务需求对应调整各虚拟机对应的优先级等级间隔时间。
在一些实施例中,第一判断子模块包括:
第二判断子模块,遍历各应用管理组,判断故障虚拟机是否由任一应用管理组进行管理;若否,则触发第三确认模块;若是,则触发第四确认模块。
第三确认模块,用于确认故障虚拟机不属于主机中的任一业务系统。
第四确认模块,用于确认故障虚拟机属于主机中的一个业务系统。
在一些实施例中,获取模块12包括:
优先级参数获取子模块,用于根据对应的应用管理组中映射的各虚拟机的优先级参数,获取故障虚拟机对应的优先级和优先级等级间隔时间。
在一些实施例中,第二启动恢复模块13包括:
启动恢复顺序生成模块,用于根据多个故障虚拟机对应的优先级和优先级等级间隔时间生成各故障虚拟机之间的启动恢复顺序;
启动恢复子模块,用于根据启动恢复顺序启动恢复各故障虚拟机。
本实施例中,虚拟机故障恢复装置包括判断模块、第一启动恢复模块、获取模块和第二启动恢复模块。虚拟机故障恢复装置在运行时能够实现上述虚拟机故障恢复方法的全部步骤。当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则根据通用处理逻辑启动恢复故障虚拟机;若是,则获取故障虚拟机对应的优先级和优先级等级间隔时间;根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。由此可知,上述方案当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。
图3为本发明实施例提供的一种虚拟机故障恢复设备的示意图。如图3所示,虚拟机故障恢复设备包括:
存储器20,用于存储计算机程序。
处理器21,用于执行计算机程序时实现如上述实施例中所提到的虚拟机故障恢复方法的步骤。
本实施例提供的虚拟机故障恢复设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的虚拟机故障恢复方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于虚拟机故障恢复方法涉及到的数据。
在一些实施例中,虚拟机故障恢复设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对虚拟机故障恢复设备的限定,可以包括比图示更多或更少的组件。
本实施例中,虚拟机故障恢复设备包括存储器和处理器。存储器用于存储计算机程序。处理器用于执行计算机程序时实现如上述实施例中所提到的虚拟机故障恢复方法的步骤。当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则根据通用处理逻辑启动恢复故障虚拟机;若是,则获取故障虚拟机对应的优先级和优先级等级间隔时间;根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。由此可知,上述方案当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。当识别到故障虚拟机时,判断故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则根据通用处理逻辑启动恢复故障虚拟机;若是,则获取故障虚拟机对应的优先级和优先级等级间隔时间;根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机。由此可知,上述方案当识别到虚拟机故障时,如果确认故障虚拟机与其他虚拟机不存在业务关联,则采用通用处理逻辑对其进行启动恢复;如果确认故障虚拟机与其他虚拟机存在业务关联,为了避免故障虚拟机的启动恢复影响复杂业务系统中其他虚拟机业务的执行,根据故障虚拟机对应的优先级和优先级等级间隔时间启动恢复故障虚拟机,考虑到了各虚拟机运行业务之间的关联关系,有序地实现了故障虚拟机的快速恢复,满足了对复杂业务系统的高可用要求。
以上对本发明所提供的一种虚拟机故障恢复方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种虚拟机故障恢复方法,其特征在于,包括:
当识别到故障虚拟机时,判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联;
若否,则根据通用处理逻辑启动恢复所述故障虚拟机;
若是,则获取所述故障虚拟机对应的优先级和优先级等级间隔时间;
根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机。
2.根据权利要求1所述的虚拟机故障恢复方法,其特征在于,所述判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联包括:
判断所述故障虚拟机是否属于所述主机中的任一业务系统;其中,所述业务系统的数量为多个,各所述业务系统中均包含多个业务关联的所述虚拟机;
若是,则确认所述故障虚拟机与所述主机中的其他所述虚拟机存在业务关联;
若否,则确认所述故障虚拟机与所述主机中的其他所述虚拟机不存在业务关联。
3.根据权利要求2所述的虚拟机故障恢复方法,其特征在于,在识别所述故障虚拟机之前,还包括:
创建多个应用管理组;其中,各所述应用管理组与各所述业务系统一一对应;
将各所述业务系统中的所述虚拟机移入到对应的所述应用管理组中,以用于通过对应的所述应用管理组分别对各所述业务系统中各所述虚拟机进行统一管理;其中,统一管理方式至少包含启动、关闭、暂停以及生命周期管理的操作;
分别获取各所述业务系统对应的业务需求;
基于各所述业务系统的所述业务需求对应生成多个管理策略模板;其中,所述管理策略模板中包含各所述虚拟机对应的所述优先级和所述优先级等级间隔时间的优先级参数;
将所述管理策略模板存储于本地数据库;
开放对所述管理策略模板的读写权限,以便于当接收到新的所述业务需求时对所述管理策略模板进行修改;
基于各所述业务需求,将各所述应用管理组与各所述管理策略模板进行对应绑定,以用于将所述应用管理组管理的所述虚拟机与所述管理策略模板中的优先级参数进行映射。
4.根据权利要求3所述的虚拟机故障恢复方法,其特征在于,在所述将各所述应用管理组与各所述管理策略模板进行对应绑定之后,还包括:
获取更新后的所述业务需求;
根据更新后的所述业务需求对应调整各所述虚拟机对应的所述优先级等级间隔时间。
5.根据权利要求3或4所述的虚拟机故障恢复方法,其特征在于,所述判断所述故障虚拟机是否属于所述主机中的任一业务系统包括:
遍历各所述应用管理组,判断所述故障虚拟机是否由任一所述应用管理组进行管理;
若否,则确认所述故障虚拟机不属于所述主机中的任一所述业务系统;
若是,则确认所述故障虚拟机属于所述主机中的一个所述业务系统。
6.根据权利要求5所述的虚拟机故障恢复方法,其特征在于,所述获取所述故障虚拟机对应的优先级和优先级等级间隔时间包括:
根据对应的所述应用管理组中映射的各所述虚拟机的优先级参数,获取所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间。
7.根据权利要求6所述的虚拟机故障恢复方法,其特征在于,当所述故障虚拟机的数量为多个时,所述根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机包括:
根据多个所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间生成各所述故障虚拟机之间的启动恢复顺序;
根据所述启动恢复顺序启动恢复各所述故障虚拟机。
8.一种虚拟机故障恢复装置,其特征在于,包括:
判断模块,用于当识别到故障虚拟机时,判断所述故障虚拟机是否与主机中的其他虚拟机存在业务关联;若否,则触发第一启动恢复模块;若是,则触发获取模块;
所述第一启动恢复模块,用于根据通用处理逻辑启动恢复所述故障虚拟机;
所述获取模块,用于获取所述故障虚拟机对应的优先级和优先级等级间隔时间;
第二启动恢复模块,用于根据所述故障虚拟机对应的所述优先级和所述优先级等级间隔时间启动恢复所述故障虚拟机。
9.一种虚拟机故障恢复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的虚拟机故障恢复方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的虚拟机故障恢复方法的步骤。
CN202311462203.8A 2023-11-03 2023-11-03 一种虚拟机故障恢复方法、装置、设备及介质 Pending CN117492922A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311462203.8A CN117492922A (zh) 2023-11-03 2023-11-03 一种虚拟机故障恢复方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311462203.8A CN117492922A (zh) 2023-11-03 2023-11-03 一种虚拟机故障恢复方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117492922A true CN117492922A (zh) 2024-02-02

Family

ID=89682332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311462203.8A Pending CN117492922A (zh) 2023-11-03 2023-11-03 一种虚拟机故障恢复方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117492922A (zh)

Similar Documents

Publication Publication Date Title
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US20200081731A1 (en) Method, system and apparatus for creating virtual machine
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US10467048B2 (en) Techniques for virtual machine migration
US20180246751A1 (en) Techniques to select virtual machines for migration
US9389970B2 (en) Selected virtual machine replication and virtual machine restart techniques
CN102246152A (zh) 保存程序执行状态
US11283688B2 (en) Delayed recomputation of formal network topology models based on modifications to deployed network topologies
CN110825495A (zh) 一种容器云平台的恢复方法、装置、设备及可读存储介质
CN110162344A (zh) 一种隔离限流的方法、装置、计算机设备及可读存储介质
US11221943B2 (en) Creating an intelligent testing queue for improved quality assurance testing of microservices
CN110737504B (zh) 一种深度学习模型训练容错方法、系统、终端及存储介质
CN117492922A (zh) 一种虚拟机故障恢复方法、装置、设备及介质
CN115277398A (zh) 一种集群的网络配置方法和装置
US20230088318A1 (en) Remotely healing crashed processes
US9798571B1 (en) System and method for optimizing provisioning time by dynamically customizing a shared virtual machine
US11099945B2 (en) Method, device, and computer program product for backing up data
CN115080309A (zh) 数据备份系统、方法、存储介质以及电子设备
CN114691304A (zh) 实现集群虚拟机高可用的方法和装置、设备和介质
CN114553859A (zh) 一种bmc配置管理方法、装置、电子设备及存储介质
CN113515524A (zh) 一种分布式缓存接入层节点的自动动态分配方法及装置
CN113301177A (zh) 一种域名防封禁方法及装置
CN108153484B (zh) 一种虚拟化环境下的共享式存储系统及其管理方法
CN115510167B (zh) 一种分布式数据库系统及电子设备
CN116233255B (zh) 调度策略链生成及调度方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination