CN105745624B - 来自存储快照的虚拟机备份 - Google Patents

来自存储快照的虚拟机备份 Download PDF

Info

Publication number
CN105745624B
CN105745624B CN201480045140.9A CN201480045140A CN105745624B CN 105745624 B CN105745624 B CN 105745624B CN 201480045140 A CN201480045140 A CN 201480045140A CN 105745624 B CN105745624 B CN 105745624B
Authority
CN
China
Prior art keywords
snapshot
storage
backup
virtual disk
storage device
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
CN201480045140.9A
Other languages
English (en)
Other versions
CN105745624A (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.)
Veeam Software AG
Original Assignee
Veeam Software AG
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 Veeam Software AG filed Critical Veeam Software AG
Publication of CN105745624A publication Critical patent/CN105745624A/zh
Application granted granted Critical
Publication of CN105745624B publication Critical patent/CN105745624B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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/1456Hardware arrangements for backup
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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

本文公开了针对来自存储快照的虚拟机(VM)备份的系统、方法和计算机程序产品实施例。实施例通过接收包括要备份的VM的可选备份参数然后创建与VM相关联的VM快照来操作。接下来,与存储在存储装置上的VM的虚拟盘相关联的偏移表被检索。实施例还包括生成存储快照以及删除VM快照,并且然后将存储快照提升至新的逻辑单元号。所提升的存储快照然后被加载至备份服务器。使用来自存储快照的偏移表将虚拟盘数据备份至备份存储装置。存储快照从备份服务器被卸除并且从存储装置被删除。

Description

来自存储快照的虚拟机备份
背景技术
服务器虚拟化越来越流行和重要,因为它提供了一种灵活的方式来配置服务器资源并且允许以经济有效的方式使服务器资源的使用最大化。非常大的公司或小商户以及这两者之间的任何用户(包括个体用户)都可以利用服务器虚拟化来分配适量的服务器资源,以便确保有效地使用服务器资源。虚拟服务器资源可以使用虚拟机(VM)来管理。虽然服务器资源的虚拟化提供了益处,但VM的使用也带来了复杂性和挑战。
附图说明
附图被合并于此并且构成了说明书的一部分。
图1A是根据示例实施例被配置用于使用存储快照进行VM备份的VM系统架构的框图。
图1B是根据示例实施例进一步详细描述VM系统架构中的组件之间的连接的流程的图1A所示的框图。
图2是根据示例实施例示出针对来自存储快照的VM备份的过程的流程图。
图3是用于实施各种实施例的示例计算机系统。
在附图中,相似的标号通常指示相同或相似的元件。此外,通常标号最左边的(一个或多个)数字标识标号第一次出现的图示。
具体实施方式
本文提供了针对来自存储快照的VM备份的系统、方法和/或计算机程序产品实施例和/或它们的组合和子组合。
在实施例中,备份VM包括使用管理程序层快照,例如,软件快照。软件快照计算成本高并且可能需要在“非高峰时间(off-hours)”(例如,VM上负载低的时刻)创建软件快照。然而,在许多应用(这些应用包括但不限于电子邮件服务器、网页服务器、应用服务器等)中,对于相应VM来说没有“非高峰时间”。因此,对于在VM上没有低负载的时刻的VM而言,备份VM是有问题的。使用软件快照来备份具有高负载的VM可能会导致下文进一步描述的不响应。
软件快照
如上文提到的,备份用于管理虚拟服务器资源的VM可能是复杂的。根据一些方法,图像层备份可以被用来备份VM。这可以通过使用VM的管理程序快照来完成。管理程序快照可以被用于创建VM图像的完整副本以用于备份目的。然而,管理程序快照(即软件快照)降低了VM的性能以及相关的主机计算资源。
根据一些方法,在创建VM快照的过程中,数据不被写入与VM相关联的虚拟盘。相反,数据被写入快照文件。因此,备份与VM相关联的虚拟盘的静态版本是有可能的,并且它们被在备份过程期间将保持只读。当备份完成时,快照文件将被移除。在一种实现方式中,对该快照文件的移除包括将快照文件中的数据合并至虚拟盘中。当该快照文件被提交给虚拟盘时,创建额外的快照文件以便存储在提交期间被写入虚拟盘的数据。在提交结束时,VM需要被“冻结”一段时间以便在不创建另外的快照文件的情况下将数据从额外的快照文件获取至虚拟盘上。这被称为眩晕/非眩晕循环(stun/unstun cycle)。
当备份处理在运行过程中时,VM(例如但不限于具有高变化速率的VM)可以创建非常大的快照文件。因此,提交大的快照文件可能需要大量时间并且还涉及大量相关的输入/输出操作。大的快照文件的提交过程可能对VM的性能具有负面的影响。例如,在快照提交期间,VM的用户可能不能登录由VM管理的服务器。此外,在快照移除期间,VM可能努力地维护网络连接。这就是在一些方法中管理程序快照是在“非高峰时间”(例如,半夜)被创建的原因。
如果管理程序工作负载使每秒进行的输入/输出操作(IOPS)饱和从而使它们接近最大值,那么在不导致系统遭受不良影响的情况下几乎不可能删除快照。在一些实现方式中,当启用快照时,与VM相关联的盘的读取性能可能下降至可达到的读取性能的大约5.5%。此外,提交快照可能对性能有更严重的影响。例如,针对繁忙的SQL(结构化查询语言)/交换服务器,目标存储装置可能平均有大约30-40%的IOPS负载。如果快照移除被执行,则IOPS可能接近80+%甚至更高。当IOPS大于80%时存储装置可能经受大的延迟损失,这对性能将是很不利的。
硬件快照
在一些方法中,软件快照遭受如上文所述的各种性能问题。在实施例中,基于存储装置的快照或硬件快照解决了若干这样的性能问题。例如,存储设备可以采用它自己的存储卷的快照。当快照是在硬件层而不是软件层处被处理时,存储卷可以将效率最大化。因此,硬件快照技术不会遭受易于困扰软件快照的相同的性能问题。然而,在一些方法中,硬件快照受限于以下问题,这些问题限制它们不能被用作完整的备份/还原解决方案。
(1)-硬件快照不能满足监管保存要求。组织可以利用备份来保留数据以满足监管要求。诸如HIPAA(1996医疗保险可携性和责任法案)的某些法律要求组织将数据保留多达6年。这个6年的要求可能比组织能够保留硬件快照的时间更长或者甚至可能比组织保留存储设备的时间更长。
(2)-硬件快照可能依赖于生产数据。假设快照是可恢复的,即使在生产文件系统上发生数据丢失时。然而,如果生产文件系统被腐坏,那么引用该文件系统的任意快照可能变得无用,因为它们只引用改变块而不是所有块。
(3)-快照可能绑定到存储装置。硬件快照可以驻留在与生产数据相同的盘上并且可以引用相同的数据。如果生产存储系统因为任何原因(例如,灾难性硬件故障、断电等)变为离线,除存储装置外硬件快照可能丢失。
(4)-存储装置依赖。硬件快照可能被绑定至特定存储装置。因此只可能将硬件快照恢复至它所位于的相同存储装置或镜像存储装置。然而,通常不可能采用来自一个供应商的存储装置的硬件快照并且将该硬件快照恢复至另一供应商的存储装置。
(5)-硬件快照只适用于短期保存。硬件快照技术(例如,写时分配(allocate-on-write)、写时拷贝(copy-on-write)、分割镜像等)消耗不同数目的生产盘存储容量。虽然一些硬件快照技术消耗的存储远小于其它技术消耗的存储,但通常它们不容易促进被长期保存,因为快照所需的盘空间量消耗随时间增加。此外,固态驱动(SSD)还加大在生产存储上保留硬件快照的成本,因为它们当前的开销是硬盘驱动的二到十倍。
(6)-粒度。在一些方法中,硬件快照可能无法以低于存储卷的粒度被执行,通常被称为逻辑单元号(LUN)。
(7)-硬件快照包括“崩溃一致(crash-consistent)”状态数据。存储装置通常不包括与存储于其上的数据的特征有关的信息,例如,操作系统、盘类型、应用类型等,以便创建适合的静止快照。
为了解决这些限制,各种方法产生诸如以下示例之类的复杂情形:
(1)应用开始备份工作。
(2)应用与管理程序通信以调用管理程序专用应用程序接口(API)以便创建软件快照。
(3)应用调用存储API来创建硬件快照。
(4)软件快照被删除。
(5)硬件快照被提升至新的LUN。
LUN被加载至管理程序主机并且在管理程序配置中被注册为数据存储。
(6)来自硬件快照的VM在主机上被注册。
应用开始使用任意已知的使用软件快照来备份VM图像的技术来备份虚拟机数据。
(7)备份完成后,应用从管理程序撤销注册数据存储并且卸除硬件快照LUN。
(8)硬件快照被删除。
然而,上述硬件快照情形有若干缺点:(1)对管理程序主机而言,快照LUN被表示为数据存储。因此,需要额外的管理程序主机。然而,在一些情况中,出于成本/资源的考虑,有额外的管理程序可能是不可行的。(2)在管理程序主机上加载硬件快照并且将其注册为数据存储可能会花费大量时间。因此,大量的时间会被花费来准备环境,并且因此将不能达到低恢复点目标(RPO)。(3)这种硬件快照技术阻止使用基于管理程序的改变块跟踪(CBT)信息的一些实现方式,例如,VMware vSphere CBT,因为当向管理程序主机注册VM时,CBT数据被重置。因此,可能不能有效执行增量备份,并且反而是在每个备份期间需要读取全部的VM图像,而不是只读取自上一次运行备份过程起已变化的块。
下文的示例实施例根据实施例提供了一种使用硬件(存储)快照创建VM备份的有效方法和系统。下文的示例实施例不限于备份并且还可以被用于其他数据保护技术,例如,复制、拷贝等。
根据示例实施例,管理程序主机不需要加载用于处理的硬件/存储快照。相反,硬件快照被直接加载至备份服务器。因此,通过清除其它方法中所需的步骤,可以减少备份的成本并且增加备份的性能。此外,根据示例实施例,基于管理程序的CBT信息(例如,VMwareCBT)可以被使用以便显著提高块级增量备份的速度和效率。
根据示例实施例,图1A示出被配置用于使用存储快照(例如,硬件快照)进行VM备份的VM系统架构100的框图。图1B示出API调用以及包括VM系统架构100的模块之间的VM盘数据的流。
根据示例实施例,图1A示出备份操作者控制台110,其可以包括用于选择要备份的VM的用户接口。对要备份的VM的选择可以由备份服务器120接收。备份服务器120可以使用管理程序专用API调用连接至管理程序130以创建VM快照。备份服务器120可以与管理程序130建立连接并且可以查询存储装置140中的偏移表,该偏移表提供虚拟盘文件位置信息。该偏移表指示虚拟盘文件160的数据块在存储装置140上的位置。偏移表可以包括提供每个文件块的长度和偏移的多个条目。
作为非限制性示例,针对基于微软的Hyper-V VM备份,应用可以查询新技术文件系统(NTFS)主文件表(MFT)以便获得指示虚拟盘在物理存储中的位置的偏移表。使用该信息,应用可以直接从物理存储读取虚拟盘文件。
作为进一步的非限制性示例,一些管理程序(例如,VMware vSphere)实施本地CBT机制。针对这些管理程序,CBT信息可以从管理程序130中被检索。CBT信息可以被使用以避免读取已知从上一备份周期以来没有改变的虚拟盘数据。
作为进一步的非限制性示例,基于VMware vSphere的备份可以通过调用QueryChangedDiskAreas API查询来提供CBT信息。QueryChangedDiskAreas可以被调用并且返回属于相关联的VM的虚拟盘的区域的列表,该先关联的VM可能从预定义的时间点起已被修改。改变间隔的起点可以由“改变ID”标识并且改变间隔的终点可以由当前快照ID指示。“改变ID”可以是针对特定时间点处虚拟盘的状态的标识符。
一旦备份服务器120和存储装置140之间的连接被建立,备份服务器120则可以在存储装置140上发起硬件快照创建。备份服务器120可以与管理程序130通信以便删除VM快照。根据示例实施例,只要硬件快照被创建,VM快照就可以被删除。在示例实施例中,VM快照的创建和删除之间的时间可能是几秒。备份服务器120然后可以将硬件快照提升至LUN,将LUN加载于它自己,并且使用从管理程序获得的偏移表从虚拟盘文件160中读取必要的虚拟盘文件数据块、处理数据并且将数据写入备份文件存储装置150。
图1B根据示例实施例示出API调用以及VM系统架构100内的虚拟盘数据的流。较细的箭头表示API调用,并且较粗的箭头(见图1B中的105和106,以及图1A中相应的箭头)表示虚拟盘数据的流。图1B示出系统架构内的通信以及通信发生的顺序。根据示例实施例,图1B中的每个箭头还表示VM备份过程的步骤。
如图1B所示,表示步骤102的箭头单向地从备份操作者控制台110指向备份服务器120。在步骤102中,备份服务器120从备份操作者控制台110接收可选备份参数。这些可选备份参数可以包括一个或多个要备份的虚拟机等。
接下来,表示步骤103的箭头在备份服务器120和管理程序130之间双向指向。在步骤103中,备份服务器120与管理程序130进行通信以调用管理程序专用API功能以便创建/删除软件快照并且当其可用时获取除CBT数据外的偏移表。
表示步骤104的箭头单向地从备份服务器102指向存储装置140。在步骤104中,备份服务器120使用存储API对存储装置140进行调用以创建/删除存储快照。备份服务器120还可以通过发布相对存储装置140的相应API调用来将存储快照提升至新的LUN。
接下来,表示步骤105的箭头单向地从存储装置140指向备份服务器120。在步骤105中,备份服务器120将所提升的存储快照加载至它自身(备份服务器120)。
表示步骤106的箭头106单向地从备份服务器120指向备份文件存储装置150。在步骤106中,与被加载的存储快照相关联的虚拟盘文件160中的数据被保存至备份文件存储装置150。
根据示例实施例,图2根据示例实施例示出针对来自存储快照的VM备份的过程200。仅用于说明的目的,图2参考图1B所示的系统进行描述。然而,图2不限于图1B的示例。
如图2所示,过程在步骤205处开始。当过程在步骤205中开始时,备份应用被启动。在备份应用被启动后,处理进行至步骤210。
在步骤210中,可选备份参数由备份服务器120接收。可选备份参数可以包括至少一个要备份的VM等。在可选备份参数被接收到后,处理继续至步骤215。
在步骤215中,备份服务器120连接至管理程序130并且向管理程序130发布VM快照创建API调用。
在步骤215后,在步骤220中,管理程序130创建VM快照。
在步骤220后,在步骤225中,备份服务器120获取偏移表并且当CBT数据可用时从管理程序130获取CBT数据。
在步骤225后,在步骤230中,备份服务器120连接至存储装置140并且发布存储快照创建API调用。
在步骤230后,在步骤235中,存储装置140创建存储快照。
在步骤235后,在步骤240中,备份服务器120连接至管理程序130。
当在步骤240中连接至管理程序130后,在步骤245中,管理程序130发起VM快照删除。
接下来,在步骤250中,备份服务器120通过发布相对存储装置140的相应API调用来将存储快照提升至新的LUN。
接下来,在步骤255中,备份服务器120然后可以将在步骤230中创建的所提升的存储快照加载至其自身。
接下来,在步骤260中,根据在先前过程中得到的偏移表和CBT数据,备份服务器120使用在步骤225中接收到的信息来通过读取相关数据块并且将相关数据块保存至备份存储装置150来开始虚拟盘文件备份过程。
在步骤260的备份过程完成后,过程移动至步骤265。在步骤265中,备份服务器120卸除在步骤255中被加载至其自身的存储快照。
接下来,在步骤270中,备份服务器120连接至存储装置140。在连接至存储装置140后,在步骤275中,备份服务器120发布存储快照移除API调用并且存储装置140发起存储快照删除。
在步骤280中,备份应用被停止并且过程结束。
示例计算机系统
各种实施例可以例如使用一个或多个已知的计算机系统(例如,图3所示的计算机系统300)来实现。计算机系统300可以是能够执行本文所述的功能的任意已知的计算机,例如,可从国际商用机器、Apple、Sun、HP、Dell、Sony、Toshiba等获得的计算机。
计算机系统300包括一个或多个处理器(也称为中央处理单元或CPU),例如处理器304。处理器304被连接至通信基础设施或总线306。
一个或多个处理器304可以都是图形处理单元(GPU)。在实施例中,GPU是被设计为在电子设备上快速地处理数学密集型应用的专业电子电路的处理器。GPU可以具有对并行处理大的数据块(例如,计算机图形应用、图像和视频共有的数学密集型数据)有效的高度并行结构。
计算机系统300还包括通过(一个或多个)用户输入/输出接口302与通信基础设施306通信的(一个或多个)用户输入/输出设备303,例如,监测器、键盘、定点设备等。
计算机系统300还包括主存储器或主要存储器308,例如随机访问存储器(RAM)。主存储器308可以包括一个或多个缓存级。主存储器308中已储存控制逻辑(即,计算机软件)和/或数据。
计算机系统300还可以包括一个或多个辅助存储设备或存储器310。辅助存储器310可以包括例如硬盘驱动312和/或可移动储存设备或驱动314。可移动存储驱动314可以是软盘驱动、磁带驱动、光盘驱动、光存储设备、磁带备份设备、和/或任意其它存储设备/驱动。
可移动存储设备314可以与可移动存储单元318交互。可移动存储单元318包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储设备。可移动存储单元318可以是软盘、磁带、光盘、DVD、光存储盘、和/或任意其它计算机数据存储设备。可移动存储驱动314以熟知的的方式从可移动存储单元318进行读取或者写入至可移动存储单元318。
根据示例实施例,辅助存储器310可以包括允许计算机程序和/或其它指令和/或数据由计算机系统300访问的的其它方式、手段、或其它方法。这些方式、手段或其它方法可以包括例如可移动存储单元322和接口320。可移动存储单元322和接口单元320的示例可以包括程序盒和盒式接口(例如视频游戏设备中发现的那些)、可移动存储芯片(例如,EPROM或PROM)和相关联的插槽(socket)、记忆棒和USB端口、存储卡和相关联的存储卡槽、和/或任意其它可移动的存储单元和相关联的接口。
计算机系统300还可以包括通信或网络接口324。通信接口324使计算机系统能够与远程设备、远程网络、远程实体等(由标号328单独或共同引用)的任意组合进行通信或交互。例如,通信接口324可以允许计算机系统300在通信路径326(可以是有线和/或无线的)上与远程设备328通信,并且可以包括LAN、WAN、互联网等的任意组合。控制逻辑和/或数据可以经由通信路径326被传输至通信系统300或者从通信系统300被传输。
在实施例中,包括具有其上存储有控制逻辑(软件)的有形计算机可用或可读介质的有形装置或制品在本文中也被称为计算机程序产品或程序存储设备。这包括但不限于计算机系统300、主存储器308、辅助存储器310、以及可移动存储单元318和322、以及体现上述任意组合的有形制品。当这样的控制逻辑由一个或多个数据处理设备(例如,计算机系统300)执行时使得这些数据处理设备按本文所述进行操作。
基于本公开中包含的教导,对(一个或多个)相关领域技术人员而言如何使用除图3所示的数据处理设备、计算机系统和/或计算机架构之外的数据处理设备、计算机系统和/或计算机架构来做出或使用本发明是显而易见的。特别地,实施例可以利用除本文所述的那些软件、硬件、和/或操作系统实现方式之外的实现方式进行操作。
总结
要理解的是,旨在用具体实施方式部分而不是发明内容和摘要部分(如果有的话)来解释权利要求。发明内容和摘要部分(如果有的话)可以提出(一个或多个)发明人预期的本发明的一个或多个但不是所有的示例性实施例,并且因此,不旨在以任何方式限制本发明或所附权利要求。
虽然本文参考针对示例性领域和应用的示例性实施例描述本发明,但应该理解的是本发明不限于此。其它实施例和修改也有可能并且落在本发明的精神和范围内。例如,没有限制段落的普遍性,实施例不限于图中示出的和/或本文所述的软件、硬件、固件和/或实体。此外,实施例(不论本文是否明确描述)对超出本文所述示例的领域和应用具有显著的效用。
本文借助于示出指定功能及其关系的实现方式的功能性结构块对实施例进行了描述。为了描述的方便,这些功能性结构块的边界已被任意地进行了定义。当指定的功能及其关系(或其等同物)被适当执行时,替代边界可以被定义。此外,替代实施例可以使用与本文所述的顺序不同的顺序来执行功能块、步骤、操作、方法等。
本文对“一个实施例”、“实施例”、“示例实施例”或类似的短语的提及指示所述实施例可以包括具体的特征、结构或特性,但是每个实施例可能未必包括该具体的特征、结构或特性。此外,此类短语未必指代相同的实施例。此外,当结合实施例描述具体的特征、结构或特性时,将这样的特征、结构或特性合并入不论本文是否明确提到或描述过的其它实施例中将落在(一个或多个)相关领域的技术人员的知识范围内。
本发明的宽度和范围不应该受任何上述的示例性实施例的限制,而是只根据所附权利要求和它们的等同物来定义。

Claims (21)

1.一种用于虚拟机备份的方法,包括:
由至少一个处理器接收对于要备份的虚拟机VM的选择;
由所述至少一个处理器创建与所述VM相关联的VM快照;
由所述至少一个处理器检索偏移表,所述偏移表指示了与所述VM相关联的虚拟盘的数据块在存储装置上的位置;
由所述至少一个处理器在所述存储装置上创建存储快照;
由所述至少一个处理器删除所述VM快照;
由所述至少一个处理器将所述存储快照提升至逻辑单元号;
将被提升的存储快照加载至备份服务器;
由所述至少一个处理器使用所述偏移表和被加载的存储快照将所述数据块备份至备份存储装置;以及
由所述至少一个处理器将所述存储快照从所述备份服务器卸除并且从所述存储装置删除。
2.根据权利要求1所述的方法,还包括:
确定从预定时间起已被修改的所述虚拟盘的区域的列表。
3.根据权利要求2所述的方法,还包括:
发布应用程序接口API查询以确定从所述预定时间起已被修改的所述虚拟盘的区域的列表。
4.根据权利要求2所述的方法,还包括:
使用所述区域的列表来仅将从所述预定时间起已被修改的所述虚拟盘的数据块备份至所述备份存储装置。
5.根据权利要求1所述的方法,还包括:
发布VM快照API调用以创建所述VM快照。
6.根据权利要求1所述的方法,还包括:
发布存储快照API调用以生成所述存储快照。
7.根据权利要求1所述的方法,其中所述VM快照在所述存储快照被创建之后被删除。
8.一种用于虚拟机备份的系统,包括:
存储器;以及
至少一个处理器,所述至少一个处理器被耦合到所述存储器并且被配置为:
接收对于要备份的虚拟机VM的选择;
创建与所述VM相关联的VM快照;
检索偏移表,所述偏移表指示了与所述VM相关联的虚拟盘的数据块在存储装置上的位置;
在所述存储装置上创建存储快照;
删除所述VM快照;
将所述存储快照提升至新的逻辑单元号;
将被提升的存储快照加载至备份服务器;
使用所述偏移表和被加载的存储快照将所述数据块备份至备份存储装置;以及
将所述存储快照从所述备份服务器卸除并且从所述存储装置删除。
9.根据权利要求8所述的系统,所述至少一个处理器还被配置为:
确定从预定时间起已被修改的所述虚拟盘的区域的列表。
10.根据权利要求9所述的系统,所诉至少一个处理器还被配置为:
发布应用程序接口API查询以确定从所述预定时间起已被修改的所述虚拟盘的区域的列表。
11.根据权利要求9所述的系统,所述至少一个处理器还被配置为:
使用所述区域的列表来仅将从所述预定时间起已被修改的所述虚拟盘的数据块备份至所述备份存储装置。
12.根据权利要求8所述的系统,所述至少一个处理器还被配置为:
发布VM快照API调用以创建所述VM快照。
13.根据权利要求8所述的系统,所述至少一个处理器还被配置为:
发布存储快照API调用以生成所述存储快照。
14.根据权利要求8所述的系统,其中所述VM快照在所述存储快照被创建之后被删除。
15.一种用于虚拟机备份的设备,包括:
用于接收对于要备份的虚拟机VM的选择的装置;
用于创建与所述VM相关联的VM快照的装置;
用于检索偏移表的装置,所述偏移表指示了与所述VM相关联的虚拟盘的数据块在存储装置上的位置;
用于在所述存储装置上创建存储快照的装置;
用于删除所述VM快照的装置;
用于将所述存储快照提升至逻辑单元号的装置;
用于将被提升的存储快照加载至备份服务器的装置;
用于使用所述偏移表和被加载的存储快照将所述数据块备份至备份存储装置的装置;以及
用于将所述存储快照从所述备份服务器卸除并且从所述存储装置删除的装置。
16.根据权利要求15所述的设备,还包括:
用于确定从预定时间起已被修改的所述虚拟盘的区域的列表的装置。
17.根据权利要求16所述的设备,还包括:
用于发布应用程序接口API查询以确定从所述预定时间起已被修改的所述虚拟盘的区域的列表的装置。
18.根据权利要求16所述的设备,还包括:
用于使用所述区域的列表来仅将从所述预定时间起已被修改的所述虚拟盘的数据块备份至所述备份存储装置的装置。
19.根据权利要求15所述的设备,还包括:
用于发布VM快照API调用以创建所述VM快照的装置。
20.根据权利要求15所述的设备,还包括:
用于发布存储快照API调用以生成所述存储快照的装置。
21.根据权利要求15所述的设备,其中,所述VM快照在所述存储快照被创建之后被删除。
CN201480045140.9A 2013-06-10 2014-06-10 来自存储快照的虚拟机备份 Active CN105745624B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/914,086 US9116846B2 (en) 2013-06-10 2013-06-10 Virtual machine backup from storage snapshot
US13/914,086 2013-06-10
PCT/IB2014/001645 WO2014199230A2 (en) 2013-06-10 2014-06-10 Virtual machine backup from storage snapshot

Publications (2)

Publication Number Publication Date
CN105745624A CN105745624A (zh) 2016-07-06
CN105745624B true CN105745624B (zh) 2018-12-07

Family

ID=51585133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480045140.9A Active CN105745624B (zh) 2013-06-10 2014-06-10 来自存储快照的虚拟机备份

Country Status (7)

Country Link
US (3) US9116846B2 (zh)
EP (1) EP3008600B1 (zh)
CN (1) CN105745624B (zh)
DK (1) DK3008600T3 (zh)
ES (1) ES2653698T3 (zh)
NO (1) NO3014968T3 (zh)
WO (1) WO2014199230A2 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2363152A1 (en) 2000-09-06 2011-09-07 Johns Hopkins University Cardiac arrhythmia treatment methods
EP1409510A4 (en) 2001-04-27 2004-09-08 Univ Johns Hopkins BIOLOGICAL HEART PACEMAKER
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9116846B2 (en) 2013-06-10 2015-08-25 Veeam Software Ag Virtual machine backup from storage snapshot
US9665386B2 (en) * 2013-06-14 2017-05-30 Nutanix, Inc. Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment
US9740514B1 (en) 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
US9424056B1 (en) * 2013-06-28 2016-08-23 Emc Corporation Cross site recovery of a VM
US9524215B1 (en) * 2013-07-30 2016-12-20 Veritas Technologies Llc Systems and methods for managing virtual machine backups
US10002052B1 (en) * 2013-08-23 2018-06-19 Acronis International Gmbh Systems, methods, and computer products for replication of disk sectors of a target machine
US9405765B1 (en) * 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9959177B2 (en) * 2014-02-27 2018-05-01 Red Hat Israel, Ltd. Backing up virtual machines
US11243707B2 (en) 2014-03-12 2022-02-08 Nutanix, Inc. Method and system for implementing virtual machine images
US9292327B1 (en) * 2014-05-29 2016-03-22 Emc Corporation Optimization for incremental backup of VMS
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
US8943105B1 (en) 2014-06-02 2015-01-27 Storagecraft Technology Corporation Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file
US20160019117A1 (en) * 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
JP5904514B1 (ja) 2014-10-28 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US20160125059A1 (en) 2014-11-04 2016-05-05 Rubrik, Inc. Hybrid cloud data management system
US9075649B1 (en) 2015-01-26 2015-07-07 Storagecraft Technology Corporation Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor
US9256498B1 (en) 2015-06-02 2016-02-09 Zerto Ltd. System and method for generating backups of a protected system from a recovery system
US10365976B2 (en) * 2015-07-28 2019-07-30 Vmware, Inc. Scheduling and managing series of snapshots
US10114706B1 (en) * 2015-09-22 2018-10-30 EMC IP Holding Company LLC Backup and recovery of raw disks [RDM] in virtual environment using snapshot technology
US10200470B1 (en) 2015-09-30 2019-02-05 EMC IP Holding Company LLC Data driven backup policy for data-centers and applications
CN105279011A (zh) * 2015-11-17 2016-01-27 国云科技股份有限公司 一种虚拟机可根据镜像进行系统还原的方法
US10489518B1 (en) * 2016-03-03 2019-11-26 Nutanix, Inc. Virtual machine object version control
US10613947B2 (en) 2016-06-09 2020-04-07 Nutanix, Inc. Saving and restoring storage devices using application-consistent snapshots
US10509701B2 (en) 2016-09-23 2019-12-17 Apple Inc. Performing data backups using snapshots
EP4303732A3 (en) * 2017-02-14 2024-03-20 Huawei Technologies Co., Ltd. System and method for backup scheduling
CN107025149A (zh) * 2017-03-04 2017-08-08 郑州云海信息技术有限公司 虚拟机备份恢复系统及方法
US11288089B2 (en) * 2017-05-23 2022-03-29 Citrix Systems, Inc. Metrics-based virtual machine snapshots
CN107122267B (zh) * 2017-05-31 2021-03-30 广州鼎甲计算机科技有限公司 一种Windows操作系统挂载恢复方法
US10417096B2 (en) * 2017-07-20 2019-09-17 Vmware, Inc. Multi-virtual machine time consistent snapshots
US10620843B2 (en) * 2017-07-26 2020-04-14 Netapp, Inc. Methods for managing distributed snapshot for low latency storage and devices thereof
US11221920B2 (en) 2017-10-10 2022-01-11 Rubrik, Inc. Incremental file system backup with adaptive fingerprinting
US10824522B2 (en) 2017-11-27 2020-11-03 Nutanix, Inc. Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications
US11188424B2 (en) * 2017-11-28 2021-11-30 Micro Focus Llc Application-aware virtual machine backup
US11372729B2 (en) 2017-11-29 2022-06-28 Rubrik, Inc. In-place cloud instance restore
CN110058959B (zh) * 2018-01-18 2023-06-16 伊姆西Ip控股有限责任公司 数据备份方法、设备和计算机程序产品
US10860434B2 (en) * 2018-04-30 2020-12-08 EMC IP Holding Company LLC Method and system for enabling data backups for virtual machines reliant on raw device mapping disks
CN108833419B (zh) * 2018-06-22 2021-12-14 武汉彤科电力科技有限公司 一种终端与主站之间的远程参数更新报文安全交互方法
US11216343B1 (en) * 2018-08-01 2022-01-04 Virtuozzo International Gmbh System and method for accelerating processing in event-driven server-less computing
US11074134B2 (en) 2018-08-23 2021-07-27 International Business Machines Corporation Space management for snapshots of execution images
US11093350B2 (en) * 2018-10-22 2021-08-17 EMC IP Holding Company LLC Method and system for an optimized backup data transfer mechanism
US10936231B2 (en) 2019-04-22 2021-03-02 EMC IP Holding Company LLC Allocating snapshot group identifiers
US10877931B1 (en) 2019-09-12 2020-12-29 Hewlett Packard Enterprise Development Lp Backups of file system instances having subtrees
WO2021062248A1 (en) * 2019-09-27 2021-04-01 Amazon Technologies, Inc. Network-accessible block-level snapshots
CN110928728A (zh) * 2019-11-27 2020-03-27 上海英方软件股份有限公司 一种基于快照的虚拟机复制、切换方法及系统
CN111104367B (zh) * 2019-12-13 2023-08-18 浪潮云信息技术股份公司 一种基于openstack卷启动虚拟机创建私有镜像的方法
US20210311835A1 (en) * 2020-04-03 2021-10-07 Commvault Systems, Inc. File-level granular data replication by restoring data objects selected from file system snapshots and/or from primary file system storage
US11372976B2 (en) 2020-07-08 2022-06-28 Hitachi, Ltd. Accelerating method of snapshot investigation for rollback from ransomware
US11321196B1 (en) 2021-02-05 2022-05-03 Hitachi, Ltd. Disaster recovery collaborated with storage system and backup appliance in hybrid cloud environment
CN112965783A (zh) * 2021-02-24 2021-06-15 上海英方软件股份有限公司 一种使用存储快照备份虚拟机的系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
CN102646064A (zh) * 2011-02-16 2012-08-22 微软公司 支持迁移的增量虚拟机备份

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234469B2 (en) * 2009-07-09 2012-07-31 Microsoft Corporation Backup of virtual machines using cloned virtual machines
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US9507670B2 (en) 2010-06-14 2016-11-29 Veeam Software Ag Selective processing of file system objects for image level backups
US8566542B1 (en) * 2011-01-06 2013-10-22 Hewlett-Packard Development Company, L.P. Backup using storage array LUN level snapshot
US9104331B2 (en) * 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
US9116846B2 (en) 2013-06-10 2015-08-25 Veeam Software Ag Virtual machine backup from storage snapshot
US9377964B2 (en) * 2013-12-30 2016-06-28 Veritas Technologies Llc Systems and methods for improving snapshot performance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
CN102646064A (zh) * 2011-02-16 2012-08-22 微软公司 支持迁移的增量虚拟机备份

Also Published As

Publication number Publication date
CN105745624A (zh) 2016-07-06
ES2653698T3 (es) 2018-02-08
EP3008600B1 (en) 2017-09-27
WO2014199230A2 (en) 2014-12-18
EP3008600A2 (en) 2016-04-20
DK3008600T3 (en) 2018-01-08
US9116846B2 (en) 2015-08-25
NO3014968T3 (zh) 2018-02-17
WO2014199230A3 (en) 2015-04-16
US20140365740A1 (en) 2014-12-11
US9823877B2 (en) 2017-11-21
US20170097776A1 (en) 2017-04-06
US20150324144A1 (en) 2015-11-12
US9552168B2 (en) 2017-01-24

Similar Documents

Publication Publication Date Title
CN105745624B (zh) 来自存储快照的虚拟机备份
US11310286B2 (en) Mechanism for providing external access to a secured networked virtualization environment
US10209910B2 (en) Copy-redirect on write
US10713120B2 (en) Unique identifiers for data replication, migration, failover operations and failback operations
US9671967B2 (en) Method and system for implementing a distributed operations log
CN102331949B (zh) 一种虚拟机内存快照生成和恢复方法、装置及系统
EP2840495B1 (en) Container-based processing method and apparatus
CN106062742B (zh) 用于改进快照性能的系统和方法
US9569108B2 (en) Dataset replica migration
US20130205093A1 (en) Management of point-in-time copy relationship for extent space efficient volumes
CN111488241A (zh) 在容器编排平台实现无代理备份与恢复操作的方法和系统
CN104572248B (zh) 虚拟机动态保存快照的方法
CN102314378A (zh) 使用共享存储来迁移虚拟机的技术
AU2016213817B2 (en) Techniques for surfacing host-side flash storage capacity to virtual machines
US11099735B1 (en) Facilitating the recovery of full HCI clusters
CN109558213A (zh) 管理OpenStack平台的虚拟机快照的方法和装置
US10963182B2 (en) System and method for on-demand recovery points
US9798483B2 (en) Object storage power consumption optimization
US20160364160A1 (en) In-memory virtual desktop system
US20200026875A1 (en) Protected health information in distributed computing systems
JP2021022287A (ja) バックアップ処理装置、バックアップ処理方法、及び、バックアップ処理プログラム
JP2020154463A (ja) データ管理システムおよびデータ管理方法
CN117093332B (zh) 一种虚拟机克隆的实现方法和装置
KR101460452B1 (ko) 하이버네이션 기반 스냅샷 이미지 생성 장치 및 방법
Shields The Shortcut Guide to Implementing Virtualization in the Small Environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant