CN106062742B - 用于改进快照性能的系统和方法 - Google Patents
用于改进快照性能的系统和方法 Download PDFInfo
- Publication number
- CN106062742B CN106062742B CN201480076047.4A CN201480076047A CN106062742B CN 106062742 B CN106062742 B CN 106062742B CN 201480076047 A CN201480076047 A CN 201480076047A CN 106062742 B CN106062742 B CN 106062742B
- Authority
- CN
- China
- Prior art keywords
- snapshot
- backup image
- virtual machine
- multiple virtual
- storage unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using 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)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了用于改进快照性能的技术。在一个实施例中,所述技术可实现为一种用于改进快照性能的方法,所述方法包括:针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;使所述多个虚拟机中的每一个静默;以及创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照。所述技术可包括:采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块;通过使用来自所述快照中的至少一个快照的对应区块替换所识别的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及基于确定已完成所述编辑,来释放所述至少一个快照。
Description
技术领域
本发明整体涉及数据备份,更具体地讲,涉及用于改进快照性能的技术。
背景技术
使用虚拟机需要调整备份过程以适应单个平台上的多个虚拟机的能力。为了确保对平台上的多个虚拟机进行一致的备份,可能需要资源密集型过程,包括:使所有虚拟机静默;获取所有的虚拟机的快照;获取一个或多个存储装置的快照;以及通过读取快照的一致数据来创建备份镜像。在备份镜像创建之前,快照不可释放(release)。这可增加快照被维持的持续时间。管理程序可维持虚拟磁盘的变化数据的增量,同时维持该虚拟磁盘的快照。当快照被释放时,管理程序可将变化数据的增量合并回虚拟磁盘中。这个合并过程可为资源密集型操作(例如,具有大量(输入/输出)需求)。如果存在多个虚拟机,那么可以维持多个快照,直到备份镜像完整。这可增加每个快照被维持的持续时间,并可增加所维持的变化的虚拟磁盘数据的增量大小。因此,当为多个虚拟机释放多个快照时,变化的虚拟磁盘数据的对应增量的合并过程可对资源产生显著影响(例如,I/O和CPU使用率)。
根据上述内容,可以理解,可能存在与当前数据备份技术相关联的显著问题和缺点。
发明内容
本发明公开了用于改进快照性能的技术。在一个实施例中,所述技术可实现为一种用于改进快照性能的方法,包括:针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;使所述多个虚拟机中的每一个静默;创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;以及使用至少一个计算机处理器,采用所述变化区块跟踪来识别至少一个所述备份镜像的一个或多个变化区块。该方法还可包括:通过使用来自所述快照中的至少一个快照的对应区块替换所识别出的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及基于确定对所述至少一个备份镜像的编辑已完成并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照与释放所述快照中的任何其他快照无关。
根据此具体示例性实施例的其他方面,使多个虚拟机中的每一个静默可被独立地实例化。
根据此具体示例性实施例的另外方面,该方法还可包括在发起对存储单元中的至少一个的变化区块跟踪后,获取所述存储单元中的至少一个的存储快照。
根据此具体示例性实施例的另外方面,存储快照可提供单个快照,以允许还原所有多个虚拟机。
根据此具体示例性实施例的另外方面,一致备份镜像可为崩溃一致备份镜像。
根据此具体示例性实施例的另外方面,一致备份镜像可为应用程序一致备份镜像。
根据此具体示例性实施例的另外方面,快照创建可被配置成在多个虚拟机中的每个虚拟机被静默时进行实例化,并且与所述多个虚拟机中的其他虚拟机的状态无关。
根据此具体示例性实施例的另外方面,所述至少一个备份镜像的编辑可被配置成独立于备份镜像中的任何其他备份镜像的编辑来执行。
根据此具体示例性实施例的另外方面,存储单元可包括虚拟硬盘驱动器。
根据此具体示例性实施例的另外方面,与所述多个虚拟机中的每一个相关联的至少一个存储单元可包括物理存储。
根据此具体示例性实施例的另外方面,所述技术可实现为至少一种非暂态处理器可读存储介质,其存储计算机程序指令,所述指令被配置成可由至少一个处理器读取以指示所述至少一个处理器执行用于执行该方法的计算机过程。
在另一个实施例中,所述技术可实现为一种用于改进快照性能的制品。该制品可包括至少一种非暂态处理器可读存储介质,以及存储在所述至少一种介质上的指令。所述指令可被配置成可由至少一个处理器从所述至少一种介质中读取,并由此致使所述至少一个处理器操作以:针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;使所述多个虚拟机中的每一个静默;创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;以及采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块。所述指令可被配置成致使处理器操作以:通过使用来自所述快照中的至少一个快照的对应区块替换所识别出的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及基于确定对所述至少一个备份镜像的编辑已完成并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照与释放所述快照中的任何其他快照无关。
根据此具体示例性实施例的另外方面,快照创建可被配置成在多个虚拟机中的每个虚拟机被静默时进行实例化,并且可与所述多个虚拟机中的其他虚拟机的状态无关。
根据此具体示例性实施例的另外方面,所述至少一个备份镜像的编辑可被配置成独立于备份镜像中的任何其他备份镜像的编辑来执行。
在再一个实施例中,所述技术可实现为一种用于改进快照性能的系统,该系统包括一个或多个通信地耦接到网络的处理器。所述一个或多个处理器可被配置成:针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;使所述多个虚拟机中的每一个静默;创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;以及采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块。所述处理器可被配置成:通过使用来自所述快照中的至少一个快照的对应区块替换所识别出的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及基于确定对所述至少一个备份镜像的编辑已完成并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照可与释放所述快照中的任何其他快照无关。
根据此具体示例性实施例的另外方面,使多个虚拟机中的每一个静默可被独立地实例化。
根据此具体示例性实施例的另外方面,所述技术还可包括在发起对存储单元中的至少一个的变化区块跟踪后,获取所述存储单元中的至少一个的存储快照。
根据此具体示例性实施例的另外方面,快照创建可被配置成在多个虚拟机中的每个虚拟机被静默时进行实例化,并且与所述多个虚拟机中的其他虚拟机的状态无关。
根据此具体示例性实施例的另外方面,所述至少一个备份镜像的编辑可被配置成独立于编辑备份镜像中的任何其他备份镜像的编辑来执行。
根据此具体示例性实施例的另外方面,与多个虚拟机中的每一个相关联的每个存储单元中的至少一个可包括物理存储器。
现在将参照如附图所示的本发明的示例性实施例来更详细地描述本发明。虽然在下文中参考示例性实施例描述本发明,但是应当理解,本发明不限于这些实施例。获取本文中教导内容的本领域的技术人员将认识到另外的实施方式、修改形式和实施例,以及其他应用领域,这些在本文描述的本发明的范围内,而且就这些而言,本发明可具有显著的实用性。
附图说明
为了有利于更充分地理解本发明,现在将参考附图,其中类似的组成部分具有类似的附图标记。这些附图不应理解为限制本发明,而是仅旨在为示例性的。
图1示出的框图描绘了根据本发明的实施例的用于改进快照性能的网络架构。
图2示出了根据本发明的实施例的计算机系统的框图。
图3示出了根据本发明的实施例的用于改进快照性能的模块。
图4示出了根据本发明的实施例的用于改进快照性能的方法。
具体实施方式
图1示出的框图描绘了根据本发明的实施例的用于改进快照性能的网络架构100。图1是网络架构100的简化图,该网络架构可包括未描绘的其它组成部分。网络架构100可包含客户端系统110、120和130,以及服务器140A和140B(其中一个或多个服务器可使用图2所示的计算机系统200来实现)。客户端系统110、120和130可通信地耦接到网络150。服务器140A可通信地耦接到存储装置160A(1)至(N),服务器140B可通信地耦接到存储装置160B(1)至(N)。服务器140A和140B可包含管理模块(例如,服务器140A的快照改进模块154)。服务器140A和140B可通信地耦接到SAN(存储区域网络)构造170。SAN构造170可支持服务器140A和140B以及由客户端系统110、120和130经由网络150访问存储装置180(1)至(N)。
参考图2的计算机系统200,可使用调制解调器247、网络接口248或一些其他方法来提供从客户端系统110、120和130中的一个或多个到网络150的连接。客户端系统110、120和130可能够使用例如Web浏览器或其他客户端软件(未示出)访问服务器140A或140B上的信息。这样的客户端可允许客户端系统110、120和130访问服务器140A或140B所托管的数据或存储装置160A(1)至(N)、160B(1)至(N)和/或180(1)至(N)中的一者所托管的数据。
网络150和190可为局域网(LAN)、广域网(WAN)、互联网、蜂窝网络、卫星网络,或允许在客户端110、120、130、服务器140与通信地耦接到网络150和190的其他设备之间通信的其他网络。网络150和190还可包括一个或任何数量的以上所提到的示例性类型的网络,它们作为独立网络运行或彼此协同运行。网络150和190可采用它们通信地耦接到的一个或多个客户端或服务器的一个或多个协议。网络150和190可转换到其他协议,或者从其他协议转换到网络设备的一个或多个协议。虽然网络150和190各自被描绘为一个网络,但应当理解,根据一个或多个实施例,网络150和190可各自包括多个互连的网络。
存储装置160A(1)至(N)、160B(1)至(N)和/或180(1)至(N)可为网络可访问的存储,并且相对于服务器140A或140B可为本地的、远程的,或两者的组合。存储装置160A(1)至(N)、160B(1)至(N)和/或180(1)至(N)可利用廉价磁盘冗余阵列(“RAID”)、磁带、磁盘、存储区域网络(“SAN”)、互联网小型计算机系统接口(“iSCSI”)SAN、光纤信道SAN、公共互联网文件系统(“CIFS”)、网络附连存储(“NAS”)、网络文件系统(“NFS”)、光存储或其他计算机可访问存储。存储装置160A(1)至(N)、160B(1)至(N)和/或180(1)至(N)可用于备份或存档目的。
根据一些实施例,客户端110、120和130可为经由无线连接或有线连接耦接至网络150的智能电话、PDA、台式计算机、膝上型计算机、服务器、其他计算机或其他设备。客户端110、120和130可从用户输入、数据库、文件、Web服务和/或应用编程接口接收数据。
服务器140A和140B可为通信地耦接到网络150的应用程序服务器、存档平台、备份服务器、网络存储装置、媒体服务器、电子邮件服务器、文档管理平台、企业搜索服务器或其他设备。服务器140A和140B可利用存储装置160A(1)至(N)、160B(1)至(N)和/或180(1)至(N)中的一者来存储应用程序数据、备份数据或其他数据。服务器140A和140B可为主机,诸如应用程序服务器,可处理在客户端110、120和130与备份平台、备份过程和/或存储之间传送的数据。根据一些实施例,服务器140A和140B可为用于将数据备份和/或存档的平台。可基于备份策略和/或应用的存档、与数据源相关联的属性、可用于备份的空间、数据源上可用的空间或其他因素来对数据的一个或多个部分进行备份或存档。
根据一些实施例,客户端110、120和130可包含用于改进快照性能的软件(例如快照改进模块154)的一个或多个部分。如图所示,快照改进模块154的一个或多个部分可驻存在网络中心位置。例如,服务器140A可为可执行一个或多个动作来改进快照性能的服务器、防火墙、网关、备份服务器或其他网络组成部分。根据一些实施例,网络190可为外部网络(例如,互联网),并且服务器140A可为一个或多个内部组件和客户端与外部网络之间的网关或防火墙。
多个虚拟机的传统备份可需要使所有虚拟机静默(例如,暂停运行进程和将任何写入刷新到磁盘的状态)。在所有虚拟机静默后,接着可以获取平台(例如,服务器)上的所有虚拟机的虚拟存储的快照。也可获取下层物理存储的快照。可使用快照来生成虚拟机的虚拟存储(例如,虚拟磁盘如.vmdks)的备份镜像。在为所有的虚拟机生成备份镜像后,可释放快照。然而,生成备份镜像可能需要大量时间,在此期间,快照会被维持。当平台上的多个虚拟机需要多个备份镜像时,快照被维持的时间会显著增加。一旦快照释放,可将在快照期间被排队至临时增量文件的任何输入/输出(I/O)写入到虚拟磁盘。由此产生的I/O积压可显著地增加I/O和CPU使用率,并且可显著地降低性能。
根据一些实施例,快照改进模块154可在对具有多个虚拟机的平台备份时减少快照需要的持续时间。例如,快照改进模块154可允许针对每个虚拟机独立地创建和释放快照,由此减少保持快照的时间量。具体地讲,快照改进模块154可允许将第一虚拟机的快照创建实例化,而平台上的其他虚拟机仍静默,并且其他虚拟机的快照创建尚未实例化。
快照改进模块154还可允许在使虚拟机静默和获取虚拟机快照之前创建备份镜像。由于创建备份镜像需要大量时间,并且是传统备份过程中耗时较长的步骤之一,因此在创建快照之前创建备份镜像可极大地减少保持快照的时间量。这可减少增量文件中的排队I/O的量。
由于这些改变,快照改进模块154可以采用若干步骤,以便能够确保创建应用程序一致备份镜像(例如,未丢失应用程序数据的备份镜像)。快照改进模块154可通过将针对支持要备份的一个或多个虚拟机中的一个或多个下层存储单元(例如,卷、虚拟磁盘或物理磁盘)的变化区块跟踪实例化,来开始多个虚拟机的备份过程。根据一些实施例,变化区块跟踪可产生位图或变化区块列表。
在实例化变化区块跟踪之后,快照改进模块154可创建与要备份的虚拟机关联的虚拟存储的每个单元的备份镜像。
在创建了与虚拟机(例如,对应虚拟磁盘)关联的存储的备份镜像之后,快照改进模块154可发起虚拟机的静默。一旦虚拟机静默,可获取虚拟机快照。
生成快照之后,快照改进模块154可编辑该虚拟机的备份镜像以确保一致性。编辑备份镜像以确保一致性可包括使用变化区块跟踪来识别备份镜像中已变化的区块。可用来自该虚拟机的对应快照的区块替换所识别的变化的区块。根据一些实施例,可推迟对备份镜像的编辑,而且可存储来自对应快照的区块的副本以用于以后编辑。如果识别备份镜像中变化的区块的数据可用(例如,变化跟踪),而且提供一致区块以替换变化区块的数据可用(例如,存储在备份镜像中,存储在快照中,或是与快照或备份镜像分开存储),那么可推迟对备份镜像的编辑。使用来自对应快照的区块替换备份镜像中的区块可以确保备份镜像是崩溃一致且应用一致的。一旦虚拟机的备份镜像被编辑以确保一致性或者一致的数据且用于识别变化区块的数据已被储存,快照改进模块154就可以释放虚拟机的存储器的快照。因此,编辑备份镜像以确保一致性可以仅包括使用来自对应快照的一致数据替换变化区块。由于备份镜像在快照创建前写入并且快照可以仅在备份镜像编辑持续时间内保持,因此快照可保持显著更短的时间段。由于每个虚拟机的备份镜像可以独立地创建,并且快照可以独立地创建和释放,因此每个快照可以仅在用以确保备份镜像一致性所耗费的时间内保持,而不考虑其他虚拟机的备份镜像的状态。因此,在完成所有其他虚拟机的备份镜像前,可以不延迟快照释放。由于这些效果,快照可保持显著更短的时间段,而这可显著减少增量文件中的排队I/O的量。
根据一些实施例,快照改进模块154可以在发起变化区块跟踪后生成物理存储器快照。这样可提供单个快照,从而允许所有虚拟机跨平台移动。这样还可确保备份镜像是崩溃一致的(在编辑备份镜像前,编辑备份镜像还可确保备份镜像是崩溃一致且应用一致的)。
图2示出根据本发明的实施例的计算机系统200的框图。计算机系统200适用于实施根据本发明的技术。计算机系统200可包括总线212,该总线可将计算机系统210中的主子系统互连,所述主子系统诸如中央处理器214、系统存储器217(例如,RAM(随机存取存储器)、ROM(只读存储器)、闪存RAM等等)、输入/输出(I/O)控制器218、外部音频设备(诸如经由音频输出接口222的扬声器系统220)、外部设备(诸如经由显示器适配器226的显示器屏幕224)、串行端口228和230、键盘232(经由键盘控制器233对接)、存储接口234、可操作以接收软盘238的软盘驱动器237、可操作以与光纤信道网络290连接的主机总线适配器(HBA)接口卡235A、可操作以连接SCSI总线239的主机总线适配器(HBA)接口卡235B、以及可操作以接收光盘242的光盘驱动器240。该计算机系统还可包括鼠标246(或经由串行端口228耦接到总线212的其他即指即点(point-and-click)设备)、调制解调器247(经由串行端口230耦接到总线212)、网络接口248(直接耦接到总线212)、电源管理器250和电池252。
总线212允许在中央处理器214与系统存储器217之间进行数据通信,该系统存储器可包括只读存储器(ROM)或闪存存储器(均未示出)、以及随机存取存储器(RAM)(未示出),如先前所指出。RAM可以是可在其中加载操作系统和应用程序的主存储器。除其他代码外,ROM或闪存存储器可包含基本输入输出系统(BIOS),BIOS控制基本硬件操作,如与外围组件的交互。驻存于计算机系统210的应用程序可存储在计算机可读介质上并经由其进行访问,所述计算机可读介质诸如硬盘驱动器(例如,固定磁盘244)、光驱(例如,光驱240)、软盘单元237或其他存储介质。例如,快照改进模块154可驻存于系统存储器217中。
存储接口234(正如计算机系统210的其他存储接口)可连接到用于存储和/或检索信息的标准计算机可读介质,如固定磁盘驱动器244。固定磁盘驱动器244可以是计算机系统210的一部分,或者可为独立的并通过其他接口系统进行访问。调制解调器247可以提供经由电话链路到远程服务器或经由互联网服务提供商(ISP)到互联网的直接连接。网络接口248可以提供经由直接网络链路到远程服务器或经由POP(入网点)到互联网的直接连接。网络接口248可使用无线技术来提供这种连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等等。
许多其他设备或子系统(未示出)可通过类似方式连接(例如,文档扫描器、数字相机等等)。反之,无需存在图2所示的所有设备来实施本发明。这些设备和子系统可通过不同于图2所示的方式来互连。可将用以实施本发明的代码存储在计算机可读存储介质中,诸如存储在系统存储器217、固定磁盘244、光盘242或软盘238中的一个或多个中。用以实施本发明的代码还可经由一个或多个接口接收并存储在存储器中。计算机系统210上提供的操作系统可以是OS 或其他已知操作系统。
电源管理器250可以监控电池252的电量。电源管理器250可以提供一个或多个API(应用编程接口),以便确定电量、在计算机系统200关机前剩余的时间窗、耗电速率、关于计算机系统是接通主电源(例如,交流电源)还是电池电源的指示器,以及其他电源相关信息。根据一些实施例,电源管理器250的API可以远程访问(例如,可经由网络连接访问远程备份管理模块)。根据一些实施例,电池252可为位于计算机系统200本地或远程的不间断电源(UPS)。在此类实施例中,电源管理器250可以提供有关UPS的电量的信息。
参见图3,其中示出根据本发明的实施例的快照性能改进模块310。如图所示,快照性能改进模块310可以包含一个或多个组件,包括变化区块跟踪模块312、备份镜像模块314、快照模块316、镜像编辑模块318以及错误记录和报告模块320。
以下说明描述了一种用于改进快照性能的系统和方法的网络元素、计算机和/或组件,其中可包括一个或多个模块。如本文所用,术语“模块”可以理解为是指计算软件、固件、硬件和/或它们的各种组合。然而,模块不应解释为不在硬件、固件上实施或不在处理器可读可记录存储介质上记录的软件(即,模块并非软件本身)。应当指出的是,所述模块仅是示例性的。可将这些模块组合、集成、分开和/或复制,以便支持各种应用。另外,作为特定模块处执行的功能的替代或补充,在本文中描述为在特定模块处执行的功能可以在一个或多个其他模块处和/或通过一个或多个其他设备执行。另外,模块可在多个设备上和/或在彼此为本地或远程的其他组件上实现。此外,模块可从一个设备移开并添加至另一设备,并且/或者可包括在这两个设备中。
变化区块跟踪模块312可以生成位图、列表、或指示存储区块已变化的其他数据结构。变化区块跟踪模块312可用于在从创建采用下层物理存储器的虚拟磁盘备份镜像直到创建虚拟磁盘快照的时间段期间,跟踪对该下层物理存储器的修改。可使用来自变化区块跟踪模块312的信息来识别在需要根据快照进行更新的对应备份镜像文件中修改的区块。
备份镜像模块314可以生成与一个或多个虚拟机关联的虚拟存储器(例如,虚拟磁盘)的备份镜像。备份镜像模块314可以在获取虚拟机快照前,生成与该虚拟机关联的虚拟存储器的备份镜像。
快照模块316可使虚拟机静默,并且生成虚拟机的虚拟存储器的快照。
在使虚拟机静默并获取快照前,镜像编辑模块318可基于备份镜像的生成来校正虚拟机的存储单元的备份镜像中的不一致数据。镜像编辑模块318可使用来自变化区块跟踪模块312的数据确定备份镜像中的哪些区块已被修改并因此不一致。镜像编辑模块318可识别出对应快照,并且可使用来自对应快照的一致数据覆盖备份镜像中已变化的区块。在备份镜像被修改以确保一致性(例如,应用一致性,或者在一些实施例中,崩溃一致性)后,快照模块316可释放对应快照。在一些实施例中,可存储一致数据以及用于识别变化区块的数据,并且快照模块316可以在编辑对应备份镜像前释放对应快照。
错误记录和报告模块320可以产生日志、报告、或与改进快照性能相关的其他信息。
参见图4,其中示出根据本发明实施例的用于改进快照性能的方法400。在方框402处,可开始方法400。
在方框404处,可针对支持待备份的一个或多个虚拟机中的一个或多个下层存储单元(例如,卷、虚拟磁盘或物理磁盘)来发起变化区块跟踪。根据一些实施例,变化区块跟踪可产生位图或变化区块列表。
在方框406处,可执行一任选的进程。根据一些实施例,可以在发起变化区块跟踪后生成物理存储器快照。这样可提供单个快照,从而允许所有虚拟机跨平台移动。这样还可确保备份镜像是崩溃一致的(在编辑备份镜像前,编辑备份镜像还可确保备份镜像是崩溃一致且应用一致的)。
在方框408处,可针对与待备份的虚拟机关联的每个虚拟存储单元(例如,对应虚拟磁盘)来创建备份镜像。
在方框410处,可发起虚拟机的静默。一旦虚拟机静默,可获取虚拟机快照。发起虚拟机的静默和获取快照可独立于彼此进行,并且可取决于特定虚拟机的备份镜像的完成时间。根据一些实施例,发起虚拟机的静默和快照可在同一时间进行。
根据一些实施例,在方框412处,可对快照的创建进行检测。完成快照生成后,方法400可继续至方框414。如果快照尚未完成,那么方法可返回至方框412。
在方框414处,可增强虚拟机的备份镜像,以确保一致性。增强备份镜像以确保一致性可包括使用变化区块跟踪来识别备份镜像中已变化的区块。可保存虚拟机快照镜像中对应于被识别为在备份镜像中已变化的那些的区块。例如,可将来自对应快照镜像的区块添加至备份镜像。在一些实施例中,在备份镜像中识别出的变化区块可以使用来自虚拟机对应快照的区块替换。在一些实施例中,备份镜像编辑可推迟到稍后进行。如果存在用于识别备份镜像中变化的区块(例如,经由变化区块跟踪)的数据以及为变化区块提供一致数据的存储的区块副本,就可确保一致的备份镜像。在一些实施例中,可稍后对具有存储的一致数据的备份镜像进行编辑(例如,在释放对应快照后)。使用来自对应快照的区块替换备份镜像中的区块可以确保备份镜像是崩溃一致且应用一致的。
在方框416处,一旦虚拟机的备份镜像被编辑以确保一致性或者已存储一致数据的副本,快照改进模块154就可以释放虚拟机的存储器的快照。虚拟机的快照的释放可以独立于其他虚拟机的状态和其他虚拟机的快照。一旦释放虚拟机存储单元的快照,可将排队I/O操作的增量文件合并到该虚拟机的存储单元(例如,虚拟磁盘)中。
在方框418处,可以确定备份进程的所有快照是否已完成。如果正创建另外的快照,那么方法400可返回至方框412,如果不在创建另外的快照,那么方法400可结束于方框420。
就此而言,应当指出的是,根据如上所述的本发明改进快照性能通常涉及处理输入数据和生成输出数据达一定程度。这种输入数据处理和输出数据生成可以在硬件或软件中实现。例如,可将特定电子组件用于快照性能改进模块或者类似或相关的电路中,以便实现与如上所述根据本发明改进快照性能相关的功能。或者,根据指令进行操作的一个或多个处理器可以实现与如上所述根据本发明改进快照性能相关的功能。如果是这样的情况,那么在本发明的范围内的是,可将此类指令存储在一个或多个处理器可读存储介质(例如,磁盘或其他存储介质)上,或经由体现为一个或多个载波的一个或多个信号传输到一个或多个处理器。
本发明不限于本文所述具体实施例的范围。实际上,除了本文所述的那些之外,通过先前的描述和附图,本发明的其他各种实施例和修改形式对于本领域的技术人员而言将显而易见。因此,此类其他实施例和修改形式旨在落入本发明的范围内。另外,虽然在本文中,出于特定目的在特定环境中的特定实施的情形下描述了本发明,但是本领域的技术人员将认识到,本发明的有效性不限于此,并且可出于任何数量的目的,将本发明有利地在任何数量的环境中实施。因此,以下给出的权利要求书应根据本文所述的本发明的最宽范围和精神来解释。
Claims (20)
1.一种用于改进快照性能的方法,包括:
针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;
使所述多个虚拟机中的每一个静默;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;
使用至少一个计算机处理器,采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块;
通过使用来自所述快照中的至少一个快照的对应区块替换所识别的一个或多个变化区块,来编辑所述至少一个备份镜像;以及
基于确定已完成对所述至少一个备份镜像的编辑并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照与释放所述快照中的任何其他快照无关。
2.根据权利要求1所述的方法,其中使所述多个虚拟机中的每一个静默被独立地实例化。
3.根据权利要求1所述的方法,还包括在发起对所述存储单元中的至少一个的变化区块跟踪后,获取所述存储单元中的所述至少一个的存储器快照。
4.根据权利要求3所述的方法,其中所述存储器快照提供单个快照,以允许还原所有的所述多个虚拟机。
5.根据权利要求1所述的方法,其中所述一致备份镜像是崩溃一致备份镜像。
6.根据权利要求1所述的方法,其中所述一致备份镜像是应用一致备份镜像。
7.根据权利要求1所述的方法,其中所述快照创建被配置成在所述多个虚拟机中的每个虚拟机被静默时进行实例化,并与所述多个虚拟机中的其他虚拟机的状态无关。
8.根据权利要求1所述的方法,其中所述至少一个备份镜像的编辑被配置成独立于所述备份镜像中的任何其他备份镜像的编辑来执行。
9.根据权利要求1所述的方法,其中所述存储单元包括虚拟硬盘驱动器。
10.根据权利要求1所述的方法,其中与所述多个虚拟机中的每一个相关联的至少一个存储单元包括物理存储器。
11.至少一个非暂态计算机处理器可读存储介质,所述非暂态处理器可读存储介质存储计算机程序指令,所述指令被配置成可由至少一个计算机处理器读取以用于指示所述至少一个计算机处理器执行用于执行如权利要求1所述的方法的计算机过程。
12.一种用于改进快照性能的制品,所述制品包括:
至少一个非暂态计算机处理器可读存储介质;以及
存储在所述至少一个介质上的指令;
其中所述指令被配置成能由至少一个计算机处理器从所述至少一个介质中读取,并由此致使所述至少一个计算机处理器操作以:
针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;
使所述多个虚拟机中的每一个静默;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;
采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块;
通过使用来自所述快照中的至少一个快照的对应区块替换所识别的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及
基于确定已完成对所述至少一个备份镜像的编辑并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照与释放所述快照中的任何其他快照无关。
13.根据权利要求12所述的制品,其中所述快照创建被配置成在所述多个虚拟机中的每个虚拟机被静默时进行实例化,并与所述多个虚拟机中的其他虚拟机的状态无关。
14.根据权利要求12所述的制品,其中所述至少一个备份镜像的编辑被配置成独立于所述备份镜像中的任何其他备份镜像的编辑来执行。
15.一种用于改进快照性能的系统,包括:
一个或多个计算机处理器,所述处理器以通信方式耦接到网络;其中所述一个或多个计算机处理器被配置成:
针对与多个虚拟机中的每一个相关联的每个存储单元发起变化区块跟踪;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的备份镜像;
使所述多个虚拟机中的每一个静默;
创建与所述多个虚拟机中的每一个相关联的每个存储单元的快照;
采用所述变化区块跟踪来识别至少一个所述备份镜像中的一个或多个变化区块;
通过使用来自所述快照中的至少一个快照的对应区块替换所识别的一个或多个变化区块,来编辑所述至少一个所述备份镜像;以及
基于确定已完成对所述至少一个备份镜像的编辑并产生一致备份镜像,来释放所述至少一个快照,其中释放所述至少一个快照与释放所述快照中的任何其他快照无关。
16.根据权利要求15所述的用于改进快照性能的系统,其中使所述多个虚拟机中的每一个静默被独立地实例化。
17.根据权利要求15所述的用于改进快照性能的系统,其中所述一个或多个计算机处理器进一步被配置成:在发起对所述存储单元中的至少一个的变化区块跟踪后,获取所述存储单元中的所述至少一个的存储器快照。
18.根据权利要求15所述的用于改进快照性能的系统,其中所述快照创建被配置成在所述多个虚拟机中的每个虚拟机被静默时进行实例化,并与所述多个虚拟机中的其他虚拟机的状态无关。
19.根据权利要求15所述的用于改进快照性能的系统,其中所述至少一个备份镜像的编辑被配置成独立于所述备份镜像中的任何其他备份镜像的编辑来执行。
20.根据权利要求15所述的用于改进快照性能的系统,其中与多个虚拟机中的每一个相关联的每个存储单元中的至少一个包括物理存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/143,194 US9377964B2 (en) | 2013-12-30 | 2013-12-30 | Systems and methods for improving snapshot performance |
US14/143194 | 2013-12-30 | ||
PCT/US2014/069324 WO2015102823A1 (en) | 2013-12-30 | 2014-12-09 | Systems and methods for improving snapshot performance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106062742A CN106062742A (zh) | 2016-10-26 |
CN106062742B true CN106062742B (zh) | 2019-09-24 |
Family
ID=53481799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480076047.4A Active CN106062742B (zh) | 2013-12-30 | 2014-12-09 | 用于改进快照性能的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9377964B2 (zh) |
EP (1) | EP3108380A4 (zh) |
CN (1) | CN106062742B (zh) |
AU (1) | AU2014374256B2 (zh) |
WO (1) | WO2015102823A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9733966B1 (en) * | 2013-12-17 | 2017-08-15 | Servosity, Inc. | Systems and methods for real-time file storage and retrieval |
US9979783B2 (en) * | 2014-01-21 | 2018-05-22 | Red Hat, Inc. | Distributed coordinated snapshots |
US11243707B2 (en) | 2014-03-12 | 2022-02-08 | Nutanix, Inc. | Method and system for implementing virtual machine images |
US9946608B1 (en) * | 2014-09-30 | 2018-04-17 | Acronis International Gmbh | Consistent backup of blocks through block tracking |
CN105260231A (zh) * | 2015-11-03 | 2016-01-20 | 国云科技股份有限公司 | 一种降低物理磁盘io读写的方法 |
CN105279011A (zh) * | 2015-11-17 | 2016-01-27 | 国云科技股份有限公司 | 一种虚拟机可根据镜像进行系统还原的方法 |
US10956270B2 (en) * | 2016-03-30 | 2021-03-23 | Acronis International Gmbh | System and method for data protection during full data backup |
CN106095619A (zh) * | 2016-06-08 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种虚拟机备份方法及装置 |
US10613947B2 (en) * | 2016-06-09 | 2020-04-07 | Nutanix, Inc. | Saving and restoring storage devices using application-consistent snapshots |
US9971655B1 (en) * | 2016-06-29 | 2018-05-15 | EMC IP Holding Company LLC | Primed application recovery |
US10489216B2 (en) * | 2016-11-22 | 2019-11-26 | International Business Machines Corporation | Version-controlling storage volume snapshots |
CN108733541A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 用于实时确定数据复制进度的方法和设备 |
US10824522B2 (en) | 2017-11-27 | 2020-11-03 | Nutanix, Inc. | Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications |
US10693753B2 (en) | 2018-05-31 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Network device snapshots |
CN111104367B (zh) * | 2019-12-13 | 2023-08-18 | 浪潮云信息技术股份公司 | 一种基于openstack卷启动虚拟机创建私有镜像的方法 |
US11467757B1 (en) * | 2021-05-03 | 2022-10-11 | Dell Products, L.P. | Modifying data of activated target-less point-in-time images of storage volumes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243413A (zh) * | 2005-06-24 | 2008-08-13 | 信科索尔特公司 | 用于对备份映像进行虚拟化的系统和方法 |
US8346727B1 (en) * | 2010-03-15 | 2013-01-01 | Symantec Corporation | Optimized image archiving |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370164B1 (en) * | 2006-03-21 | 2008-05-06 | Symantec Operating Corporation | Backup of virtual machines from the base machine |
US8433864B1 (en) | 2008-06-30 | 2013-04-30 | Symantec Corporation | Method and apparatus for providing point-in-time backup images |
US8117410B2 (en) | 2008-08-25 | 2012-02-14 | Vmware, Inc. | Tracking block-level changes using snapshots |
US8443166B2 (en) * | 2009-03-06 | 2013-05-14 | Vmware, Inc. | Method for tracking changes in virtual disks |
US8326803B1 (en) | 2010-05-06 | 2012-12-04 | Symantec Corporation | Change tracking of individual virtual disk files |
CN104781791A (zh) * | 2011-12-05 | 2015-07-15 | 持续电信解决方案公司 | 通用可插拔云灾难恢复系统 |
-
2013
- 2013-12-30 US US14/143,194 patent/US9377964B2/en active Active
-
2014
- 2014-12-09 AU AU2014374256A patent/AU2014374256B2/en not_active Ceased
- 2014-12-09 CN CN201480076047.4A patent/CN106062742B/zh active Active
- 2014-12-09 EP EP14876701.5A patent/EP3108380A4/en active Pending
- 2014-12-09 WO PCT/US2014/069324 patent/WO2015102823A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243413A (zh) * | 2005-06-24 | 2008-08-13 | 信科索尔特公司 | 用于对备份映像进行虚拟化的系统和方法 |
CN101495970A (zh) * | 2005-06-24 | 2009-07-29 | 信科索尔特公司 | 用于高性能企业数据保护的系统和方法 |
US8346727B1 (en) * | 2010-03-15 | 2013-01-01 | Symantec Corporation | Optimized image archiving |
Also Published As
Publication number | Publication date |
---|---|
WO2015102823A1 (en) | 2015-07-09 |
AU2014374256A1 (en) | 2016-08-04 |
AU2014374256B2 (en) | 2019-10-24 |
CN106062742A (zh) | 2016-10-26 |
US20150186044A1 (en) | 2015-07-02 |
EP3108380A1 (en) | 2016-12-28 |
US9377964B2 (en) | 2016-06-28 |
EP3108380A4 (en) | 2018-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106062742B (zh) | 用于改进快照性能的系统和方法 | |
US11513926B2 (en) | Systems and methods for instantiation of virtual machines from backups | |
US11789823B2 (en) | Selective processing of file system objects for image level backups | |
WO2021238267A1 (zh) | 基于集群文件系统的数据备份方法、装置及可读存储介质 | |
US10209910B2 (en) | Copy-redirect on write | |
CN104685476B (zh) | 用于还原虚拟机的方法、系统和制品 | |
US10303561B2 (en) | Point-in-time copy restore | |
US20220083245A1 (en) | Declarative provisioning of storage | |
CN103164254B (zh) | 用于维持镜像虚拟环境中存储装置的一致性的方法和系统 | |
US20160092132A1 (en) | Consistent Data Retrieval In A Multi-Site Computing Infrastructure | |
CN111488241A (zh) | 在容器编排平台实现无代理备份与恢复操作的方法和系统 | |
KR101693683B1 (ko) | 가상 데이터베이스 되감기 | |
CN105446826A (zh) | 虚拟机备份、恢复的方法及设备 | |
CN116457760A (zh) | 异步跨区域块卷复制 | |
US11645237B2 (en) | Replicating data utilizing a virtual file system and cloud storage | |
CN110058813A (zh) | 一种基于云平台块存储的本地存储管理方法 | |
CN107533495A (zh) | 用于数据备份和恢复的技术 | |
US11907565B2 (en) | Storing write data in a storage system | |
US9798483B2 (en) | Object storage power consumption optimization | |
US9760450B2 (en) | Restoring a clone point-in-time copy | |
US10896201B2 (en) | Synchronization of block based volumes | |
CN107368315A (zh) | 一种双硬盘双系统的启动方法及装置 | |
KR20230100902A (ko) | 컨테이너에 포함된 데이터에 대한 관리 시스템 및 그 제어방법 | |
CN110096390A (zh) | 一种提供应急替代主存储功能的备份方法及其应用装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20161027 Address after: American California Applicant after: China Ruitai technology limited liability company Address before: American California Applicant before: Symantec Corp. |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |