一种云计算平台的虚拟机快照管理方法和系统的制作方法

文档序号:6440028阅读:363来源:国知局
专利名称:一种云计算平台的虚拟机快照管理方法和系统的制作方法
技术领域
本发明涉及云计算平台下的虚拟机快照管理技术,尤指一种在Linux环境下,在云计算平台中基于Libvirt等虚拟机管理工具来进行虚拟机快照管理的方法。
背景技术
云计算是一种新兴的共享基础架构的方法,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。云计算的底层需要虚拟化技术支持。通过虚拟化技术,云计算可以实现对资源的灵活以及高效的使用,从而为用户提供优质的服务。
Libvirt是一套免费、开源的支持Linux下主流虚拟化工具的C函数库,它的目的是为多种虚拟化工具提供一套方便、可靠的编程接口,并支持与多种主流开发语言绑定。当前,Linux下支持多种虚拟化工具的主流云计算平台大部分都是使用Libvirt库来兼容管理多种虚拟化工具。通过Libvirt库,云计算平台可以屏蔽各种虚拟化工具的异构性,从而不需要为每种虚拟化工具都开发一套相应的管理接口,降低了云计算平台的复杂性。
虚拟机快照是虚拟机在某个点上对虚拟机系统进行备份的复本。当虚拟机系统崩溃或异常时,可以通过使用恢复到虚拟机快照来保持文件系统和系统存储。虚拟机快照根据创建快照时虚拟机系统所处的状态分为开机快照和关机快照。开机快照包括了对内存和磁盘两部分所创建的快照,是在虚拟机系统处于运行状态时进行创建的虚拟机快照。关机快照包括对磁盘创建快照,是在虚拟机系统处于关闭状态时进行创建的虚拟机快照。
Libvirt为快照管理提供了编程接口。在Libvirt中注册虚拟机有两种方式,一种为永久性注册,一种为临时性注册。永久性注册是指在虚拟机运行过程中,用户对虚拟机进行的一些管理操作都会被Libvirt所记录,当虚拟机关闭后,这些操作不会消失,除非在Libvirt中注销该虚拟机,例如在虚拟机运行时创建的快照,在虚拟机下次启动时依然可以对其进行操作,直到用户在Libvirt中注销了该虚拟机。临时性注册是指虚拟机被 Libvirt管理的生命周期为从虚拟机的一次启动到其关闭的这段时间,也就是说,用户在虚拟机当次运行时所作的全部管理操作在虚拟机关闭后,在Libvirt中都没有相应记录。例如在虚拟机运行时创建的快照,在虚拟机下次启动时无法找到之前的快照记录,也就无法对之前创建的快照进行操作,尽管它是存在的。
Libvirt创建快照的原理是将正在运行的虚拟机当前内存、CPU寄存器以及磁盘信息等都保存在虚拟机的磁盘映像当中,从磁盘外部无法直接对利用Libvirt创建的快照进行操作,只能调用Libvirt编程接口 ;一旦Libvirt中无法找到该快照的记录信息,那么该快照是无法使用的,这也是临时性注册在快照管理方面存在的缺陷。
Linux下主流的云计算平台有的使用Libvirt的临时性注册,有的使用永久性注册。当前,使用临时性注册的云平台在进行快照管理时存在的问题很明显,所创建的快照在虚拟机重启后可能无法使用,从而无法实现快照的管理功能。发明内容
鉴于在Linux下使用Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台在进行快照管理时存在的缺陷,尤其是虚拟机管理工具的临时性注册问题,提出了一种云计算平台的虚拟机快照管理方法和系统。
为了解决上述技术问题,本发明提供了一种一种云计算平台虚拟机快照管理方法,其特征在于,当要为集群节点的虚拟机创建虚拟机快照时,执行以下步骤准备步骤 如果所述虚拟机的状态为正在运行,云计算平台的控制节点通过调用虚拟机管理工具来将所述虚拟机暂停并创建所述虚拟机的内存快照;磁盘快照步骤所述控制节点调用虚拟化管理工具来创建所述虚拟机的磁盘快照;后续处理步骤如果所述虚拟机的状态为正在运行,则通过调用所述虚拟化管理工具来利用所创建的内存快照使得所述虚拟机恢复运行。
进一步,该方法还包括当要利用所创建的虚拟机快照来恢复所述虚拟机时,所述控制节点通过调用所述虚拟化管理工具利用所述磁盘快照步骤所生成的磁盘快照来恢复所述虚拟机的磁盘快照。
进一步,该方法还包括如果所述虚拟机的状态为正在运行,将所创建的虚拟机快照的类型设置为开机快照,反之,则将所创建的虚拟机快照的类型设置为关机快照。
进一步,该方法还包括当要利用所创建的虚拟机快照类型为开机快照的虚拟机快照来恢复所述虚拟机时若当前所述虚拟机的状态为正在运行,则先调用虚拟机管理工具暂停虚拟机,并将当前虚拟机状态保存成内存快照,再利用所创建的虚拟机快照中的磁盘快照和内存快照来恢复所述虚拟机;以及若当前所述虚拟机的状态不是正在运行,则利用所创建的虚拟机快照中的磁盘快照和内存快照来恢复所述虚拟机。
进一步,该方法还包括当要利用所创建的虚拟机快照类型为关机快照的虚拟机快照来恢复所述虚拟机时,若当前所述虚拟机的状态是正在运行,则先调用虚拟机管理工具将虚拟机关闭,再利用所创建的快照中的磁盘快照来恢复所述虚拟机;以及若当前所述虚拟机的状态不是正在运行,则利用所创建的虚拟机快照中的磁盘快照来恢复所述虚拟机。
进一步,该方法还包括在删除所创建的虚拟机快照时,若当前的所述虚拟机的状态是正在运行,则先调用所述虚拟机管理工具暂停所述虚拟机,删除所创建的虚拟机快照后,再调用所述虚拟机管理工具恢复所述虚拟机;若当前所述虚拟机的状态不是正在运行, 则直接删除所创建的虚拟机快照。
进一步,该方法还包括调用所述虚拟机管理工具对内存快照进行删除,以及调用虚拟化管理工具对磁盘快照进行删除。
进一步,该方法还包括所述虚拟机管理工具为Libvirt,所述虚拟化管理工具为 KVM 或 Xen。
本发明还提供了一种基于云计算平台的虚拟机快照管理系统,其特征在于,包括以下单元虚拟机状态判断单元,用于判断所述虚拟机的当前状态是否为正在运行状态; 快照类型判断单元,用于判断所述快照类型为开机快照或关机快照;快照创建单元,用于调用虚拟机管理工具创建内存快照,以及调用虚拟化管理工具创建磁盘快照;快照恢复单元, 用于调用所述虚拟机管理工具对所述内存快照进行恢复,以及调用所述虚拟化管理工具对所述磁盘快照进行恢复;快照删除单元,用于调用所述虚拟机管理工具对所述内存快照进行删除,以及调用所述虚拟化管理工具对所述磁盘快照进行删除。
进一步,该系统还包括所述虚拟机管理工具为Libvirt,所述虚拟化管理工具为 KVM 或 Xen。
与现有技术相比,本发明至少具有以下优点
本发明不需要修改Libvirt源代码并且适合于Linux下基于Libvirt进行虚拟机管理的任何种类的云计算平台,同时保证云计算平台的一致性,以及提供良好的用户快照管理体验。
本发明仅修改云计算平台控制节点上的平台管理代码,而不需要修改集群节点及其之上的Libvirt等虚拟机管理工具与KVM等虚拟化管理工具,通过引入云计算平台下一种新的快照管理方法的方式,使得对云计算平台的改动限制在最小的范围。
本发明为Linux下基于Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台提供了一种通用的快照管理方法,有效的弥补了现有的基于Libvirt等虚拟机管理工具管理虚拟机的云计算平台所存在的无法进行有效快照管理的缺陷,在提供良好的用户快照管理体验的同时,保证了云计算平台的稳定性。
本发明主要是针对使用Libvirt等虚拟机管理工具的临时性注册进行虚拟机管理的云计算平台,对于所有的基于Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台都具有通用性。本发明提出的虚拟机快照管理方法包括虚拟机快照创建、快照恢复以及快照删除三个方面,涵盖了虚拟机快照管理的所有主要行为操作。本发明在没有进行快照管理时,不影响云计算平台的正常工作。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图1是本发明实施例的云计算平台整体框架图2是根据本发明实施例一的云计算平台的快照管理方法中的创建虚拟机快照的流程图3是根据本发明实施例一的云计算平台的快照管理方法中的恢复虚拟机快照的流程图4是根据本发明实施例一的云计算平台的快照管理方法中的删除虚拟机快照的流程图5是根据本发明实施例二的基于云计算平台的快照管理系统的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明主要是为了解决在Linux环境下使用Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台在进行快照管理时存在的缺陷问题,提出了一种基于云计算的虚拟机快照管理方法。
本发明的实施例中包括虚拟机快照创建、快照恢复以及快照删除三个方面,将结合附图分别予以说明。优选的,本发明的实施例采用中标麒麟安全云操作系统中的云计算平台NKSCL0UD来实现各种功能和效果,其中云计算平台NKSCL0UD可使用Libvirt的临时性注册来管理虚拟机。
图1为根据本发明的Linux下基于Libvirt等虚拟机管理工具管理虚拟机的云计算平台整体框架图。控制节点是云计算平台的管理端,在其上运行所有对云计算平台进行管理的服务,如网络管理、存储管理、虚拟机管理、快照管理以及数据库服务等。集群节点是提供虚拟机服务的服务器,在其上除了运行多个虚拟机,还运行着进行虚拟机管理的 Libvrit函数库以及提供虚拟化功能的虚拟化管理工具,例如KVM(Kernel-based Virtual Machine), Xen等,KVM是集成到Linux内核中的开源的虚拟机监视器,Xen是由剑桥大学开发的开源的虚拟机监视器。KVM和Xen是Linux下主流的虚拟化管理工具。在云计算平台中允许存在一个控制节点以及多个集群节点,控制节点通过网络对多个集群节点进行相应管理。
实施例一
图2为根据本发明实施例一的基于云计算平台的快照管理方法中的创建虚拟机快照的流程图。其中箭头的方向表示了工作流的方向。该流程具体包括以下步骤
步骤S110,云计算平台的控制节点向虚拟机发出创建快照的命令。
步骤S111,控制节点作快照创建前的准备工作。
其中具体包括根据用户的输入信息在数据库中添加一条新快照的记录,该记录包括快照名称、快照描述、快照创建时间等,设置该快照状态为不可用,并记录该快照类型为开机快照或关机快照,具体的,控制节点根据虚拟机当前运行状态来确定当前快照的类型,若虚拟机当前为正在运行,则快照类型为开机快照,若虚拟机当前状态为关机状态,则快照类型为关机快照。
步骤S112,控制节点根据当前的虚拟机状态选择快照类型并执行相应步骤。如果虚拟机状态为正在运行,则进入步骤S113,如果虚拟机状态为关机状态,则直接进入步骤 S114。
步骤S113,控制节点远程连接到集群节点调用虚拟机管理工具,首先将虚拟机暂停,然后将当前虚拟机状态保存成文件,也就是内存快照,虚拟机管理工具保存当前虚拟机状态成功后,通知控制节点,并进入步骤Sl 15。
步骤Sl 14,控制节点远程连接到集群节点调用虚拟化管理工具对虚拟机磁盘映像作磁盘快照。集群节点对虚拟机作磁盘快照成功后,通知控制节点,并进入步骤S117。
步骤S115,控制节点远程连接到集群节点调用虚拟化管理工具对虚拟机磁盘映像作磁盘快照。集群节点对虚拟机作磁盘快照成功后,通知控制节点。
步骤S116,控制节点远程连接到集群节点调用虚拟机管理工具将虚拟机从之前保存的文件恢复为运行状态。虚拟机管理工具操作执行成功后,通知控制节点。进入步骤 S117。
步骤S117,控制节点进行的快照创建后续处理。
具体包括修改数据库中的快照状态为可用,增加虚拟机快照引用计数,并修改当前活动快照为本次创建成功的快照等。
其中,步骤Slll中,在数据库中添加一条快照记录包括检查是否存在同名快照、 已有快照个数是否达到上限等。
其中,步骤S113中,创建的文件(S卩,内存快照)保存了虚拟机当前内存当中的全部数据以及当前CPU寄存器状态。该文件会被保存下来,以便在恢复虚拟机时作为内存快照来使用。
其中,步骤S113、S114、S115和S116中,如果操作失败,定义为本次快照创建失败, 删除控制节点数据库中对应的快照记录。
其中,步骤Sl 14和Sl 15中,虚拟化管理工具所产生的磁盘快照是保存在虚拟机磁盘映像当中,并未保存在磁盘映像的外部。
由上可知,当创建虚拟机快照时,若虚拟机的状态为正在运行,则所述虚拟机快照包括所创建的内存快照和所创建的磁盘快照,反之,所述虚拟机快照包括所创建的磁盘快照。
由此,根据图2的创建流程,可以通过判断虚拟机当前的运行状态创建开机快照或关机快照。
图3为根据本发明实施例的快照管理方法中的恢复虚拟机快照的流程图,其中箭头方向表示了工作流的方向。具体包括以下步骤
步骤S210,云计算平台控制节点向虚拟机发出恢复虚拟机快照的命令。
步骤S211,控制节点作快照恢复前的准备工作。
具体包括根据用户输入的快照名在数据库中查找指定的快照、获得虚拟机当前状态、获得快照类型等。
步骤S212,判断虚拟机当前的运行状态,如果虚拟机的状态为正在运行,则进入到步骤S213,否则进入到步骤S214。
步骤S213,判断待恢复的快照类型是否为开机快照,若是则进入到步骤S215,否则进入到步骤S217。
步骤S214,判断待恢复的快照类型是否为开机快照,若是则进入到步骤S216,否则进入到步骤S218。
步骤S215,控制节点远程连接到集群节点调用虚拟机管理工具,首先暂停虚拟机, 然后将当前虚拟机状态保存成文件(即,保存为内存快照),虚拟机管理工具保存虚拟机成功后,通知控制节点,并进入步骤S216。
步骤S216,集群节点调用虚拟化管理工具根据指定的快照对虚拟机磁盘进行磁盘恢复操作,集群节点对虚拟机的磁盘快照恢复操作成功后,通知控制节点,并进入步骤 S219。
步骤S217,集群节点调用虚拟机管理工具对当前虚拟机进行关机操作,并进入步骤 S218。
步骤S218,集群节点调用虚拟化管理工具根据指定的快照对虚拟机磁盘进行磁盘恢复操作,集群节点对虚拟机的磁盘快照恢复操作成功后,通知控制节点,并进入步骤 S220。需要说明的是,在图2中包括两个步骤S218,这两个步骤为相同步骤,仅为绘图方便而分开表示。
步骤S219,集群节点调用虚拟机管理工具根据指定的内存快照文件将虚拟机恢复为运行状态。虚拟机管理工具操作执行成功后,通知控制节点,并进入步骤S220。
步骤S220,控制节点对快照恢复进行后续处理。
具体包括修改当前活动快照为本次恢复成功的快照等;
以上是恢复快照的流程,其中,步骤S211中查找到指定的快照,包括获取该快照的内存快照名、磁盘快照名以及该快照是否可用等相关快照信息。步骤S215中将虚拟机状态保存成的文件是为了防止在快照恢复过程失败时无法将虚拟机恢复到正确的运行状态而使用的。
其中,在步骤S215中,如果操作失败,即虚拟机管理工具将虚拟机保存成文件失败,虚拟机管理工具会自动的将虚拟机恢复为运行状态。
其中,在步骤S216和S218中,如果操作失败,定义为本次快照恢复操作失败,根据步骤S215中的保存的文件将虚拟机恢复为运行状态。
由此,根据图2的恢复流程,可以通过判断虚拟机当前的运行状态和指定快照的类型,对快照进行恢复,同时能够对虚拟机运行状态进行保存以避免恢复失败时无法将虚拟机恢复到正确的运行状态。
图4为根据本发明实施例的快照管理方法中的删除虚拟机快照的流程图,其中箭头方向表示了工作流的方向。具体包括以下步骤
步骤S310,云计算平台控制节点向虚拟机发出删除虚拟机快照的命令。
步骤S311,控制节点做快照删除前的准备工作。具体包括在数据库中查找快照、 虚拟机当前运行状态等。
步骤S312,判断虚拟机当前的运行状态。如果虚拟机状态为正在运行,进入步骤 S313,否则进入步骤S316。
步骤S313,集群节点调用虚拟机管理工具暂定该虚拟机。虚拟机管理工具暂停虚拟机成功后,通知控制节点。
步骤S314,控制节点远程连接到集群节点删除内存快照并调用虚拟化管理工具删除指定的磁盘快照。集群节点删除相应的快照文件后,通知控制节点,并进入步骤S315。
步骤S315,控制节点远程连接到集群节点调用虚拟机管理工具将虚拟机状态由暂停恢复为正在运行,虚拟机管理工具操作执行成功后,通知控制节点,并进入步骤S317。
步骤S316,控制节点远程连接到集群节点删除内存快照并调用虚拟化管理工具删除指定的磁盘快照。集群节点删除相应的快照文件后,通知控制节点,并进入步骤S317。
步骤S317,云计算平台进行快照删除的后续处理。
具体包括删除数据库中的快照记录,减少虚拟机可用快照计数,修改当前活动快照等。
其中,步骤S311中查找到指定的快照,包括获取该快照的内存快照名、磁盘快照-C3 寸。
其中,步骤S313的暂停虚拟机,是为了保证对虚拟机磁盘映像进行操作时不会对正在运行的操作系统产生影响。
其中,步骤S313,S315和S316中,如果操作失败,则定义本次删除快照操作失败, 集群节点通知控制节点本次快照删除失败,控制节点根据不同的命令返回结果进行相应的后续处理。
其中,步骤S314中,如果操作失败,则定义本次删除快照操作失败,集群节点调用虚拟机管理工具将虚拟机状态由暂停恢复为正在运行。
其中,步骤S314和S316中,控制节点可以判断快照类型,如果快照类型为开机快照,则按照步骤S314和S316中描述的执行;如果快照类型为关机快照,则集群节点只需删除磁盘快照。
实施例二
图5为根据本发明实施例二的基于云计算平台的快照管理系统的结构示意图,下面根据图5详细说明该系统各部分的组成。
虚拟机状态判断单元,用于判断虚拟机的当前状态是否为正在运行状态。
快照类型判断单元,用于判断快照类型为开机快照或关机快照。
快照创建单元,用于调用虚拟机管理工具创建内存快照,以及调用虚拟化管理工具创建磁盘快照。具体的,在虚拟机的状态为正在运行时创建开机快照,在虚拟机为关机状态时创建关机快照,开机快照包括内存快照和磁盘快照两部分,关机快照仅包括磁盘快照。 通过云计算平台的控制节点远程连接到集群节点调用虚拟机管理工具将当前虚拟机状态保存成文件以形成内存快照。通过控制节点远程连接到集群节点调用虚拟化管理工具对虚拟机磁盘映像作磁盘快照。
快照恢复单元,用于调用所述虚拟机管理工具对所述内存快照进行恢复,以及调用所述虚拟化管理工具对所述磁盘快照进行恢复。具体的,在虚拟机处于正在运行状态下, 对于开机快照,首先通过控制节点远程连接到集群节点调用虚拟机管理工具将当前虚拟机状态保存成文件(即,保存为内存快照),再利用集群节点调用虚拟化管理工具根据指定的磁盘快照对虚拟机磁盘进行磁盘恢复操作,调用虚拟机管理工具根据指定的内存快照文件将虚拟机恢复为运行状态;对于关机快照,首先利用集群节点调用虚拟机管理工具对当前虚拟机进行关机操作,再利用集群节点调用虚拟化管理工具根据指定的磁盘快照对虚拟机磁盘进行磁盘恢复操作。在关机状态下,对于开机快照,利用集群节点调用虚拟化管理工具根据指定的磁盘快照对虚拟机磁盘进行磁盘恢复操作,调用虚拟机管理工具根据指定的内存快照文件将虚拟机恢复为运行状态;对于关机快照,集群节点调用虚拟化管理工具根据指定的磁盘快照对虚拟机磁盘进行磁盘恢复操作。
快照删除单元,用于调用所述虚拟机管理工具对所述内存快照进行删除,以及调用所述虚拟化管理工具对所述磁盘快照进行删除。具体的,在虚拟机处于正在运行状态下, 首先利用集群节点暂停虚拟机,再利用控制节点远程连接到集群节点调用虚拟机管理工具删除内存快照并调用虚拟化管理工具删除指定的磁盘快照,之后利用控制节点远程连接到集群节点调用虚拟机管理工具将虚拟机状态由暂停恢复为正在运行;在关机状态下,直接利用控制节点远程连接到集群节点调用虚拟机管理工具删除内存快照并调用虚拟化管理工具删除指定的磁盘快照。
本发明适用于Linux下所有应用Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台。本发明提供的虚拟机快照管理方法有效的解决了在云计算环境中使用Libvirt 等虚拟机管理工具进行虚拟机快照管理的缺陷问题。本发明提供的虚拟机快照管理方法包括云计算平台对虚拟机快照的创建、恢复以及删除。
本发明仅以中标麒麟安全云操作系统中的云计算平台NKSCL0UD为例进行说明, 事实上所有应用Libvirt等虚拟机管理工具进行虚拟机管理的云计算平台的快照管理都在本发明的解决范围之内。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种云计算平台虚拟机快照管理方法,其特征在于,当要为集群节点的虚拟机创建虚拟机快照时,执行以下步骤准备步骤如果所述虚拟机的状态为正在运行,云计算平台的控制节点通过调用虚拟机管理工具来将所述虚拟机暂停并创建所述虚拟机的内存快照;磁盘快照步骤所述控制节点调用虚拟化管理工具来创建所述虚拟机的磁盘快照;后续处理步骤如果所述虚拟机的状态为正在运行,则通过调用所述虚拟化管理工具来利用所创建的内存快照使得所述虚拟机恢复运行。
2.根据权利要求1所述的方法,其特征在于,当要利用所创建的虚拟机快照来恢复所述虚拟机时,所述控制节点通过调用所述虚拟化管理工具利用所述磁盘快照步骤所生成的磁盘快照来恢复所述虚拟机的磁盘快照。
3.根据权利要求1所述的方法,其特征在于,如果所述虚拟机的状态为正在运行,将所创建的虚拟机快照的类型设置为开机快照,反之,则将所创建的虚拟机快照的类型设置为关机快照。
4.根据权利要求3所述的方法,其特征在于,当要利用所创建的虚拟机快照类型为开机快照的虚拟机快照来恢复所述虚拟机时若当前所述虚拟机的状态为正在运行,则先调用虚拟机管理工具暂停虚拟机,并将当前虚拟机状态保存成内存快照,再利用所创建的虚拟机快照中的磁盘快照和内存快照来恢复所述虚拟机;以及若当前所述虚拟机的状态不是正在运行,则利用所创建的虚拟机快照中的磁盘快照和内存快照来恢复所述虚拟机。
5.根据权利要求3所述的方法,其特征在于,当要利用所创建的虚拟机快照类型为关机快照的虚拟机快照来恢复所述虚拟机时,若当前所述虚拟机的状态是正在运行,则先调用虚拟机管理工具将虚拟机关闭,再利用所创建的快照中的磁盘快照来恢复所述虚拟机;以及若当前所述虚拟机的状态不是正在运行,则利用所创建的虚拟机快照中的磁盘快照来恢复所述虚拟机。
6.根据权利要求3所述的方法,其特征在于,在删除所创建的虚拟机快照时,若当前的所述虚拟机的状态是正在运行,则先调用所述虚拟机管理工具暂停所述虚拟机,删除所创建的虚拟机快照后,再调用所述虚拟机管理工具恢复所述虚拟机;若当前所述虚拟机的状态不是正在运行,则直接删除所创建的虚拟机快照。
7.根据权利要求6所述的方法,其特征在于,调用所述虚拟机管理工具对内存快照进行删除,以及调用虚拟化管理工具对磁盘快照进行删除。
8.根据权利要求1至7所述的任一项方法,其特征在于,所述虚拟机管理工具为 Libvirt,所述虚拟化管理工具为KVM或Xen。
9.一种基于云计算平台的虚拟机快照管理系统,其特征在于,包括以下单元虚拟机状态判断单元,用于判断所述虚拟机的当前状态是否为正在运行状态;快照类型判断单元,用于判断所述快照类型为开机快照或关机快照;快照创建单元,用于调用虚拟机管理工具创建内存快照,以及调用虚拟化管理工具创建磁盘快照;快照恢复单元,用于调用所述虚拟机管理工具对所述内存快照进行恢复,以及调用所述虚拟化管理工具对所述磁盘快照进行恢复;快照删除单元,用于调用所述虚拟机管理工具对所述内存快照进行删除,以及调用所述虚拟化管理工具对所述磁盘快照进行删除。
10.根据权利要求9所述的系统,其特征在于,所述虚拟机管理工具为Libvirt,所述虚拟化管理工具为KVM或Xen。
全文摘要
本发明公开了一种云计算平台虚拟机快照管理方法和系统,该方法包括当要为集群节点的虚拟机创建虚拟机快照时,执行以下步骤。准备步骤如果所述虚拟机的状态为正在运行,云计算平台的控制节点通过调用虚拟机管理工具来将所述虚拟机暂停并创建所述虚拟机的内存快照;磁盘快照步骤所述控制节点调用虚拟化管理工具来创建所述虚拟机的磁盘快照;后续处理步骤如果所述虚拟机的状态为正在运行,则通过调用所述虚拟化管理工具来利用所创建的内存快照使得所述虚拟机恢复运行。本发明提供良好的用户快照管理体验,保证了云计算平台的一致性和稳定性。
文档编号G06F3/06GK102520881SQ201110397190
公开日2012年6月27日 申请日期2011年12月2日 优先权日2011年12月2日
发明者兰雨晴, 夏颖, 姚远, 宋潇豫 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1