云计算环境中虚拟机自动还原的方法和系统与流程

文档序号:11261852阅读:324来源:国知局
云计算环境中虚拟机自动还原的方法和系统与流程

本发明涉及一种云计算环境中虚拟机自动还原的方法和系统,特别适用于一些需要大规模快速自动还原功能的场景。



背景技术:

云计算是一种新兴的共享基础架构的方法,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。云计算的底层需要虚拟化技术支持。通过虚拟化技术,云计算可以实现对资源的灵活以及高效的使用,从而为用户提供优质的服务。

在云计算系统的应用实践中,遇到一些特殊的场景,例如电教室、图书馆等使用场景中,需要虚拟机在每次使用后都恢复到初始状态,而云计算系统通常是不提供这种功能的,因此需要设计一种云计算环境中虚拟机的自动还原的方法和系统。

目前存在一些用于备份虚拟机的方案,但无法实现虚拟机的自动还原功能。公开号为“cn103268268a”的《虚拟机自动还原装置》中提供了一种虚拟机自动还原的方法,通过将虚拟机新增文件作为临时文件保存并在虚拟机关机时删除来实现虚拟机还原,而公开号为“cn103207817a”的《虚拟机自动还原方法》流程与之类似。

上述实现方案的稳定性不足以支撑中大规模的虚拟机还原,尤其是电教室这样的场景,需要在课间的十几分钟智能恢复大规模虚拟机,系统稳定性和可用性会受到影响。



技术实现要素:

本发明提出了一种云计算环境中虚拟机自动还原的系统和方法,使虚拟机拥有开启和关闭自动还原的功能,对于开启了自动还原功能的虚拟机,在 下次启动后能够还原到初始状态。该种自动还原方法具有较高的稳定性,且具有较好的易用性,特别适用于一些需要大规模快速自动还原功能的场景。

本发明还提出了一种云计算环境中虚拟机自动还原系统的快照子系统和快照方法,便于虚拟机的快照生成,尤其适用于为大规模虚拟机的快速自动还原提供快照。

本发明的主要设计思路为:在用于提供基础设施云计算系统中,通常都会包含控制器和虚拟化服务器,其中控制器中包含虚拟机管理、资源调度等核心功能,虚拟机则在虚拟化服务器中运行。要实现虚拟机的自动还原功能,则需要对控制器和虚拟化服务器进行改造。本方案设计包括开启虚拟机自动还原和关闭自动还原两个功能,并设计了新的虚拟机启动方法,用于实现虚拟机自动还原功能,并为其提供了适当的还原基础。

为了达到上述目的,本发明提供的主要技术方案包括:

一种云计算环境中虚拟机自动还原的系统,包括虚拟化服务器和在虚拟化服务器中运行的虚拟机,其虚拟化服务器中设有自动还原插件,用于对虚拟机的磁盘进行快照和还原快照。

其中,虚拟机的磁盘包括子母盘(本发明中的子母盘是指虚拟机的磁盘包含基础磁盘和增量磁盘两部分,将基础磁盘称为母盘,增量磁盘称为子盘),对虚拟机的磁盘生成快照时仅针对子盘进行。

进一步的,对虚拟机的磁盘还原快照时仅针对子盘进行。

本发明的一个实施例中,对虚拟机的磁盘进行快照是在虚拟机的文件处于被锁定状态的时候进行的。

较佳的,对虚拟机的磁盘进行快照是在虚拟机关机的时候进行的。

更进一步的,虚拟机关机的时候指的是虚拟机处于关机状态的时候。

本发明的一个实施例中,对虚拟机的磁盘还原快照是在虚拟机开机 的时候进行的。

较佳的,虚拟机开机的时候指的是在虚拟机的开机过程中。具体是指在接收开机请求之后首先执行还原快照,再执行开机动作。

本发明的一个实施例中,还具有与自动还原插件相连的虚拟机状态保存模块,用于保存虚拟机的初始状态。

较佳的,虚拟机状态保存模块设于与虚拟化服务器连接的控制器。

上述任一种云计算环境中虚拟机自动还原的系统,其还具有自动还原模块,用于控制虚拟化服务器中的自动还原插件。

其中,自动还原模块设于与虚拟化服务器连接的控制器。

较佳的,自动还原模块对外提供接口,用于接收开启或关闭自动还原的请求。

本发明的一个实施例中,自动还原模块根据自动还原请求,查找对应的虚拟机位置以及其状态,并调用该虚拟机所在的虚拟化服务器中的自动还原插件进行相应的处理。

一种云计算环境中虚拟机自动还原的方法,用于在虚拟化服务器中运行的虚拟机的还原,其包括如下步骤:

s1、利用虚拟化服务器中的自动还原插件生成虚拟机的快照并保存;

s2、利用虚拟化服务器中的自动还原插件根据步骤s1中的快照还原虚拟机。

本发明的一个实施例中,还包括步骤s0、利用控制器中的自动还原模块开启或关闭自动还原。

较佳的,自动还原模块对外提供接口,用于接收开启或关闭自动还原的请求。

本发明的一个实施例中,自动还原模块根据自动还原请求,查找对 应的虚拟机位置以及其状态,并调用该虚拟机所在的虚拟化服务器中的自动还原插件进行相应的处理,并保存虚拟机状态。

较佳的,关闭自动还原时,执行步骤s3、删除步骤s1生成的快照。

其中,虚拟机的磁盘包括子母盘,对虚拟机的磁盘生成快照时仅针对子盘进行。

本发明的一个实施例中,虚拟机的磁盘包括子母盘,步骤s1和s2仅针对虚拟机的子盘进行。

本发明的一个实施例中,对虚拟机的磁盘进行快照是在虚拟机的文件处于被锁定状态的时候进行的。

较佳的,对虚拟机的磁盘进行快照是在虚拟机关机的时候进行的。

更进一步的,虚拟机关机的时候指的是虚拟机处于关机状态的时候。

本发明的一个实施例中,步骤s1是在锁定未被占用的文件的时候进行。

本发明的一个实施例中,步骤s2是在虚拟机开机的时候进行。

较佳的,虚拟机开机的时候指的是在虚拟机的开机过程中。具体是指在接收开机请求之后首先执行还原快照,再执行开机动作。

一种云计算环境中虚拟机自动还原系统的快照子系统,其在虚拟化服务器中设置有快照插件,用于对虚拟机的磁盘进行快照。

其中,虚拟机的磁盘包括子母盘,对虚拟机的磁盘生成快照时仅针对子盘进行。

本发明的一个实施例中,对虚拟机的磁盘进行快照是在虚拟机的文件处于被锁定状态的时候进行的。

较佳的,对虚拟机的磁盘进行快照是在虚拟机关机的时候进行的。

更进一步的,虚拟机关机的时候指的是虚拟机处于关机状态的时候。

其中,快照插件设于在虚拟化服务器中设置的自动还原插件中,该自动还原插件用于对虚拟机的磁盘进行快照和还原快照。

一种云计算环境中虚拟机自动还原系统的快照方法,其利用设置在虚拟化服务器中的快照插件对虚拟机的磁盘进行快照。

其中,虚拟机的磁盘包括子母盘,对虚拟机的磁盘生成快照时仅针对子盘进行。

本发明的一个实施例中,对虚拟机的磁盘进行快照是在虚拟机的文件处于被锁定状态的时候进行的。

较佳的,快照步骤是在虚拟机磁盘中的文件未被占用且被锁定的时候进行。

较佳的,对虚拟机的磁盘进行快照是在虚拟机关机的时候进行的。

更进一步的,虚拟机关机的时候指的是虚拟机处于关机状态的时候。

本系统能够对云计算环境中的虚拟机提供自动还原功能,对于开启了自动还原功能的虚拟机在下次开始时会还原到初始状态。该初始状态是指开启自动还原功能时该虚拟机的状态。本系统稳定可靠,特别适用于电教室、图书馆等需要大规模快速自动还原功能的场景使用。

附图说明

图1是本发明一个实施例的自动还原系统的整体结构示意图;

图2是本发明一个实施例的自动还原系统开启自动还原功能的整体流程示意图;

图3是本发明一个实施例的自动还原系统的虚拟机开机流程示意图;

图4是本发明一个实施例的自动还原系统关闭自动还原功能的整体流程示意图。

具体实施方式

为了更好地解释本发明,以便于理解,下面结合附图,通过具体实施例对本发明作详细描述。

如图1所示,本发明提供的一种云计算环境中虚拟机自动还原的系统,包括控制器和虚拟化服务器,其在虚拟化服务器中安装自动还原插件,主要包括对虚拟机磁盘进行快照和还原快照的功能。

其中,虚拟机磁盘使用子母盘方式,仅对子盘进行快照和还原,速度较快。

进一步的,自动还原插件在执行操作时候会对虚拟机磁盘文件状态进行检查,并在操作过程中对文件锁定,确保磁盘文件不被损坏,提高系统的健壮性。

更进一步的,其在控制器中增加自动还原模块,对外提供接口,用于接收开启或关闭自动还原的请求,接受请求后,查找对应的虚拟机位置以及其状态,并调用该虚拟机所在的虚拟化服务器中的自动还原插件进行相应的处理,并保存虚拟机状态,完成请求。

其中,开启虚拟机自动还原功能时,查找虚拟机位置,并调用自动还原插件对虚拟机进行快照,并保存状态。

其中,开启虚拟机时候,查询虚拟机自动还原设置,若为开启,则查找其快照,并进行还原操作,之后进行开机。将还原快照的过程放在开启虚拟机时候进行,是因为开启虚拟机的入口比较统一,经过实际验证,这种方式更稳定。

其中,关闭虚拟机自动还原功能时,查找虚拟机位置,并调用自动还原插件删除虚拟机快照。

本发明还提供了自动还原的方法,包括:开启虚拟机自动还原功能、改造后的虚拟机开机流程和关闭虚拟机自动还原功能。

其中,如图2所示的实施例中,开启虚拟机自动还原功能时候会生成一个虚拟机的快照并保存,具体流程为:

(1)用户通过云管理平台或者命令行终端调用开启某个虚拟机的自动还原功能,控制器中的自动还原模块接收到请求后,会先去检查虚拟机的状态,若虚拟机正在运行,则提示是否需要强制关闭虚拟机,若用户选择否,则流程结束,返回提示,只有处于关闭状态的虚拟机才能设置自动还原。若用户选择是,则关闭虚拟机,并查询虚拟机所在的虚拟化服务器地址,调用自动还原插件。

(2)虚拟化服务器上的自动还原插件接受请求后,查找到虚拟机的磁盘文件,若此文件被占用,则循环等待直至超时并返回结果。若文件没有被占用,则锁定该文件,对虚拟机磁盘文件生成快照,完成后解锁磁盘文件并返回结果。

(3)虚拟化服务器中的自动还原模块接受到结果并保存,之后返回信息,开启虚拟机自动还原流程结束。

需要说明的是,本系统中虚拟机使用子母盘方式创建,这里生成快照时候针对子盘生成快照即可,这种方式速度快,用户体验较好。

其中,如图3所示的实施例中,虚拟机开启了自动还原功能后,在进行虚拟机开机的时候会将设置自动还原时生成的快照自动还原,之所以在开机时候进行还原而非在关机时进行还原,是因为关闭虚拟机的入口过多,可以是虚拟机内部自行关闭也可能是外部调用接口关闭虚拟机,还有可能是断电导致的关闭,而开机的入口比较统一,在开机时候进行还原使系统更加稳定可靠,具体的虚拟机开机流程为:

(1)控制器中的自动还原模块接收到开机请求后,会查询虚拟机是否 开启了自动还原功能,若没有开启自动还原功能,则继续操作执行开机流程。

(2)若开始了自动还原功能,则查找虚拟机的位置,调用虚拟机所在虚拟化服务器的自动还原插件,查找到虚拟机磁盘和快照文件。

(3)查看文件是否被占用,若被占用则等待直至超时退出。

(4)若未被占用,则锁定虚拟机磁盘文件,并将快照进行还原操作,完成后解锁虚拟机磁盘文件,之后返回结果给控制器。

(5)控制器中的自动还原模块保存结果,之后执行开机操作,开启虚拟机。

其中,如图4所示的实施例中,关闭虚拟机自动还原功能相对简单,其具体流程为:

(1)控制器接受关闭虚拟机自动还原功能的请求,则查询虚拟机所在位置,调用所在虚拟化服务器中的自动还原插件。

(2)虚拟化服务器中的自动还原插件查找到虚拟机磁盘文件以及其快照后,删除快照,并返回结果。因为删除快照对虚拟机的运行无影响,因此这里不需要锁定虚拟机磁盘文件。

(3)返回结果给控制器,控制器中自动还原模块保存结果,并返回信息,流程结束。

综上所述,本发明提供云计算系统中虚拟机自动还原的功能,对虚拟机可以选择开启或者关闭此功能,开启虚拟机自动还原功能时会保存当前虚拟机状态作为快照,在下次开机时候会将此快照还原,从而实现了虚拟机自动还原功能。

其中,开启虚拟机的自动还原功能时,控制器中的自动还原模块接收到请求,检查虚拟机的状态,对处于关闭状态的虚拟机设置自动还原。查询虚拟机所在的虚拟化服务器地址,调用自动还原插件。虚拟化服务器上的自动 还原插件接受请求,查找到虚拟机的磁盘文件,在磁盘文件未被占用情况下,锁定该文件,对虚拟机磁盘文件生成快照,完成后解锁磁盘文件并返回结果。虚拟化服务器中的自动还原模块接受到结果并保存,完成开启虚拟机自动还原的操作。

其中的虚拟机开机过程中,控制器中的自动还原模块接收到开机请求,对于开启了自动还原功能的虚拟机,调用虚拟机所在虚拟化服务器的自动还原插件,查找到虚拟机磁盘和快照文件。查看文件是否被占用,若未被占用,则锁定虚拟机磁盘文件,并将快照进行还原操作,完成后解锁虚拟机磁盘文件,之后返回结果给控制器。控制器中的自动还原模块保存结果,之后执行开机操作,开启虚拟机。

其中,关闭虚拟机自动还原过程中,控制器接受关闭虚拟机自动还原功能的请求,查询虚拟机所在位置,调用所在虚拟化服务器中的自动还原插件,虚拟化服务器中的自动还原插件查找到虚拟机磁盘文件以及其快照,删除快照,并返回结果给控制器,控制器中自动还原模块保存结果,并返回信息。

本系统使用稳定且易用性较好,特别适用于一些虚拟机需要自动还原功能的云计算场景。

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