CN111857966A - 虚拟机快照创建方法、装置及计算机可读存储介质 - Google Patents

虚拟机快照创建方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111857966A
CN111857966A CN202010740263.1A CN202010740263A CN111857966A CN 111857966 A CN111857966 A CN 111857966A CN 202010740263 A CN202010740263 A CN 202010740263A CN 111857966 A CN111857966 A CN 111857966A
Authority
CN
China
Prior art keywords
virtual machine
memory page
snapshot
time
state
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
CN202010740263.1A
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.)
Shandong Mass Institute Of Information Technology
Original Assignee
Shandong Mass Institute Of Information Technology
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 Shandong Mass Institute Of Information Technology filed Critical Shandong Mass Institute Of Information Technology
Priority to CN202010740263.1A priority Critical patent/CN111857966A/zh
Publication of CN111857966A publication Critical patent/CN111857966A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种虚拟机快照创建方法、装置及计算机可读存储介质。其中,方法包括获取虚拟机在内存快照创建时刻的当前内存页位图,将当前内存页位图在虚拟机运行状态下持久化至本地。判断将当前内存页位图从生成时刻到持久化完成时刻的变化数据即下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间,若否,将下一个内存页位图作为当前内存页位图执行将将当前内存页位图在虚拟机运行状态下持久化至本地的步骤;若是,将下一个内存页位图在虚拟机暂停状态持久化至本地。利用磁盘快速复制方法创建虚拟机于暂停状态时刻的磁盘副本,在不影响虚拟机业务正常运行的基础上实现了虚拟机动态内存数据持久化,简化了虚拟机快照管理复杂度。

Description

虚拟机快照创建方法、装置及计算机可读存储介质
技术领域
本申请涉及虚拟化技术领域,特别是涉及一种虚拟机快照创建方法、装置及计算机可读存储介质。
背景技术
可以理解的是,如图1所示,正在运行的虚拟机创建快照共包括两部分:一部分为虚拟机动态内存数据的持久化,另一部分为虚拟机磁盘数据的持久化。
其中,内存数据用于暂时存放CPU(central processing unit,中央处理器)中的运算数据,以及与硬盘等外部存储器的交换数据;在虚拟机化平台,同样也是虚拟机重要的一部分,他是与vCPU(virtual central processing unit,虚拟处理器)进行沟通的桥梁。宏观上讲,就是指虚拟机实时的运行状态,比如输入文字、观看电影、或正在运行的游戏都是在内存中进行的。内存数据持久化是指将这些正在运行的一些状态,也就是内存中动态变化的数据,保存成为一个本地静态的数据文件。虚拟机磁盘数据的持久化,也即是指虚拟机磁盘文件在某个时刻的及时的副本数据。
相关技术在进行虚拟机内存持久化时需要暂停虚拟机I/O(input/output,输入输出),然后在暂停状态下将虚拟机内存中的磁盘脏数据保存为本地的一个磁盘文件,此磁盘文件即为内存快照。虚拟机的暂停时间取决于虚拟机内存脏数据量,若虚拟机内存及使用率较大,虚拟机暂停时间就会成比例地增加,影响虚拟机上业务的正常运行;此外,现有基于KVM(Kernel-based Virtual Machine,基于内核的虚拟机)虚拟化的虚拟机磁盘快照大多数为内部快照或外部快照,各快照间均有依赖关系,增加了快照管理的复杂度。
鉴于此,如何在不影响虚拟机业务正常运行的基础上进行虚拟机动态内存数据持久化,简化虚拟机快照管理复杂度,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种虚拟机快照创建方法、装置及计算机可读存储介质,不仅在不影响虚拟机业务正常运行的基础上实现了虚拟机动态内存数据持久化,还简化了虚拟机快照管理复杂度。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种虚拟机快照创建方法,包括:
获取虚拟机在内存快照创建时刻的当前内存页位图,将所述当前内存页位图在所述虚拟机运行状态下持久化至本地;
将所述当前内存页位图从生成时刻到所述当前内存页持久化完成时刻的变化数据作为下一个内存页位图,判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间;所述预设期望暂停时间不超过10ms;
若否,则将所述下一个内存页位图作为当前内存页位图,执行所述将所述当前内存页位图在所述虚拟机运行状态下持久化至本地的步骤;若是,则暂停所述虚拟机,同时将所述下一个内存页位图持久化至本地;
利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照。
可选的,所述将所述下一个内存页位图持久化至本地之后,还包括:
接收所述虚拟机的状态设置命令;
根据所述状态设置命令中携带的所述虚拟机的运行状态信息自动设置所述虚拟机的当前运行状态;所述虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
可选的,所述判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间包括:
获取所述虚拟机的内存数据持久化速率值和所述预设期望暂停时间;
根据所述内存数据持久化速率值和所述下一个内存页位图的空间容量值计算得到所述下一个内存页位图持久化操作所需时间;
判断所述下一个内存页位图持久化操作所需时间是否低于预设期望暂停时间。
可选的,所述获取所述虚拟机的内存数据持久化速率值和所述预设期望暂停时间之前,还包括:
接收期望暂停时间重设置命令;
根据所述期望暂停时间重设置命令中携带的新期望暂停时间自动更新预先存储的所述预设期望暂停时间的数值。
可选的,所述利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照包括:
为所述虚拟机对应的源磁盘创建新的索引节点;
基于所述索引节点,使用所述磁盘快速复制方法创建所述虚拟机设置为暂停状态时刻的及时副本;
将所述虚拟机从暂停状态恢复至运行状态,以完成所述虚拟机的快照流程。
本发明实施例另一方面提供了一种虚拟机快照创建装置,包括:
内存快照模块,用于获取虚拟机在内存快照创建时刻的当前内存页位图,将所述当前内存页位图在所述虚拟机运行状态下持久化至本地;将所述当前内存页位图从生成时刻到所述当前内存页持久化完成时刻的变化数据作为下一个内存页位图,判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间;所述预设期望暂停时间不超过10ms;若否,则将所述下一个内存页位图作为当前内存页位图,执行所述将所述当前内存页位图在所述虚拟机运行状态下持久化至本地的步骤;若是,则暂停所述虚拟机,同时将所述下一个内存页位图持久化至本地;
磁盘快照模块,用于利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照。
可选的,所述内存快照模块还包括状态自定义模块,所述状态自定义模块包括:
命令接收子模块,用于接收所述虚拟机的状态设置命令;
状态设置子模块,用于根据所述状态设置命令中携带的所述虚拟机的运行状态信息自动设置所述虚拟机的当前运行状态;所述虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
可选的,所述磁盘快照模块包括:
索引节点创建子模块,用于为所述虚拟机对应的源磁盘创建新的索引节点;
硬盘快照创建子模块,用于基于所述索引节点,使用所述磁盘快速复制方法创建所述虚拟机设置为暂停状态时刻的及时副本;
虚拟机状态恢复子模块,用于将所述虚拟机从暂停状态恢复至运行状态,以完成所述虚拟机的快照流程。
本发明实施例还提供了一种虚拟机快照创建装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述虚拟机快照创建方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有虚拟机快照创建程序,所述虚拟机快照创建程序被处理器执行时实现如前任一项所述虚拟机快照创建方法的步骤。
本申请提供的技术方案的优点在于,由于虚拟机时刻处于运行状态,每个时间点都会有冗余数据产生,冗余数据包含了内存数据和磁盘数据,内存数据持久化采用迭代预拷贝方法,将虚拟机正在运行和正在产生的内存数据持久化到本地;内存数据持久化完成后虚拟机默认为暂停状态,此时采用快速复制方法进行磁盘快照,整个硬盘快照过程可在毫秒级别完成,整个快照创建过程中虚拟机处于暂停状态的时间为毫秒级别,实现了虚拟机内存脏数据持久化不依赖暂停,可动态同步;虚拟机业务中断时间从用户角度来看可达到无感知的效果,不影响虚拟机业务的正常运行,相当于业务零中断。此外,虚拟机磁盘快照无链状关系,相互不依赖,简化了虚拟机快照管理,大幅降低快照管理的复杂度,有利于提升虚拟化技术的高可用性和可操作性。
此外,本发明实施例还针对虚拟机快照创建方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的虚拟机快照创建示意图;
图2为本发明实施例提供的一种虚拟机快照创建方法的流程示意图;
图3为本发明实施例提供的一种虚拟机的内存快照创建示意图;
图4为本发明实施例提供的一种虚拟机的内存快照流程示意图;
图5为本发明实施例提供的一种虚拟机的磁盘快照示意图;
图6为本发明实施例提供的一种虚拟机的磁盘快照的原理示意图;
图7为本发明实施例提供的虚拟机快照创建装置的一种具体实施方式结构图;
图8为本发明实施例提供的虚拟机快照创建装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图2,图2为本发明实施例提供的一种虚拟机快照创建方法的流程示意图,本发明实施例可包括以下内容:
S201:获取虚拟机在内存快照创建时刻的当前内存页位图。
在本申请中,当接收到创建虚拟机快照的请求后,若请求中携带虚拟机快照创建时间,则以该时间为虚拟机快照创建时刻;若请求中没有携带虚拟机快照创建时间,则请求下发时刻作为虚拟机快照创建时刻。在进行虚拟机快照时,可先对虚拟机进行内存快照,内存快照创建时刻可为虚拟机快照创建时刻,获取内存快照创建时刻的虚拟机的内存页位图,作为虚拟机在内存快照创建时刻的当前内存页位图。
S202:将当前内存页位图在虚拟机运行状态下持久化至本地。
结合图2可知,虚拟机的内存快照即是将虚拟机正在运行的一些状态数据也即内存动态变化数据存储至本地,保存成为一个本地静态的数据文件,这个过程可称为持久化。
S203:将当前内存页位图从生成时刻到当前内存页持久化完成时刻的变化数据作为下一个内存页位图。
在本步骤中,对于第一个内存页位图的生成时刻即为内存快照创建时刻,从第二个内存页位图开始后面的内存页位图的生成时刻为上一个内存页位图完成持久化操作的时刻。举例来说,将虚拟机在内存快照创建时刻t0的第一内存页位图持久化至本地,第一内存页位图的生成时刻即为存快照创建时刻t0,第一内存页位图持久化完成时刻为t1。将第一内存页位图从t0到t1这段时间的变化数据作为第二内存页位图,若将第二内存页位图持久化至本地所需时间高于预设期望暂停时间,则将第二内存页位图持久化至本地,第二内存页位图持久化完成时刻为t2,第二内存页位图的生成时刻即为第一内存页位图持久化完成时刻t1。将第二内存页位图从t1到t2这段时间的变化数据作为第三内存页位图,若将第三内存页位图持久化至本地所需时间高于预设期望暂停时间,则将第三内存页位图持久化至本地,第三内存页位图持久化完成时刻为t3,第三内存页位图的生成时刻即为第二内存页位图持久化完成时刻t2。将第三内存页位图从t2到t3这段时间的变化数据作为第四内存页位图,第四内存页位图的生成时刻即为第三内存页位图持久化完成时刻t3。可以理解的是,虚拟机在运行状态就会产生新的动态数据,也即内存数据会时刻更新,下一个内存页位图即为相邻两个时刻的动态变化的数据。
S204:判断将下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间,若否,则执行S205,若是,则执行S206。
其中,预设期望暂停时间不超过10ms,预设暂停时间为在用户层面来讲无法感知到的时间段,所属领域技术人员可根据实际情况设置预设期望暂停时间的实际值,然后将预设期望暂停时间值存储至系统中,以便在内存快照时调用。内存页位图持久化所需时间可根据系统磁盘的I/O确定的内存数据持久化速率和内存页位图大小共同决定。在一种可选的实施方式中,可先获取虚拟机的内存数据持久化速率值和预设期望暂停时间;然后根据内存数据持久化速率值和下一个内存页位图的空间容量值计算得到下一个内存页位图持久化操作所需时间;最后通过比较下一个内存页位图持久化操作所需时间与预设期望暂停时间的大小关系来进行判断。
S205:将下一个内存页位图作为当前内存页位图,跳转执行S202。
在本申请中,只要下一个内存页位图持久化所需时间高于预设期望暂停时间,就循环执行S202-S205,也即循环执行内存页位图持久化至本地-获取下一个内存页位图-判断下一个内存页位图持久化所需时间是否大于预设期望暂停时间。只要内存页位图持久化所需时间大于等于预设期望暂停时间,则内存页位图的持久化操作就在虚拟机正常运行状态下执行。
S206:暂停虚拟机,同时将下一个内存页位图持久化至本地。
在本步骤中,只有内存页位图持久化所需时间小于预设期望暂停时间,则将虚拟机设置为暂停状态,该内存页位图的持久化操作在虚拟机暂停状态下执行,该内存页位图为虚拟机的最后一段动态内存数据,将该段内存页位图持久化至本地后,就完成了虚拟机的内存快照。为了使本领域技术人员清楚明白本申请技术方案,结合图3,本申请还提供了一个示意性例子。下发创建内存快照时刻为T-init,记录T-init时刻虚拟机内存页MemMap-1,将内存页MemMap-1持久化到本地,内存页MemMap-1持久化操作所花费时间为T-save-1;通过监控模块可记录自T-init时刻开始,T-save-1时间段内内存页的改变MemMap-2,并在上一内存页MemMap-1都持久化完成后即开始持久化在T-save-1时刻内内存页的改变内容MemMap-2,以此类推,迭代预拷贝,直至MemMap-n的持久化所需花费时间低于期望暂停时间时,暂停虚拟机,完成最后MemMap-n的数据同步,完成整个内存快照。
S207:利用磁盘快速复制方法将虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为虚拟机的磁盘快照。
通常来讲,虚拟机的磁盘快照为单独创建。在本申请中,结合图4和图5,图中的snap为副本,虚拟机的磁盘快照结合内存快照进行创建,本申请的磁盘快照即为记录虚拟机在S206设置为暂停状态那个时刻的运行状态及磁盘数据。虚拟机在完成内存快照后,虚拟机的状态为暂停状态,使用磁盘快速复制技术为虚拟机对应的源磁盘创建新的索引节点;不同于软连接和硬链接,本步骤所采用方式使数据之间不再共享元数据,且不占用实际空间,只有文件改变之后才会有写入动作。由于在拷贝时只创建新的索引节点,因此拷贝速度非常快,通常在毫秒级别便可完成磁盘快照;基于索引节点,使用磁盘快速复制方法创建虚拟机设置为暂停状态时刻的及时副本;将虚拟机从暂停状态恢复至运行状态,完成虚拟机的快照流程。
在本发明实施例提供的技术方案中,由于虚拟机时刻处于运行状态,每个时间点都会有冗余数据产生,冗余数据包含了内存数据和磁盘数据,内存数据持久化采用迭代预拷贝方法,将虚拟机正在运行和正在产生的内存数据持久化到本地;内存数据持久化完成后虚拟机默认为暂停状态,此时采用快速复制方法进行磁盘快照,整个硬盘快照过程可在毫秒级别完成,整个快照创建过程中虚拟机处于暂停状态的时间为毫秒级别,实现了虚拟机内存脏数据持久化不依赖暂停,可动态同步;虚拟机业务中断时间从用户角度来看可达到无感知的效果,不影响虚拟机业务的正常运行,相当于业务零中断。此外,虚拟机磁盘快照无链状关系,相互不依赖,简化了虚拟机快照管理,大幅降低快照管理的复杂度,有利于提升虚拟化技术的高可用性和可操作性。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
上述实施例针对虚拟机动态内存数据的持久化进行了优化,为了极大地增加虚拟化层面虚拟机的可操作性和高可用性,基于上述实施例,在完成内存快照之后,还可包括:
接收虚拟机的状态设置命令;
根据状态设置命令中携带的虚拟机的运行状态信息自动设置虚拟机的当前运行状态;虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
本实施例自定义了虚拟机内存数据持久化后虚拟机的运行状态,极大地增加了虚拟化层面虚拟机的可操作性。
作为另外一种可选的实施方式,为了提高系统的灵活性,进而提升用户操作体验,在S204之前还可包括:
接收期望暂停时间重设置命令;
根据期望暂停时间重设置命令中携带的新期望暂停时间自动更新预先存储的预设期望暂停时间的数值。
本发明实施例还针对虚拟机快照创建方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的虚拟机快照创建装置进行介绍,下文描述的虚拟机快照创建装置与上文描述的虚拟机快照创建方法可相互对应参照。
基于功能模块的角度,参见图7,图7为本发明实施例提供的虚拟机快照创建装置在一种具体实施方式下的结构图,该装置可包括:
内存快照模块701,用于获取虚拟机在内存快照创建时刻的当前内存页位图,将当前内存页位图在虚拟机运行状态下持久化至本地;将当前内存页位图从生成时刻到当前内存页持久化完成时刻的变化数据作为下一个内存页位图,判断将下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间;预设期望暂停时间不超过10ms;若否,则将下一个内存页位图作为当前内存页位图,执行将当前内存页位图在虚拟机运行状态下持久化至本地的步骤;若是,则暂停虚拟机,同时将下一个内存页位图持久化至本地。
磁盘快照模块702,用于利用磁盘快速复制方法将虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为虚拟机的磁盘快照。
可选的,在本实施例的一些实施方式中,所述内存快照模块701还可包括状态自定义模块,状态自定义模块包括:
命令接收子模块,用于接收虚拟机的状态设置命令;
状态设置子模块,用于根据状态设置命令中携带的虚拟机的运行状态信息自动设置虚拟机的当前运行状态;虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
在本发明实施例的一些实施方式中,所述内存快照模块701例如还可包括:
信息获取子模块,用于获取虚拟机的内存数据持久化速率值和预设期望暂停时间;
时间计算子模块,用于根据内存数据持久化速率值和下一个内存页位图的空间容量值计算得到下一个内存页位图持久化操作所需时间;
判断子模块,用于判断下一个内存页位图持久化操作所需时间是否低于预设期望暂停时间。
作为一种可选的实施方式,所述装置还可包括期望时间重设置模块,所述期望时间重设置模块包括:
重设置命令接收子模块,用于接收期望暂停时间重设置命令;
信息更新子模块,用于根据期望暂停时间重设置命令中携带的新期望暂停时间自动更新预先存储的预设期望暂停时间的数值。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括:
磁盘快照模块702例如还可包括:
索引节点创建子模块,用于为虚拟机对应的源磁盘创建新的索引节点;
硬盘快照创建子模块,用于基于索引节点,使用磁盘快速复制方法创建虚拟机设置为暂停状态时刻的及时副本;
虚拟机状态恢复子模块,用于将虚拟机从暂停状态恢复至运行状态,以完成虚拟机的快照流程。
本发明实施例所述虚拟机快照创建装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例不仅在不影响虚拟机业务正常运行的基础上实现了虚拟机动态内存数据持久化,还简化了虚拟机快照管理复杂度。
上文中提到的虚拟机快照创建装置是从功能模块的角度描述,进一步的,本申请还提供一种虚拟机快照创建装置,是从硬件角度描述。图8为本申请实施例提供的另一种虚拟机快照创建装置的结构图。如图8所示,该装置包括存储器80,用于存储计算机程序;
处理器81,用于执行计算机程序时实现如上述任一实施例提到的虚拟机快照创建方法的步骤。
其中,处理器81可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器81可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器81也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器81可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器81还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器80可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器80还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器80至少用于存储以下计算机程序801,其中,该计算机程序被处理器81加载并执行之后,能够实现前述任一实施例公开的虚拟机快照创建方法的相关步骤。另外,存储器80所存储的资源还可以包括操作系统802和数据803等,存储方式可以是短暂存储或者永久存储。其中,操作系统802可以包括Windows、Unix、Linux等。数据803可以包括但不限于测试结果对应的数据等。
在一些实施例中,虚拟机快照创建装置还可包括有显示屏82、输入输出接口83、通信接口84、电源85以及通信总线86。
本领域技术人员可以理解,图8中示出的结构并不构成对虚拟机快照创建装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器87。
本发明实施例所述虚拟机快照创建装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例不仅在不影响虚拟机业务正常运行的基础上实现了虚拟机动态内存数据持久化,还简化了虚拟机快照管理复杂度。
可以理解的是,如果上述实施例中的虚拟机快照创建方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有虚拟机快照创建程序,所述虚拟机快照创建程序被处理器执行时如上任意一实施例所述虚拟机快照创建方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例不仅在不影响虚拟机业务正常运行的基础上实现了虚拟机动态内存数据持久化,还简化了虚拟机快照管理复杂度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种虚拟机快照创建方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种虚拟机快照创建方法,其特征在于,包括:
获取虚拟机在内存快照创建时刻的当前内存页位图,将所述当前内存页位图在所述虚拟机运行状态下持久化至本地;
将所述当前内存页位图从生成时刻到所述当前内存页持久化完成时刻的变化数据作为下一个内存页位图,判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间;所述预设期望暂停时间不超过10ms;
若否,则将所述下一个内存页位图作为当前内存页位图,执行所述将所述当前内存页位图在所述虚拟机运行状态下持久化至本地的步骤;若是,则暂停所述虚拟机,同时将所述下一个内存页位图持久化至本地;
利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照。
2.根据权利要求1所述的虚拟机快照创建方法,其特征在于,所述将所述下一个内存页位图持久化至本地之后,还包括:
接收所述虚拟机的状态设置命令;
根据所述状态设置命令中携带的所述虚拟机的运行状态信息自动设置所述虚拟机的当前运行状态;所述虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
3.根据权利要求2所述的虚拟机快照创建方法,其特征在于,所述判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间包括:
获取所述虚拟机的内存数据持久化速率值和所述预设期望暂停时间;
根据所述内存数据持久化速率值和所述下一个内存页位图的空间容量值计算得到所述下一个内存页位图持久化操作所需时间;
判断所述下一个内存页位图持久化操作所需时间是否低于预设期望暂停时间。
4.根据权利要求3所述的虚拟机快照创建方法,其特征在于,所述获取所述虚拟机的内存数据持久化速率值和所述预设期望暂停时间之前,还包括:
接收期望暂停时间重设置命令;
根据所述期望暂停时间重设置命令中携带的新期望暂停时间自动更新预先存储的所述预设期望暂停时间的数值。
5.根据权利要求1至4任意一项所述的虚拟机快照创建方法,其特征在于,所述利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照包括:
为所述虚拟机对应的源磁盘创建新的索引节点;
基于所述索引节点,使用所述磁盘快速复制方法创建所述虚拟机设置为暂停状态时刻的及时副本;
将所述虚拟机从暂停状态恢复至运行状态,以完成所述虚拟机的快照流程。
6.一种虚拟机快照创建装置,其特征在于,包括:
内存快照模块,用于获取虚拟机在内存快照创建时刻的当前内存页位图,将所述当前内存页位图在所述虚拟机运行状态下持久化至本地;将所述当前内存页位图从生成时刻到所述当前内存页持久化完成时刻的变化数据作为下一个内存页位图,判断将所述下一个内存页位图持久化至本地所需时间是否低于预设期望暂停时间;所述预设期望暂停时间不超过10ms;若否,则将所述下一个内存页位图作为当前内存页位图,执行所述将所述当前内存页位图在所述虚拟机运行状态下持久化至本地的步骤;若是,则暂停所述虚拟机,同时将所述下一个内存页位图持久化至本地;
磁盘快照模块,用于利用磁盘快速复制方法将所述虚拟机设置为暂停状态时刻的磁盘数据进行及时副本的创建,作为所述虚拟机的磁盘快照。
7.根据权利要求6所述的虚拟机快照创建装置,其特征在于,所述内存快照模块还包括状态自定义模块,所述状态自定义模块包括:
命令接收子模块,用于接收所述虚拟机的状态设置命令;
状态设置子模块,用于根据所述状态设置命令中携带的所述虚拟机的运行状态信息自动设置所述虚拟机的当前运行状态;所述虚拟机的运行状态信息为运行状态或关机状态或暂停状态。
8.根据权利要求6或7所述的虚拟机快照创建装置,其特征在于,所述磁盘快照模块包括:
索引节点创建子模块,用于为所述虚拟机对应的源磁盘创建新的索引节点;
硬盘快照创建子模块,用于基于所述索引节点,使用所述磁盘快速复制方法创建所述虚拟机设置为暂停状态时刻的及时副本;
虚拟机状态恢复子模块,用于将所述虚拟机从暂停状态恢复至运行状态,以完成所述虚拟机的快照流程。
9.一种虚拟机快照创建装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5任一项所述虚拟机快照创建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有虚拟机快照创建程序,所述虚拟机快照创建程序被处理器执行时实现如权利要求1至5任一项所述虚拟机快照创建方法的步骤。
CN202010740263.1A 2020-07-28 2020-07-28 虚拟机快照创建方法、装置及计算机可读存储介质 Pending CN111857966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010740263.1A CN111857966A (zh) 2020-07-28 2020-07-28 虚拟机快照创建方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010740263.1A CN111857966A (zh) 2020-07-28 2020-07-28 虚拟机快照创建方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111857966A true CN111857966A (zh) 2020-10-30

Family

ID=72948805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010740263.1A Pending CN111857966A (zh) 2020-07-28 2020-07-28 虚拟机快照创建方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111857966A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268311A (zh) * 2021-05-12 2021-08-17 西安交通大学 基于用时感知的虚拟机群高效快照方法
CN113626261A (zh) * 2021-10-13 2021-11-09 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质
CN113641446A (zh) * 2021-07-13 2021-11-12 烽火通信科技股份有限公司 内存快照创建方法、装置、设备及可读存储介质
CN114138424A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种虚拟机内存快照生成方法、装置及电子设备
WO2023151352A1 (zh) * 2022-02-09 2023-08-17 苏州浪潮智能科技有限公司 一种内存快照管理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446834A (zh) * 2015-11-30 2016-03-30 华为技术有限公司 虚拟机快照的生成方法和装置
CN110955560A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 一种虚拟机快照的生成方法、系统、电子设备及存储介质
CN111290836A (zh) * 2020-03-04 2020-06-16 平安科技(深圳)有限公司 虚拟机快照创建方法、装置、存储介质及计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446834A (zh) * 2015-11-30 2016-03-30 华为技术有限公司 虚拟机快照的生成方法和装置
CN110955560A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 一种虚拟机快照的生成方法、系统、电子设备及存储介质
CN111290836A (zh) * 2020-03-04 2020-06-16 平安科技(深圳)有限公司 虚拟机快照创建方法、装置、存储介质及计算机设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268311A (zh) * 2021-05-12 2021-08-17 西安交通大学 基于用时感知的虚拟机群高效快照方法
CN113268311B (zh) * 2021-05-12 2024-01-12 西安交通大学 基于用时感知的虚拟机群高效快照方法
CN113641446A (zh) * 2021-07-13 2021-11-12 烽火通信科技股份有限公司 内存快照创建方法、装置、设备及可读存储介质
CN113626261A (zh) * 2021-10-13 2021-11-09 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质
CN114138424A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种虚拟机内存快照生成方法、装置及电子设备
WO2023151352A1 (zh) * 2022-02-09 2023-08-17 苏州浪潮智能科技有限公司 一种内存快照管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN111857966A (zh) 虚拟机快照创建方法、装置及计算机可读存储介质
CN112199162B (zh) 基于虚拟化磁盘双活容灾的磁盘快照方法、装置及介质
EP2662771A1 (en) Scheduling method, and multi-core processor system
JP5966927B2 (ja) 分散処理装置及び分散処理システム
CN112527452B (zh) 跨OpenStack的虚拟机迁移方法、装置及介质
CN110515917B (zh) 一种控制重构速度的方法、装置及介质
US20190325562A1 (en) Window rendering method and terminal
CN112328365A (zh) 一种虚拟机迁移方法、装置、设备及存储介质
CN112506745B (zh) 内存温度读取方法、装置及计算机可读存储介质
CN115098046A (zh) 磁盘阵列初始化方法、系统、电子设备及存储介质
CN115480973A (zh) 一种服务器性能测试方法、装置、介质
CN113687779B (zh) 数据迁移方法、装置、电子设备及可读存储介质
CN112269535A (zh) 存储系统的空间资源分配方法、装置及可读存储介质
EP4354293A1 (en) Detection method and apparatus, and electronic device
CN114138424B (zh) 一种虚拟机内存快照生成方法、装置及电子设备
CN114296882A (zh) 一种虚拟机内存快照的导出方法、装置及介质
CN114721876A (zh) 一种数据备份方法、装置、介质
CN110941476B (zh) 一种虚拟机热迁移的控制方法、控制装置及控制设备
CN113741931A (zh) 软件升级方法、装置、电子设备及可读存储介质
KR101395007B1 (ko) 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법
CN111565228B (zh) 一种数据源切换方法、装置、设备、介质
CN116485628B (zh) 图像显示方法、装置及系统
CN111124935B (zh) 基于虚拟化平台的物理内存数据泄露检测方法及装置
CN115344355A (zh) 一种跨集群迁移虚拟机的方法、装置、设备及存储介质
CN107315624B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201030