CN102331949B - 一种虚拟机内存快照生成和恢复方法、装置及系统 - Google Patents

一种虚拟机内存快照生成和恢复方法、装置及系统 Download PDF

Info

Publication number
CN102331949B
CN102331949B CN201110307790.4A CN201110307790A CN102331949B CN 102331949 B CN102331949 B CN 102331949B CN 201110307790 A CN201110307790 A CN 201110307790A CN 102331949 B CN102331949 B CN 102331949B
Authority
CN
China
Prior art keywords
page
current
image file
type
memory
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
Application number
CN201110307790.4A
Other languages
English (en)
Other versions
CN102331949A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110307790.4A priority Critical patent/CN102331949B/zh
Publication of CN102331949A publication Critical patent/CN102331949A/zh
Priority to PCT/CN2012/072887 priority patent/WO2012149844A1/zh
Priority to EP12779387.5A priority patent/EP2755132B1/en
Priority to US14/251,785 priority patent/US9507672B2/en
Application granted granted Critical
Publication of CN102331949B publication Critical patent/CN102331949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/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
    • 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/461Saving or restoring of program or task context
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

本发明实施例公开一种虚拟机内存快照生成和恢复的方法、装置及系统,其中,该内存快照生成方法包括:获取所述虚拟机的当前第S内存页;识别所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据;从而通过本发明实施例仅保存有效数据,减少无效数据的备份,大大缩短了内存快照的生成时间,并减小了内存快照文件的大小,节约了存储资源。

Description

一种虚拟机内存快照生成和恢复方法、装置及系统
技术领域
本发明涉及一种内存快照技术,尤其涉及一种虚拟机内存快照生成和恢复的方法、装置及系统。
背景技术
通过虚拟化技术,用户可以在一台物理计算机上模拟出一台或多台虚拟机(VirtualMachine,VM),这些虚拟机可以像真正的计算机那样进行工作,例如用户可以安装操作系统、安装应用程序、访问网络资源等等。
虚拟机快照技术随着虚拟化技术同时产生,由于虚拟机的计算、存储资源都是通过虚拟机监视器(Virtual Machine Monitor,VMM)进行虚拟化,我们可以通过快照技术方便地保留虚拟机某个时间点的CPU状态、内存状态以及存储数据,从而轻松实现物理机上繁琐的全状态备份,用户可以方便地备份和恢复虚拟机。
目前常见的快照应用主要有两种:一是简单的存储快照,仅备份存储数据,虚拟机用户在使用虚拟机过程中可能由于各种原因(病毒、木马的破坏,误删除系统文件,误格式化等)导致虚拟机镜像损坏或是无法正常启动,如果通过存储快照在虚拟机正常时备份相关数据,可以方便地恢复备份点的页数据;二是存储快照和内存快照相结合,由于在某些场景下,用户需要快速创建或恢复虚拟机(相关业务部署加载繁琐冗长、业务恢复中断时间要求高、批量快速部署虚拟机等),或者为了某些调试需求需要保留当前业务状态(问题定位,测试分支选择等),此时仅仅使用存储快照无法满足需求,因此内存快照的引入弥补了这方面的不足,通过VMM的能力把虚拟机的内存数据保存成外部存储介质上的内存快照文件,方便保存和随时恢复,同时,这也是虚拟化条件下带来的便利。
VMWare(Virtual Machine ware)是虚拟化解决方案的领导厂商,目前已经能提供虚拟机快照总体方案,包括存储快照和内存快照,其内存快照是对内存数据的黑盒的全量拷贝,生成的快照文件大小与虚拟机内存规格保持一致,即拥有1G内存的虚拟机最终生成的内存快照文件大小为1G,与存储快照一起存放在其分布式存储上;快照恢复时,也是顺序读取快照文件进行1∶1内存还原。因此,快照生成过程和快照恢复过程时间都比较长,同时,生成的内存快照文件与虚拟机内存大小一致,对存储资源也是一种浪费。
发明内容
本发明实施例提供一种虚拟机内存快照生成和恢复的方法、装置及系统,以缩短虚拟机内存快照的处理时间且节约存储资源。
本发明实施例提供如下技术方案:
一方面,本发明实施例提供一种虚拟机内存快照生成方法,所述方法包括:
获取所述虚拟机的当前第S内存页;
识别所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;
当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据。
另一方面,本发明实施例提供一种虚拟机内存快照恢复方法,所述方法包括:
获取并解析所述虚拟机的内存快照文件;
当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
另一方面,本发明实施例提供一种物理主机,所述物理主机包括:硬件层,运行在所述硬件层之上的虚拟机监视器VMM,以及运行在所述虚拟机监视器VMM上的虚拟机,所述虚拟机监视器VMM中包括内存快照生成模块和内存页识别模块,其中:
所述内存快照生成模块用于:获取所述虚拟机的当前第S内存页;当所述内存页识别模块识别所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述内存页识别模块识别所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据;
所述内存页识别模块用于:识别所述内存快照生成模块获取的所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;
所述硬件层包括存储设备,所述存储设备用于:存储所述内存快照文件。
另一方面,本发明实施例提供一种计算机系统,该系统包括物理主机和网络存储设备,其中所述物理主机为本发明实施例提供的物理主机,用来执行虚拟机内存快照文件的生成和恢复;所述网络存储设备用于存储所述物理主机的虚拟机内存快照文件。
可见,本发明实施例提供的虚拟机内存快照生成和恢复的方法、装置及系统中,通过识别不同的内存页类型,在内存快照生成过程中,根据不同的内存页类型执行不同的快照生成处理,包括:在当前第S内存页为非有效数据页时,在内存快照文件中仅记录所述当前第S内存页的页类型;在当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据;以及,在内存快照恢复过程中,根据不同的内存页类型执行不同的快照恢复处理,包括:当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,从而通过本发明实施例仅保存有效数据,减少无效数据的备份和恢复,大大缩短了内存快照的生成和恢复时间,减小了内存快照对存储资源的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种虚拟机内存快照生成方法的流程示意图;
图2为本发明实施例的另一种虚拟机内存快照生成方法的流程示意图;
图3为本发明实施例的再一种虚拟机内存快照生成方法的流程示意图;
图4为本发明实施例的一种内存快照文件的逻辑结构示意图;
图5为本发明实施例的另一种内存快照文件的逻辑结构示意图;
图6为本发明实施例的一种虚拟机内存快照恢复方法的流程示意图;
图7为本发明实施例的另一种虚拟机内存快照恢复方法的流程示意图;
图8为本发明实施例的再一种虚拟机内存快照恢复方法的流程示意图;
图9为本发明实施例的一种物理主机的逻辑结构示意图;
图10为本发明实施例的一种计算机系统的逻辑结构示意图;
图11为本发明实施例的一种计算机系统的物理部署示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一提供一种虚拟机内存快照生成方法,如图1所示,该方法可以包括:
步骤S101、获取该虚拟机的当前第S内存页。
需要说明的是,本发明实施例中引入“第S内存页”只是为了便于描述,并非限定具体哪一个内存页,应当理解的是,这里的S可以是1,2,...N(N=该虚拟机实际的页数量),当S为1时,表示本步骤中获取的当前内存页是所述虚拟机的第一个内存页;
本步骤可以是顺序获取内存页,也可以倒序获取内存页,不做限定。
步骤S102、识别所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页。
步骤S102可以是,至少根据VMM内存空间中保存的页类型信息,识别该当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页。
具体的,在一种实现方式下,步骤S102具体为:根据虚拟机监视器VMM内存空间中保存的页类型信息,确定这个当前第S内存页的页类型,所述页类型包括气球页(Balloon)、需时分配页(populate on demand,Pod)、共享页(share)、交换页(swap)和普通页;其中,气球页和需时分配页为非有效数据页,共享页、交换页和普通页为有效数据页。在一种具体实现方式下,在VMM内存空间中维护了内存页类型的结构体变量,其中普通页是默认值,出现其它类型页时会改变其类型并进行标记。在开源虚拟机Xen中,可以通过调用系统接口从VMM内存中获取虚拟机内存页的结构体变量p2m_type_t来判断其类型,其中p2m_invalid=0为气球页,p2m_populate_on_demand=6为需时分配页,p2m_ram_paged=10为交换页,p2m_ram_共享d=13为共享页,p2m_ram_rw=1为普通页。
在另一种实现方式下,详见图2,步骤S102可以包括步骤S201和步骤S202,其中:
步骤S201、根据所述VMM内存空间中保存的页类型信息,确定所述当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;
步骤S202、当所述当前第S内存页的页类型为普通页时,遍历所述当前第S内存页的内容,确定所述当前第S内存页的页类型为零页或非零页;其中,气球页、需时分配页和零页为非有效数据页,非零页、共享页和交换页为有效数据页。
需要说明的是,本发明实施例所列举的内存页类型是目前虚拟机中可能出现的一些内存页类型,有的应用比较多,例如气球页、零页和非零页;有的应用比较少;例如共享页和交换页;需时分配页目前通用性不高,但在Xen开源虚拟机中也有应用。本发明实施例以这些页类型为例,无意局限于这些页类型的识别。无论目前应用的其它内存页类型,还是以后可能出现的内存页类型,只要应用本发明实施例公开的内存快照生成和恢复方法都应在本发明保护范围之内。
步骤S103、当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据。
相应的,在一种实现方式下,其中,气球页和需时分配页为非有效数据页,共享页、交换页和普通页为有效数据页;步骤S103具体可以包括:
在当前第S内存页为气球页时,在内存快照文件中记录当前第S内存页的页类型为气球页;
在当前第S内存页为需时分配页时,在内存快照文件中记录当前第S内存页的页类型为需时分配页;
在当前第S内存页为交换页时,在内存快照文件中记录当前第S内存页的页类型为交换页,从内存交换文件中拷贝该交换页的页数据到该内存快照文件中;
在当前第S内存页为共享页时,在内存快照文件中记录当前第S内存页的页类型为共享页,拷贝该共享页的页数据到该内存快照文件中,并记录与当前第S内存页共享内存数据的其它内存页的页号;
在当前第S内存页为普通页时,在内存快照文件中记录当前第S内存页的页类型为普通页,拷贝该普通页的页数据到所述内存快照文件中。
相应的,在另一种实现方式下,其中,气球页、需时分配页和零页为非有效数据页,非零页、共享页和交换页为有效数据页;步骤S103具体可以包括:
在当前第S内存页为气球页时,在内存快照文件中记录当前第S内存页的页类型为气球页;
在当前第S内存页为需时分配页时,在内存快照文件中记录当前第S内存页的页类型为需时分配页;
在当前第S内存页为零页时,在内存快照文件记录当前第S内存页的页类型为零页;
在当前第S内存页为非零页时,在内存快照文件中记录当前第S内存页的页类型为非零页,拷贝当前第S内存页的页数据到该内存快照文件中;
在当前第S内存页为交换页时,在内存快照文件中记录当前第S内存页的页类型为交换页,从内存交换文件中拷贝该交换页的页数据到前述内存快照文件中;
在当前第S内存页为共享页时,在内存快照文件中记录当前第S内存页的页类型为共享页,拷贝该共享页的页数据到前述内存快照文件中,并记录与当前第S内存页共享内存数据的其它内存页的页号。
综上所述,本发明实施例提供的虚拟机内存快照生成方法,通过识别不同的内存页类型,在内存快照生成过程中,根据不同的内存页类型执行不同的快照生成处理,包括:在当前第S内存页为非有效数据页时,在内存快照文件中仅记录该当前第S内存页的页类型;在当前第S内存页为有效数据页时,在内存快照文件中记录该当前第S内存页的页类型和页数据,从而通过本发明实施例仅保存有效数据,减少无效数据的备份,大大缩短了内存快照的生成时间,并减小了内存快照文件的大小,节约了存储资源。
本发明实施例二提供一种虚拟机内存快照的生成方法,下面结合图3来详细介绍该虚拟机内存快照生成方法的流程,包括如下步骤:
步骤300、流程开始;
该流程的开始可以是由用户触发内存快照操作,物理主机提供用户接口给最终用户,以便于触发内存快照操作;也可以是虚拟机自动触发的,可以是定时触发,也可以根据虚拟机的运行状况等自动触发。
步骤301、确定虚拟机实际内存大小、内存页大小(亦可称为页大小,一般为4KB或2MB)等信息,这些信息用来初始化内存快照文件,且在虚拟机内存快照恢复时用来判断内存快照文件的完整性;
需要说明的是,这里的虚拟机可以是用户通过用户接口所指定的虚拟机,也可以是定时触发的虚拟机。
步骤302、初始化内存快照文件,包括预申请内存快照文件的存储空间和初始化内存快照文件的结构及初始信息。所述初始信息指虚拟机内存大小、内存页大小、内存页数量(具体的,根据虚拟机实际内存大小、内存页大小可以计算出虚拟机实际的内存页数量)、以及有效数据起始地址等信息;
优选地,本发明实施例中提供的内存快照文件结构如图4所示,包括信息段41和数据段42,其中信息段41包括:全局信息411和内存页的位图结构体BITMAP,所述位图结构体BITMAP是一种通用的顺序数据存储结构,在本发明实施例中利用该结构体存储内存页的页号4121、页类型4122以及数据偏移量4123。数据段42顺序存储有效数据页中的有效数据,并与信息段41中的数据偏移量4123一一对应。全局信息411可以用来记录虚拟机内存大小、内存页数量、内存页大小以及有效数据起始地址等全局类的信息,这些信息可以在初始化内存快照文件302时写入内存快照,也可以在内存页处理完成之后再写入内存快照;页号4121记录每个内存页的页号;页类型4122记录对应页号的内存页的页类型标识;数据偏移量4123记录其对应的内存页的有效数据在数据段42中的偏移量,即数据段42中记录的有效数据按照信息段41中的数据偏移量4123来索引,通过把数据偏移量与所述有效数据起始地址相加后可以在数据段42中找到对应的内存数据。
需要说明的是,图4提供的内存快照文件结构并无限定仅为此种结构的意思,只是举例说明。在另一种实现方式下,内存快照文件也可以如图5所示包含页类型51和有效数据52两个字段。其中页类型51存储识别出的内存页的类型标识,所述类型标识唯一标识一种页类型,可以自主定义,例如000代表零页、001代表气球页等。有效数据52存储有效数据页的页数据,所述有效数据页包括非零页、共享页和交换页。
值得一提的是,共享页的共享页号可以根据内存快照文件各个部分存储的信息、各个部分的容量或其它因素决定其存储位置,例如如图5中有效数据52或页类型51中留出部分空间存储所述共享页号,当然也可以在内存快照中单独划分一个部分存储共享页号。
需要说明的是,根据以上提到的内存快照文件结构,本领域技术人员可以很容易想到其它等同替代方式或明显变型方式。例如图4中全局信息精简,仅保存页数量和页大小;页号信息也可以不保存等;或者改变内存快照的存储顺序等,这些等同替代方式或明显变型方式也应视为本发明的保护范围。
步骤303、顺序选取一个内存页;
可以是,从第一个内存页开始一一执行内存页识别。
步骤304、根据VMM内存空间中保存的内存页类型信息判断当前内存页是否为普通页,当判断出选取的内存页不是普通页,则执行步骤305;当判断出选取的内存页是普通页,则执行步骤306;
在一种实现方式下,所述内存页类型信息保存在一个页类型结构体中,该页类型结构体存储在物理主机的硬件层的内存memory中,具体的,该页类型结构体存储在VMM内存空间中,可以通过系统调用获得。所述VMM内存空间是VMM为完成正常工作而在物理内存上划分一块特定区域,存放了VMM在完成虚拟设备模拟、内存管理以及内存快照生成和恢复等各项功能所用到的数据结构等相关关键信息,例如虚拟机内存页类型的结构体变量,内存共享哈希表以及虚拟机内存与物理内存的一一映射关系等。当VMM管理的虚拟机VM是多个时,这个VMM内存空间分别划分出独立的部分来存储不同虚拟机VM的信息。VMM可以通过调用系统接口访问所述VMM内存空间。
步骤305、在内存快照文件中,根据该内存页具体的页类型执行相应的内存快照生成处理。这里的页类型包括:气球页、需时分配页、共享页和交换页。
具体的,当内存页为气球页时,在前述内存快照文件(参照图4)的页类型4122字段中记录该内存页的页类型为气球页;当内存页为需时分配页时,在前述内存快照文件的页类型4122字段中记录该内存页的页类型为需时分配页;当内存页为交换页时,在前述内存快照文件的页类型4122字段中记录该内存页的页类型为交换页,从内存交换文件中拷贝该交换页的有效数据到前述内存快照文件的数据段42中,并在数据偏移量4123字段中记录下这些有效数据在数据段42中的偏移量;当内存页为共享页时,在前述内存快照文件的页类型4122字段中记录该内存页的页类型为共享页,拷贝该共享页的共享数据到前述内存快照文件的数据段42中,并在数据偏移量4123字段中记录下这些共享数据在数据段42中的偏移量和与该共享页共享内存数据的其它内存页的页号,这里的共享页号可以通过调用系统接口查询VMM内存中保存的内存共享哈希表获得。
步骤306、通过遍历内存页内容判断内存页内容是否全为0。如果为零,该页即为零页,转步骤307;如果不为零,该页即为非零页,转步骤308;
步骤307、在内存快照文件中执行零页的相应处理,即在所述内存快照文件的页类型4122中记录当前第S内存页的页类型为零页,不拷贝内存数据;
步骤308、在内存快照文件中执行非零页的相应处理,即在所述内存快照文件的页类型4122中记录当前第S内存页的页类型为非零页,并拷贝所述当前第S内存页的页数据到所述内存快照文件的数据段42中,并在数据偏移量4123中记录下数据在数据段42中的偏移量。
步骤309、判断是否所有内存页都已处理完;若步骤309判断结果为是,则执行步骤310;若步骤309若判断结构为否,则返回到步骤303选取下一个内存页继续该内存快照生成流程。
可以是,每执行完一个内存页的内存快照处理都要执行步骤309的判断,可以通过页号来判断;当内存快照文件中未保存页号等信息时,可以通过标记内存页为已读或已处理来判断。
步骤310、输出内存快照文件;输出的内存快照文件可以存储在硬盘(Disk)中
步骤311、停止内存快照生成操作。
可选的,在本发明实施例中,当识别内存页为共享页时,记录所有共享数据的内存页号,并拷贝它们共享的内存数据到内存快照文件中,此时为了提高内存页识别效率,可以标记所有共享数据的内存页为已读,进行内存页识别的时候可以跳过这些标记为已读的共享页面。
综上所述,本发明实施例提供的虚拟机内存快照生成方法,通过初始化一个内存快照文件,内存快照文件里具体包括信息段(全局信息、页号、页类型、数据偏移量)和数据段;然后顺序获取并识别虚拟机的内存页的页类型,针对不同的页类型在这个内存快照文件中执行不同的内存快照生成处理,具体包括:当获取的内存页识别为气球页时,在这个内存快照文件的页类型字段中记录该内存页的页类型为气球页;当获取的内存页识别为需时分配页时,在这个内存快照文件的页类型字段中记录该内存页的页类型为需时分配页;当获取的内存页识别为交换页时,在这个内存快照文件的页类型字段中记录该内存页的页类型为交换页,并从内存交换文件中拷贝交换页的有效数据到该内存快照文件的数据段中,并在数据偏移量字段中记录下数据在数据段中的偏移量;当获取的内存页识别为共享页时,在该内存快照文件的页类型字段中记录该内存页的页类型为共享页,拷贝这个共享页的共享数据到该内存快照文件的数据段中,并在数据偏移量字段中记录下数据在数据段中的偏移量和与之共享内存数据的其它内存页的页号,从而通过本发明实施例仅保存有效数据,减少无效数据的备份,大大缩短了内存快照的生成时间,并减小了内存快照文件的大小,节约了存储资源。
本发明实施例三提供一种虚拟机内存快照恢复方法,如图6所示,该方法可以包括:
步骤S401、获取并解析虚拟机的内存快照文件。
在一种实现方式下,本发明实施例提供的内存快照文件结构如图4所示,S401可以是,从该内存快照文件中读取并解析如图4所示的结构中存储的信息。
在另一种实现方式下,本发明实施例提供的内存快照文件也可以如图5所示包含页类型51和有效数据52两个字段,S401可以是,从该内存快照文件中读取并解析如图5所示的结构中存储的信息。
步骤S402、当这个内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为非有效数据页;当内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为有效数据页,并将内存快照文件中记录的当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
具体的,在一种实现方式下,非有效数据页包括气球页和需时分配页,所述有效数据页包括共享页、交换页和普通页;
相应的,步骤S402具体可以包括:
当内存快照文件中记录的当前第S内存页的页类型为气球页时,在VMM内存空间中记录当前第S内存页的页类型为气球页;
当内存快照文件中记录的当前第S内存页的页类型为需时分配页时,在VMM内存空间中记录当前第S内存页的页类型为需时分配页;
当内存快照文件中记录的当前第S内存页的页类型为共享页时,在VMM内存空间中记录当前第S内存页的页类型为共享页,将该内存快照文件中记录的当前第S内存页的页数据拷贝到虚拟机的第S内存页中,或者,拷贝到任一与当前第S内存页共享数据的内存页中,并基于该内存快照文件中记录的页号,在VMM内存空间中建立当前第S内存页与前述页号对应的内存页之间的共享关系;
当内存快照文件中记录的当前第S内存页的页类型为交换页时,在VMM内存空间中记录当前第S内存页的页类型为交换页,并将该内存快照文件中记录的当前第S内存页的页数据拷贝到新的内存交换文件中;或者,在VMM内存空间中记录当前第S内存页的页类型为普通页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中;
当内存快照文件中记录的当前第S内存页的页类型为普通页时,在VMM内存空间中记录当前第S内存页的页类型为普通页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中。
或者,在另一种实现方式下,所述非有效数据页包括气球页、需时分配页和零页;所述有效数据页包括非零页、共享页和交换页,还有以下两种情况(与上述相同的内容,这里不再赘述):
当内存快照文件中记录的当前第S内存页的页类型为零页时,在VMM内存空间中记录当前第S内存页的页类型为零页,并将虚拟机的第S内存页内容置为0;
当内存快照文件中记录的当前第S内存页的页类型为非零页时,在VMM内存空间中记录当前第S内存页的页类型为非零页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中;
综上所述,本发明实施例提供的虚拟机内存快照恢复的方法,通过获取并解析虚拟机的内存文件,然后根据内存快照文件中记录的内存页的不同页类型执行不同的快照恢复处理,包括:当内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为非有效数据页;当内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为有效数据页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中,从而通过本发明实施例仅恢复有效数据,避免了无效数据的恢复过程,大大缩短了内存快照的恢复时间。
图7为本发明实施例四提供的一种虚拟机内存快照恢复方法,该方法步骤S501和步骤S503分别与实施例三和四中步骤S401和步骤S402相同,只是在步骤S501之后加入了步骤S502判断内存快照文件是否完整:若否,停止内存恢复操作;若是,执行步骤S503,即当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
具体的,步骤S502判断内存快照文件是否完整的方法主要有:
方法一:如果内存快照中保存了虚拟机内存的全局信息,包括虚拟机内存大小、内存页数量,内存页大小等,例如本发明实施例二图4所示内存快照文件结构,在这种情况下为判断内存快照完整性,可以判断内存快照中的内存页数量与全局信息的保存的内存页数量是否一致;或通过内存页数量与内存页大小推算出内存大小(内存页数量与内存页大小相乘即可得内存大小),再判断推算出的内存大小与全局信息中保存的内存大小是否一致;或数据偏移量指向的有效数据段内容是否存在,即保存的有效数据是否丢失。如果存在不一致或不存在的情况,说明内存快照不完整,停止内存快照恢复。
方法二:如果内存快照中没有保存虚拟机内存的全局信息,例如本发明实施例二中图5所示内存快照文件结构,在这种情况下为判断内存快照完整性,可以在推算出内存大小后判断推算的内存大小与虚拟机配置文件中的保存的内存大小是否一致,如果存在不一致,说明内存快照不完整,停止内存快照恢复。
需要说明的是,前述两种判断内存快照完整性的方法是举例说明,没有限制方法仅为这两种的意思。内存快照完整性判断依据的是虚拟机内存信息在快照中是否保存完整,所有的内存信息都可以进行判断,只要一种信息不完整,就停止内存恢复;也可以根据实际情况只判断重要信息的完整性,例如可能造成内存恢复后虚拟机异常的信息。本领域技术人员根据本发明实施例容易推断出其它信息的等同判断方式或组合等同判断方式,本发明实施例在此不再赘述。
如果不进行内存快照完整性判断,在目前的虚拟机内存快照恢复机制下内存快照是可能恢复的,但由于数据的丢失可能会在内存恢复后出现虚拟机异常。
综上所述,本发明实施例提供的虚拟机内存快照恢复的方法,通过获取并解析虚拟机的内存文件;然后根据内存快照文件中记录的内存页的不同页类型执行不同的快照恢复处理,包括:当内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为非有效数据页;当内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为有效数据页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中,从而通过本发明实施例仅恢复有效数据,避免了无效数据的恢复过程,大大缩短了内存快照的恢复时间。
进一步的,在内存快照恢复之前进行内存快照文件完整性的判断,避免了无谓的内存恢复操作,提高了内存快照恢复操作的可靠性。
图8为本发明实施例五提供的虚拟机内存快照恢复方法的具体流程图。该方法包括:
步骤600、流程开始;
步骤601、读取并解析内存快照文件;
步骤602、判断该内存快照文件是否完整,若该内存快照文件不完整,则转步骤607;若该内存快照文件完整,则转步骤603。
步骤603、顺序选取内存快照文件中存储的一条内存页信息,所述内存页信息包括内存页类型、有效数据或有效数据偏移量等(参照图4或图5所示的内存快照文件结构);
步骤604、根据该内存页信息中的页类型识别当前内存页的页类型;
步骤605、根据所述页类型执行相应的内存快照恢复处理,具体可以包括:
如果页类型为气球页时,在VMM内存空间中记录该内存页的页类型为气球页;
如果页类型为需时分配页时,在VMM内存空间中记录该内存页的页类型为需时分配页;
如果页类型为零页时,在VMM内存空间中记录该内存页的页类型为零页,并将虚拟机的对应内存页内容置为0;
如果页类型为非零页时,在VMM内存空间中记录该内存页的页类型为非零页,并根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到对应的虚拟机内存页中;
如果页类型为共享页时,在VMM内存空间中记录该内存页的页类型为共享页,根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到对应的虚拟机内存页中,并在VMM内存空间记录的内存共享哈希表中建立各个共享数据的内存页之间的共享关系;
如果页类型为交换页时,在VMM内存空间中记录该内存页的页类型为交换页,根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到一个新的交换文件中;或者,在VMM保存的页类型结构体中记录该内存页的页类型为零页或非零页,并将有效数据拷贝到对应的虚拟机内存页中。
可选的,步骤605在VMM内存空间中记录内存页的类型,可以是在内存快照生成时从中获取内存页类型的那个页类型结构体中恢复内存页的页类型标识;也可以在VMM内存空间中重新建立一个页类型结构体,在其中记录内存页的类型,此时原先的页类型结构体不再使用。
步骤606、每执行完一条内存快照恢复操作判断是否所有页都处理完,若是,则执行步骤607;若否返回到步骤603继续该流程。
步骤607、停止内存恢复操作。
值得一提的是,与本发明实施例提供的内存快照生成方法类似,内存快照恢复过程可以是由用户触发的,物理主机提供内存恢复接口给最终用户,以便于触发内存快照恢复操作;也可以是虚拟机自动触发的,可以是定时触发,也可以根据虚拟机的运行状况等自动触发。
需要说明的是,当内存页的页类型为交换页时,根据交换页的特点,既可以将交换页的页数据拷贝到内存交换文件中,所述内存交换文件可以是新的内存交换文件,而不是内存快照生成时从中拷贝数据的那个内存交换文件,这样交换页仍然是交换页;或者,也可以将交换页的页数据拷贝到对应的内存页中,此时交换页就成了一个普通页面,依据交换页中数据是否为零可以将其页类型设置为零页或非零页,当然也可以根据本发明实施例三设置为普通页。
另外,需要说明的是,本发明实施例三、四和五中所述内存快照文件可以是本发明实施例二中图4、图5或其它等同替代或明显变形的内存快照文件结构。
综上所述,本发明实施例提供的虚拟机内存快照恢复的方法,通过获取并解析虚拟机的内存文件;然后判断内存快照文件的完整性;对于完整的内存快照文件根据该内存快照文件中记录的内存页的不同页类型执行不同的快照恢复处理,包括:当该内存页的页类型为气球页时,在VMM内存空间中记录该内存页的页类型为气球页;当该内存页的页类型为需时分配页时,在VMM内存空间中记录该内存页的页类型为需时分配页;当该内存页的页类型为零页时,在VMM内存空间中记录该内存页的页类型为零页,并将虚拟机的对应内存页内容置为0;当该内存页的页类型为非零页时,在VMM内存空间中记录该内存页的页类型为非零页,并根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到对应的虚拟机内存页中;当该内存页的页类型为共享页时,在VMM内存空间中记录该内存页的页类型为共享页,根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到对应的虚拟机内存页中,并在VMM内存空间记录的内存共享哈希表中建立各个共享数据的内存页之间的共享关系;当该内存页的页类型为交换页时,在VMM内存空间中记录该内存页的页类型为交换页,根据内存快照文件中直接存储的有效数据,或者根据数据偏移量计算而获得的有效数据地址,将该内存的有效数据拷贝到一个新的交换文件中;或者,在VMM保存的页类型结构体中记录该内存页的页类型为零页或非零页,并将有效数据拷贝到对应的虚拟机内存页中,从而通过本发明实施例仅恢复有效数据,避免了无效数据的恢复过程,大大缩短了内存快照的恢复时间,并且在内存快照恢复之前进行内存快照文件完整性的判断,避免了无谓的内存恢复操作,提高了内存快照恢复操作的可靠性。
本发明实施例六还提供一种物理主机,参照图9,所述物理主机包括:硬件层100,运行在硬件层100之上的虚拟机监视器VMM200,以及运行在虚拟机监视器VMM200上的虚拟机300,虚拟机监视器VMM200中包括内存快照生成模块210和内存页识别模块220,其中:
内存快照生成模块210用于:获取虚拟机的当前第S内存页;当内存页识别模块220识别当前第S内存页为非有效数据页时,在内存快照文件中记录当前第S内存页的页类型;当内存页识别模块220识别当前第S内存页为有效数据页时,在内存快照文件中记录当前第S内存页的页类型和页数据;
需要说明的是,这里的内存快照文件可以是存储在本发明实施例的物理主机的硬件层100所包括的存储设备上,但在本发明实施例六中,并没有限定内存快照文件必须存储在所述物理主机的硬件层100上的意思。内存快照文件可以存储在硬件层100的存储设备,如硬盘Disk 130中,也可以存储在移动存储设备上,如U盘或移动硬盘,也可以是存储在与本发明实施例的物理主机具有通信连接的外部网络存储设备上。
内存页识别模块210用于:识别内存快照生成模块210获取的当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;
具体的,在一种实现方式下,内存页识别模块210具体用于:根据VMM内存空间中保存的页类型信息,识别当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;其中,气球页和需时分配页为非有效数据页,共享页、交换页和普通页为有效数据页;
或者,在另一种实现方式下,内存页识别模块210具体用于:根据VMM内存空间中保存的页类型信息,识别当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;当当前第S内存页的页类型为普通页时,遍历所述当前第S内存页的内容,根据遍历的结果(内存页内容全为0或不全为0)确定所述当前第S内存页的页类型为零页或非零页;其中,气球页、需时分配页和零页为非有效数据页,非零页、共享页和交换页为有效数据页。
进一步的,本发明实施例提供的物理主机中,硬件层100包括存储设备,如硬盘130,所述存储设备用于:存储所述内存快照文件。
此外,本发明实施例也不对硬件层100的组成作任何限定,硬件层100可以包括存储设备,如硬盘130,也可以不包括硬盘130,在一种较优实现方式下,该物理主机硬件层100可以包括处理器110、物理内存120、硬盘130以及网络接口设备140,其中处理器110可以是一个,也可以是多个;网络接口设备140可以是网络适配器或网卡,用于跟任何可连接的网络做连接,例如互联网(Internet)、企业网等。在另一种实现方式下,硬件层可以不包括硬盘130(参见系统实施例)。虚拟机VM300可以包括虚拟处理器310、虚拟内存320、虚拟硬盘330以及客户操作系统340,其中虚拟内存320的逻辑内存页与物理内存120的物理内存页之间存在一一映射关系,本发明实施例要生成的内存快照即是针对与该虚拟内存对应的物理内存;客户操作系统(Guest Operation System,Guest OS)340是运行在虚拟处理器310、虚拟内存320、虚拟硬盘330等虚拟设备之上的操作系统。
需要说明的是,图9所示虚拟机监视器VMM200运行在硬件层100之上,并无限定的意思,实际上虚拟机监视器VMM可以直接运行在硬件层之上;虚拟机监视器VMM也可以直接运行在宿主操作系统(Host Operation System,Host OS)之上,相应的,宿主操作系统可以运行在硬件层之上,换言之,虚拟机监视器VMM可以间接地运行在硬件层之上。
需要说明的是,本发明实施例提供的物理主机可以是物理计算机,具体可以是个人计算机PC、笔记本电脑laptop、工作站Workstation、服务器Server、大型机Mainframe或者超级计算机Supercomputer等等。
另外,本发明实施例七还提供一种物理主机,参照图9,该物理主机除前述组成设备之外,在虚拟机监视器VMM200中还可以包括内存快照恢复模块230。
该内存快照恢复模块230用于:获取并解析该虚拟机的内存快照文件;当该内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为非有效数据页;当该内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在VMM内存空间中记录当前第S内存页的页类型为有效数据页,并将该内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中。
具体的,在一种实现方式下,所述非有效数据包括气球页和需时分配页,所述有效数据页包括共享页、交换页和普通页;
相应的,该内存快照恢复模块230具体用于:
当内存快照文件中记录的当前第S内存页的页类型为气球页时,在VMM内存空间中记录当前第S内存页的页类型为气球页;
当内存快照文件中记录的当前第S内存页的页类型为需时分配页时,在VMM内存空间中记录当前第S内存页的页类型为需时分配页;
当内存快照文件中记录的当前第S内存页的页类型为共享页时,在VMM内存空间中记录当前第S内存页的页类型为共享页,将该内存快照文件中记录的当前第S内存页的页数据拷贝到虚拟机的第S内存页中,或者,拷贝到任一与当前第S内存页共享数据的内存页中,并基于该内存快照文件中记录的页号,在VMM内存空间中建立当前第S内存页与前述页号对应的内存页之间的共享关系;
当内存快照文件中记录的当前第S内存页的页类型为交换页时,在VMM内存空间中记录当前第S内存页的页类型为交换页,并将该内存快照文件中记录的当前第S内存页的页数据拷贝到新的内存交换文件中;或者,在VMM内存空间中记录当前第S内存页的页类型为普通页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中;
当内存快照文件中记录的当前第S内存页的页类型为普通页时,在VMM内存空间中记录当前第S内存页的页类型为普通页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中。
或者,在另一种实现方式下,所述非有效数据页包括气球页、需时分配页和零页;所述有效数据页包括非零页、共享页和交换页:
相应的,该内存快照恢复模块230具体用于:
当内存快照文件中记录的当前第S内存页的页类型为气球页时,在VMM内存空间中记录当前第S内存页的页类型为气球页;
当内存快照文件中记录的当前第S内存页的页类型为需时分配页时,在VMM内存空间中记录当前第S内存页的页类型为需时分配页;
当内存快照文件中记录的当前第S内存页的页类型为共享页时,在VMM内存空间中记录当前第S内存页的页类型为共享页,将该内存快照文件中记录的当前第S内存页的页数据拷贝到虚拟机的第S内存页中,或者,拷贝到任一与当前第S内存页共享数据的内存页中,并基于该内存快照文件中记录的页号,在VMM内存空间中建立当前第S内存页与前述页号对应的内存页之间的共享关系;
当内存快照文件中记录的当前第S内存页的页类型为交换页时,在VMM内存空间中记录当前第S内存页的页类型为交换页,并将该内存快照文件中记录的当前第S内存页的页数据拷贝到新的内存交换文件中;或者,在VMM内存空间中记录当前第S内存页的页类型为普通页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中;
当内存快照文件中记录的当前第S内存页的页类型为零页时,在VMM内存空间中记录当前第S内存页的页类型为零页,并将虚拟机的第S内存页内容置为0;
当内存快照文件中记录的当前第S内存页的页类型为非零页时,在VMM内存空间中记录当前第S内存页的页类型为非零页,并将该内存快照文件中记录的当前第S内存页的页数据对应地拷贝到虚拟机的第S内存页中。
综上所述,以上发明实施例提供的物理主机,通过内存快照生成模块获取所述虚拟机的当前第S内存页,然后通过内存页识别模块进行当前第S内存页的页类型识别,当识别出当前第S内存页为非有效数据页时,在内存快照文件中记录该当前第S内存页的页类型;当识别出当前第S内存页为有效数据页时,在内存快照文件中记录该当前第S内存页的页类型和页数据,从而通过以上发明实施例仅保存有效数据,避免了无效数据的备份,大大缩短了内存快照的生成时间,减小了内存快照对存储资源的占用。
进一步的,通过内存快照恢复模块获取并解析所述虚拟机的内存快照文件;当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,从而通过以上发明实施例仅恢复有效数据,避免了无效数据的恢复过程,大大缩短了内存快照的恢复时间。
图10为本发明实施例八提供的一种计算机系统的逻辑结构图,该系统包括:物理主机1、物理主机2、以及一个网络存储设备500,其中:物理主机1和物理主机2为本发明实施例六或七中所述的物理主机,包括硬件层、VMM和VM1到VMn,其中n大于或等于1,换言之,VMM上可以宿主一个或多个VM;网络存储设备500用于存储物理主机1或物理主机2上所宿主的虚拟机的内存快照文件。
物理主机1和物理主机2通过各自的网络接口设备1和网络接口设备2分别与互联网400相连,然后可以通过互联网400将虚拟机的内存快照文件存储到网络存储设备500上。
需要说明的是,本发明实施例中提供的系统其中的内存快照文件可以只存储在网络存储设备上,也可以同时存储在网络存储设备和物理主机硬件层的存储设备中,不做限定。
图11为本发明实施九提供的计算机系统的网络拓扑图,其中物理主机1和物理主机2通过互联网400与网络存储设备500相连。
可选的,所述网络存储设备可以采用中心化存储模式,也可以采用分布式存储模式。网络存储设备可以是一个,采用中心化存储模式;也可以是多个,采用单个存储模式或分布式存储模式。所述中心化存储模式指一个内存快照文件存储在一台网络存储设备里;所述分布式存储模式指一个内存快照文件存储在多台网络存储设里。后者更适用于物理主机比较多、内存快照文件产生比较多的情况下。
综上所述,本发明实施例提供的虚拟机内存快照生成和恢复的系统中,通过识别不同的内存页类型,在内存快照生成过程中,根据不同的内存页类型执行不同的快照生成处理,包括:在当前第S内存页为非有效数据页时,在内存快照文件中仅记录所述当前第S内存页的页类型;在当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据;以及,在内存快照恢复过程中,根据不同的内存页类型执行不同的快照恢复处理,包括:当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,从而通过本发明实施例仅保存有效数据,减少无效数据的备份和恢复,大大缩短了内存快照的生成和恢复时间,减小了内存快照对存储资源的占用。
举个具体例子,桌面云环境下的典型Windows虚拟机,虚拟机全部内存为4G,在一般业务场景下零页在虚拟机全部内存中平均占比达到50%左右,同时气泡页也占虚拟机全部内存的10%左右,此时若运用本发明实施例提供的内存快照生成和恢复技术,内存快照的生成和恢复时间能缩短为现有技术实现方式的40%左右,同时,内存快照文件的大小由原来的4G减小为1.61G(内存快照文件中的除内存页数据之外的其它数据大约为10M)。
进一步的,通过本发明实施例提供的网络存储设备存储内存快照文件,避免了存在大量内存快照文件时,本地存取空间不足的问题;如果同时采用分布式网络存储模式也可以解决中心化存储模式的存取瓶颈的问题。
本领域普通技术人员可以理解实现前述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件(如处理器)来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如前述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (17)

1.一种虚拟机内存快照生成方法,其特征在于,所述方法包括:
获取所述虚拟机的当前第S内存页,其中,S=1,2,…N,N为所述虚拟机实际的页数量;
根据VMM内存空间中保存的内存页类型信息识别所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;
当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据。
2.根据权利要求1所述的方法,其特征在于,所述识别所述当前第S内存页的页类型,具体包括:
根据VMM内存空间中保存的页类型信息,确定所述当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;其中,气球页和需时分配页为非有效数据页,共享页、交换页和普通页为有效数据页。
3.根据权利要求2所述的方法,其特征在于,所述当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据,具体包括:
当所述当前第S内存页为气球页时,在所述内存快照文件中记录当前第S内存页的页类型为气球页;
当所述当前第S内存页为需时分配页时,在所述内存快照文件中记录当前第S内存页的页类型为需时分配页;
当所述当前第S内存页为交换页时,在所述内存快照文件中记录当前第S内存页的页类型为交换页,并从内存交换文件中拷贝所述交换页的页数据到所述内存快照文件中;
当所述当前第S内存页为共享页时,在所述内存快照文件中记录当前第S内存页的页类型为共享页,拷贝所述共享页的页数据到所述内存快照文件中,并记录与所述当前第S内存页共享内存数据的其它内存页的页号;
当所述当前第S内存页为普通页时,在所述内存快照文件中记录当前第S内存页的页类型为普通页,拷贝所述普通页的页数据到所述内存快照文件中。
4.根据权利要求1所述的方法,其特征在于,所述识别所述当前第S内存页的页类型,具体包括:
根据VMM内存空间中保存的页类型信息,确定所述当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;
当所述当前第S内存页的页类型为普通页时,遍历所述当前第S内存页的内容,根据遍历结果确定所述当前第S内存页的页类型为零页或非零页;其中,气球页、需时分配页和零页为非有效数据页,非零页、共享页和交换页为有效数据页。
5.根据权利要求4所述的方法,其特征在于,所述当所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据,具体包括:
当所述当前第S内存页为气球页时,在所述内存快照文件中记录当前第S内存页的页类型为气球页;
当所述当前第S内存页为需时分配页时,在所述内存快照文件中记录当前第S内存页的页类型为需时分配页;
当所述当前第S内存页为零页时,在所述内存快照文件记录当前第S内存页的页类型为零页;
当所述当前第S内存页为非零页时,在所述内存快照文件中记录当前第S内存页的页类型为非零页,拷贝所述当前第S内存页的页数据到所述内存快照文件中;
当所述当前第S内存页为交换页时,在所述内存快照文件中记录当前第S内存页的页类型为交换页,从内存交换文件中拷贝所述交换页的页数据到所述内存快照文件中;
当所述当前第S内存页为共享页时,在所述内存快照文件中记录当前第S内存页的页类型为共享页,拷贝所述共享页的页数据到所述内存快照文件中,并记录与所述第S内存页共享内存数据的其它内存页的页号。
6.一种虚拟机内存快照恢复方法,其特征在于,所述方法包括:
获取并解析所述虚拟机的内存快照文件;
当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,其中,S=1,2,…N,N为所述虚拟机实际的页数量。
7.根据权利要求6所述的方法,其特征在于,在获取并解析所述虚拟机的的内存快照文件之后,所述方法还包括:
判断所述内存快照文件是否完整,若所述内存快照文件不完整,停止内存恢复操作;若所述内存快照文件完整,执行所述当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中的步骤。
8.根据权利要求6或7所述的方法,其特征在于,所述非有效数据页包括气球页和需时分配页;所述有效数据页包括共享页、交换页和普通页。
9.根据权利要求8所述的方法,其特征在于,所述当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,具体包括:
当所述内存快照文件中记录的当前第S内存页的页类型为气球页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为气球页;
当所述内存快照文件中记录的当前第S内存页的页类型为需时分配页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为需时分配页;
当所述内存快照文件中记录的当前第S内存页的页类型为共享页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为共享页,将所述内存快照文件中记录的当前第S内存页的页数据拷贝到所述虚拟机的第S内存页中,或者,拷贝到任一与所述当前第S内存页共享数据的内存页中,并基于所述内存快照文件中记录的页号,在所述VMM内存空间中建立所述当前第S内存页与所述页号对应的内存页之间的共享关系;
当所述内存快照文件中记录的当前第S内存页的页类型为交换页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为交换页,并将所述内存快照文件中记录的当前第S内存页的页数据拷贝到新的内存交换文件中;或者,在所述VMM内存空间中记录所述当前第S内存页的页类型为普通页,并将所述内存快照文件中记录的当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中;
当所述内存快照文件中记录的当前第S内存页的页类型为普通页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为普通页,并将所述内存快照文件中记录的当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
10.根据权利要求6或7所述的方法,其特征在于,所述非有效数据页包括气球页、需时分配页和零页;所述有效数据页包括非零页、共享页和交换页。
11.根据权利要求10所述的方法,其特征在于,所述当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中,具体包括:
当所述内存快照文件中记录的当前第S内存页的页类型为气球页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为气球页;
当所述内存快照文件中记录的当前第S内存页的页类型为需时分配页时,在VMM内存空间中记录所述当前第S内存页的页类型为需时分配页;
当所述内存快照文件中记录的当前第S内存页的页类型为零页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为零页,并将所述虚拟机的第S内存页内容置为0;
当所述内存快照文件中记录的当前第S内存页的页类型为非零页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为非零页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中;
当所述内存快照文件中记录的当前第S内存页的页类型为共享页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为共享页,将所述内存快照文件中记录的当前第S内存页的页数据拷贝到所述虚拟机的第S内存页中,或者,拷贝到任一与所述当前第S内存页共享数据的内存页中,并基于所述内存快照文件中记录的页号,在所述VMM内存空间中建立所述当前第S内存页与所述页号对应的内存页之间的共享关系;
当所述内存快照文件中记录的当前第S内存页的页类型为交换页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为交换页,并将所述内存快照文件中记录的当前第S内存页的页数据拷贝到内存交换文件中;或者,依据所述交换页中的数据是否为零在所述VMM内存空间中记录所述当前第S内存页的页类型为零页或非零页,并将所述内存快照文件中记录的当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
12.一种虚拟机内存快照生成装置,其特征在于,所述装置位于虚拟机监视器VMM内,所述虚拟机监视器VMM运行于物理主机的硬件层之上,且在所述VMM之上还运行有一个或多个虚拟机,所述装置包括内存快照生成模块和内存页识别模块,其中:
所述内存快照生成模块用于:获取所述虚拟机的当前第S内存页,其中,S=1,2,…N,N为所述虚拟机实际的页数量;
所述内存页识别模块用于:根据VMM内存空间中保存的内存页类型信息识别所述内存快照生成模块获取的所述当前第S内存页的页类型,所述页类型包括非有效数据页和有效数据页;
所述内存快照生成模块还用于:当所述内存页识别模块识别所述当前第S内存页为非有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型;当所述内存页识别模块识别所述当前第S内存页为有效数据页时,在内存快照文件中记录所述当前第S内存页的页类型和页数据。
13.根据权利要求12所述的虚拟机内存快照生成装置,其特征在于,所述物理主机的所述硬件层包括存储设备,所述存储设备用于:存储所述内存快照文件。
14.根据权利要求12所述的虚拟机内存快照生成装置,其特征在于,所述内存页识别模块具体用于:根据VMM内存空间中保存的页类型信息,确定所述当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;其中,气球页和需时分配页为非有效数据页,共享页、交换页和普通页为有效数据页。
15.根据权利要求12所述的虚拟机内存快照生成装置,其特征在于,所述内存页识别模块具体用于:根据VMM内存空间中保存的页类型信息,确定所述当前第S内存页的页类型,所述页类型包括气球页、需时分配页、共享页、交换页和普通页;当所述当前第S内存页的页类型为普通页时,遍历所述当前第S内存页的内容,根据遍历结果确定所述当前第S内存页的页类型为零页或非零页;其中,气球页、需时分配页和零页为非有效数据页,非零页、共享页和交换页为有效数据页。
16.根据权利要求12至15任一项所述的虚拟机内存快照生成装置,其特征在于,所述虚拟机内存快照生成装置还包括内存快照恢复模块,
所述内存快照恢复模块用于:从所述硬件层中的存储设备中获取并解析所述虚拟机的内存快照文件;当所述内存快照文件中记录的当前第S内存页的页类型为非有效数据页时,在所述VMM内存空间中中记录所述当前第S内存页的页类型为非有效数据页;当所述内存快照文件中记录的当前第S内存页的页类型为有效数据页时,在所述VMM内存空间中记录所述当前第S内存页的页类型为有效数据页,并将所述内存快照文件中记录的所述当前第S内存页的页数据对应地拷贝到所述虚拟机的第S内存页中。
17.一种计算机系统,其特征在于,所述系统包括:物理主机和网络存储设备,其中:
所述物理主机包括如权利要求12至16任一一项所述的虚拟机内存快照生成装置;
所述网络存储设备用于存储所述物理主机上所宿主的虚拟机的内存快照文件。
CN201110307790.4A 2011-10-12 2011-10-12 一种虚拟机内存快照生成和恢复方法、装置及系统 Active CN102331949B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110307790.4A CN102331949B (zh) 2011-10-12 2011-10-12 一种虚拟机内存快照生成和恢复方法、装置及系统
PCT/CN2012/072887 WO2012149844A1 (zh) 2011-10-12 2012-03-23 一种虚拟机内存快照生成和恢复方法、装置及系统
EP12779387.5A EP2755132B1 (en) 2011-10-12 2012-03-23 Virtual machine memory snapshot generating and recovering method, device and system
US14/251,785 US9507672B2 (en) 2011-10-12 2014-04-14 Method, apparatus, and system for generating and recovering memory snapshot of virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110307790.4A CN102331949B (zh) 2011-10-12 2011-10-12 一种虚拟机内存快照生成和恢复方法、装置及系统

Publications (2)

Publication Number Publication Date
CN102331949A CN102331949A (zh) 2012-01-25
CN102331949B true CN102331949B (zh) 2014-11-05

Family

ID=45483735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110307790.4A Active CN102331949B (zh) 2011-10-12 2011-10-12 一种虚拟机内存快照生成和恢复方法、装置及系统

Country Status (4)

Country Link
US (1) US9507672B2 (zh)
EP (1) EP2755132B1 (zh)
CN (1) CN102331949B (zh)
WO (1) WO2012149844A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775939A (zh) * 2016-12-06 2017-05-31 爱普(福建)科技有限公司 一种工业控制系统中内存快照管理方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331949B (zh) 2011-10-12 2014-11-05 华为技术有限公司 一种虚拟机内存快照生成和恢复方法、装置及系统
CN103019884B (zh) * 2012-11-21 2015-07-01 北京航空航天大学 基于虚拟机快照的内存页去重方法及装置
US9430333B2 (en) * 2013-03-14 2016-08-30 Microsoft Technology Licensing, Llc Recovery of application from snapshot
CN103425535B (zh) * 2013-06-05 2016-08-10 浙江大学 云环境下的敏捷弹性伸缩方法
US9842032B2 (en) 2013-08-27 2017-12-12 Red Hat, Inc. Memory first live snapshot
US9733964B2 (en) 2013-08-27 2017-08-15 Red Hat, Inc. Live snapshot of a virtual machine
CN104572138B (zh) * 2013-10-10 2018-10-30 腾讯科技(深圳)有限公司 应用程序的启动方法及装置
US9459900B2 (en) * 2014-01-13 2016-10-04 Red Hat Israel, Ltd. Hypervisor-based balloon page initialization
CN104102528A (zh) * 2014-07-14 2014-10-15 南京理工大学 快速的虚拟机监视器性能恢复方法
CN105573813B (zh) * 2014-10-10 2018-11-13 北京航空航天大学 虚拟机连续快照方法和装置
CN104268005B (zh) * 2014-10-22 2018-11-30 华为技术有限公司 虚拟机唤醒方法和装置
CN105607962B (zh) * 2015-10-22 2019-03-19 华为技术有限公司 一种虚拟机备份的方法和装置
US20170123657A1 (en) * 2015-11-02 2017-05-04 Dell Products L.P. Systems and methods for back up in scale-out storage area network
CN105260231A (zh) * 2015-11-03 2016-01-20 国云科技股份有限公司 一种降低物理磁盘io读写的方法
CN106201656B (zh) * 2016-06-30 2019-06-07 无锡华云数据技术服务有限公司 一种对kvm虚拟机快照存储空间的统计方法
CN106445732B (zh) * 2016-08-30 2018-04-24 华中科技大学附属中学 一种基于版本控制的在线快照管理方法和系统
CN109460258B (zh) * 2017-08-28 2024-02-13 西安中兴新软件有限责任公司 一种启动电子设备的方法及装置
CN108701048B (zh) 2017-09-29 2020-09-11 华为技术有限公司 数据加载方法及装置
CN107832097B (zh) * 2017-09-29 2020-04-28 华为技术有限公司 数据加载方法及装置
CN108334419B (zh) * 2017-12-25 2021-12-28 华为技术有限公司 一种数据恢复的方法和装置
CN110096451B (zh) * 2018-01-29 2023-08-04 华为技术有限公司 一种数据存储方法及装置
US10698716B2 (en) * 2018-03-15 2020-06-30 Nutanix, Inc. Virtual machine state recorder
CN108595308B (zh) * 2018-05-09 2021-12-31 南京思达捷信息科技有限公司 一种基于管理的大数据服务器的处置系统及其方法
CN108717457B (zh) * 2018-05-23 2022-03-22 苏州易康萌思网络科技有限公司 一种电子商务平台大数据处理方法和系统
CN109325022B (zh) * 2018-07-20 2021-04-27 新华三技术有限公司 一种数据处理方法和装置
CN109144776B (zh) * 2018-07-20 2021-04-06 新华三技术有限公司 虚拟机镜像文件处理方法及装置
CN110874473A (zh) * 2018-09-04 2020-03-10 成都华为技术有限公司 病毒检测方法、装置及系统、云服务系统、存储介质
CN109408295A (zh) * 2018-11-13 2019-03-01 郑州云海信息技术有限公司 一种基于分布式存储系统的克隆卷填充方法、装置及设备
CN109710377B (zh) * 2018-12-14 2023-06-30 国云科技股份有限公司 一种从故障的分布式存储里恢复kvm虚拟机的方法
US11461121B2 (en) * 2019-07-26 2022-10-04 Red Hat, Inc. Guest-driven virtual machine snapshots
CN111143025B (zh) * 2019-11-22 2023-03-24 中国船舶工业系统工程研究院 一种针对实时虚拟机实例管理的方法
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
CN112988077B (zh) * 2021-04-27 2021-07-23 云宏信息科技股份有限公司 一种虚拟磁盘复制方法和计算机可读存储介质
CN114138424B (zh) * 2022-02-07 2022-05-20 苏州浪潮智能科技有限公司 一种虚拟机内存快照生成方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1955939A (zh) * 2006-10-13 2007-05-02 清华大学 基于虚拟内存盘的备份与恢复方法
CN101436207A (zh) * 2008-12-16 2009-05-20 浪潮通信信息系统有限公司 一种基于日志快照的数据恢复和同步方法
CN102193843A (zh) * 2010-03-19 2011-09-21 复旦大学 虚拟机系统崩溃现场保存的加速方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789156B1 (en) * 2001-05-22 2004-09-07 Vmware, Inc. Content-based, transparent sharing of memory units
JP4104586B2 (ja) 2004-09-30 2008-06-18 株式会社東芝 ファイル管理機能を備えたファイルシステム及びファイル管理方法
CN100520728C (zh) * 2006-04-28 2009-07-29 英业达股份有限公司 采用位映像表算法处理存储设备快照的方法
US8607009B2 (en) * 2006-07-13 2013-12-10 Microsoft Corporation Concurrent virtual machine snapshots and restore
US20100070678A1 (en) * 2008-09-12 2010-03-18 Vmware, Inc. Saving and Restoring State Information for Virtualized Computer Systems
CN102331949B (zh) * 2011-10-12 2014-11-05 华为技术有限公司 一种虚拟机内存快照生成和恢复方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1955939A (zh) * 2006-10-13 2007-05-02 清华大学 基于虚拟内存盘的备份与恢复方法
CN101436207A (zh) * 2008-12-16 2009-05-20 浪潮通信信息系统有限公司 一种基于日志快照的数据恢复和同步方法
CN102193843A (zh) * 2010-03-19 2011-09-21 复旦大学 虚拟机系统崩溃现场保存的加速方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775939A (zh) * 2016-12-06 2017-05-31 爱普(福建)科技有限公司 一种工业控制系统中内存快照管理方法
CN106775939B (zh) * 2016-12-06 2019-12-31 爱普(福建)科技有限公司 一种工业控制系统中内存快照管理方法

Also Published As

Publication number Publication date
EP2755132B1 (en) 2018-12-26
CN102331949A (zh) 2012-01-25
US20140223126A1 (en) 2014-08-07
EP2755132A4 (en) 2014-08-06
US9507672B2 (en) 2016-11-29
WO2012149844A1 (zh) 2012-11-08
EP2755132A1 (en) 2014-07-16

Similar Documents

Publication Publication Date Title
CN102331949B (zh) 一种虚拟机内存快照生成和恢复方法、装置及系统
US9823877B2 (en) Virtual machine backup from storage snapshot
US20230138736A1 (en) Cluster file system-based data backup method and apparatus, and readable storage medium
US11436091B2 (en) Method and apparatus for generating virtual machine snapshot
US8473462B1 (en) Change tracking for shared disks
US9372762B2 (en) Systems and methods for restoring application data
US8234469B2 (en) Backup of virtual machines using cloned virtual machines
US8881144B1 (en) Systems and methods for reclaiming storage space from virtual machine disk images
US9658925B1 (en) Systems and methods for restoring application data
US20170115909A1 (en) Data replica control
CN102314378A (zh) 使用共享存储来迁移虚拟机的技术
US9940152B2 (en) Methods and systems for integrating a volume shadow copy service (VSS) requester and/or a VSS provider with virtual volumes (VVOLS)
CN104572248B (zh) 虚拟机动态保存快照的方法
JP2015503782A (ja) 仮想化されたプラットフォームへ安全に移行するためのシステム及び方法
CN106777394B (zh) 一种集群文件系统
US9032414B1 (en) Systems and methods for managing system resources allocated for backup validation
US9003139B1 (en) Systems and methods for recovering virtual machines after disaster scenarios
US9336131B1 (en) Systems and methods for enabling virtual environments to mount non-native storage disks
CN107402848A (zh) 一种快照数据一致性的实现方法
US8972351B1 (en) Systems and methods for creating selective snapshots
CN113641446A (zh) 内存快照创建方法、装置、设备及可读存储介质
CN114138424B (zh) 一种虚拟机内存快照生成方法、装置及电子设备
US11500741B2 (en) Data write method and storage system
CN111399774B (zh) 分布式存储系统下基于快照的数据处理方法和装置
CN113918284B (zh) 云主机批量迁移的方法及装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant