CN110196749B - 虚拟机的恢复方法及装置、存储介质及电子装置 - Google Patents
虚拟机的恢复方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110196749B CN110196749B CN201810159811.4A CN201810159811A CN110196749B CN 110196749 B CN110196749 B CN 110196749B CN 201810159811 A CN201810159811 A CN 201810159811A CN 110196749 B CN110196749 B CN 110196749B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- hard disk
- cloud hard
- snapshot
- mounting
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000011084 recovery Methods 0.000 title claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 239000000758 substrate Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- OOXMVRVXLWBJKF-DUXPYHPUSA-N n-[3-[(e)-2-(5-nitrofuran-2-yl)ethenyl]-1,2,4-oxadiazol-5-yl]acetamide Chemical compound O1C(NC(=O)C)=NC(\C=C\C=2OC(=CC=2)[N+]([O-])=O)=N1 OOXMVRVXLWBJKF-DUXPYHPUSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Abstract
本发明提供了一种虚拟机的恢复方法及装置、存储介质及电子装置,其中,上述恢复方法包括:创建并存储一个或多个虚拟机所挂载的云硬盘的快照;当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘;将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。采用上述步骤,解决了相关技术中,在虚拟机挂载的云硬盘发生故障时,只能手动恢复虚拟机,人工、技术成本高并且解决故障的时效性差的问题,达到降低维护成本、快速恢复虚拟机的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种虚拟机的恢复方法及装置、存储介质及电子装置。
背景技术
OpenStack是一个开源的云计算管理平台,是基础设施即服务(Infrastructureas a Service,简称IaaS)组件,任何人都可以自行建立和提供云端运算服务。OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面,其项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施服务(IaaS)的解决方案,每个服务提供应用程序编程接口(Application ProgrammingInterface,简称API)以进行集成。
当前OpenStack云平台中从云硬盘启动的虚拟机(virtual machine,简称VM)部署完成开始运行后,实现软件功能的虚拟机有可能会出现各种故障,例如与该虚拟机挂载的云硬盘发生故障,导致该虚拟机无法正常工作,这种情况下,只能手动恢复虚拟机,这种方式需要很大的人工成本和技术成本,不利于对于整个系统的运营维护;同时解决虚拟机故障的时效性也比较差。
针对相关技术中,在虚拟机挂载的云硬盘发生故障时,只能手动恢复虚拟机,而导致人工成本和技术成本都较高的问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟机的恢复方法及装置、存储介质及电子装置,以至少解决相关技术中在虚拟机发生故障时,只能手动恢复虚拟机,进而导致人工成本和技术成本都较高的问题。
根据本发明的一个实施例,提供了一种虚拟机的恢复方法,包括:创建并存储一个或多个虚拟机所挂载的云硬盘的快照;当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与所述存在故障的云硬盘的状态一致的第一云硬盘;将所述第一云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
可选地,当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与所述第一虚拟机的挂载关系;或者
解除所述第一虚拟机挂载的云硬盘与所述第一虚拟机的挂载关系。
可选地,当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除所述第一虚拟机所挂载的云硬盘与所述第一虚拟机的挂载关系之后,所述方法还包括:将所述第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
可选地,将所述第一云硬盘挂载到所述第一虚拟机,包括:当所述第一虚拟机未发生故障时,将所述第一云硬盘挂载到所述第一虚拟机;将所述第一云硬盘挂载到与所述第一虚拟机属性一致的第二虚拟机,包括:当所述第一虚拟机发生故障时,根据所述第一虚拟机的属性创建与所述第一虚拟机的属性一致的第二虚拟机,将所述第一云硬盘挂载到所述第二虚拟机。
可选地,创建并存储一个或多个虚拟机所挂载的云硬盘的快照,包括:定时创建所述快照,并定时更新存储的所述快照。
根据本发明的另一个实施例,提供了一种虚拟机恢复装置,包括:快照创建存储单元,用于创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
云硬盘创建单元,用于当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与所述存在故障的云硬盘的状态一致的第一云硬盘;
挂载单元,用于将所述第一云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
可选地,所述装置还包括:
解除单元,所述解除单元用于当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与所述第一虚拟机的挂载关系;或者解除所述第一虚拟机挂载的云硬盘与所述第一虚拟机的挂载关系。
可选地,所述挂载单元还用于在当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除所述第一虚拟机所挂载的云硬盘与所述第一虚拟机的挂载关系之后,将所述第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
可选地,所述挂载单元包括:第一挂载子模块,用于当所述第一虚拟机未发生故障时,将所述第一云硬盘挂载到所述第一虚拟机;或者当所述第一虚拟机发生故障时,根据所述第一虚拟机的属性创建与所述第一虚拟机的属性一致的第二虚拟机,将所述第一云硬盘挂载到所述第二虚拟机。
可选地,所述快照创建存储单元包括:第一快照创建存储子模块,用于定时创建所述快照,并定时更新存储的所述快照。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于创建并存储了一个或多个虚拟机所挂载的云硬盘的快照,使得当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,可以根据存在故障的云硬盘的快照创建与所述存在故障的云硬盘的状态一致的第一云硬盘,将所述第一云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机,这种通过云硬盘快照恢复虚拟机的方法避免了手动恢复虚拟机,因此,可以解决相关技术中,在虚拟机挂载的云硬盘发生故障时,只能手动恢复虚拟机,而导致人工成本和技术成本都较高的问题,达到降低维护成本、快速恢复虚拟机的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的虚拟机恢复方法的流程图;
图2是根据本发明实施例的虚拟机恢复装置的结构框图;
图3是根据本发明实施例的虚拟机的恢复装置的另一结构框图;
图4是根据本发明可选实施例的虚拟机恢复装置的部署示意图;
图5是根据本发明可选实施例虚拟机恢复装置的结构示意图;
图6是根据本发明可选实施例的虚拟机恢复装置中模块交互时序图;
图7是根据本发明可选实施例的虚拟机恢复装置的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种虚拟机的恢复方法,图1是根据本发明实施例的虚拟机的恢复的方法流程图,如图1所示,该流程包括如下步骤:
步骤S101,创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
步骤S103,当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘;
步骤S105,将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
通过上述步骤S101至S105,创建并存储了一个或多个虚拟机所挂载的云硬盘的快照,使得当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,可以根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘,将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机,这种通过云硬盘快照恢复虚拟机的方法避免了手动恢复虚拟机,因此,可以解决相关技术中,在虚拟机挂载的云硬盘发生故障时,只能手动恢复虚拟机,而导致人工成本和技术成本都较高的问题,达到降低维护成本、快速恢复虚拟机的效果。
需要说明的是,本实施例中的“第一虚拟机”可以是一个,也可以是多个,相应地,本实施例中的“第二虚拟机”可以是一个,也可以是多个。
需要说明的是,上述“与存在故障的云硬盘的状态一致的第一云硬盘”中,“状态一致”可以指:第一云硬盘的属性和内容(例如数据)与存在故障的云硬盘一致;
另外,故障云硬盘的快照中包含故障云硬盘的内容,而故障云硬盘的快照可以是按照时间创建或者存储或者更新的,所以此处并不限定存在故障的云硬盘的快照具体是哪个时间点的快照,例如可以是所创建的最新的云硬盘快照,也可以是某个时间段内,例如最近时间段内所存储的几次云硬盘快照中,某个时间点所创建的云硬盘快照。
在本实施例的可选实施方式中,当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与第一虚拟机的挂载关系;或者解除第一虚拟机挂载的云硬盘与第一虚拟机的挂载关系。
需要说明的是,在检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与第一虚拟机的挂载关系;或者解除第一虚拟机挂载的云硬盘与第一虚拟机的挂载关系,例如可以是解除所有第一虚拟机挂载的云硬盘与第一虚拟机的挂载关系,便于后续的创建云硬盘等其他操作。
需要说明的是,解除存在故障的云硬盘与第一虚拟机的挂载关系后,可以删除该存在故障的云硬盘,由于本实施例的方法已经创建了与存在故障的云硬盘的状态一致的第一云硬盘,故可以采用第一云硬盘替代该存在故障的云硬盘。
在本实施例的可选实施方式中,当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除第一虚拟机所挂载的云硬盘与第一虚拟机的挂载关系之后,本方法还包括:将第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
在本实施例的可选实施方式中,将第一云硬盘挂载到第一虚拟机,包括:当第一虚拟机未发生故障时,将第一云硬盘挂载到第一虚拟机;
将第一云硬盘挂载到与第一虚拟机属性一致的第二虚拟机,包括:当第一虚拟机发生故障时,根据第一虚拟机的属性创建与第一虚拟机的属性一致的第二虚拟机,将第一云硬盘挂载到第二虚拟机。
在本实施例的可选实施方式中,上述步骤S101创建并存储一个或多个虚拟机所挂载的云硬盘的快照,可以包括:定时创建快照,并定时更新存储的快照。
需要说明的是,定时创建快照可以根据实际应用场景设定周期;定时更新存储的快照的周期可以是与快照创建周期一致的周期或者相对应的周期、相配合的周期,也可以是单独设定的周期;
更新所存储的快照可以是仅存储最新创建的快照,也可以是根据实际应用场景选择性地存储,例如,存储与当前时间最接近的连续几次所创建的快照;
另外,在实际应用场景中,创建快照的执行主体与存储快照的执行主体可以相同,也可以不同。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
在本实施例中还提供了一种虚拟机的恢复装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的虚拟机的恢复装置的结构框图,如图2所示,该装置包括:
快照创建存储单元22,用于创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
云硬盘创建单元24,用于当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘;
挂载单元26,用于将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
通过快照创建存储单元22、云硬盘创建单元24以及挂载单元26,创建并存储了一个或多个虚拟机所挂载的云硬盘的快照,使得当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,可以根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘,将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机,这种通过云硬盘快照恢复虚拟机的方法避免了手动恢复虚拟机,因此,可以解决相关技术中,在虚拟机挂载的云硬盘发生故障时,只能手动恢复虚拟机,而导致人工成本和技术成本都较高的问题,达到降低维护成本、快速恢复虚拟机的效果。
图3是根据本发明实施例的虚拟机的恢复装置的另一结构框图,如图3所示,在本实施例的可选实施方式中,装置可以还包括:
解除单元28,解除单元用于当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与第一虚拟机的挂载关系;或者解除第一虚拟机挂载的云硬盘与第一虚拟机的挂载关系。
在本实施例的可选实施方式中,如图3所示,挂载单元26可以还用于在当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除第一虚拟机所挂载的云硬盘与第一虚拟机的挂载关系之后,将第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
在本实施例的可选实施方式中,如图3所示,挂载单元26可以包括:
第一挂载子模块262,用于当第一虚拟机未发生故障时,将第一云硬盘挂载到第一虚拟机;或者当第一虚拟机发生故障时,根据第一虚拟机的属性创建与第一虚拟机的属性一致的第二虚拟机,将第一云硬盘挂载到第二虚拟机。
在本实施例的可选实施方式中,如图3所示,快照创建存储单元22包括:第一快照创建存储子模块222,用于定时创建快照,并定时更新存储的快照。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
为了更好的理解上述虚拟机的恢复过程,以下结合多个优选实施例对上述技术方案进行解释说明。
优选实施例一
在本发明优选实施例中,将结合具体的云平台应用场景,对本发明实施例的方案进行介绍:
本发明优选实施例公开一种用于恢复虚拟机的装置,该装置基于Restful(Representational State Transfer)的框架,隶属于虚拟化的网络功能模块管理器(Virtual Network Function Manager,简称VNFM),以Rest+JSON格式与网络功能虚拟化编排器(Network Functions Virtualisation Orchestrator,简称NFVO)或者直接与OpenStack交互。NFVO可用来管理NS(Network Service,网络业务)生命周期,并协调NS生命周期的管理、协调虚拟化的网络功能(Virtualised Network Function,简称VNF)生命周期的管理、协调网络功能虚拟化基础设施(NFV Infrastructure,简称NFVI)的各类资源的管理,以此确保所需各类资源与连接的优化配置。
如图4所示,本优选实施例介绍该装置直接与OpenStack交互的过程。其中OpenStack中包括计算组织控制器,即nova组件和镜像服务组件,即glance组件,其中nova组件用于根据用户需求来提供虚拟服务,负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格;glance组件是一种提供镜像服务的组件,用于虚拟机镜像查找及检索,支持多种虚拟机镜像格式,有创建上传镜像、删除镜像、编辑镜像基本信息的功能。VNFM中还包括生命周期模块、告警模块、数据库等。OpenStack与VNFM之间通过restful消息(简称rest消息)交互。具体来说,如图5所示,本优选实施例一的装置主要包含快照管理模块52、轮询管理模块54、自愈执行模块56等模块。
其中,快照管理模块52提供基于OpenStack快照功能,支持对需要自愈的从云硬盘启动的虚拟机进行云硬盘快照的创建、更新、删除等功能,并将云硬盘快照信息与虚拟机的对应关系存储在数据库中。
轮询管理模块54主要提供对VNFM中管理的所有VNF的虚拟机、云硬盘、快照等资源进行定时轮询,当发现虚拟机故障或者虚拟机所属云硬盘故障时,通知自愈执行模块触发自愈任务。
需要说明的是,本实施例中的“虚拟机所属云硬盘”、“虚拟机所绑定的云硬盘”即上述实施例中的“与虚拟机挂载的云硬盘”;本实施例中的“虚机”等同于“虚拟机”。
自愈执行模块56提供自愈任务的执行,根据数据库中保存的虚拟机和云硬盘快照的对应关系,根据具体故障情况进行虚拟机的自愈。
优选实施例二
在本优选实施例二中,以下结合图6-7所示的流程示意图对优选实施例一中的恢复虚拟机的装置的各个模块所完成的作用进行进一步说明。
图6是NFV场景下虚拟机恢复装置中模块交互时序图,实施时具体步骤如下:
步骤1,轮询模块向OpenStack定时轮询VNF涉及的云硬盘和快照,具体来说,轮询模块会定时向OpenStack发送rest消息,请求获取被管理的虚拟机的各类资源,其中包括虚拟机、虚拟机所属的云硬盘的快照和镜像等资源;
需要说明的是,云硬盘的镜像资源一般在初次创建云硬盘的时候使用,当正常工作的云硬盘发生故障时,一般仅需要其对应的快照就可以实现恢复,即:针对被管理的虚拟机,云硬盘被初始创建之后,可以仅请求获取或者获取虚拟机、虚拟机所属的云硬盘的快照资源,可以不再请求获取或者获取云硬盘的镜像资源。当然,如果根据实际应用场景需要获取镜像资源,则也可以请求获取或者获取镜像资源。
步骤2,OpenStack向轮询模块返回云硬盘和快照信息,具体来说,OpenStack会根据上述的请求向轮询模块返回其所请求的各类资源的实时信息,轮询模块收到返回的各类资源信息,将各类资源信息缓存,并提供接口供其他模块查询;
步骤3,生命周期模块中,生命周期任务创建虚机后自动触发云硬盘快照的创建并注册定时任务定时更新云硬盘快照,具体来说,VNFM的生命周期模块在创建了虚拟机后,针对从云硬盘启动的虚拟机自动触发向OpenStack发送创建所有该虚拟机挂载云硬盘的快照的请求,同时注册该虚拟机挂载所有云硬盘的自动更新云硬盘快照的定时任务。
步骤4,快照管理模块检测快照是否可以创建或者更新,具体来说,快照管理模块根据云硬盘快照创建请求,检测创建或者更新云硬盘快照是否可以进行,当云硬盘快照在被自愈任务使用时是不允许更新的,如果检测不通过直接向生命周期模块返回创建快照任务失败,如果检测通过则继续下一步骤。
步骤5,快照管理模块向OpenStack发送创建快照消息,具体来说,当检测通过,则通过rest消息向OpenStack发起创建云硬盘快照的请求;
步骤6,OpenStack向快照管理模块返回创建结果,具体来说,OpenStack同步返回创建云硬盘快照的操作结果给快照管理模块;
步骤7,启动定时器查询轮询模块轮询的快照信息判断创建结果,如果是更新快照则成功后删除旧快照,具体来说,根据返回的操作结果,如果操作失败则通知生命周期模块创建云硬盘快照失败,如果操作成功,则启动定时器监听轮询模块的快照和镜像缓存情况;需要说明的是,定时器可以只监听轮询模块的快照缓存情况;
步骤8,快照管理模块向生命周期模块返回创建结果,具体来说,如果快照管理模块获知到云硬盘快照状态已经创建完成,则返回创建快照成功消息给生命周期模块。如果直至定时器超时仍未成功或者快照状态为创建失败,则返回创建快照失败消息给生命周期模块;
当需要删除虚拟机及其所属的云硬盘的快照时,通过以下方式:
步骤9,生命周期模块中,生命周期任务删除虚机自动触发删除云硬盘快照,具体来说,VNFM的生命周期模块在进行删除虚拟机操作后触发向快照管理模块发起虚拟机关联快照删除请求;需要说明的是,当被管理的虚拟机中有需要删除的虚拟机,则可以删除该虚拟机以及该虚拟机关联的快照,以便彻底清理该虚拟机的相关文件,避免其占用存储空间;
步骤10,快照管理模块检测是否可以删除快照,具体来说,快照管理模块根据快照删除请求,检测需要删除的快照是否符合删除条件,如检测不通过直接返回生命周期模块删除快照任务失败;
步骤11,快照管理模块向OpenStack发送删除云硬盘快照消息,具体来说,当检测通过,则通过rest消息向OpenStack发起删除快照的请求;
步骤12,OpenStack向快照管理模块OpenStack同步返回删除云硬盘快照操作结果给快照管理模块;
步骤13,启动定时器查询轮询模块缓存云硬盘快照信息判断删除结果,具体来说,根据返回的操作结果,如果操作失败则通知生命周期模块删除快照失败,如果操作成功,则启动定时器监听轮询模块快照和镜像缓存;
步骤14,快照管理模块向生命周期模块返回删除结果,具体来说,如果快照管理模块监听到快照已经删除完成,则返回删除云硬盘快照成功消息给生命周期模块。如果直至定时器超时仍未成功或者快照状态为删除失败,则返回删除云硬盘快照失败消息给生命周期模块。
图7是实施自愈执行的流程图,实施时的具体步骤如下:
步骤1,解除绑定云硬盘,具体来说,首先解除出现故障的虚拟机的所绑定的所有云硬盘;
需要说明的是,步骤1中,对于故障虚拟机的判断标准,包括虚拟机本身发生故障以及与该虚拟机关联的云硬盘发生故障,以下步骤即是针对这两种情况的具体处理方法,需要注意的是,并不限定针对虚拟机本身发生故障的处理方法与针对与该虚拟机关联的云硬盘发生故障的处理方法的具体顺序,其可以是具有先后关系,也可以是并行或者交织的,只要能够恢复虚拟机即可。以下所叙述的方法仅仅是一种可实施的方式:
步骤2,判断虚机是否故障,具体来说,根据故障虚拟机(相当于上述实施例中的第一虚拟机)的具体故障信息,首先判断是否是虚拟机本身故障,如果是虚拟机本身故障则执行步骤3;
步骤3,向OpenStack发送删除故障虚机请求,即向OpenStack发起对该虚拟机进行删除操作的请求,如果虚拟机本身无故障则直接跳转进行步骤7;
步骤4,判断是否成功删除虚机,即判断是否成功删除故障虚机,如果成功删除,则跳转步骤5;
步骤5,根据故障虚机信息向OpenStack发送创建虚机请求,具体来说,如果虚拟机删除成功则根据保存的故障虚拟机属性信息,向OpenStack发起虚拟机创建操作的请求,如果虚拟机删除失败则直接返回自愈失败;
步骤6,判断是否成功创建虚机,如果是,则跳转步骤7;
步骤7,判断是否有云硬盘故障,具体来说,如果虚拟机创建成功则继续判断故障虚拟机所属的云硬盘是否故障,如果创建虚拟机失败则直接返回自愈失败;如果发生故障情况的虚拟机所属的云硬盘故障,则执行步骤8;如果其所属的云硬盘没有故障,则执行步骤12;需要说明的是,实际场景中,可能是部分或者全部与虚拟机挂载的云硬盘发生了故障。
步骤8,,向openstack发送删除故障云硬盘请求,具体来说,是向OpenStack发起故障云硬盘的删除操作请求;
步骤9,确定是否成功删除云硬盘,具体来说,如果删除故障云硬盘成功,则继续执行步骤10;如果删除故障云硬盘失败,则直接返回自愈失败;
步骤10,根据故障云硬盘信息向openstack发送创建云硬盘请求,具体来说,是向OpenStack发起从云硬盘快照创建云硬盘的操作的请求;
步骤11,确定是否成功创建云硬盘(相当于上述实施例中的“第一云硬盘”),如果创建成功,则跳转步骤12,如果创建失败,则直接返回自愈失败;
步骤12,将云硬盘挂载到虚机上并启动虚机,具体来说,启动虚机后也一并启动虚拟机应用及服务;
最后,将快照自愈虚拟机的结果返回给生命周期模块。
通过本实施例可以看出,本发明在云平台上从云硬盘启动的虚拟机故障和/或虚拟机所属云硬盘故障的情况下,能够快速响应,自动通过虚拟机的属性信息和云硬盘快照进行虚拟机自愈,大大降低运营商的维护成本;而且在通过快照自愈虚拟机的时间比较短,可以很快恢复虚拟机。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
S2,当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘;
S3,将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S4,将第一云硬盘挂载到第一虚拟机,包括:当第一虚拟机未发生故障时,将第一云硬盘挂载到第一虚拟机;
S5,将第一云硬盘挂载到与第一虚拟机属性一致的第二虚拟机,包括:当第一虚拟机发生故障时,根据第一虚拟机的属性创建与第一虚拟机的属性一致的第二虚拟机,将第一云硬盘挂载到第二虚拟机。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
S2,当检测到一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与存在故障的云硬盘的状态一致的第一云硬盘;
S3,将第一云硬盘挂载到第一虚拟机或与第一虚拟机属性一致的第二虚拟机。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S4,将第一云硬盘挂载到第一虚拟机,包括:当第一虚拟机未发生故障时,将第一云硬盘挂载到第一虚拟机;
S5,将第一云硬盘挂载到与第一虚拟机属性一致的第二虚拟机,包括:当第一虚拟机发生故障时,根据第一虚拟机的属性创建与第一虚拟机的属性一致的第二虚拟机,将第一云硬盘挂载到第二虚拟机。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种虚拟机的恢复方法,其特征在于,包括:
创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与所述存在故障的云硬盘的状态一致的第一云硬盘;
将所述第一云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机;
其中,当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与所述第一虚拟机的挂载关系;或者
解除所述第一虚拟机挂载的所有云硬盘与所述第一虚拟机的挂载关系;
其中,当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除所述第一虚拟机所挂载的所有云硬盘与所述第一虚拟机的挂载关系之后,所述方法还包括:
将所述第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
2.根据权利要求1所述的方法,其特征在于,
将所述第一云硬盘挂载到所述第一虚拟机,包括:当所述第一虚拟机未发生故障时,将所述第一云硬盘挂载到所述第一虚拟机;
将所述第一云硬盘挂载到与所述第一虚拟机属性一致的第二虚拟机,包括:当所述第一虚拟机发生故障时,根据所述第一虚拟机的属性创建与所述第一虚拟机的属性一致的第二虚拟机,将所述第一云硬盘挂载到所述第二虚拟机。
3.根据权利要求1所述的方法,其特征在于,创建并存储一个或多个虚拟机所挂载的云硬盘的快照,包括:
定时创建所述快照,并定时更新存储的所述快照。
4.一种虚拟机的恢复装置,其特征在于,包括:
快照创建存储单元,用于创建并存储一个或多个虚拟机所挂载的云硬盘的快照;
云硬盘创建单元,用于当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,根据存在故障的云硬盘的快照创建与所述存在故障的云硬盘的状态一致的第一云硬盘;
挂载单元,用于将所述第一云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机;
其中,所述装置还包括:
解除单元,所述解除单元用于当检测到所述一个或多个虚拟机中的第一虚拟机所挂载的云硬盘存在故障时,解除存在故障的云硬盘与所述第一虚拟机的挂载关系;或者
解除所述第一虚拟机挂载的云硬盘与所述第一虚拟机的挂载关系;
其中,所述挂载单元,还用于将所述第一虚拟机所挂载的云硬盘中未发生故障的云硬盘挂载到所述第一虚拟机或与所述第一虚拟机属性一致的第二虚拟机。
5.根据权利要求4所述的装置,其特征在于,所述挂载单元包括:
第一挂载子模块,用于当所述第一虚拟机未发生故障时,将所述第一云硬盘挂载到所述第一虚拟机;或者
当所述第一虚拟机发生故障时,根据所述第一虚拟机的属性创建与所述第一虚拟机的属性一致的第二虚拟机,将所述第一云硬盘挂载到所述第二虚拟机。
6.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至3任一项中所述的方法。
7.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至3任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159811.4A CN110196749B (zh) | 2018-02-26 | 2018-02-26 | 虚拟机的恢复方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159811.4A CN110196749B (zh) | 2018-02-26 | 2018-02-26 | 虚拟机的恢复方法及装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110196749A CN110196749A (zh) | 2019-09-03 |
CN110196749B true CN110196749B (zh) | 2023-11-17 |
Family
ID=67751219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810159811.4A Active CN110196749B (zh) | 2018-02-26 | 2018-02-26 | 虚拟机的恢复方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196749B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795029B (zh) * | 2019-10-08 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种云硬盘管理方法、装置、服务器及介质 |
CN112948055A (zh) * | 2021-03-04 | 2021-06-11 | 华东理工大学 | 一种基于云计算的创新型课程实验自动管理方法及系统 |
CN113467887B (zh) * | 2021-06-25 | 2024-02-23 | 深信服科技股份有限公司 | 故障修复方法、宿主机以及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981931A (zh) * | 2012-12-03 | 2013-03-20 | 中国联合网络通信集团有限公司 | 虚拟机备份方法及装置 |
CN104125286A (zh) * | 2014-08-03 | 2014-10-29 | 浙江网新恒天软件有限公司 | 一种基于云计算的企业基础设施智能云化管理系统 |
CN104461785A (zh) * | 2014-12-15 | 2015-03-25 | 中电长城网际系统应用有限公司 | 虚拟机数据备份方法、恢复方法及装置和物理机 |
CN106708430A (zh) * | 2016-11-30 | 2017-05-24 | 浪潮软件集团有限公司 | 一种云计算架构下的云硬盘实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219069A1 (en) * | 2012-02-22 | 2013-08-22 | Computer Associates Think, Inc. | System and method for managing virtual hard disks in cloud environments |
-
2018
- 2018-02-26 CN CN201810159811.4A patent/CN110196749B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981931A (zh) * | 2012-12-03 | 2013-03-20 | 中国联合网络通信集团有限公司 | 虚拟机备份方法及装置 |
CN104125286A (zh) * | 2014-08-03 | 2014-10-29 | 浙江网新恒天软件有限公司 | 一种基于云计算的企业基础设施智能云化管理系统 |
CN104461785A (zh) * | 2014-12-15 | 2015-03-25 | 中电长城网际系统应用有限公司 | 虚拟机数据备份方法、恢复方法及装置和物理机 |
CN106708430A (zh) * | 2016-11-30 | 2017-05-24 | 浪潮软件集团有限公司 | 一种云计算架构下的云硬盘实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110196749A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
US20180143854A1 (en) | Methods, systems and apparatus to perform a workflow in a software defined data center | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN110196749B (zh) | 虚拟机的恢复方法及装置、存储介质及电子装置 | |
CN110895488B (zh) | 任务调度方法及装置 | |
WO2016045439A1 (zh) | 一种vnfm容灾保护的方法、装置和nfvo、存储介质 | |
US11366682B1 (en) | Automatic snapshotting for recovery of instances with local storage | |
CN109361525B (zh) | 重启分布式部署多服务的方法、装置、控制终端及介质 | |
JP2013171301A (ja) | ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム | |
CN110895483A (zh) | 任务恢复方法及装置 | |
CN110895486B (zh) | 分布式任务调度系统 | |
CN109257396B (zh) | 一种分布式锁调度方法及装置 | |
CN110972497A (zh) | 虚拟化平台的容灾方法及装置 | |
JP2009080705A (ja) | 仮想計算機システム及び同システムにおける仮想計算機復元方法 | |
CN114064438A (zh) | 数据库故障处理方法和装置 | |
CN113986450A (zh) | 一种虚拟机备份方法及装置 | |
CN110673945A (zh) | 分布式任务管理方法和管理系统 | |
CN110895485A (zh) | 任务调度系统 | |
CN111756800A (zh) | 一种处理突发流量的方法和系统 | |
CN111226200B (zh) | 为分布式应用创建一致性快照的方法、装置和分布式系统 | |
CN115858086A (zh) | 数据恢复方法、数据恢复系统、设备及存储介质 | |
CN109101253B (zh) | 云计算系统中主机的管理方法和装置 | |
CN110188008B (zh) | 作业调度主备切换方法、装置、计算机设备及存储介质 | |
CN111124428A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |