CN110058962B - 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品 - Google Patents

确定虚拟机快照的一致性级别的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN110058962B
CN110058962B CN201810050354.5A CN201810050354A CN110058962B CN 110058962 B CN110058962 B CN 110058962B CN 201810050354 A CN201810050354 A CN 201810050354A CN 110058962 B CN110058962 B CN 110058962B
Authority
CN
China
Prior art keywords
virtual machine
consistency level
snapshot
consistency
backup
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
CN201810050354.5A
Other languages
English (en)
Other versions
CN110058962A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co 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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810050354.5A priority Critical patent/CN110058962B/zh
Priority to US16/251,391 priority patent/US11468010B2/en
Publication of CN110058962A publication Critical patent/CN110058962A/zh
Application granted granted Critical
Publication of CN110058962B publication Critical patent/CN110058962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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
    • 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
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of 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/82Solving problems relating to consistency
    • 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

本公开的实施例涉及确定虚拟机快照的一致性级别的方法、设备和计算机程序产品。该方法包括获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,备份日志文件包括与虚拟机快照的生成有关的日志信息。该方法还包括基于备份日志文件,确定虚拟机快照的一致性级别,一致性级别指示虚拟机快照表示的虚拟机的状态与在生成虚拟机快照时虚拟机的实际状态之间的匹配程度。使用本公开的技术方案,可以采取统一的方法来克服现有技术中的针对一些虚拟机软件或一些虚拟机软件的不同版本无法确定生成的虚拟机快照的快照一致性级别的问题。

Description

确定虚拟机快照的一致性级别的方法、设备和计算机程序 产品
技术领域
本公开的实施例总体上涉及虚拟机领域,具体地涉及确定虚拟机快照的一致性级别的方法、设备和计算机程序产品。
背景技术
虚拟机备份/恢复系统中的代理系统(例如,Avamar代理)对在诸如vSphere平台之类的平台上运行的虚拟机执行备份时,例如执行镜像备份时,通常在虚拟机数据的实际备份发生前,需要将虚拟机快照获取到虚拟机中。虚拟机快照将尝试捕获虚拟机在生成虚拟机快照时的状态。在后续的恢复时,镜像备份中的数据将被恢复到其在备份发生时的相同状态。
然而,由虚拟机快照所表示的虚拟机的状态并不一定与在生成虚拟机快照时虚拟机的实际状态完全匹配,因此需要确定由虚拟机快照所表示的虚拟机的状态与在生成虚拟机快照时虚拟机的实际状态的匹配情况。然而,在现有技术中,并没有统一并且高效的方法可以用于实现这一目的。
发明内容
本公开的实施例提供了确定虚拟机快照的一致性级别的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种确定虚拟机快照的一致性级别的方法。该方法包括:获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,所述备份日志文件包括与所述虚拟机快照的生成有关的日志信息;以及基于所述备份日志文件,确定所述虚拟机快照的一致性级别,所述一致性级别指示所述虚拟机快照表示的虚拟机的状态与在生成所述虚拟机快照时所述虚拟机的实际状态之间的匹配程度。
在本公开的第二方面,提供了一种确定虚拟机快照的一致性级别的方法、设备。该设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得该设备执行动作,这些动作包括:获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,所述备份日志文件包括与所述虚拟机快照的生成有关的日志信息;以及基于所述备份日志文件,确定所述虚拟机快照的一致性级别,所述一致性级别指示所述虚拟机快照表示的虚拟机的状态与在生成所述虚拟机快照时所述虚拟机的实际状态之间的匹配程度。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的虚拟机备份/恢复环境100的架构图;
图2示出了根据本公开的实施例的确定虚拟机快照的一致性级别的方法200的流程图;
图3示出了根据本公开的实施例的确定虚拟机快照的一致性级别的方法300的流程图;以及
图4示出了可以用来实施本公开内容的实施例的示例设备400的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以按照各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如以上在背景技术中所描述的,由虚拟机快照所表示的虚拟机的状态并不一定与在生成虚拟机快照时虚拟机的实际状态完全匹配。这种情况对于使用实例中的大多数使用实例都运行良好。但是对于诸如数据库操作之类的一些特定应用操作,如果用户不能准确地知道由虚拟机快照所表示的虚拟机的状态与在生成虚拟机快照时虚拟机的实际状态多么的匹配,则可能会选择匹配程度不良的虚拟机快照,从而造成不良后果。因此,当例如虚拟机快照未能成功地捕获虚拟机中的存储器或者未决I/O中的数据时,在从此类虚拟机快照进行恢复时,在应用能够被带回在线之前将要求额外的一致性性检查或者恢复来确定虚拟机快照是否能够正确反映在生成虚拟机快照时虚拟机的实际状态。此外,诸如在进行虚拟机备份之后的Microsoft SQL服务器日志截断以及数据回滚之类的一些增值特征也需要准确地知道虚拟机快照是否能够正确反映在生成虚拟机快照时虚拟机的实际状态,以决定这些增值特征是否允许被执行,否则执行这些操作会导致操作失败,甚至导致数据丢失。又如,当对元数据进行索引时,必须至少保证虚拟机的文件系统的元数据一致地匹配,否则得到的索引会存在错误。
为了至少部分地克服现有技术中存在的上述问题。可以将生成的虚拟机快照划分为不同的快照一致性级别以指示由虚拟机快照所表示的虚拟机的状态与在生成虚拟机快照时虚拟机的实际状态之间的匹配程度。
一般而言,快照一致性级别可以包括三个级别。按照快照一致性级别从低到高分别为故障一致性级别、文件一致性级别和应用一致性级别。
故障一致性级别有时也可以被称为宕机(crash)一致性级别,其意味着生成的虚拟机快照捕获并且保存了虚拟机磁盘上的所有文件。故障一致性级别的虚拟机快照相当于在虚拟机出现例如断电或者宕机之类的故障状况时保存了虚拟机的瞬时状态,其可以保证虚拟机磁盘中的文件的存在,但无法保证文件均可用。这是因为文件有可能在虚拟机断电或者宕机时正被写入,而写入有可能尚未被反映在磁盘上,比如文档中可能尚未保存输入的单词。这时文件存在受损的可能,从而甚至有可能导致虚拟机无法正常开机。因此,利用故障一致性级别的虚拟机快照来恢复虚拟机通常需要进行扫描以及文件系统修复。
文件一致性级别意味着在虚拟机快照被生成时没有文件系统写入正在运行中。因此,文件一致性级别的虚拟机快照可以保证文件系统本身正常。然而,文件一致性级别的虚拟机快照并无法保证文件系统中的文件均正常,因为文件系统分为元数据和用户数据两部分,其中文件系统的高速缓存可能是正常的,从而使得在生成虚拟机快照文件系统的高速缓存中的数据都被正常冲刷(flush)到虚拟机磁盘中。然而,应用本身的高速缓存中的数据可能未被冲刷到虚拟机磁盘上。换句话说,文件一致性级别意味着在虚拟机快照被生成时保证文件系统中没有I/O正被处理,如果文件系统中存在I/O正被处理,则将等待I/O完成后再针对虚拟机生成虚拟机快照。
应用一致性级别意味着在生成虚拟机快照时虚拟机的文件系统以及应用的高速缓存中的涉及存储器操作和I/O操作的数据均被成功冲刷到虚拟机磁盘。因此,应用一致性级别的虚拟机快照可以被认为没有任何错误或者几乎没有任何错误,从而使得从应用一致性级别的虚拟机快照进行恢复后虚拟机磁盘如同原始磁盘一样。
尽管根据以上描述,快照一致性级别被分为故障一致性级别、文件一致性级别和应用一致性级别这三个级别,但是根据本公开的实施例,快照一致性级别也可以被分为更多级别。例如,根据文件一致性级别的虚拟机快照中所包括的错误的数目多少,可以将文件一致性级别进一步细分为多个级别。
然而,在现有技术中,并没有统一并且高效的方法来准确地确定生成的虚拟机快照的快照一致性级别。为了,本公开提供了确定虚拟机快照的一致性级别的方法、设备和计算机程序产品,从而使得可以采取统一的方法来克服现有技术中的针对一些虚拟机软件或一些虚拟机软件的不同版本无法确定生成的虚拟机快照的快照一致性级别的问题。
图1示出了根据本公开的实施例的虚拟机备份/恢复环境100的架构图。如图1中所示,虚拟机备份/恢复环境100中包括虚拟机备份/恢复系统110以及多个虚拟机120-1至120-N(以下统称为虚拟机120,并且虚拟机120也可以表示虚拟机120-1至120-N中的任意一个或者多个虚拟机)。在虚拟机备份/恢复环境100中,由虚拟机备份/恢复系统110实现针对虚拟机120的备份和恢复。
以下描述从请求进行虚拟机备份到备份虚拟机再到执行后续操作的一般流程。应当理解的是,以下描述的流程还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
首先,由有权实体向虚拟机备份/恢复系统110请求对虚拟机120进行备份。根据本公开的实施例,有权实体可以包括虚拟机120的管理员、用户以及任何其他有权使用虚拟机120或有权对虚拟机120执行备份的实体。
而后,虚拟机备份/恢复系统110生成虚拟机120的虚拟机快照。根据本公开的实施例,虚拟机备份/恢复系统110在生成虚拟机快照前,可以验证请求对虚拟机120进行备份的实体是否有权进行备份请求。虚拟机备份/恢复系统110仅响应于请求对虚拟机120进行备份的实体有权进行备份请求才生成虚拟机120的虚拟机快照。
接着,虚拟机备份/恢复系统110确定生成的虚拟机快照的快照一致性级别。在本公开中中所提出的确定生成的虚拟机快照的快照一致性级别的统一、高效的具体方法将参照图2和图3来描述。根据本公开的实施例,为了便于虚拟机120的管理员、用户或者使用者能够选择适当快照一致性级别的虚拟机快照来进行与快照一致性级别对应的后续操作,虚拟机备份/恢复系统110可以在确定生成的虚拟机快照的快照一致性级别后向虚拟机120的管理员、用户或者使用者发送生成的虚拟机快照的快照一致性级别,或者采取其他方式向虚拟机快照的潜在使用者广播生成的虚拟机快照的快照一致性级别。根据本公开的实施例,这一发送或者广播过程可以在确定生成的虚拟机快照的快照一致性级别后、并且在生成的虚拟机快照被使用前的任何时间被执行。根据本公开的其他实施例,虚拟机备份/恢复系统110也可以无需主动发送或者广播生成的虚拟机快照的快照一致性级别,而是在被请求时才发送生成的虚拟机快照的快照一致性级别,或者虚拟机备份/恢复系统110也可以根本不发送生成的虚拟机快照的快照一致性级别,而是按照缺省或者被管理员、用户或者使用者设置的指示直接根据不同的快照一致性级别来执行不同的操作。
之后,虚拟机备份/恢复系统110完成备份虚拟机120的过程。根据本公开的实施例,在生成虚拟机快照后,虚拟机备份/恢复系统110继续进行操作以完成备份虚拟机120的过程。
最后,虚拟机备份/恢复系统110或者虚拟机120的管理员、用户或者使用者根据快照一致性级别来执行操作。根据本公开的实施例,在进行虚拟机备份后,虚拟机120的用户可能系统根据生成的虚拟机快照的快照一致性级别来执行不同的操作,这些操作可以包括例如在数据库中的日志截断操作,云灾难恢复操作,恢复选项操作以及其他操作。在这些操作中,日志截断操作例如需要生成的虚拟机磁盘的快照一致性级别达到应用一致性级别才可以进行。此外,虚拟机系统在再次启动后需要进行何种恢复操作也需要依赖快照一致性级别来进行判断。因此,让虚拟机快照的使用者能够知道实际的快照一致性级别以避免执行不适当的操作是很重要的。例如,在使用故障一致性级别的虚拟机快照来恢复虚拟机120后,虚拟机120中的数据库在额外的一致性性检查和恢复之前不能立即开始工作。如果用户想要在此时执行一些数据库操作,则将导致意外错误。
以上描述了备份虚拟机120的一般流程。应当理解,在虚拟机备份和恢复的过程中,确定生成的虚拟机快照的快照一致性级别是非常重要的。然而,现有技术中对快照一致性级别的分析和确定存在很多不足。
以诸如VMware的虚拟机软件为例,在VMware版本6.0以及更低版本中,并未提供接口API来报告生成的虚拟机快照的快照一致性级别。即,在VMware版本6.0以及更低版本中并不会提供生成的虚拟机快照的快照一致性级别。在VMware版本6.5以及更高版本中,当生成虚拟机快照时,快照一致性级别可以被作为参数而被传递。该参数的值指示三种不同的类别:第一种类别为AUTO,即,虚拟机软件自动选择认为适合的快照一致性级别,但并不会声明所选择的是哪种具体级别;第二种类别与文件一致性级别类似;第三种类别与应用一致性级别类似。如果参数值指示第二种类别或者第三种类别,则虚拟机备份/恢复系统110能够根据该参数值来确定生成的虚拟机快照的快照一致性级别,其中需要进行分析来确定参数值所指示的类别是否正确。如果参数值指示第一种类别,则无法根据参数值来确定具体的快照一致性级别。同时,在上述根据分析来确定参数值所指示的类别是否正确,仍然会出现无法确定具体的快照一致性级别的情况。因此,在VMware版本6.5及更高版本中,虚拟机软件在确定生成的虚拟机快照的快照一致性级别时仍然存在严重的不足。
一般而言,诸如VMware的虚拟机软件,在确定生成的虚拟机快照的快照一致性级别时可以包括:首先,生成用于虚拟机120的虚拟机快照;而后,判断VMware的版本,如果VMware的版本是6.0或者更低版本,则无法判断快照一致性级别,如果VMware的版本6.5或者更高版本,则继续进行后续判断;接着,判断生成虚拟机快照时所生成的指示快照一致性级别的参数,如果该参数指示第一种类别,即,AUTO,则无法判断快照一致性级别,如果该参数指示第二种类别或者第三种类别,则继续进行操作以确定该参数指示的类别是否正确;之后,进行静默状态(quiesce)测试,如果quiesce测试没有出现错误,则该参数指示的类别正确,如果quiesce测试出现错误,则针对该参数指示的类别继续进行后续判断;最后,如果该参数指示第二种类别,则生成的虚拟机快照的实际快照一致性级别将从第二种类别降级,即,快照一致性级别相当于故障一致性级别,如果该参数指示第三种类别则生成的虚拟机快照的实际快照一致性级别将从第三种类别降级,此时,由于无法确定降级后的快照一致性级别相当于文件一致性级别还是故障一致性级别,因此仍然无法确定具体的快照一致性级别。
由此可见,对于VMware版本6.0或者更低版本以及具有指示第一种类别的参数的VMware版本6.5或者更高版本,将不能具体地确定快照一致性级别。同时,在很多情况下,即使在具有指示第二种类别和第三种类别的参数的VMware版本6.5或者更高版本中,仍然无法具体地确定快照一致性级别。从而严重影响对生成的虚拟机快照的选择以及对针对虚拟机快照的后续操作的选择。
图2示出了根据本公开的实施例的确定虚拟机快照的一致性级别的方法200的流程图。使用方法200,可以高效地并且统一地确定生产的虚拟机快照的快照一致性水平。例如,以诸如VMware的虚拟机软件为例,当使用方法200时,针对VMware的各种版本,均能够准确的确定具体的快照一致性级别。应当理解,方法200仅仅针对确定虚拟机快照的一致性级别,因此并不包括例如接收对虚拟机120进行备份的请求之类的步骤。
方法200开始于框202。在框202,虚拟机备份/恢复系统110获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件。根据本公开的实施例,备份日志文件包括与虚拟机快照的生成有关的日志信息。
在框204,虚拟机备份/恢复系统110基于备份日志文件来确定虚拟机快照的一致性级别。根据本公开的实施例,虚拟机快照的一致性级别指示虚拟机快照表示的虚拟机120的状态与在生成该虚拟机快照时虚拟机120的实际状态之间的匹配程度。
图3示出了根据本公开的实施例的确定虚拟机快照的一致性级别的方法300的流程图。使用方法300,可以高效地并且统一地确定生产的虚拟机快照的快照一致性水平。例如,以诸如VMware的虚拟机软件为例,当使用方法300时,根据本公开的实施例,方法300是对方法200的进一步细化。应当理解,方法300并不是对方法200的唯一细化方式,并且并未以任何形式对方法200进行限制。
方法300开始于框302。在框302,虚拟机备份/恢复系统110生成针对虚拟机120的虚拟机快照。
在框304,虚拟机备份/恢复系统110获得与虚拟机快照相关地生成的日志压缩文件。根据本公开的实施例,虚拟机备份/恢复系统110在虚拟机120上生成虚拟机快照时,将生成临时的、与虚拟机快照相关的日志压缩文件。例如,当Microsoft的Windows VSS(volume shadow copy service,卷影副本服务)虚拟机备份/恢复系统110在Windows虚拟机120上生成虚拟机快照时,将生成临时的日志压缩文件,即,VSS manifest.zip文件,这一文件实质上是一个日志文件,其不会随平台的变化而变化而仅与在虚拟机120中运行的操作系统相关,并且在虚拟机备份完成之后将被删除。这一文件自Windows Vista版本起格式基本上固定,因而存在可移植性。由于这一文件是日志文件,因此可以对其进行分析,从而使得可以例如了解虚拟机快照在操作系统内部进行了哪些操作,因为其中记录了与VSS相关的所有操作。这一文件通常会被存储在与虚拟机120相同的文件夹中,并且也会与虚拟机快照以及其他相关文件放在一起。VMware软件在生成虚拟机快照时通常会将这一文件从虚拟机120中取出放到虚拟机120之外,但并未进行利用。同时,由于这一文件格式固定,因此可以在不同虚拟化平台以及Microsoft平台之间简洁地实现对其的分析。因此,根据本公开的实施例,虚拟机备份/恢复系统110可以通过找到日志压缩文件的路径并且将其下载到本地来获得日志压缩文件。同时,根据本公开的实施例,上述日志压缩文件可以用来确定生成的虚拟机快照的快照一致性级别。
在框306,虚拟机备份/恢复系统110确定日志压缩文件是否被成功获得。根据本公开的实施例,当在生成虚拟机快照时出现错误、生成虚拟机快照失败或者对生成的虚拟机快照进行quiesce测试失败时,将不会生成日志压缩文件。此时,在框304中无法获得日志压缩文件。同时,当生成了虚拟机快照但未获得/生成日志压缩文件时,则意味着生成的虚拟机快照的快照一致性级别为故障一致性级别,如框308中所示。当在框306确定日志压缩文件被成功获得时,进入框310。
在框310,虚拟机备份/恢复系统110对日志压缩文件解压缩以获得虚拟机快照的备份日志文件。根据本公开的实施例,日志压缩文件中包括经压缩的多个文件,其中文件的数目例如可以是十几个。在这些文件中包括备份日志文件。因而,对日志压缩文件解压缩即可获得备份日志文件。例如,当Microsoft的Windows VSS虚拟机备份/恢复系统110在Windows虚拟机120生成日志压缩文件manifest.zip时,在对日志压缩文件manifest.zip进行解压后可以得到多个文件,其中的backup.xml文件即为备份日志文件。根据本公开的实施例,在对日志压缩文件解压缩时,有可能由于日志压缩文件损坏等原因而无法获得备份日志文件,此时可以认为生成的虚拟机快照的快照一致性级别为故障一致性级别。
在框312,虚拟机备份/恢复系统110确定备份日志文件中的与虚拟机备份过程中的写入操作有关的项目并且确定与这些项目相对应的内容是否被成功备份。根据本公开的实施例,在备份日志文件中记录了在生成虚拟机快照时虚拟机120中的哪些应用程序进行了写入操作,并且记录了这些写入操作的内容以及这些写入操作是否成功,即,与这些写入操作相对应的内容是否被成功备份。如果某个写入操作被成功进行,则意味着该写入操作所针对的内容在生成虚拟机快照时已被成功写入并且因此被成功备份。反之,如果某个写入操作未被成功进行,则意味着该写入操作所针对的内容在生成虚拟机快照时未被成功写入并且因此存在于未决I/O中而未被成功备份。
例如,针对上述作为备份日志文件的backup.xml文件,其中包括“writerId”的项目即为与虚拟机备份过程中的写入操作有关的项目。针对backup.xml文件,可以通过寻找文件的头部进行字符匹配来找到包括“writerId”的项目。而后,backup.xml文件中的包括“writerId”的项目会跟随有与之对应的包括“backupSucceeded”的项目。如果包括“backupSucceeded”的项目项目中记载了“backupSucceeded="yes"”,则意味着与包括“writerId”的项目相对应的内容已被成功写入,即,在生成虚拟机快照时被成功备份。如果包括“backupSucceeded”的项目中记载了“backupSucceeded="no"”,则意味着与包括“writerId”的项目相对应的内容未被成功写入,即,在生成虚拟机快照时未成功备份。根据本公开的实施例,上述比对可以通过字符串匹配的形式来实现。
根据本公开的实施例,可以通过确定备份日志文件中的与虚拟机备份过程中的写入操作有关的项目并且确定与这些项目相对应的内容是否被成功备份来确定生成的虚拟机快照的快照一致性级别。
在框314,虚拟机备份/恢复系统110确定和与写入操作有关的项目相对应的内容是否均被成功备份。根据本公开的实施例,在确定是否所有相对应的内容均被成功备份时,可以采用设置计数器的形式。可以设置两个计数器,其中成功计数器指示被成功备份的内容的数目,失败计数器指示备份失败的内容的数目,每当确定一个内容被成功备份时,成功计数器的值加一,每当确定一个内容备份失败时,失败计数器的值加一,直至针对每个内容均进行了确定。成功备份的内容的数目和备份失败的内容的数目可以用于后续操作。如果在框314针对与写入操作有关的项目中的每个项目均确定与其相对应的内容被成功备份,则这指示在生成虚拟机快照时无论是文件系统还是应用的高速缓存中均没有未被成功写入的数据,这意味着生成的虚拟机快照的快照一致性级别为应用一致性级别,如框316中所示。当在框314确定并非所有相对应的内容均被成功备份时,进入框318。
在框318,虚拟机备份/恢复系统110确定和与写入操作有关的项目相对应的内容是否均未被成功备份。根据本公开的实施例,如果在框318针对与写入操作有关的项目中的每个项目均确定与其相对应的内容未被成功备份,则这指示在生成虚拟机快照时无论是文件系统还是应用的高速缓存中所有涉及写入操作的数据均未被成功冲刷。在这种情况下,可以认为所生成的虚拟机快照的快照一致性级别非常低,因此可以认为生成的虚拟机快照的快照一致性级别为故障一致性级别,如框320中所示。根据本公开的其他实施例,在这种情况下,也可以认为生成的虚拟机快照的快照一致性级别为文件一致性级别,并且这一文件一致性级别的一致性级别很低。
如果在框318确定针对与写入操作有关的项目中的每个项目,并非与其相对应的内容均未被成功备份,即,某些内容被成功备份并且其他一些内容备份失败,则认为生成的虚拟机快照的快照一致性级别为文件一致性级别,如框322中所示。需要注意的是,在某些情况下,可能存在备份日志文件为空的情况。这些情况可能是由于Microsoft或者VMware软件的bug所造成,并且因此既没有内容被成功备份也没有内容备份失败。此时,可以仍然认为生成的虚拟机快照的快照一致性级别为文件一致性级别,因为备份日志文件能够被生成表明虚拟机备份/恢复系统110内的日志系统仍然工作正常。
根据本公开的实施例,可以使用成功备份的内容的数目和备份失败的内容的数目来将快照一致性级别进一步进行划分。例如,当如前所述使用成功计数器和失败计数器来记录被成功备份的内容的数目和备份失败的内容的数目时,当成功计数器和失败计数器的值均不为零时,生成的虚拟机快照的快照一致性级别为文件一致性级别。此时,可以按照成功计数器和失败计数器的数值来进一步划分文件一致性级别,以进一步区分较好的文件一致性级别和较差的文件一致性级别。例如,当成功计数器的数值远大于或者大于失败计数器的数值时,可以认为快照一致性级别为优秀文件一致性级别;当成功计数器的数值远等于失败计数器的数值或与其相差不大时,可以认为快照一致性级别为中等文件一致性级别;当成功计数器的数值远小于或者小于失败计数器的数值时,可以认为快照一致性级别为不良文件一致性级别。应当理解,可以通过设置数值比例阈值之类的方法来将文件一致性级别划分成任意数目的子级别。
根据本公开的实施例,在确定了生成的虚拟机快照的快照一致性级别后,虚拟机120的管理员、用户或者使用者可以针对不同快照一致性级别的虚拟机快照执行不同的操作。管理员、用户或者使用者可以在请求进行虚拟机备份时同时指定针对不同快照一致性级别所要执行的不同操作。这时,虚拟机备份/恢复系统110在生成了虚拟机快照并确定了生成的虚拟机快照的快照一致性级别后,将自动针对该虚拟机快照执行指定的操作。
通过以上参考图1至图3的描述,可以看出,根据本公开的实施例的技术方案相对于现有技术具有诸多优点。使用本公开的实施例的技术方案,可以克服现有技术中的针对一些虚拟机软件或一些虚拟机软件的不同版本(例如,VMware 6.0以及更低版本,以及VMware 6.5以及更高版本)无法确定生成的虚拟机快照的快照一致性级别的问题。同时,使用本公开的实施例的技术方案可以针对一些虚拟机软件或一些虚拟机软件的不同版本、采取统一的方法来确定生成的虚拟机快照的快照一致性级别。再次,通过正确地确定生成的虚拟机快照的快照一致性级别,可以采取向用户报告或者自动执行的方式来选择适当的虚拟机快照并且执行适当的备份后操作,从而可以使得虚拟机备份/恢复系统110的恢复效果最大化。最后,本公开的实施例的技术方案还具有简洁和高效的优点。
图4图示出了可以用来实施本公开内容的实施例的示例设备400的示意性框图。如图所示,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和300,可由处理单元401执行。例如,在一些实施例中,方法200和300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序被加载到RAM 403并由CPU 401执行时,可以执行上文描述方法200和300的一个或多个动作。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是、但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种确定虚拟机快照的一致性级别的方法,包括:
获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,所述备份日志文件包括与所述虚拟机快照的生成有关的日志信息;
基于所述备份日志文件,确定所述虚拟机快照的一致性级别,所述一致性级别指示所述虚拟机快照表示的虚拟机的状态与在生成所述虚拟机快照时所述虚拟机的实际状态之间的匹配程度,并且所述一致性级别包括至少三个级别:故障一致性级别、文件一致性级别和应用一致性级别;以及
向所述虚拟机的用户发送关于所述一致性级别的信息,
其中确定所述虚拟机快照的所述一致性级别包括:
确定所述备份日志文件中的与所述虚拟机备份过程中的写入操作有关的至少一个项目;以及
通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别。
2.根据权利要求1所述的方法,其中获得所述虚拟机快照的所述备份日志文件包括:
获得与所述虚拟机快照相关地生成的日志压缩文件;以及
对所述日志压缩文件解压缩,以获得所述备份日志文件。
3.根据权利要求1所述的方法,其中通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别包括:
响应于与所述至少一个项目中的所有项目相对应的内容均被成功备份,将所述一致性级别确定为应用一致性级别;
响应于与所述至少一个项目中的部分项目相对应的内容被成功备份,将所述一致性级别确定为文件一致性级别;以及
响应于与所述至少一个项目中的所有项目相对应的内容均未被成功备份,将所述一致性级别确定为故障一致性级别。
4.根据权利要求1所述的方法,还包括:
响应于未成功获得所述备份日志文件,将所述一致性级别确定为故障一致性级别。
5.根据权利要求1所述的方法,还包括:
基于所述一致性级别,使用所述虚拟机快照执行以下操作中的至少一项:日志截断,云灾难恢复,以及虚拟机恢复。
6.根据权利要求1所述的方法,还包括:
接收指定与不同的一致性级别相对应的操作的指示,所述操作包括以下至少一项:日志截断,云灾难恢复,以及虚拟机恢复;以及
执行所述指示中指定的、与确定的所述虚拟机快照的所述一致性级别相对应的操作。
7.一种确定虚拟机快照的一致性级别的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行方法,所述方法包括:
获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,所述备份日志文件包括与所述虚拟机快照的生成有关的日志信息;
基于所述备份日志文件,确定所述虚拟机快照的一致性级别,所述一致性级别指示所述虚拟机快照表示的虚拟机的状态与在生成所述虚拟机快照时所述虚拟机的实际状态之间的匹配程度,并且所述一致性级别包括至少三个级别:故障一致性级别、文件一致性级别和应用一致性级别;以及
向所述虚拟机的用户发送关于所述一致性级别的信息,
其中确定所述虚拟机快照的所述一致性级别包括:
确定所述备份日志文件中的与所述虚拟机备份过程中的写入操作有关的至少一个项目;以及
通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别。
8.根据权利要求7所述的设备,其中获得所述虚拟机快照的所述备份日志文件包括:
获得与所述虚拟机快照相关地生成的日志压缩文件;以及
对所述日志压缩文件解压缩,以获得所述备份日志文件。
9.根据权利要求7所述的设备,其中通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别包括:
响应于与所述至少一个项目中的所有项目相对应的内容均被成功备份,将所述一致性级别确定为应用一致性级别;
响应于与所述至少一个项目中的部分项目相对应的内容被成功备份,将所述一致性级别确定为文件一致性级别;以及
响应于与所述至少一个项目中的所有项目相对应的内容均未被成功备份,将所述一致性级别确定为故障一致性级别。
10.根据权利要求7所述的设备,其中所述方法还包括:
响应于未成功获得所述备份日志文件,将所述一致性级别确定为故障一致性级别。
11.根据权利要求7所述的设备,其中所述方法还包括:
基于所述一致性级别,使用所述虚拟机快照执行以下操作中的至少一项:日志截断,云灾难恢复,以及虚拟机恢复。
12.根据权利要求7所述的设备,其中所述方法还包括:
接收指定与不同的一致性级别相对应的操作的指示,所述操作包括以下至少一项:日志截断,云灾难恢复,以及虚拟机恢复;以及
执行所述指示中指定的、与确定的所述虚拟机快照的所述一致性级别相对应的操作。
13.一种非瞬态计算机可读介质,存储指令集,所述指令集在被执行使得机器执行方法的步骤,所述方法包括:
获得在虚拟机备份过程中所生成的虚拟机快照的备份日志文件,所述备份日志文件包括与所述虚拟机快照的生成有关的日志信息;
基于所述备份日志文件,确定所述虚拟机快照的一致性级别,所述一致性级别指示所述虚拟机快照表示的虚拟机的状态与在生成所述虚拟机快照时所述虚拟机的实际状态之间的匹配程度,并且所述一致性级别包括至少三个级别:故障一致性级别、文件一致性级别和应用一致性级别;以及
向所述虚拟机的用户发送关于所述一致性级别的信息,
其中确定所述虚拟机快照的所述一致性级别包括:
确定所述备份日志文件中的与所述虚拟机备份过程中的写入操作有关的至少一个项目;以及
通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别。
14.根据权利要求13所述的非瞬态计算机可读介质,其中获得所述虚拟机快照的所述备份日志文件包括:
获得与所述虚拟机快照相关地生成的日志压缩文件;以及
对所述日志压缩文件解压缩,以获得所述备份日志文件。
15.根据权利要求13所述的非瞬态计算机可读介质,其中通过确定与所述至少一个项目相对应的内容是否被成功备份,来确定所述一致性级别包括:
响应于与所述至少一个项目中的所有项目相对应的内容均被成功备份,将所述一致性级别确定为应用一致性级别;
响应于与所述至少一个项目中的部分项目相对应的内容被成功备份,将所述一致性级别确定为文件一致性级别;以及
响应于与所述至少一个项目中的所有项目相对应的内容均未被成功备份,将所述一致性级别确定为故障一致性级别。
CN201810050354.5A 2018-01-18 2018-01-18 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品 Active CN110058962B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810050354.5A CN110058962B (zh) 2018-01-18 2018-01-18 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品
US16/251,391 US11468010B2 (en) 2018-01-18 2019-01-18 Method, apparatus, and compute program product for determining consistence level of snapshots of virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810050354.5A CN110058962B (zh) 2018-01-18 2018-01-18 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110058962A CN110058962A (zh) 2019-07-26
CN110058962B true CN110058962B (zh) 2023-05-23

Family

ID=67212921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810050354.5A Active CN110058962B (zh) 2018-01-18 2018-01-18 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11468010B2 (zh)
CN (1) CN110058962B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663092B2 (en) 2019-04-30 2023-05-30 Rubrik, Inc. Systems and methods for continuous data protection
US11663089B2 (en) 2019-04-30 2023-05-30 Rubrik, Inc. Systems and methods for continuous data protection
US11500664B2 (en) 2019-04-30 2022-11-15 Rubrik, Inc. Systems and method for continuous data protection and recovery by implementing a set of algorithms based on the length of I/O data streams
US11609775B2 (en) * 2019-04-30 2023-03-21 Rubrik, Inc. Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points
US11841772B2 (en) * 2021-02-01 2023-12-12 Dell Products L.P. Data-driven virtual machine recovery

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086701A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 仮想計算機システム及び同システムにおける仮想マシン復元方法
US9734022B1 (en) * 2015-03-31 2017-08-15 EMC IP Holding Company LLC Identifying virtual machines and errors for snapshots

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412460B2 (en) * 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
CA2546304A1 (en) * 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
US20050154734A1 (en) * 2003-12-19 2005-07-14 International Business Machines Corporation Method and system for monitoring and reporting backup results
US20060206544A1 (en) * 2005-03-09 2006-09-14 Microsoft Corporation Automatic backup and restore system and method
US7617262B2 (en) * 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
US8407518B2 (en) * 2007-10-26 2013-03-26 Vmware, Inc. Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US8458419B2 (en) * 2008-02-27 2013-06-04 International Business Machines Corporation Method for application backup in the VMware consolidated backup framework
JP2009211401A (ja) * 2008-03-04 2009-09-17 Hitachi Ltd ストレージ装置及びその制御方法
US8359593B2 (en) * 2008-04-21 2013-01-22 Vmware, Inc. Computer machine migration of file system images using a redo-log file
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8037032B2 (en) * 2008-08-25 2011-10-11 Vmware, Inc. Managing backups using virtual machines
US8499297B2 (en) * 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
CN101403988B (zh) * 2008-11-05 2011-01-12 中国科学院计算技术研究所 一种计算机系统中文件备份的系统及方法
US8195980B2 (en) * 2009-03-31 2012-06-05 Oracle America, Inc. Virtual machine snapshotting and damage containment
US8122212B2 (en) * 2009-04-06 2012-02-21 Hitachi, Ltd. Method and apparatus for logical volume management for virtual machine environment
US8205050B2 (en) * 2009-04-14 2012-06-19 Novell, Inc. Data backup for virtual machines
JP2011034164A (ja) * 2009-07-30 2011-02-17 Hitachi Ltd リモートコピーシステム及びリモートコピー制御方法
US10210162B1 (en) * 2010-03-29 2019-02-19 Carbonite, Inc. Log file management
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US10114847B2 (en) * 2010-10-04 2018-10-30 Ca, Inc. Change capture prior to shutdown for later backup
US8495019B2 (en) * 2011-03-08 2013-07-23 Ca, Inc. System and method for providing assured recovery and replication
US8782003B1 (en) * 2011-05-13 2014-07-15 Emc Corporation Synchronization of storage using log files and snapshots
US10061650B2 (en) * 2011-06-06 2018-08-28 International Business Machines Corporation Priority based rebuilding
US8689047B2 (en) * 2011-07-22 2014-04-01 Microsoft Corporation Virtual disk replication using log files
US8516210B2 (en) * 2011-12-21 2013-08-20 Microsoft Corporation Application consistent snapshots of a shared volume
US8527462B1 (en) * 2012-02-09 2013-09-03 Microsoft Corporation Database point-in-time restore and as-of query
US9690791B1 (en) * 2013-11-18 2017-06-27 EMC IP Holding Company LLC Snapshot history map
US9740700B1 (en) * 2013-11-18 2017-08-22 EMC IP Holding Company LLC Snapshot map
WO2015074200A1 (zh) * 2013-11-20 2015-05-28 华为技术有限公司 一种生成快照的方法、系统和装置
US9842026B2 (en) * 2013-12-31 2017-12-12 Netapp, Inc. Snapshot-protected consistency checking file systems
US9639426B2 (en) * 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US10678550B2 (en) * 2014-01-24 2020-06-09 Nec Corporation Capturing snapshots of offload applications on many-core coprocessors
US20150227601A1 (en) * 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup
US9959177B2 (en) * 2014-02-27 2018-05-01 Red Hat Israel, Ltd. Backing up virtual machines
US9619342B2 (en) * 2014-06-24 2017-04-11 International Business Machines Corporation Back up and recovery in virtual machine environments
US10031917B2 (en) * 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US10073902B2 (en) * 2014-09-24 2018-09-11 Microsoft Technology Licensing, Llc Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
US20160188898A1 (en) * 2014-12-31 2016-06-30 Netapp, Inc. Methods and systems for role based access control in networked storage environment
US9672264B2 (en) * 2015-01-26 2017-06-06 Netapp, Inc. Method and system for backup verification
US10146635B1 (en) * 2015-06-30 2018-12-04 EMC IP Holding Company LLC Virtual machine backup
JP6665520B2 (ja) * 2015-12-17 2020-03-13 コニカミノルタ株式会社 画像形成装置およびプログラム
JP6642024B2 (ja) * 2016-01-19 2020-02-05 富士通株式会社 管理装置,管理方法および管理プログラム
US10621058B2 (en) * 2016-04-29 2020-04-14 Netapp Inc. Moving a consistency group having a replication relationship
CN106603279A (zh) * 2016-12-06 2017-04-26 华为技术有限公司 一种容灾方法和容灾系统
US10241869B2 (en) * 2017-03-08 2019-03-26 International Business Machines Corporation Managing a deletion of a volume referenced by a snapshot of a consistency group
US10949308B2 (en) * 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US10599524B2 (en) * 2017-04-28 2020-03-24 Veritas Technologies Llc Backup performance after backup failure
US10855554B2 (en) * 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
US11061777B2 (en) * 2018-07-30 2021-07-13 Nutanix, Inc. Method and product for implementing application consistent snapshots of a sharded relational database across two or more storage clusters
US10740187B1 (en) * 2019-01-31 2020-08-11 EMC IP Holding Company LLC Systems and methods of managing and creating snapshots in a cache-based storage system
US11151000B2 (en) * 2019-04-30 2021-10-19 Rubrik, Inc. Systems and methods for continuous data protection with near zero recovery point

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086701A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 仮想計算機システム及び同システムにおける仮想マシン復元方法
US9734022B1 (en) * 2015-03-31 2017-08-15 EMC IP Holding Company LLC Identifying virtual machines and errors for snapshots

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OceanBase一致性与可用性分析;周欢等;《华东师范大学学报(自然科学版)》(第5期);103-116 *
Remus: high availability via asynchronous virtual machine replication;Brendan Cully等;《Proceedings of the 5th USENIX Symposium on Networked Systems Design and ImplementationApril 2008》;161-174 *

Also Published As

Publication number Publication date
US11468010B2 (en) 2022-10-11
CN110058962A (zh) 2019-07-26
US20190220444A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
CN110058962B (zh) 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品
US10437703B2 (en) Correlation of source code with system dump information
CN108664359B (zh) 一种数据库恢复方法、装置、设备及存储介质
US7650356B2 (en) Generating an optimized restore plan
CN106951345B (zh) 一种虚拟机磁盘数据的一致性测试方法及装置
US20110296237A1 (en) Selecting a data restore point with an optimal recovery time and recovery point
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
US7624309B2 (en) Automated client recovery and service ticketing
KR20150070134A (ko) 가상 데이터베이스를 생성하기 위한 소스 데이터베이스의 지정 시간 복사의 검색
US10402279B2 (en) Optimization to permit block based incremental backup across system reboot or crash
US10241867B2 (en) Journal-less recovery for nested crash-consistent storage systems
US9354964B2 (en) Tag based selection of test scripts for failure analysis
US20190227710A1 (en) Incremental data restoration method and apparatus
US11281623B2 (en) Method, device and computer program product for data migration
US20190325043A1 (en) Method, device and computer program product for replicating data block
CN114490677A (zh) 数据分析系统中的数据同步
CN106528322B (zh) 检测数据的无记载损坏的方法和设备
US20210208923A1 (en) Method and apparatus for handling memory failure, electronic device and storage medium
US9031969B2 (en) Guaranteed in-flight SQL insert operation support during an RAC database failover
CN111104248A (zh) 用于验证缓存文件的方法、设备和计算机程序产品
US9098446B1 (en) Recovery of corrupted erasure-coded data files
US20220100707A1 (en) Method, electronic device, and computer program product for managing file system
US7296193B2 (en) Technique for processing an error using write-to-operator-with-reply in a ported application
US20200133792A1 (en) Method, apparatus, and computer program product for managing virtual machine
CN106293897B (zh) 组件自动化调度系统

Legal Events

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