CN103970585B - 创建虚拟机的方法及装置 - Google Patents

创建虚拟机的方法及装置 Download PDF

Info

Publication number
CN103970585B
CN103970585B CN201310042901.2A CN201310042901A CN103970585B CN 103970585 B CN103970585 B CN 103970585B CN 201310042901 A CN201310042901 A CN 201310042901A CN 103970585 B CN103970585 B CN 103970585B
Authority
CN
China
Prior art keywords
image file
increment
virtual machine
level
content
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
CN201310042901.2A
Other languages
English (en)
Other versions
CN103970585A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201310042901.2A priority Critical patent/CN103970585B/zh
Priority to US14/652,763 priority patent/US9442753B2/en
Priority to PCT/CN2013/084270 priority patent/WO2014117533A1/en
Publication of CN103970585A publication Critical patent/CN103970585A/zh
Application granted granted Critical
Publication of CN103970585B publication Critical patent/CN103970585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • 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/1464Management of the backup or restore process for networked environments
    • 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/445Program loading or initiating
    • 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
    • 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/1461Backup scheduling policy
    • 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/45575Starting, stopping, suspending or resuming 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请公开了一种创建虚拟机的方法,包括以下步骤:基于虚拟机模板对应的基础镜像文件生成一个增量镜像文件,作为虚拟机的第一级增量镜像文件,基于第一级增量镜像文件生成一个增量镜像文件作为所述虚拟机的第二级增量镜像文件;将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。本申请还公开了一种创建虚拟机的装置。本申请在提高批量虚拟机创建效率并节省磁盘空间的同时,可以提高虚拟机的磁盘访问效率。

Description

创建虚拟机的方法及装置
技术领域
本申请涉及虚拟机技术领域,尤其涉及创建虚拟机的方法及装置。
背景技术
随着硬件速度的不断提高,服务器性能大大提升,数据中心中的部分服务器的使用率有所下降,为了提高服务器硬件利用率,降低数据中心的运维成本,近年来,虚拟化技术得到了很大的发展,其中,虚拟机的使用日益普遍。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,我们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。从用户的角度看,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。目前主要的虚拟机平台有VMware、Xen、Hyper-V、KVM等。
在虚拟化过程中,创建虚拟机的通常做法是为虚拟机指定一个已安装操作系统的镜像,然后通过虚拟化平台进行加载。在同一个物理主机(宿主机)上运行多个功能完全一样的虚拟机时,通过克隆的方式从已有的镜像生成多个相互独立的镜像,也就是完全复制所述已有的镜像,得到多个功能完全相同的、但相互独立的镜像,从而达到运行多个虚拟机的目的。
采用上述创建虚拟机的方式会产生如下问题:对于大规模的虚拟化节点(虚拟化服务器)的情况,存在多个虚拟化节点、且每个虚拟机节点上都存在多个克隆的镜像,此时,用于存储虚拟机镜像文件的存储空间将变得非常庞大。比如,一台物理主机(即一个虚拟化节点)上运行了10个虚拟机,假设每个虚拟机镜像为4GB,将需要40GB的存储空间,假如整个云中有1000台这样的物理主机,存储设备的开销将变得非常庞大。而且,由于每次创建虚拟机都需要对已有镜像文件进行完全的复制,导致创建虚拟机的效率低下。
目前存在另一种方案,可以节省磁盘空间并提高虚拟机的创建效率,该方案如下:基于基础镜像文件创建虚拟机,所述虚拟机上的镜像文件为基于所述基础镜像文件生成的增量镜像文件(即不同于基础镜像的私有数据),每当对虚拟机进行一次升级,其增量镜像文件就增加一级,因此,一个虚拟机镜像文件分为基础镜像及多级增量镜像。
这里首先需要创建一个基础镜像(base image),里面把各个虚拟机都需要的环境搭建好,由于不同于基础镜像的数据相对较少,因此,在进行虚拟机克隆、备份等操作时,就可以只对增量数据进行克隆或备份,形成增量镜像,增量镜像文件在进行多次升级后形成多级增量镜像文件。在读虚拟机磁盘操作时,先从多级增量镜像文件中读取,如果没有,再从基础镜像文件中读取;在写数据时,总是写入增量镜像文件中,也就是说,虚拟机对镜像中所有的改变都记录在多级增量镜像文件里面,基础镜像文件始终保持不变,从而可以实现虚拟机的快速部署,提高了虚拟机创建效率,也节省了磁盘空间。
但采用上述方案部署虚拟机时,对每一个虚拟机的增量镜像文件的级数没有进行控制,在读虚拟机磁盘操作时,先从多级增量镜像文件中一级一级读取,如果没有,最后才从基础镜像文件中读取。例如,一个虚拟机的增量镜像文件存在10级,如果要读取的文件位于基础镜像文件中,则需要查找10次,即从第10级增量镜像文件开始读取,没有读取到需要的数据时,再读取第9级增量镜像文件,如此下去,直至读取完第1级增量镜像文件后,才能读取基础镜像,查找到需要的数据,从而导致虚拟机的磁盘访问效率低下。
此外,当虚拟机的增量镜像级数较多时,对虚拟机的备份、恢复及维护操作均会涉及到增量镜像的每一级,导致虚拟机的备份、恢复及虚拟机镜像维护都比较困难。
发明内容
有鉴于此,本申请提出一种创建虚拟机的方法,在提高批量虚拟机创建效率并节省磁盘空间的同时,可以提高虚拟机的磁盘访问效率。
本申请还提出一种创建虚拟机的装置,在提高批量虚拟机创建效率并节省磁盘空间的同时,可以提高虚拟机的磁盘访问效率。
为达到上述目的,本申请实施例的技术方案是这样实现的:
一种创建虚拟机的方法,包括以下步骤:
基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
一种创建虚拟机的装置,包括:增量镜像创建模块、修改保存模块、增量镜像处理模块,其中:
增量镜像创建模块,用于基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
修改保存模块,用于将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
增量镜像处理模块,用于每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
本申请的有益效果为,通过使用两级增量镜像文件来实现虚拟机,虚拟机每次修改的最新数据保存在基于第一级增量镜像文件生成的第二级增量镜像文件中,每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将其合并到基于基础镜像生成的第一级增量镜像文件中,然后清除第二级增量镜像文件中的内容。如此,在读虚拟机磁盘操作时,如果待查找的数据位于基础镜像中,只需要查找两次,就可以读取到基础镜像。从而在大量部署虚拟机时,既可以提高虚拟机创建效率、节省磁盘空间,又可以极大地提高虚拟机的磁盘访问效率。
附图说明
图1为本申请实施例的方法流程图;
图2为现有backing file技术原理说明示意图;
图3为本申请实施例的虚拟机对其增量镜像文件的最新修改处理示意图;
图4为本申请实施例的虚拟机对两级增量镜像文件的处理过程示意图;
图5-1为本申请实施例的增量镜像文件第一次合并过程示意图;
图5-2为本申请实施例的增量镜像文件第二次合并过程示意图;
图5-3为本申请实施例的增量镜像文件第三次合并过程示意图;
图5-4为本申请实施例的三次合并后得到的第一级增量镜像文件示意图;
图6为本申请实施例的装置功能模块结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本申请进行详细说明。
本申请在创建虚拟机时,基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
本申请通过使用两级增量镜像文件来实现虚拟机,每个虚拟机对应两级增量镜像文件,这两级增量镜像文件包括:基于基础镜像文件生成的增量镜像文件作为第一级增量镜像文件、以及基于第一级增量镜像文件生成的第二级增量镜像文件,虚拟机每次修改的数据都保存在第二级增量镜像文件中,因此,第二级增量镜像文件量会不断增大,每当第二级增量镜像文件的存储量达到预先设定的镜像文件容量阈值时,将其合并到第一级增量镜像文件中,同时清除第二级增量镜像文件中的内容。如此,在读虚拟机磁盘操作时,如果待查找的数据位于基础镜像中,只需要查找两次,就可以读取到基础镜像文件。从而在大量部署虚拟机时,既可以提高虚拟机创建效率、节省磁盘空间,又可以极大地提高虚拟机的磁盘访问效率。
本申请实施例的方法流程如图1所示,一种创建虚拟机的方法,包括以下步骤:
步骤101:基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件。
虚拟机管理平台管理一组虚拟机模板,比如winxp_templet、win7_templet、redhat6_templet等等,管理员通过指定模板批量创建虚拟机,将虚拟机模板对应的磁盘文件作为基础镜像文件,基础镜像文件保存到共享存储中,在创建虚拟机时,使用backingfile技术基于所述基础镜像文件生成增量镜像文件。
本申请实施例中的增量镜像文件可以采用qcow2格式,qcow2的全称为QEMUCopyOn Write version2,其中,QEMU是一套由Fabrice Bellard所编写的开源跨平台模拟器,qcow2格式是一种常用的虚拟机磁盘镜像格式,在qcow格式上优化而来,使用qcow2格式时,数据被保存在多个簇cluster内,qcow2格式根据实际使用量来占用空间使用量,磁盘镜像文件大小随着实际使用量增长,支持快照,支持加密和压缩,是目前比较主流的磁盘镜像格式。本申请实施例中的增量镜像文件也可以采用其它格式,比如qcow格式、raw格式等,并不仅限于qcow2格式。
使用backing file技术可以基于基础镜像文件生成增量镜像文件,因此,现有技术中,往往使用backing file技术大量部署虚拟机。backing file技术的基本原理就是:基于一个基础文件产生一个增量文件,用于存储后续虚拟机写入的用户私有数据,因此,在进行虚拟机克隆、备份等操作时,就可以只对增量数据(即不同于基础镜像的私有数据)进行克隆或备份,形成增量镜像,现有技术中每个增量镜像对应一个虚拟机。在读虚拟机磁盘操作时,先从增量镜像文件中读取,如果没有,再从基础镜像文件中读取;在写数据时,总是写入增量镜像文件中,也就是说,虚拟机对镜像中所有的改变都记录在增量镜像文件里面,基础镜像文件始终保持不变,从而可以实现虚拟机的快速部署,节省磁盘空间。
例如,如图2所示,master disk image是一个通用的只读的qcow2格式虚拟机基础镜像文件,可以基于master disk image创建虚拟机win7-001和win7-002,即根据backingfile技术,win7-001和win7-002上的镜像文件win7-001.q cow2、win7-002.qcow2是基于master disk image产生的qcow2格式增量镜像文件。以虚拟机win7-001为例,在读磁盘操作时,先从win7-001.qcow2中读取,如果没有,再从win7-base.qcow2中读取;在写数据时,总是写入win7-001.qcow2,win7-base.qcow2始终保持不变。
本申请实施例采用backing file技术基于基础镜像文件生成一个内容为空的增量镜像文件,但所生成的增量镜像文件并不是对应一个虚拟机,而是将所生成的增量镜像文件作为虚拟机的第一级增量镜像文件,同时,采用backing file技术基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件。所以,一个虚拟机对应两级增量镜像文件,这两级增量镜像文件用于保存所述虚拟机的私有数据,基础镜像文件对于虚拟机来说是只读的。由于使用了backing file技术,因此,本申请实施例方案同样可以提高虚拟机的创建效率,实现虚拟机的快速部署,并节省磁盘空间。
根据backing file技术,初始生成的第一级增量镜像文件和第二级增量镜像文件均为空白的增量镜像文件,初始生成时指明了第一级增量镜像文件是基于基础镜像文件生成的,第二级增量镜像文件是基于第一级增量镜像文件生成的,即标记了各个增量镜像文件是基于什么源文件生成的,从而在读磁盘操作时,根据所述标记,就可以顺序读取镜像文件,即先从第二级增量镜像文件开始读取,如果没有查找到需要的数据,则继续读取第一级增量镜像文件进行查找,如果仍没有找到需要的数据,则最后读取基础镜像文件。backingfile技术属于现有技术,此处不多赘述。
基于基础镜像文件生成一个内容为空的增量镜像文件作为所述虚拟机的第一级增量镜像文件,可以设置第一级增量镜像文件的空间是可自动扩展的。第一级增量镜像文件用于在后续的合并操作中存储第二级增量镜像的私有数据,实现对私有数据的有效保护,以及更及时地备份私有数据。因为基础镜像文件一般是保存在共享存储中,需要保护的私有数据不可能保存于基础镜像中,所以,需要另外创建一个增量镜像文件作为第一级增量镜像文件,专门用于保存虚拟机的私有数据,即第一级增量镜像文件预留为增量镜像文件后续合并时的目的存储文件。
步骤102:将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中。
虚拟机对数据的最新修改主要指虚拟机对系统内容的修改。
如图3所示,所述虚拟机对数据的最新修改保存在第二级增量镜像文件中。
步骤103:每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
由于虚拟机对其增量镜像文件的最新修改保存在第二级增量镜像文件中,第二级增量镜像文件的存储量会不断增加,预先根据实际需要为第二级增量镜像文件设置一个镜像文件容量阈值,如图4所示,每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中。合并操作后,第二级增量镜像文件的内容还存在,因此,需要清除第二级增量镜像文件中的内容。
所述将第二级增量镜像文件中的内容合并到第一级增量镜像文件中时,所述合并的操作可通过Libvirt(支持Linux下主流虚拟化工具的C函数库,其旨在为包括Xen在内的各种虚拟化工具提供一套方便、可靠的编程接口)来实现,例如,可以增加virshblockcommit domain命令,实现对所述虚拟机的所有镜像文件(即第一级增量镜像文件和第二级增量镜像文件)执行commit功能,虚拟机运行和停机时均可调用。当虚拟机运行时,Libvirt将向QEMU发送commit all命令;当虚拟机停机时,Libvirt对第一级增量镜像文件和第二级增量镜像文件分别调用qemu-img commit命令。
所述清除第二级增量镜像文件中的内容时,清除的操作可通过如下方式实现:
在QEMU进行上述commit操作时,也就是将第二级增量镜像文件中的内容合并到第一级增量镜像文件中的同时,清空当前的第二级增量镜像文件中的内容。
对于虚拟机应用中涉及到的一些重要数据,比如银行数据、容灾数据等,为了保护这些重要的私有数据,需要间隔一段时间就备份一次数据,备份的数据可以存放在与虚拟机所在磁盘不同的存储空间中,数据越重要,备份频率越高,而且每次需要及时、快速备份这些数据。数据备份可以增加数据安全性,是绝大多数虚拟机应用中不可缺少的部分,如何快速备份数据显得至关重要。
因此,本申请实施例中,所述将第二级增量镜像文件中的内容合并到第一级增量镜像文件中之前,可以对第二级增量镜像文件中的内容进行备份,也就是将第二级增量镜像文件中的内容复制到备份的目的存储空间。此处为定时备份,也就是周期性备份。当所述对第二级增量镜像文件内容进行的备份为所述虚拟机第一次对其第二级增量镜像文件进行备份时,还需要对所述基础镜像文件进行备份。
上述现有技术中,一个虚拟机只对应一个增量镜像文件,每次备份时直接对此增量镜像文件进行备份,而此增量镜像文件的存储量会因为数据修改而不断增多,从而导致备份所需要的时间越来越长,不利于类似银行、容灾等应用中重要数据的快速备份,而每次快速备份对于这些重要数据的保护是至关重要的。
但采用本申请实施例方案,可以实现对增量镜像文件内容的快速备份。本申请实施例方案中,对第二级增量镜像文件设置了镜像文件容量阈值,每当第二级增量镜像文件的存储量超过所述阈值时,对所述第二级增量镜像文件进行备份,可以防止第二级增量镜像文件的存储量不断增大,每次备份数据时,数据量不大,从而可以实现每次对增量镜像文件的快速备份。
进一步地,实际应用中,往往需要根据实际需要及时备份一些重要的私有数据,因此,有可能出现这样的情况:第二级增量镜像文件还未达到镜像文件容量阈值,就需要对其进行备份,即不定时备份。此时,作为本申请的较佳实施例,采用如下处理方式:
每当需要对所述虚拟机的增量镜像文件进行备份时,将第二级增量镜像文件中的内容进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
为保证重要数据的及时备份,定时备份和不定时备份可以同时存在,同时存在时,当所述对第二级增量镜像文件内容进行的备份为所述虚拟机第一次对其第二级增量镜像文件进行备份时,对所述基础镜像文件进行备份。
进行虚拟机的增量备份时,若虚拟机正在运行,则暂停虚拟机,使虚拟机磁盘达到相对一致的状态。然后,检查虚拟机是否是第一次进行增量备份,如果是第一次进行增量备份,则可以先备份基础镜像文件,再对第二级增量镜像文件中的内容进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
之所以不定时备份时也进行增量镜像文件的合并,是为了保证每次不定时备份的数据量不会太大,从而可以保证每次快速备份,同时也是为了避免后续当第二级增量镜像文件的存储量达到镜像文件容量阈值时,对已备份过的数据进行重复备份。
当需要恢复所述虚拟机时,比如,当所述虚拟机的增量镜像文件所在磁盘损坏而需要恢复所述虚拟机时,删除当前的第一级增量镜像文件和第二级增量镜像文件,获取已备份的基础镜像文件及所有第二级增量镜像文件;
使用backing file技术基于所述基础镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第一级增量镜像文件,将所述已备份的所有第二级增量镜像文件合并到所述新的第一级增量镜像文件,使用backing file技术基于所述新的第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第二级增量镜像文件。
例如,虚拟机的增量镜像文件所在磁盘突然损坏而需要恢复所述虚拟机,若虚拟机正在运行,则先关闭虚拟机,删除当前已损坏的第一级增量镜像文件和第二级增量镜像文件,获取已备份的虚拟机的基础镜像文件及所有第二级增量备份文件,也就是虚拟机的历史增量备份文件。基于所述基础镜像文件重新生成一个增量镜像文件作为新的第一级增量镜像文件,然后将备份的所有第二级增量镜像文件依次合并到所述新的第一级增量镜像文件中,假如虚拟机的第二级增量镜像文件已经备份过三次,则需要合并三次。
第一次合并的过程如图5-1所示,将已备份的第二级增量镜像文件1合并到新建的第一级增量镜像文件中,第二次合并的过程如图5-2所示,将已备份的第二级增量镜像文件2合并到所述第一级增量镜像文件中,第三次合并的过程如图5-3所示,将已备份的第二级增量镜像文件3合并到所述第一级增量镜像文件中。从而得到三次合并后的第一级增量镜像文件如图5-4所示。合并后的镜像文件作为恢复后的虚拟机的第一级增量镜像文件,同时,基于所述合并后的第一级增量镜像文件生成一个空白的增量镜像文件作为恢复后的虚拟机的第二级增量镜像文件。
采用本申请实施例方案,在大批量部署虚拟机时,由于共用一份基础镜像文件,只需要生成两个增量镜像文件就可部署一个虚拟机,从而可以提高虚拟机的部署效率,节省虚拟机占用的存储空间,并且可以提高虚拟机的磁盘访问效率。且由于每次对虚拟机进行增量备份时需要备份的数据较少,可以提高虚拟机增量镜像的备份效率。另外,由于每个虚拟机只将修改的数据保存到各自的增量镜像文件中,还能够有效地保护用户的私有数据。
此外,采用本申请实施例方案,还可以实现虚拟机的快速克隆及离线迁移。由于基础镜像文件保存在共享存储上,所有的物理主机都能访问,所以不论是本地克隆虚拟机还是异地克隆虚拟机,都只需将第一、二级增量镜像文件进行克隆即可。同样的离线迁移也只需要将第一、二级增量镜像文件迁移到目的主机即可。从而可以提高虚拟机的克隆效率及离线迁移效率。
本申请实施例的装置功能模块结构示意图如图6所示,一种创建虚拟机的装置,包括:增量镜像创建模块、修改保存模块、增量镜像处理模块,其中:
增量镜像创建模块,用于基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
修改保存模块,用于将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
增量镜像处理模块,用于每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
较佳地,所述增量镜像处理模块在将第二级增量镜像文件中的内容合并到第一级增量镜像文件中之前,进一步用于:
对第二级增量镜像文件中的内容进行备份。
较佳地,所述装置进一步包括:
增量镜像备份模块,用于每当需要对所述虚拟机的增量镜像文件进行备份时,对第二级增量镜像文件中的内容进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
较佳地,所述装置进一步包括:
基础镜像备份模块,用于当所述对第二级增量镜像文件进行的备份为所述虚拟机第一次对其第二级增量镜像文件进行备份时,对所述基础镜像文件进行备份。
较佳地,所述装置进一步包括:
虚拟机恢复模块,用于当需要恢复所述虚拟机时,删除当前的第一级增量镜像文件和第二级增量镜像文件,获取已备份的基础镜像文件及所有第二级增量镜像文件;
基于所述基础镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第一级增量镜像文件,将所述已备份的所有第二级增量镜像文件合并到所述新的第一级增量镜像文件,基于所述新的第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第二级增量镜像文件。
较佳地,所述增量镜像创建模块使用backing file技术基于所述基础镜像文件生成一个内容为空的增量镜像文件,使用backing file技术基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件。
本申请实施例中,将创建虚拟机模板对应的磁盘镜像文件作为基础镜像文件,该文件只读,同时将基础镜像文件保存在共享存储中,同一类型的虚拟机共用一个基础镜像文件。部署虚拟机时,创建两个增量镜像文件,分为第一级增量镜像文件及第二级增量镜像文件。虚拟机对数据的最新修改只保存到第二级增量磁盘文件中。每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。当需要进行虚拟机的增量备份时,对所述第二级增量镜像文件进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
采用本申请方案,在大量部署虚拟机时,既可以快速部署虚拟机并提高硬盘空间利用率,又能提高虚拟机操作系统运行读写硬盘的效率,此外,还可以实现虚拟机的快速增量备份。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种创建虚拟机的方法,其特征在于,包括以下步骤:
基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
2.根据权利要求1所述的方法,其特征在于,所述将第二级增量镜像文件中的内容合并到第一级增量镜像文件中之前,进一步包括:
对第二级增量镜像文件的内容进行备份。
3.根据权利要求1所述的方法,其特征在于,将虚拟机对数据的最新修改保存在第二级增量镜像文件中之后,进一步包括:
每当需要对所述虚拟机的增量镜像文件进行备份时,对第二级增量镜像文件中的内容进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
4.根据权利要求2或3所述的方法,其特征在于,当对第二级增量镜像文件进行的备份为所述虚拟机第一次对其第二级增量镜像文件进行备份时,对所述基础镜像文件进行备份。
5.根据权利要求4所述的方法,其特征在于,所述方法进一步包括:
当需要恢复所述虚拟机时,删除当前的第一级增量镜像文件和第二级增量镜像文件,获取已备份的基础镜像文件及所有第二级增量镜像文件;
基于所述基础镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第一级增量镜像文件,将所述已备份的所有第二级增量镜像文件合并到所述新的第一级增量镜像文件中,基于所述新的第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第二级增量镜像文件。
6.根据权利要求1或5所述的方法,其特征在于,
使用backing file技术生成一个内容为空的增量镜像文件。
7.一种创建虚拟机的装置,其特征在于,包括:增量镜像创建模块、修改保存模块、增量镜像处理模块,其中:
增量镜像创建模块,用于基于虚拟机模板对应的基础镜像文件生成一个内容为空的增量镜像文件,作为虚拟机的第一级增量镜像文件,基于所述第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机的第二级增量镜像文件;
修改保存模块,用于将所述虚拟机对数据的最新修改保存在第二级增量镜像文件中;
增量镜像处理模块,用于每当第二级增量镜像文件的存储量达到镜像文件容量阈值时,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
8.根据权利要求7所述的装置,其特征在于,所述增量镜像处理模块在将第二级增量镜像文件中的内容合并到第一级增量镜像文件中之前,进一步用于:
对第二级增量镜像文件中的内容进行备份。
9.根据权利要求7所述的装置,其特征在于,所述装置进一步包括:
增量镜像备份模块,用于每当需要对所述虚拟机的增量镜像文件进行备份时,对第二级增量镜像文件中的内容进行备份,将第二级增量镜像文件中的内容合并到第一级增量镜像文件中,清除第二级增量镜像文件中的内容。
10.根据权利要求8或9所述的装置,其特征在于,所述装置进一步包括:
基础镜像备份模块,用于当对第二级增量镜像文件进行的备份为所述虚拟机第一次对其第二级增量镜像文件进行备份时,对所述基础镜像文件进行备份。
11.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:
虚拟机恢复模块,用于当需要恢复所述虚拟机时,删除当前的第一级增量镜像文件和第二级增量镜像文件,获取已备份的基础镜像文件及所有第二级增量镜像文件;
基于所述基础镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第一级增量镜像文件,将所述已备份的所有第二级增量镜像文件合并到所述新的第一级增量镜像文件,基于所述新的第一级增量镜像文件生成一个内容为空的增量镜像文件,作为所述虚拟机新的第二级增量镜像文件。
12.根据权利要求7或11所述的装置,其特征在于,所述增量镜像创建模块使用backingfile技术生成一个内容为空的增量镜像文件。
CN201310042901.2A 2013-01-31 2013-01-31 创建虚拟机的方法及装置 Active CN103970585B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310042901.2A CN103970585B (zh) 2013-01-31 2013-01-31 创建虚拟机的方法及装置
US14/652,763 US9442753B2 (en) 2013-01-31 2013-09-26 Creating virtual machines
PCT/CN2013/084270 WO2014117533A1 (en) 2013-01-31 2013-09-26 Creating virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310042901.2A CN103970585B (zh) 2013-01-31 2013-01-31 创建虚拟机的方法及装置

Publications (2)

Publication Number Publication Date
CN103970585A CN103970585A (zh) 2014-08-06
CN103970585B true CN103970585B (zh) 2017-10-27

Family

ID=51240121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310042901.2A Active CN103970585B (zh) 2013-01-31 2013-01-31 创建虚拟机的方法及装置

Country Status (3)

Country Link
US (1) US9442753B2 (zh)
CN (1) CN103970585B (zh)
WO (1) WO2014117533A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594583B2 (en) * 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
EP3163447B1 (en) * 2014-07-15 2019-11-06 Huawei Technologies Co. Ltd. Data replication method, device and system
CN104461775A (zh) * 2014-11-26 2015-03-25 英业达科技有限公司 异地备援系统及备份方法
TWI553557B (zh) * 2014-12-04 2016-10-11 英業達股份有限公司 異地備援系統及備份方法
CN104636189B (zh) * 2015-02-25 2018-03-30 哈尔滨工业大学 基于Xen的虚拟机部署系统及方法
US20160283118A1 (en) * 2015-03-25 2016-09-29 International Business Machines Corporation Optimization of disk images for thin provisioned disks
US10148682B2 (en) 2015-06-12 2018-12-04 Mcafee, Llc Security of VDI clones
CN106547759B (zh) * 2015-09-17 2020-05-22 伊姆西Ip控股有限责任公司 用于选择增量备份方式的方法和装置
CN105389185A (zh) * 2015-11-16 2016-03-09 北京汉柏科技有限公司 用于虚拟云桌面启动风暴的处理方法及装置
CN105740049B (zh) * 2016-01-27 2019-05-28 新华三技术有限公司 一种控制方法及装置
CN107273146B (zh) * 2016-04-08 2021-11-19 中兴通讯股份有限公司 虚拟机升级方法及装置
CN107368348A (zh) * 2016-05-13 2017-11-21 深圳市深信服电子科技有限公司 虚拟机克隆方法及装置
CN106055278A (zh) * 2016-06-03 2016-10-26 无锡华云数据技术服务有限公司 一种基于qcow2格式增量快照的轻量化实现方法
CN107688508A (zh) * 2016-08-03 2018-02-13 深圳市深信服电子科技有限公司 一种镜像文件空间优化方法以及系统
CN106354587A (zh) * 2016-09-06 2017-01-25 上海云轴信息科技有限公司 镜像服务器以及导出虚拟机镜像文件的方法
CN107193635A (zh) * 2017-05-24 2017-09-22 珠海金山网络游戏科技有限公司 一种实现虚拟化内容库的方法、装置及系统
CN107590024B (zh) * 2017-08-10 2020-08-07 郑州云海信息技术有限公司 一种数据存储方法和数据存储系统
US10853314B1 (en) * 2017-10-06 2020-12-01 EMC IP Holding Company LLC Overlay snaps
CN107729020B (zh) * 2017-10-11 2020-08-28 北京航空航天大学 一种实现大规模容器快速部署的方法
CN108509253A (zh) * 2018-04-03 2018-09-07 南京中兴软创软件技术有限公司 一种快速发布大量容器镜像的方法
CN109298894B (zh) * 2018-09-26 2022-03-04 四川巧夺天工信息安全智能设备有限公司 一种提取qcow镜像文件的方法
CN109471701A (zh) * 2018-11-06 2019-03-15 郑州云海信息技术有限公司 虚拟机镜像文件的管理方法和装置
CN109710581B (zh) * 2018-12-25 2023-05-30 四川巧夺天工信息安全智能设备有限公司 一种解压qcow镜像文件中压缩数据的方法
CN109960517B (zh) * 2019-03-14 2022-11-22 龙芯中科技术股份有限公司 镜像文件的制作方法、装置、系统及存储介质
US11301155B2 (en) 2019-04-22 2022-04-12 EMC IP Holding Company LLC Smart de-fragmentation of file systems inside VMs for fast rehydration in the cloud and efficient deduplication to the cloud
CN110673924B (zh) * 2019-09-06 2023-07-14 北京浪潮数据技术有限公司 一种多架构容器云镜像选择方法、装置、设备及存储介质
CN111324415A (zh) * 2019-10-28 2020-06-23 烽火通信科技股份有限公司 一种虚拟机镜像缓存创建方法、系统及计算机可读介质
CN111240799A (zh) * 2019-12-31 2020-06-05 北京安码科技有限公司 在pve平台快速创建增量虚拟机的方法、系统、电子设备及存储介质
CN111459606A (zh) * 2020-03-03 2020-07-28 山东汇贸电子口岸有限公司 一种虚拟化下快速创建虚拟机的方法及服务器
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
CN113590272A (zh) * 2021-09-30 2021-11-02 武汉四通信息服务有限公司 虚拟机部署方法、装置、电子设备及存储介质
CN113703927B (zh) * 2021-10-29 2022-02-11 杭州链城数字科技有限公司 数据处理方法、隐私计算系统、电子装置和存储介质
CN115098299B (zh) * 2022-06-28 2024-02-06 江苏安超云软件有限公司 一种虚拟机的备份方法、容灾方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075241A (zh) * 2006-12-26 2007-11-21 腾讯科技(深圳)有限公司 缓存处理方法以及缓存处理系统
CN101727331A (zh) * 2008-10-24 2010-06-09 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
CN102214118A (zh) * 2010-04-08 2011-10-12 中国移动通信集团公司 一种虚拟机控制方法、系统及装置
US8060703B1 (en) * 2007-03-30 2011-11-15 Symantec Corporation Techniques for allocating/reducing storage required for one or more virtual machines
CN102521083A (zh) * 2011-12-13 2012-06-27 广州杰赛科技股份有限公司 一种云计算系统中虚拟机备份方法和系统
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838968A (en) * 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
EP1791471A1 (en) 2004-09-13 2007-06-06 Koninklijke Philips Electronics N.V. Method and apparatus for measuring and/or detecting flow behavior of a body fluid using ultrasound
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8495316B2 (en) 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
US8914567B2 (en) * 2008-09-15 2014-12-16 Vmware, Inc. Storage management system for virtual machines
CN101770410B (zh) 2009-01-07 2016-08-17 联想(北京)有限公司 基于客户操作系统的系统还原方法、虚拟机管理器及系统
WO2011050451A1 (en) * 2009-10-30 2011-05-05 Rayan Zachariassen Real-time data transformation to access foreign data sources
US8190574B2 (en) 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
US8407301B1 (en) 2010-03-03 2013-03-26 Symantec Corporation Systems and methods for creating incremental images of cluster volumes
US9483357B2 (en) 2010-11-08 2016-11-01 Ca, Inc. Selective restore from incremental block level backup

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075241A (zh) * 2006-12-26 2007-11-21 腾讯科技(深圳)有限公司 缓存处理方法以及缓存处理系统
US8060703B1 (en) * 2007-03-30 2011-11-15 Symantec Corporation Techniques for allocating/reducing storage required for one or more virtual machines
CN101727331A (zh) * 2008-10-24 2010-06-09 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
CN102214118A (zh) * 2010-04-08 2011-10-12 中国移动通信集团公司 一种虚拟机控制方法、系统及装置
CN102521083A (zh) * 2011-12-13 2012-06-27 广州杰赛科技股份有限公司 一种云计算系统中虚拟机备份方法和系统
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统

Also Published As

Publication number Publication date
WO2014117533A1 (en) 2014-08-07
US9442753B2 (en) 2016-09-13
US20150339148A1 (en) 2015-11-26
WO2014117533A9 (en) 2014-10-16
CN103970585A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN103970585B (zh) 创建虚拟机的方法及装置
US8738883B2 (en) Snapshot creation from block lists
US11604708B2 (en) Memory first live snapshot
CN102999369B (zh) 虚拟机升级的方法及装置
US7669020B1 (en) Host-based backup for virtual machines
AU2014308938B2 (en) System and method for virtual machine conversion
US8527990B1 (en) Systems and methods for migrating virtual machines
CN102707990B (zh) 基于容器的处理方法和装置
US10019321B1 (en) Unique identifiers for data replication, migration, failover operations and failback operations
AU2012347883B2 (en) System and method for restoring application data
EP2494456B1 (en) Backup using metadata virtual hard drive and differential virtual hard drive
US8712968B1 (en) Systems and methods for restoring images
US10474369B2 (en) Mapping guest pages to disk blocks to improve virtual machine management processes
US9311375B1 (en) Systems and methods for compacting a virtual machine file
JP5547727B2 (ja) ボリュームへの変更を追跡するシステムおよび方法
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
US8589647B2 (en) Apparatus and method for synchronizing a snapshot image
CN103678036B (zh) 一种基于虚拟机运行信息数据发现的备份方法
CN104899071A (zh) 集群中虚拟机的恢复方法和系统
CN105593829A (zh) 从原始映像备份中排除文件系统对象
CN106445643A (zh) 克隆、升级虚拟机的方法及设备
CN105677480A (zh) 一种数据处理方法及装置
US20150106334A1 (en) Systems and methods for backing up a live virtual machine
US8972351B1 (en) Systems and methods for creating selective snapshots
JP2011248742A (ja) ストレージ管理システム、及び管理計算機、並びにプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant