CN102646064B - 支持迁移的增量虚拟机备份 - Google Patents

支持迁移的增量虚拟机备份 Download PDF

Info

Publication number
CN102646064B
CN102646064B CN201210033486.XA CN201210033486A CN102646064B CN 102646064 B CN102646064 B CN 102646064B CN 201210033486 A CN201210033486 A CN 201210033486A CN 102646064 B CN102646064 B CN 102646064B
Authority
CN
China
Prior art keywords
virtual
virtual machine
machine
change
snapshot
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
CN201210033486.XA
Other languages
English (en)
Other versions
CN102646064A (zh
Inventor
A.贝斯巴鲁亚
C.L.埃克
S.K.D.鲍米克
H.S.苏泰
H.郝
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102646064A publication Critical patent/CN102646064A/zh
Application granted granted Critical
Publication of CN102646064B publication Critical patent/CN102646064B/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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

Landscapes

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

Abstract

本发明涉及支持迁移的增量虚拟机备份。保留自从虚拟机上次被备份以来所接收的虚拟机的虚拟机数据的改变的记录和虚拟机的快照的改变的记录。响应于到了执行虚拟机的增量备份的时间,而根据虚拟机数据的改变的记录对一部分虚拟机数据进行备份,以及根据快照的改变的记录对一部分快照进行备份。响应于到了将虚拟机迁移到第二主机设备的时间,而将虚拟机数据、虚拟机数据的改变的记录、快照的改变的记录和快照中的一个或多个迁移到第二主机设备。

Description

支持迁移的增量虚拟机备份
背景技术
虚拟机是类似于物理设备的、可以运行程序的物理设备的软件实现。虚拟机提供各种好处,但也不是没有它们的问题。一个这样的问题是,可能希望将虚拟机的数据和状态进行备份,但这样的备份会是费时的,并且由于被备份的信息(虚拟机的数据和状态)的量而需要大量存储空间。另外,这样的备份可能由于许多虚拟机被迁移或被移动到不同的物理主机设备的能力,和/或由虚拟机所使用的底层物理存储设备被改变的能力,而难以实施。
发明内容
本概要是为了以简化的形式介绍构思的选择而提供的,这些构思还将在下面的详细说明中进行描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。
按照一个或多个方面,接收在第一主机设备上的虚拟机的虚拟机数据的改变,以及保留自从虚拟机数据上次被备份以来所接收的该虚拟机数据的改变的记录。识别执行虚拟机的增量备份(incremental backup)的时间,并且响应于到了执行增量备份的时间,而根据所述改变的记录,对一部分虚拟机数据进行备份。还识别将虚拟机迁移到第二主机设备的时间,并且响应于到了将虚拟机迁移到第二主机设备的时间,而将该虚拟机数据和该虚拟机数据的改变的记录迁移到第二主机设备。
按照一个或多个方面,接收在第一主机设备上的虚拟机的快照(snapshot)的改变,以及保留自从虚拟机上次被备份以来所接收的所述快照的改变的记录。识别执行虚拟机的增量备份的时间,并且响应于到了执行增量备份的时间,而根据所述改变的记录,对一部分快照进行备份。还识别将虚拟机迁移到第二主机设备的时间,并且响应于到了将虚拟机迁移到第二主机设备的时间,而将所述快照的改变的记录和所述快照中的一个或多个迁移到第二主机设备。
附图说明
相同的标号在所有的图上被使用来给相同的特征加附注。
图1是图示按照一个或多个实施例的、实施支持迁移的增量虚拟机备份的示例性计算设备的框图。
图2是图示按照一个或多个实施例的、实施支持迁移的增量虚拟机备份的示例性系统的框图。
图3是图示按照一个或多个实施例的、用于支持迁移的增量虚拟机备份的示例性过程的流程图。
图4是图示按照一个或多个实施例的、用于支持迁移的增量虚拟机备份的另一个示例性过程的流程图。
图5图示可被配置成按照一个或多个实施例来实施支持迁移的增量虚拟机备份的示例性计算设备。
具体实施方式
这里讨论支持迁移的增量虚拟机备份。保留自从虚拟机数据上次被备份以来由虚拟机中运行的应用做出的数据(也称为虚拟机数据)改变的记录。这个记录被使用来确定当执行增量备份时哪个虚拟机数据要被备份。即使在虚拟机被移动到新的主机设备和/或由虚拟机使用的物理存储设备被改变的情形下,这个记录仍保持与该虚拟机相关联。
同样地,可以捕获虚拟机的当前状态,其被称为虚拟机的元数据。这个当前状态可以包括由虚拟机使用的存储设备(storage device)的当前状态、由虚拟机使用的存储器设备(memory device)的当前状态和用于虚拟机的配置信息的当前状态。所捕获的虚拟机的当前状态(也称为快照)被存储,以及可被备份。有关哪些快照以前被备份的记录被保留,并且当执行增量备份时,以前已被备份的快照不需要作为增量备份的一部分被备份。即使在虚拟机被移动到新的主机设备和/或由虚拟机使用的物理存储装置和/或存储器部件被改变的情形下,这个记录仍保持与该虚拟机相关联。
图1是图示按照一个或多个实施例的、实施支持迁移的增量虚拟机备份的示例性计算设备100的框图。计算设备100可以是各种各样不同类型的设备。例如,计算设备100可以是台式计算机、服务器计算机、膝上型或上网本计算机、平板或笔记本计算机、移动站、娱乐电器、通信地耦合到显示设备、电视机或其它显示设备的机顶盒、蜂窝电话或其它无线电话、游戏控制台、车载计算机等等。
计算设备100包括虚拟机管理器102和一个或多个部件104。虚拟机管理器102和/或主机操作系统(未示出)管理对于部件104提供的功能性的访问。部件104可以是各种各样不同的处理器部件、输入/输出(I/O)部件和/或其它部件或设备。例如,部件104可以包括一个或多个处理器或处理器核、一个或多个存储器部件(例如,易失性和/或非易失性存储器)、一个或多个存储设备(例如,光盘和/或磁盘、闪速存储器驱动器)、通信部件(例如,有线和/或无线网适配器)、它们的组合等等。虽然被图示为计算设备100的一部分,但一个或多个部件104(例如,一个或多个存储设备)可以在计算设备100的外部实施。在计算设备100上运行的各种部件或模块――包括虚拟机管理器102――可以直接地和/或经由其它部件或模块间接地访问由部件104管理的这个功能性。
虚拟机管理器102允许虚拟机106在计算设备100上运行。在计算设备100上图示了单个的虚拟机106,虽然替换地可以有多个虚拟机在计算设备100上运行。虚拟机是指可以类似于物理计算设备那样运行程序的计算设备(或其它机器或系统)的软件实现。虚拟机包括类似于部件104(但是是部件104的软件实现)的一个或多个虚拟处理器部件。操作系统以及其它应用可以通过使用虚拟部件而执行,就像它们通过使用部件104那样,包括在虚拟处理器或虚拟处理器核上运行。在虚拟机106上执行的操作系统和其它应用不需要知道它们正在虚拟机上执行。
虚拟机106包括客户操作系统(guest operating system)112、一个或多个应用114和一个或多个虚拟部件116。客户操作系统112在被包括作为部件116中的一个或多个的一个或多个虚拟处理器或处理器核上运行或执行,并管理应用114的执行。
虚拟机管理器102包括虚拟机(VM)控制模块122、VM改变跟踪模块124和VM备份模块126。虚拟机控制模块122管理虚拟部件116到部件104的映射,包括调度虚拟处理器或处理器核来在物理处理器或处理器核上执行。虚拟机改变跟踪模块124保留自从虚拟机106上次被备份以来所发生的虚拟机数据和/或元数据的改变的记录。虚拟机备份模块126管理虚拟机106的备份,包括备份虚拟机数据以及虚拟机元数据。
虚拟机备份模块126管理虚拟机106的备份。备份虚拟机106是指把虚拟机106的虚拟机数据和/或虚拟机106的虚拟机元数据复制到备份存储设备130。虚拟机数据是指由在虚拟机中运行的应用所读出和/或写入的数据。虚拟机106的元数据是指虚拟机106的当前状态。
备份存储设备130可以经由诸如局域网、互联网、蜂窝或其它无线电话网、SAN(存储域网络,诸如光纤信道网络、SCSI(小计算机系统接口)网络等等)、它们的组合等等那样的网络被耦合到计算设备100。替换地,备份存储设备130可以以其他方式,诸如经由通用串行总线(USB)连接、无线USB连接等等,被耦合到计算设备100。虽然在图1上图示了单个备份存储设备130,但应当意识到,虚拟机备份模块126可以把虚拟机106备份到多个存储设备和/或备份到包括一个或多个存储设备的备份服务。
计算设备100还包括备份应用模块128,其管理备份虚拟机106的各种方面。备份应用模块128可以以不同的方式确定备份虚拟机106的时间。在一个或多个实施例中,备份应用模块128被配置以或可以访问指示虚拟机106要被备份的时间(例如,特定的星期、特定的日子、某些天内特定的小时等等)的备份时间表。替换地,备份应用模块128可以接收来自用户的、关于虚拟机106要被备份的时间的指示。替换地,备份应用模块128可以接收来自计算设备100的另一个部件或模块的或来自另一个设备的、关于虚拟机106要被备份的时间的指示。
VM备份模块126支持增量备份和完全备份。完全备份是指把虚拟机106的虚拟机数据和/或虚拟机106的虚拟机元数据全部复制到备份存储设备130。增量备份是指把自从虚拟机106上次被备份以来发生改变的、虚拟机106的部分的虚拟机数据和/或虚拟机106的部分的虚拟机元数据复制到备份存储设备130。增量备份还可包括复制自从虚拟机106上次被备份以来没有改变的、虚拟机106的某些虚拟机数据和/或虚拟机106的某些虚拟机元数据;然而,增量备份所复制的要少于全部的虚拟机106的虚拟机数据和/或虚拟机106的虚拟机元数据。备份应用模块128可以类似于以上讨论的确定备份虚拟机106的时间的,以各种各样不同的方式确定是要执行增量备份还是要执行完全备份。
VM备份模块126根据从备份应用模块128接收的指示或请求来对虚拟机106进行备份。备份应用模块128在适当的时间发起虚拟机106的备份,响应于此,VM备份模块126执行虚拟机106的适当的备份(例如,完全的或增量的)。为了执行备份,VM备份模块126向备份应用模块128提供或标识虚拟机106的适当的数据(根据是完全备份还是增量备份)。备份应用模块128进而又把数据复制到备份存储装置130。虽然被图示为分开的模块,但替换地,备份应用模块128的各种功能性可以被合并到VM备份模块126,和/或VM备份模块126的各种功能性可以被合并到备份应用模块128。
虚拟机控制模块122还支持对虚拟机106的快照的保存。虚拟机106的快照是虚拟机106的当前状态,它也被称为虚拟机106的元数据。虚拟机106的这个当前状态包括由虚拟机106使用的存储设备的当前状态、由虚拟机106使用的存储器设备的当前状态和/或用于虚拟机106的配置信息的当前状态。由虚拟机106使用的存储设备的当前状态是指由包括应用114、客户操作系统112和虚拟部件116在内的虚拟机106的任何部件或模块在存储设备(例如,磁盘或光盘、闪速存储器驱动器)中存储的任何数据、指令和/或其它信息。由虚拟机106使用的存储器设备的当前状态是指由包括应用114、客户操作系统112和虚拟部件116在内的虚拟机106的任何部件或模块在存储器设备(例如,RAM、闪速存储器)中存储的任何数据、指令和/或其它信息。用于虚拟机106的配置信息是指由虚拟机106的部件或模块和/或虚拟机管理器102使用来实施虚拟机106的数据、指令和/或其它信息。
为了保存在特定的时间点的虚拟机106的快照,在那个特定的时间点的虚拟机106的元数据被捕获或以另外的方式被识别和被保存为在那个特定的时间点的快照。快照典型地被保存在计算设备100的存储设备(例如,部件104)上,虽然替换地可以被保存在计算设备100的另外的部件或另外的设备上。
图2是图示按照一个或多个实施例的、实施支持迁移的增量虚拟机备份的示例性系统200的框图。系统200包括虚拟机改变跟踪模块202,其可以是图1的虚拟机改变跟踪模块124。虚拟机改变跟踪模块202包括虚拟机数据改变跟踪模块204和虚拟机元数据改变跟踪模块206。
虚拟机数据改变跟踪模块204保留由虚拟机(例如,图1的虚拟机106)做出的虚拟机数据的改变的记录。VM数据改变跟踪模块204识别或被告知由虚拟机上运行的应用所写入的虚拟机数据。VM数据改变跟踪模块204保留VM数据改变记录214,VM数据改变记录214是自从虚拟机上次被备份以来虚拟机数据的改变的记录。在一个或多个实施例中,VM数据改变跟踪模块204确定每次虚拟机数据被应用写入时虚拟机数据发生的改变。
应用可以从作为存储设备(例如,磁盘或光盘、闪速存储器设备等等)的虚拟部件读出数据和/或把数据写入到虚拟部件,并且所述虚拟部件通过虚拟机控制模块被映射到物理存储设备。在一个或多个实施例中,VM数据改变跟踪模块204被包括以作为虚拟机管理器的一部分,并监视(例如,识别或被告知)虚拟机中的应用何时把数据写入到物理存储设备。VM数据改变跟踪模块204把物理存储设备的这些改变的指示保留在VM数据改变记录214中。因此,在这样的实施例中,VM数据改变记录214标识一个或多个虚拟部件被映射到的一个或多个物理存储设备的改变。
在其他实施例中,VM数据改变跟踪模块204监视(例如,识别或被告知)数据何时被写入到虚拟机的虚拟存储设备。VM数据改变跟踪模块204把虚拟存储设备的这些改变的指示保留在VM数据改变记录214中。因此,在这样的实施例中,VM数据改变记录214标识一个或多个虚拟存储设备的改变。
VM数据改变记录214可以以各种各样不同的方式被实施。在一个或多个实施例中,VM数据改变记录214被实施为差分盘(differencing disk)。当使用差分盘时,在虚拟机被备份后由应用所写入的改变被写入到被称为差分盘的存储设备,而不是被写入到由应用将所要写入的数据引导到的存储设备。虚拟机管理器保留差分盘,并且应用和/或虚拟机不需要知道差分盘的存在。在差分盘上以及在由应用把所要写入的数据引导到的存储设备上的数据可以被虚拟机中的应用读回。自从虚拟机上次被备份以来改变的数据从差分盘被读出,并且被返回给应用,以及自从虚拟机上次被备份以来没有改变的数据从由应用把所要读出的数据引导到的存储设备中被读出,并且被返回给应用。
在差分盘上的数据也可以与来自由应用把所要读出和/或写入的数据引导到的存储设备的数据相组合,这取决于在差分盘上的数据的粒度。例如,VM数据改变跟踪模块204可以按块地跟踪改变。一个块例如可以是1兆字节或2兆字节(虽然替换地,可以使用其它尺寸的块)。如果应用写入小于一个块的数据,则VM数据改变跟踪模块204(或虚拟机管理器的另一个模块)检索包括来自存储设备的所述数据的那个块的剩余部分,并把该块的那个剩余部分连同由应用所写入的数据一起存储在差分盘上。
当执行虚拟机的增量备份时,存储差分盘(例如到图1的备份存储设备130)。在差分盘上的数据也可以盖写在存储设备的对应部分上的数据,以及差分盘可被清除(clear)。替换地,可以创建附加的差分盘,在其上写入在虚拟机的增量备份后由应用所写入的改变。因此,可以生成多个差分盘的分级结构,令自从上次增量备份以来做出的虚拟机数据的改变被存储在分级结构的每个级别上。
当执行虚拟机的完全备份时,差分盘与由应用把要被读出和/或写入的数据引导到的存储设备相组合。对于存储设备的备份拷贝,在差分盘上的数据替代被存储在存储设备的对应部分上的数据。在差分盘上的数据也可以盖写在存储设备的对应部分上的数据,以及差分盘可被清除。
例如,假设应用从特定的存储设备读取来自块1-100的数据,改变数据中的某些,然后把改变写回到块12和57。虚拟机管理器把用于块12和57的数据存储在差分盘上,而不是存储在从其读出所述块的特定存储装置上。再假设应用随后再次从那个特定存储设备读取来自块1-100的数据。虚拟机管理器把来自差分盘的块12和57的数据和来自那个特定存储设备的块1-11、13-56和58-100的数据返回给应用。同样地,当执行虚拟机的增量备份时,那个特定存储设备的备份拷贝包括来自差分盘的块12和57的数据。差分盘的块12和57可以替代在那个特定存储设备上的块12和57,以及块12和57可以从差分盘被删除(差分盘可以被清除)。替换地,可以创建新的差分盘,以及在增量备份后被写入到那个特定存储设备的改变可以被写入到新的差分盘。
替换地,不是用差分盘,VM数据改变记录214可以以不同的方式被实施。在一个或多个实施例中,VM数据改变记录214被实施为位图,令位图的每个位置对应于存储设备的一个块(例如,1或2兆字节)。当应用把数据写入到存储设备的块时,位图的对应位置被设置(例如,为值“1”)以指示:自从虚拟机上次被备份以来该数据块已改变。当虚拟机再次被备份时,位图的位置然后可以被清除(例如,被设置成值“0”)。因此,在任何给定的时间,位图指示自从虚拟机上次被备份以来存储设备的哪些块已改变和哪些块没有改变。
替换地,VM数据改变记录214可以被实施为块标识符列表。每个块标识符标识存储设备的一个块(例如,1或2兆字节)。块标识符可以以各种方式被实施(例如,实施为数字标识符或数字字母标识符),它允许标识在存储设备上的不同的块。当应用把数据写入到存储设备的块时,数据被写入到的块的标识符被加到块标识符列表。当虚拟机再次被备份时,这个列表然后可以被清除(腾空)。因此,在任何给定的时间,块标识符列表指示自从虚拟机上次被备份以来存储设备的哪些块已改变,和自从存储设备上次被备份以来任何不在列表上的块均没有改变。
VM数据改变记录214可以在执行虚拟机的增量备份时被使用。当执行虚拟机的增量备份时,保存自从虚拟机上次被备份以来虚拟机数据的改变。VM数据改变记录214是自从虚拟机上次被备份以来虚拟机数据的改变的记录,因此,VM数据改变记录214容易地把要被备份的虚拟机数据标识为虚拟机的增量备份的一部分。VM数据改变记录214本身可以被复制到备份存储装置以作为增量备份的一部分,诸如在VM数据改变记录214是差分盘的情形下。替换地,VM数据改变记录214可以标识存储设备的哪些块或其它部分要被复制到备份存储装置以作为增量备份的一部分,诸如在VM数据改变记录214是位图或块标识符列表的情形下。
虚拟机元数据改变跟踪模块206保留虚拟机(例如,图1的虚拟机106)的元数据的改变的记录。VM元数据改变跟踪模块206识别或被告知被捕获和保存的虚拟机的每个快照。VM元数据改变跟踪模块206保留VM元数据改变记录216,该VM元数据改变记录216是自从虚拟机上次被备份以来做出的所保存的快照的改变的记录。在一个或多个实施例中,所保存的快照的改变的这个记录是自从虚拟机上次被备份以来所捕获和保存的快照的指示。
VM元数据改变记录216可以以各种各样不同的方式被实施。在一个或多个实施例中,VM元数据改变记录216被实施为与每个快照相关联的标记值。这个标记值可以作为存储快照的数据结构的一部分被包括,或替换地,可以以其它方式被实施(例如,作为与存储快照的数据结构相关联的数据,作为位图,令该位图的每个位置对应于所捕获和保存的快照,等等)。当快照被捕获和被保存时,与快照相关联的标记值可以被设置(成例如,值“1”),以便指示:相关联的快照自从被捕获和保存以来没有被备份。当相关联的快照被备份时,与快照相关联的标记值然后可以被清除(例如,被设置成值“0”),以便指示:相关联的快照已被备份。因此,在任何给定的时间,与快照相关联的标记值指示哪些快照已被备份和哪些快照尚未被备份。
替换地,不是用标记值,VM元数据改变记录216可以以不同的方式被实施。在一个或多个实施例中,VM元数据改变记录216被实施为快照标识符列表。每个快照标识符标识已被捕获和保存的特定的快照。快照标识符可以以各种方式被实施(例如,作为数字标识符或数字字母标识符),其允许标识用于虚拟机的被捕获和保存的不同的快照。当快照被捕获和保存时,快照的标识符被加到快照标识符列表。当虚拟机再次被备份时,这个列表然后可以被清除(腾空)。因此,在任何给定的时间,快照标识符列表指示哪些快照已被备份和哪些快照尚未被备份。
VM元数据改变记录216可以在执行虚拟机的增量备份时被使用。VM元数据改变记录216是自从虚拟机上次被备份以来做出的所保存的快照的改变的记录,因此,VM元数据改变记录216容易地把要被备份的快照标识为虚拟机的增量备份的一部分。VM元数据改变记录216标识哪些快照还没有被备份,以及还没有被备份的快照是要作为增量备份的一部分被复制到备份存储装置的快照。
回到图1,虚拟机控制模块122还保留在计算设备100上运行的虚拟机(诸如虚拟机106)的记录,并支持在计算设备100上运行的虚拟机迁移到其它设备以及在其它设备上运行的虚拟机迁移到计算设备100。运行特定的虚拟机的计算设备也被称为该虚拟机的主机或主机设备。虚拟机可以移动到或迁移到不同的主机设备,从而允许运行特定虚拟机的特定计算设备随时间而改变。虚拟机控制模块122可以以各种各样不同的方式来确定将虚拟机迁移到另一个主机设备的时间,诸如响应于来自主机设备的用户的请求、响应于来自主机设备的另一个模块或部件的指示、响应于来自另一个设备或服务的指示等等。
虚拟机控制模块122管理虚拟机迁移到和/或迁移自计算设备100。这个迁移包括将虚拟机的当前状态迁移到和/或迁移自另一个主机设备。另外,VM改变跟踪模块124将改变跟踪信息(例如,图2的VM数据改变记录214和VM元数据改变记录216)与虚拟机相关联。因此,由VM改变跟踪模块124为特定的虚拟机保留的改变跟踪信息,连同虚拟机的当前状态一起,迁移到新的主机,从而允许为虚拟机执行增量备份,而不管虚拟机到另一个主机设备的迁移如何。
在一个或多个实施例中,被迁移到新的主机设备的虚拟机的标识符已为新的主机设备和虚拟机从其迁移出的主机设备所知。这两个主机设备把由VM改变跟踪模块保留的改变跟踪信息与虚拟机相关联,从而允许改变跟踪信息连同虚拟机一起被迁移。
可以各种各样不同的方式使虚拟机的标识符为新的主机设备和虚拟机从其迁移出的主机设备所知。在一个或多个实施例中,配置管理服务(例如,在主机设备外部)保留虚拟机标识符和哪些虚拟机正在哪些主机设备上运行的记录。当虚拟机被迁移到新的主机设备时,配置管理服务被告知以新的主机以及虚拟机的标识符(或替换地,配置管理服务可以向新的主机设备和虚拟机从其迁移出的主机设备告知要被迁移的虚拟机的标识符以及用于该虚拟机的新的主机设备)。配置管理服务可以把在主机设备上运行的一个或多个虚拟机的标识符提供给那个主机设备上的虚拟机管理器。
替换地,各个备份应用模块可以互相交流哪些设备宿有哪些虚拟机的标识符。在主机设备上的备份应用模块可以替换地接收迁移事件的通知,从而允许备份应用模块把改变跟踪信息和备份与适当的虚拟机相关联。这些迁移事件通知可以从在各种主机设备上支持虚拟机的虚拟化基础结构被接收,或从其它系统或服务(例如,从数据中心管理解决方案,诸如系统中心虚拟机管理器(从华盛顿州雷蒙德市的微软公司可得到的),它留意哪些虚拟机位于哪些计算设备上)被接收。在计算设备上的备份应用模块可以针对这样的迁移事件通知进行登记,并使用它们来相关从一个主机迁移到另一个主机的虚拟机。
图3是图示按照一个或多个实施例的、用于支持迁移的增量虚拟机备份的示例性过程300的流程图。过程300由诸如图1的设备100那样的一个或多个设备实行,并且可以以软件、固件、硬件或它们的组合而被实施。过程300被显示为一组动作,但不限于所显示的、用于执行各个动作的操作的次序。过程300是对于支持迁移的增量虚拟机备份的示例性过程;支持迁移的增量虚拟机备份的另外的讨论参照不同的附图被包括在这里。
在过程300,接收虚拟机的虚拟机数据的改变(动作302)。这些改变例如由诸如图1的模块124或图2的模块202那样的虚拟机改变跟踪模块接收。
保留自从虚拟机数据上次被备份以来所接收的虚拟机数据的改变的记录(动作304)。这个记录可以以如上所讨论的不同的方式,诸如通过使用差分盘、位图等等而被保留。
识别执行虚拟机的增量备份的时间(动作306)。这个时间可以以如上所讨论的不同的方式被识别。
响应于到了执行增量备份的时间,根据保留的改变的记录,对一部分虚拟机数据进行备份(动作308)。这个部分可以是保留的改变的记录(例如,差分盘)或由改变的记录所标识的存储设备的部分(例如,由位图或标识符列表标识的),正如以上讨论的。
另外,识别将虚拟机迁移到新的主机设备的时间(动作310)。这个时间可以以如上所讨论的不同的方式被识别。
响应于到了将虚拟机迁移到新的主机设备的时间,把虚拟机数据和改变的记录迁移到新的主机设备(动作312)。虚拟机数据的改变继续被接收(动作302),以及那些改变的记录被保留(动作304)在新的主机设备。
图4是图示按照一个或多个实施例的、用于支持迁移的增量虚拟机备份的示例性过程400的流程图。过程400由诸如图1的设备100那样的一个或多个设备实行,且可以以软件、固件、硬件或它们的组合而被实施。过程400被显示为一组动作,并且不限于所显示的、用于执行各种动作的操作的次序。过程400是对于支持迁移的增量虚拟机备份的示例性过程;支持迁移的增量虚拟机备份的另外的讨论参照不同的附图被包括在这里。
在过程400,接收虚拟机的快照的改变(动作402)。这些改变例如由诸如图1的模块124或图2的模块202那样的虚拟机改变跟踪模块接收。这些改变例如是如以上讨论的、虚拟机的新捕获和保存的快照。
保留自从虚拟机上次被备份以来所接收的虚拟机的快照的改变的记录(动作404)。这个记录可以以如上所讨论的不同的方式而被保留,诸如通过使用标记值、标识符列表等等。
识别执行虚拟机的增量备份的时间(动作406)。这个时间可以以如上所讨论的不同的方式被识别。
响应于到了执行增量备份的时间,而根据保留的改变的记录,对虚拟机的一部分快照进行备份(动作408)。这个部分例如是还没有被备份的快照(正如由在动作404被保留的改变的记录所标识的),正如以上讨论的。
另外,识别将虚拟机迁移到新的主机设备的时间(动作410)。这个时间可以以如上所讨论的不同的方式被识别。
响应于到了将虚拟机迁移到新的主机设备的时间,而把虚拟机的快照和改变的记录迁移到新的主机设备(动作412)。在动作412被迁移的这些快照包括在动作408还没有被备份的快照,以及在动作408已被备份的快照。虚拟机的快照的改变继续被接收(动作402),以及那些改变的记录被保留(动作404)在新的主机设备。
支持迁移的增量虚拟机备份技术支持各种使用情景。虚拟机可以从一个主机设备被迁移到另一个主机设备,备份信息也同样被迁移。可以出现虚拟机本身被迁移到新的主机设备,但一个或多个物理存储设备不改变的情形。在这样的情形下,改变跟踪信息(例如,对于新的主机设备来说不可访问的、被存储在本地存储设备上的VM数据改变记录214和/或VM元数据改变记录216)可被迁移到新的主机设备,或替换地,某些改变跟踪信息(例如,实施VM数据改变记录214的差分盘、被存储在对于新的主机设备以及虚拟机正从其被迁移出的主机设备来说可访问的共享的设备上的改变跟踪位图等等)可不被迁移。尽管被迁移到新的主机设备,虚拟机仍旧把虚拟存储设备映射到没有被改变的一个或多个物理存储设备。
也可以出现虚拟机没有被迁移,但一个或多个物理存储设备被改变的情形。这也被称为一种类型的迁移,因为信息从一个物理存储设备被迁移到另一个物理存储设备。在这样的情形下,因为物理存储设备被改变,所以虚拟存储设备到物理存储设备的映射被更新,以及改变跟踪信息(例如,VM数据改变记录214和/或VM元数据改变记录216)可被迁移到一个或多个新的物理存储设备。改变跟踪信息是否被迁移到新的物理存储设备可以根据该改变跟踪信息被保留在何处而变化。例如,如果改变跟踪信息被存储在正被改变的物理存储设备上(也就是,那个物理设备的内容正被搬出到一个或多个新的物理存储设备),则改变跟踪信息被迁移到该一个或多个新的物理存储设备。然而,如果改变跟踪信息被存储在没有被改变的物理存储设备上(也就是,那个物理存储设备的内容没有被搬出到一个或多个新的物理存储设备),则改变跟踪信息不被迁移到一个或多个新的物理存储设备。
另外,通过在虚拟机管理器中实施虚拟机改变跟踪模块和虚拟机备份模块,物理存储设备(和与那些物理存储设备相关联的任何软件和/或固件驱动器)不需要为了支持增量备份而执行对改变的跟踪。物理存储设备(和与那些物理存储设备相关联的任何软件和/或固件驱动器)甚至不需要知道改变正被跟踪和/或增量备份被支持。在虚拟机迁移到新的主机设备期间,因为改变跟踪信息连同虚拟机一起被迁移到新的主机设备,所以尽管物理存储设备(和与那些物理存储设备相关联的任何软件和/或固件驱动器)像这样地缺乏改变的知识和/或对改变的跟踪,增量备份仍继续得到支持。
图5图示可被配置成实施按照一个或多个实施例的、支持迁移的增量虚拟机备份的示例性计算设备500。计算设备500例如可以是图1的计算设备100。
计算设备500包括一个或多个处理器或处理单元502、一个或多个计算机可读媒体504——其可包括一个或多个存储器和/或存储部件506、一个或多个输入/输出(I/O)设备508和总线510,总线510允许各种部件和设备互相通信。计算机可读媒体504和/或一个或多个I/O设备508可以被包括以作为计算设备500的一部分,或替换地可以被耦合到计算设备500。总线510代表几种类型的总线结构的一种或多种,包括使用各种各样不同的总线体系结构的存储器总线或存储器控制器、外围总线、加速的图形接口、处理器或本地总线等等。总线510可包括有线和/或无线总线。
存储器/存储部件506代表一个或多个计算机存储媒体。部件506可包括易失性媒体(诸如随机存取存储器(RAM))和/或非易失性媒体(诸如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。部件506可包括固定的媒体(例如,RAM、ROM、固定硬驱动器等)以及可拆卸媒体(例如,闪速存储器驱动器、可拆卸硬驱动器、光盘等)。
这里讨论的技术可以以软件被实施,令指令由一个或多个处理单元502执行。应当意识到,不同的指令可以被存储在计算设备500的不同部件中,诸如存储在处理单元502、处理单元502的各种高速缓存、设备500的其它高速缓存(未示出)、其它计算机可读媒体等等。另外,应当意识到,在计算设备500中存储指令的位置可以随时间而改变。
一个或多个输入/输出设备508允许用户把命令和信息输入到计算设备500,以及还允许将信息呈现给用户和/或其它部件或设备。输入设备的例子包括键盘、光标控制设备(例如,鼠标)、话筒、扫描仪等等。输出设备的例子包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡等等。
各种技术在这里可以是在软件或程序模块的一般上下文中进行描述的。通常,软件包括例行程序、程序、应用、对象、部件、数据结构等等,它们执行特定的任务或实施特定的抽象数据类型。这些模块和技术的实现可被存储在某种形式的计算机可读媒体上,或通过其被传送。计算机可读媒体可以是能被计算设备访问的任何可得到的介质或媒体。作为例子,而不是限制,计算机可读媒体可包括“计算机存储媒体”和“通信媒体”。
“计算机存储媒体”包括以任何方法或技术被实施、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据那样的信息的易失性和非易失性、可拆卸和非可拆卸媒体。计算机存储媒体包括,但不限于,RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁存储设备、或可被使用来存储想要的信息并可以由计算机访问的任何其它介质。
“通信媒体”典型地将计算机可读指令、数据结构、程序模块、或其它数据具体化为诸如载波或其它输送机制那样的调制的数据信号。通信媒体还包括任何信息传递媒体。术语“调制的数据信号”是指使它的特性中的一个或多个以如下方式设置或改变的信号,即:将信息编码在信号中。作为例子,而不是限制,通信媒体包括诸如有线网络或直接连线连接那样的有线媒体和诸如声学、RF、红外那样的无线媒体,以及其它无线媒体。上述的任何项的组合也应当被包括在计算机可读媒体的范围内。
通常,这里描述的任何功能或技术可以通过使用软件、固件、硬件(例如,固定逻辑电路)、人工处理或这些实现的组合而被实施。当在这里使用时,术语“模块”和“部件”通常代表软件、固件、硬件或它们的组合。在软件实现的情形下,模块或部件代表程序代码,当所述程序代码在处理器(例如,一个或多个CPU)上被执行时其完成规定的任务。程序代码可被存储在一个或多个计算机可读的存储器设备,它们的进一步描述可以参照图5而被发现。这里描述的支持迁移的增量虚拟机备份技术的特征是与平台无关的,这意味着所述技术可以在具有各种各样的处理器的各种各样市面上可买到的计算平台上被实施。
虽然本主题是以特定于结构特征和/或方法动作的语言被描述的,但应当理解在所附权利要求中限定的主题不一定局限于上述的特定特征或动作。而是,上述的特定特征或动作是作为实施权利要求的示例性形式而公开的。

Claims (10)

1.一种用于支持迁移的增量虚拟机备份的方法,包括:
接收(302)在第一主机设备上的虚拟机的虚拟机数据的改变;
保留(304)自从虚拟机数据上次被备份以来所接收的该虚拟机数据的改变的记录,包含对用于虚拟机的配置信息的改变,该配置信息包括由该虚拟机的部件使用来实施该虚拟机的数据;
识别(306)执行虚拟机的增量备份的时间;
响应于到了执行增量备份的时间,而根据改变的记录,对一部分虚拟机数据进行备份(308),其中该部分虚拟机数据包括自从该虚拟机数据上次被备份以来所接收的该虚拟机数据的改变;
识别(310)将虚拟机迁移到第二主机设备的时间;以及
响应于到了将虚拟机迁移到第二主机设备的时间,而将虚拟机数据和虚拟机数据的改变的记录迁移(312)到第二主机设备。
2.如在权利要求1中陈述的方法,其中改变的记录包括差分盘,其存储自从虚拟机数据上次被备份以来由虚拟机中运行的一个或多个应用所写入的虚拟机数据。
3.如在权利要求1中陈述的方法,其中虚拟机数据包括由虚拟机中运行的一个或多个应用所读出和/或写入的数据。
4.如在权利要求1中陈述的方法,还包括:
接收虚拟机的快照的改变;
保留自从虚拟机上次被备份以来所接收的所述快照的改变的记录;
响应于到了执行增量备份的时间,而根据所述快照的改变的记录,对一部分快照进行备份,其中该部分快照包括还没有被备份的快照;以及
响应于到了将虚拟机迁移到第二主机设备的时间,而将所述快照的改变的记录和快照中的一个或多个迁移到第二主机设备。
5.一种计算设备,包括:
一个或多个处理器(502);以及
一个或多个计算机可读媒体(504),其上存储有多个指令,所述指令当由所述一个或多个处理器执行时使得所述一个或多个处理器:
接收(402)在第一主机设备上的虚拟机的快照的改变;
保留(404)自从虚拟机上次被备份以来所接收的所述快照的改变的记录,包含用于虚拟机的配置信息的改变,该配置信息包括由该虚拟机的部件使用来实施该虚拟机的数据;
识别(406)执行虚拟机的增量备份的时间;
响应于到了执行增量备份的时间,而根据改变的记录,对一部分快照进行备份(408),其中该部分快照包括还没有被备份的快照;
识别(410)将虚拟机迁移到第二主机设备的时间;以及
响应于到了将虚拟机迁移到第二主机设备的时间,而将快照的改变的记录和快照中的一个或多个迁移(412)到第二主机设备,其中所述快照中的一个或多个包括还没有被备份的快照和已经被备份的快照。
6.如在权利要求5中陈述的计算设备,其中保留改变的记录是设置与还没有被备份的每个快照相关联的标记值,以指示该快照还没有进行备份。
7.如在权利要求5中陈述的计算设备,其中虚拟机的每个快照包括:在快照被捕获的时间由虚拟机使用的一个或多个存储设备的当前状态,在快照被捕获的时间由虚拟机使用的一个或多个存储器设备的当前状态,和在快照被捕获的时间用于虚拟机的配置信息的当前状态。
8.如在权利要求5中陈述的计算设备,所述多个指令还使得所述一个或多个处理器:
接收虚拟机的虚拟机数据的改变;
保留自从虚拟机数据上次被备份以来所接收的该虚拟机数据的改变的记录;
响应于到了执行增量备份的时间,而根据虚拟机数据的改变的记录,对一部分虚拟机数据进行备份,其中该部分虚拟机数据包括自从该虚拟机数据上次被备份以来所接收的该虚拟机数据的改变;以及
响应于到了将虚拟机迁移到第二主机设备的时间,而将虚拟机数据和虚拟机数据的改变的记录迁移到第二主机设备。
9.如在权利要求5中陈述的计算设备,其中将快照的改变的记录迁移到第二主机设备是将所述快照中哪些快照还没有被备份的指示迁移到第二主机设备。
10.一种用于支持迁移的增量虚拟机备份的设备,包括:
用于接收(302)在第一主机设备上的虚拟机的虚拟机数据的改变的装置;
用于保留(304)自从虚拟机数据上次被备份以来所接收的该虚拟机数据的改变的记录的装置,包含用于虚拟机的配置信息的改变,该配置信息包括由该虚拟机的部件使用来实施该虚拟机的数据;
用于识别(306)执行虚拟机的增量备份的时间的装置;
用于响应于到了执行增量备份的时间,而根据改变的记录,对一部分虚拟机数据进行备份(308)的装置,其中该部分虚拟机数据包括自从该虚拟机数据上次被备份以来所接收的该虚拟机数据的改变;
用于识别(310)将虚拟机迁移到第二主机设备的时间的装置;以及
用于响应于到了将虚拟机迁移到第二主机设备的时间,而将虚拟机数据和虚拟机数据的改变的记录迁移(312)到第二主机设备的装置。
CN201210033486.XA 2011-02-16 2012-02-15 支持迁移的增量虚拟机备份 Active CN102646064B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/028,649 2011-02-16
US13/028649 2011-02-16
US13/028,649 US8832029B2 (en) 2011-02-16 2011-02-16 Incremental virtual machine backup supporting migration

Publications (2)

Publication Number Publication Date
CN102646064A CN102646064A (zh) 2012-08-22
CN102646064B true CN102646064B (zh) 2016-12-21

Family

ID=46637680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210033486.XA Active CN102646064B (zh) 2011-02-16 2012-02-15 支持迁移的增量虚拟机备份

Country Status (2)

Country Link
US (1) US8832029B2 (zh)
CN (1) CN102646064B (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9270785B2 (en) * 2008-12-18 2016-02-23 Citrix Systems, Inc. System and method for a distributed virtual desktop infrastructure
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9015709B2 (en) * 2011-03-08 2015-04-21 Rackspace Us, Inc. Hypervisor-agnostic method of configuring a virtual machine
US8904384B2 (en) * 2011-06-14 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing data transfer overhead during live migration of a virtual machine
US9372827B2 (en) * 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US8762992B2 (en) * 2011-12-22 2014-06-24 Symantec Corporation Systems and methods for protecting virtual machines during physical-to-virtual conversions
CN102929745B (zh) * 2012-09-26 2015-02-18 东软集团股份有限公司 一种虚拟设备状态数据的更新方法及装置
CN108306946B (zh) * 2012-10-08 2021-03-16 P·孙雄 分布式存储系统和方法
US20140108588A1 (en) * 2012-10-15 2014-04-17 Dell Products L.P. System and Method for Migration of Digital Assets Leveraging Data Protection
GB2507261A (en) 2012-10-23 2014-04-30 Ibm Reverting to a snapshot of a VM by modifying metadata
US9262212B2 (en) * 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
CN103838639B (zh) * 2012-11-23 2018-04-27 华为技术有限公司 一种恢复虚拟磁盘元数据的方法、装置及系统
CN103092673B (zh) * 2012-11-27 2015-09-16 北京航空航天大学 虚拟机快照处理方法及装置
US9282166B2 (en) 2012-11-29 2016-03-08 International Business Machines Corporation Management infrastructure analysis for cloud migration
US9292330B2 (en) 2012-11-29 2016-03-22 International Business Machines Corporation Replacing virtual machine disks
US9092837B2 (en) * 2012-11-29 2015-07-28 International Business Machines Corporation Use of snapshots to reduce risk in migration to a standard virtualized environment
US9742873B2 (en) 2012-11-29 2017-08-22 International Business Machines Corporation Adjustment to managed-infrastructure-as-a-service cloud standard
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181046A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to backup unprotected virtual machines
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US9965357B1 (en) * 2013-03-13 2018-05-08 EMC IP Holding Company LLC Virtual backup and restore of virtual machines
US10541898B2 (en) * 2013-03-15 2020-01-21 Brian Weinberg System and method for creating, deploying, and administering distinct virtual computer networks
US9116846B2 (en) * 2013-06-10 2015-08-25 Veeam Software Ag Virtual machine backup from storage snapshot
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
CN103593263B (zh) * 2013-11-20 2017-03-01 上海爱数信息技术股份有限公司 基于备份知识库和文件属性的hyper‑v虚拟机备份方法
CN103678037A (zh) * 2013-11-26 2014-03-26 上海爱数软件有限公司 一种不删除原虚拟机的hyper-v虚拟化平台恢复方法
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
CN103678045B (zh) * 2013-12-31 2017-11-21 曙光云计算集团有限公司 虚拟机的数据备份方法
US10318386B1 (en) * 2014-02-10 2019-06-11 Veritas Technologies Llc Systems and methods for maintaining remote backups of reverse-incremental backup datasets
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9189342B1 (en) * 2014-05-29 2015-11-17 Emc Corporation Generic process for determining child to parent inheritance for fast provisioned or linked clone virtual machines
US9292327B1 (en) * 2014-05-29 2016-03-22 Emc Corporation Optimization for incremental backup of VMS
WO2015199845A1 (en) * 2014-06-26 2015-12-30 Hewlett-Packard Development Company, L.P. Virtual machine data protection
US11210120B2 (en) * 2014-06-30 2021-12-28 Vmware, Inc. Location management in a volume action service
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
CN104199687B (zh) * 2014-08-14 2017-10-20 北京京东尚科信息技术有限公司 一种在虚拟机系统中处理数据的方法和装置
US20160062780A1 (en) * 2014-08-27 2016-03-03 Lenovo (Singapore) Pte. Ltd. Pausing virtual machine based on idle state
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9817686B2 (en) 2014-12-09 2017-11-14 The Boeing Company Systems and methods for securing virtual machines
US9880904B2 (en) * 2014-12-12 2018-01-30 Ca, Inc. Supporting multiple backup applications using a single change tracker
US9547555B2 (en) * 2015-01-12 2017-01-17 Microsoft Technology Licensing, Llc Change tracking using redundancy in logical time
US9946603B1 (en) * 2015-04-14 2018-04-17 EMC IP Holding Company LLC Mountable container for incremental file backups
US10078555B1 (en) 2015-04-14 2018-09-18 EMC IP Holding Company LLC Synthetic full backups for incremental file backups
US9996429B1 (en) 2015-04-14 2018-06-12 EMC IP Holding Company LLC Mountable container backups for files
US9639395B2 (en) * 2015-04-16 2017-05-02 Google Inc. Byte application migration
US9256498B1 (en) * 2015-06-02 2016-02-09 Zerto Ltd. System and method for generating backups of a protected system from a recovery system
CN106484312B (zh) * 2015-09-01 2019-07-26 北京金山云网络技术有限公司 一种虚拟机磁盘数据迁移方法及装置
US9898325B2 (en) * 2015-10-20 2018-02-20 Vmware, Inc. Configuration settings for configurable virtual components
EP3200073B1 (en) * 2015-12-03 2020-02-05 Huawei Technologies Co., Ltd. Method, apparatus and system for migrating virtual machine backup information
WO2017132872A1 (zh) * 2016-02-03 2017-08-10 华为技术有限公司 虚拟机备份方法、备份装置及宿主机
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
CN105893184B (zh) * 2016-03-30 2019-03-15 新华三技术有限公司 一种增量备份方法及装置
CN106187355A (zh) * 2016-08-14 2016-12-07 余颖恒 一种麻栎树种植生物有机肥的制备方法
CN106407045B (zh) * 2016-09-29 2019-09-24 郑州云海信息技术有限公司 一种数据灾难恢复方法、系统及服务器虚拟化系统
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10489273B2 (en) 2016-10-20 2019-11-26 Microsoft Technology Licensing, Llc Reuse of a related thread's cache while recording a trace file of code execution
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10417433B2 (en) * 2017-01-24 2019-09-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Encryption and decryption of data owned by a guest operating system
US10474542B2 (en) * 2017-03-24 2019-11-12 Commvault Systems, Inc. Time-based virtual machine reversion
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10318332B2 (en) * 2017-04-01 2019-06-11 Microsoft Technology Licensing, Llc Virtual machine execution tracing
KR102474582B1 (ko) * 2017-08-28 2022-12-05 삼성전자주식회사 가상화 클러스터 환경의 비바람직한 호스트 서버 상에서 더티 가상 머신의 실행을 방지하는 방법 및 시스템
US10649856B2 (en) 2017-09-01 2020-05-12 International Business Machines Corporation Concurrent writing to a file during backup of the file
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
CN111090399A (zh) * 2019-12-13 2020-05-01 北京浪潮数据技术有限公司 一种磁盘数据的在线迁移方法、装置、设备及介质
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11841772B2 (en) * 2021-02-01 2023-12-12 Dell Products L.P. Data-driven virtual machine recovery
CN115658392B (zh) * 2022-12-26 2023-03-14 国网信息通信产业集团有限公司 一种基于信创云底座的分级镜像备份调度方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007044B1 (en) 2002-12-26 2006-02-28 Storage Technology Corporation Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time
US7707372B1 (en) 2004-06-30 2010-04-27 Symantec Operating Corporation Updating a change track map based on a mirror recovery map
US7447854B1 (en) 2005-12-30 2008-11-04 Vmware, Inc. Tracking and replicating changes to a virtual disk
CA2547047A1 (en) 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US20100082922A1 (en) 2008-09-30 2010-04-01 Vmware, Inc. Virtual machine migration using local storage
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
US8443166B2 (en) 2009-03-06 2013-05-14 Vmware, Inc. Method for tracking changes in virtual disks

Also Published As

Publication number Publication date
US8832029B2 (en) 2014-09-09
US20120209812A1 (en) 2012-08-16
CN102646064A (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
CN102646064B (zh) 支持迁移的增量虚拟机备份
US9336132B1 (en) Method and system for implementing a distributed operations log
CN102163177B (zh) 用于可写的写时复制快照功能的i/o延迟的减小
US8548948B2 (en) Methods and apparatus for a fine grained file data storage system
US8949829B1 (en) Virtual machine disaster recovery
CN102713856B (zh) 用于恢复在计算机系统内的文件系统的方法和系统
US8060703B1 (en) Techniques for allocating/reducing storage required for one or more virtual machines
CN103761190B (zh) 数据处理方法及装置
CN103793258A (zh) 基于管理程序的服务器复制系统及其方法
US9971527B2 (en) Apparatus and method for managing storage for placing backup data into data blocks based on frequency information
WO2010132375A2 (en) Converting luns into files or files into luns in real time
CN102096561B (zh) 分层数据存储处理方法、装置以及存储设备
US11099735B1 (en) Facilitating the recovery of full HCI clusters
US20220035556A1 (en) Deletion of volumes in data storage systems
US9471366B2 (en) Virtual machine disk image backup using block allocation area
US8683169B2 (en) Selecting an auxiliary storage medium for writing data of real storage pages
CN101937378B (zh) 一种对存储设备的数据进行备份保护的方法及计算机系统
TWI428744B (zh) 用於儲存暫態資訊之系統、方法以及電腦程式產品
CN103885811A (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
US10346077B2 (en) Region-integrated data deduplication
US8671075B1 (en) Change tracking indices in virtual machines
US10579298B2 (en) Tape backup in large scale distributed systems
US20190138404A1 (en) Recovering from a mistaken point-in-time copy restore
CN111399774B (zh) 分布式存储系统下基于快照的数据处理方法和装置
US20060026459A1 (en) Method and apparatus for storing data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150611

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150611

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant