CN111104252B - 用于混合磁盘环境中的数据备份的系统和方法 - Google Patents

用于混合磁盘环境中的数据备份的系统和方法 Download PDF

Info

Publication number
CN111104252B
CN111104252B CN201910957209.XA CN201910957209A CN111104252B CN 111104252 B CN111104252 B CN 111104252B CN 201910957209 A CN201910957209 A CN 201910957209A CN 111104252 B CN111104252 B CN 111104252B
Authority
CN
China
Prior art keywords
disk
backup
virtual
physical
virtual disk
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
CN201910957209.XA
Other languages
English (en)
Other versions
CN111104252A (zh
Inventor
沙莱丝·T·斯里尼凡森
苏拉什·D·维萨尔卡
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
Publication of CN111104252A publication Critical patent/CN111104252A/zh
Application granted granted Critical
Publication of CN111104252B publication Critical patent/CN111104252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/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/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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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

用于混合磁盘环境中的数据备份的系统和方法。一种托管虚拟机的生产主机包含物理磁盘和备份代理。所述物理磁盘由所述虚拟机中的一虚拟机利用。所述备份代理:获得备份生成请求;进行所述备份生成请求会影响所述物理磁盘的第一确定;响应于所述第一确定:生成用于所述物理磁盘的镜像虚拟磁盘;生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;以及将所述镜像虚拟磁盘的所述备份存储在备份存储装置中。

Description

用于混合磁盘环境中的数据备份的系统和方法
背景技术
计算装置可以在其操作期间生成数据。例如,由计算装置托管的应用程序可以生成由应用程序用来执行其功能的数据。这些数据可以存储在计算装置的永久性存储装置中。永久性存储装置可以是硬盘驱动器。
发明内容
在一个方面,根据本发明的一个或多个实施例的托管虚拟机的生产主机包含由所述虚拟机中的一虚拟机使用的物理磁盘和备份代理,所述备份代理:获得备份生成请求;进行所述备份生成请求会影响所述物理磁盘的第一确定;响应于所述第一确定:生成用于所述物理磁盘的镜像虚拟磁盘;生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;以及将所述镜像虚拟磁盘的所述备份存储在备份存储装置中。
在一个方面,根据本发明的一个或多个实施例的用于管理虚拟机的方法包含:获得所述虚拟机中的一虚拟机的备份生成请求;进行所述备份生成请求会影响由所述虚拟机利用的物理磁盘的第一确定;响应于所述第一确定:生成用于所述物理磁盘的镜像虚拟磁盘;生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;以及将所述镜像虚拟磁盘的所述备份存储在备份存储装置中。
在一个方面,根据本发明的一个或多个实施例的非暂时性计算机可读介质包含计算机可读程序代码,其在由计算机处理器执行时使得所述计算机处理器执行用于管理虚拟机的方法,所述方法包含:获得所述虚拟机中的一虚拟机的备份生成请求;进行所述备份生成请求会影响由所述虚拟机利用的物理磁盘的第一确定;响应于所述第一确定:生成用于所述物理磁盘的镜像虚拟磁盘;生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;以及将所述镜像虚拟磁盘的所述备份存储在备份存储装置中。
附图说明
将参考附图描述本发明的某些实施例。然而,所述附图仅通过实例说明本发明的某些方面或实施方案,且并不打算限制权利要求书的范围。
图1展示根据本发明的一个或多个实施例的系统的图。
图2展示根据本发明的一个或多个实施例的实例生产主机的图。
图3展示根据本发明的一个或多个实施例的实例远程代理的图。
图4.1展示根据本发明的一个或多个实施例的说明物理磁盘与镜像虚拟磁盘之间的关系的第一关系图。
图4.2展示根据本发明的一个或多个实施例的说明虚拟机与不同类型的磁盘之间的关系的第二关系图。
图5.1展示根据本发明的一个或多个实施例的生成虚拟机的备份的方法的流程图。
图5.2展示根据本发明的一个或多个实施例的生成镜像虚拟磁盘的方法的流程图。
图5.3展示图5.2的流程图的继续部分。
图6.1展示在第一时间点的实例系统的图。
图6.2展示在第二时间点的图6.1的实例系统的图。
图6.3展示在第三时间点的图6.1的实例系统的图。
图6.4展示在第四时间点的图6.1的实例系统的图。
图7展示根据本发明的一个或多个实施例的计算装置的图。
具体实施方式
现将参考附图来描述具体实施例。在以下描述中,将众多细节阐述为本发明的实例。所属领域的技术人员应理解,可在无这些具体细节的情况下实践本发明的一或多个实施例,并且在不脱离本发明的范围的情况下,众多变化或修改可为可能的。省略所属领域的一般技术人员已知的某些细节,以避免混淆描述。
在所述图的以下描述中,在本发明的各种实施例中,关于一个图描述的任一组件可等效于关于任一其它图描述的一个或多个相似命名的组件。为简洁起见,将不关于每一个图来重复此等组件的描述。因此,每一图的组件的每个实施例被以引用的方式并入,且假定为任选地存在于具有一个或多个相似命名的组件的每一其它图内。另外,根据本发明的各种实施例,图的组件的任何描述应被解释为任选实施例,其可除了关于任一其它图中的对应的相似命名的组件描述的实施例外再实施,与所述实施例一起实施,或代替所述实施例加以实施。
一般而言,本发明的实施例涉及用于管理分布式环境中的虚拟机的系统、装置和方法。更具体地说,本发明的实施例可以提供一种用于生成虚拟机的备份的方法,而不管利用哪种类型的磁盘虚拟机。
在本发明的一个或多个实施例中,虚拟机可以利用物理磁盘或虚拟磁盘。例如,当使用原始装置映射(RDM)映射物理磁盘时,虚拟机可以利用物理磁盘。在这种场景中,卷可以将其自身呈现为虚拟机的虚拟化磁盘,但可以映射到物理装置。在映射到物理装置时,可以将对卷的读取和写入指向所映射的物理装置。
在本发明的一个或多个实施例中,托管虚拟机的实体包含识别卷是虚拟磁盘还是实际上是物理磁盘的功能性。当托管虚拟机的实体识别出所述卷是物理磁盘时,所述实体可以采取措施以确保可以生成物理磁盘的备份。在本发明的一个或多个实施例中,所述实体通过生成物理磁盘的镜像虚拟磁盘而采取行动。镜像虚拟磁盘可以是包含与物理磁盘相同的数据但实施为逻辑磁盘的虚拟磁盘。通过这样做,实体可以使用镜像虚拟磁盘生成虚拟机的备份。
在本发明的一个或多个实施例中,镜像虚拟磁盘实施为瘦虚拟磁盘。接着,可以仅为虚拟磁盘分配足够的存储资源来托管存储在对应物理磁盘中的实际数据。换句话说,虚拟磁盘的大小可以小于物理磁盘,并且可以仅分配足以存储在物理磁盘中存储的数据的最小量的存储资源。
图1展示根据本发明的一个或多个实施例的实例系统。所述系统可以包含从生产主机(130)托管的虚拟机获得服务的客户端(140)。例如,生产主机(130) 可以托管托管应用程序的虚拟机。客户端(140)可以利用应用程序的应用程序服务。应用程序可以是例如数据库应用程序、电子通信应用程序、文件存储应用程序或可以向客户端(140)提供服务的任何其它类型的应用程序。通过利用这些服务,与客户端(140)相关的数据可以存储在生产主机(130)中。
为了提高存储在生产主机(130)中的数据可用于未来使用的可能性,可以生成生产主机(130)的备份并且将其存储在备份存储装置(120)中。生产主机(130)中的一个的备份可以包含可以用于将生产主机或由生产主机托管的实体恢复到先前状态的数据。
所述系统还可以包含对生产主机(130)提供备份服务的远程代理(110)。备份服务可以包含为生产主机(130)生成备份并且将其存储在存储装置(120) 中。备份服务还可以包含使用存储在备份存储装置(120)中的备份来执行生产主机(130)的恢复。执行生产主机(例如,130A、130N)的恢复,其使生产主机或由生产主机托管的实体返回到先前状态。
图1中所说明的系统的组件可以经由有线和/或无线网络的任何组合可操作地彼此连接和/或可操作地连接到其它实体(未展示)。在下文论述图1中所说明的系统的每个组件。
客户端(140)可以是计算装置。计算装置可以是例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器或云资源。所述计算装置可以包含一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。所述永久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使所述计算装置执行在本申请中描述的功能和/或在图5.1-5.3中所说明的方法的全部或一部分。在不脱离本发明的情况下,客户端(140)可以是其它类型的计算装置。关于计算装置的额外细节,请参考图7。
在不脱离本发明的情况下,客户端(140)可以是逻辑装置。例如,客户端 (140)可以是利用任何数目个物理计算装置的计算资源来提供客户端(140)的功能性的虚拟机。
在本发明的一个或多个实施例中,客户端(140)利用由生产主机(130) 提供的应用程序服务。例如,客户端(140)可以利用数据库服务、电子通信服务、文件存储服务或由生产主机(130)托管的应用程序提供的任何其它类型的计算机实施的服务。通过利用上述服务,可以将与客户端(140)相关的数据存储为由生产主机(130)托管的应用程序的应用程序数据的部分。
例如,考虑此类场景:客户端通过将图像上载到由生产主机(130)托管的应用程序来利用由生产主机(130)的应用程序提供的文件存储服务。响应于接收到上载的图像,应用程序可以在生产主机(130)中在本地存储图像的副本。在未来时间点,上载图像的客户端或另一实体可能希望从生产主机(130)检索图像的副本,并且由此呈现存储在生产主机(130)中以与客户端(140)相关的数据,即生产主机(130)的图像类别的副本。本发明的一个或多个实施例可以提高在未来时间点可从生产主机(130)检索与客户端(140)相关并且存储在生产主机(130)中的数据的可能性。本发明的实施例可以通过生成生产主机或生产主机的部分的备份并且将其存储在备份存储装置(120)中来提供此类功能性。
在本发明的一个或多个实施例中,生产主机(130)是计算装置。计算装置可以是例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。所述计算装置可以包含一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。所述永久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使所述计算装置执行在本申请中描述的功能和/ 或在图5.1-5.3中所说明的方法的全部或一部分。在不脱离本发明的情况下,生产主机(130)可以是其它类型的计算装置。关于计算装置的额外细节,请参考图7。
在本发明的一个或多个实施例中,生产主机(130)为分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的物理计算装置的计算资源的逻辑装置提供的功能性。例如,在本发明的一个或多个实施例中,生产主机(130)可以是分布式装置,其包含跨任何数目个单独和 /或截然不同的计算装置分布的组件。在这种场景中,在不脱离本发明的情况下,生产主机(130)的功能性可以由多个不同计算装置执行。
在不脱离本发明的情况下,根据本发明的一个或多个实施例的系统可以包含任何数目个生产主机(例如,130A、130N)。例如,系统可以包含单个生产主机(例如,130A)或多个生产主机(例如,130A、130N)。
在本发明的一个或多个实施例中,生产主机(130)向客户端(140)提供服务。服务可以是任何类型的计算机实施的服务,例如数据库服务、电子通信服务、数据存储服务和/或即时消息接发服务。当向客户端(140)提供此类服务时,与客户端(140)相关的数据可以存储在生产主机(130)的永久性存储装置中。
在本发明的一个或多个实施例中,生产主机(130)执行备份服务,例如将备份存储在备份存储装置(120)中。通过将备份存储在备份存储装置(120) 中,存储在生产主机(130)的永久性存储装置中的数据的副本可以冗余地存储在备份存储装置(120)中。通过在生产主机(130)和备份存储装置(120)中冗余地存储数据的副本,可能更有可能能够在未来时间点检索所存储的数据。例如,如果生产主机(例如,130A)遭受灾难性故障,则生产主机永久性存储装置上的数据可能丢失。然而,因为数据的副本可以存储在备份存储装置(120)中,所以可能有可能在灾难性故障之后检索数据以供使用。因此,本发明的实施例可以提高分布式系统中的数据存储的可靠性。
在本发明的一个或多个实施例中,生产主机(130)向由生产主机(130) 托管的虚拟机或其它实体提供多种类型的数据存储服务。例如,生产主机(130) 可以向所托管实体提供虚拟化磁盘服务。在另一实例中,生产主机(130)可以向所托管实体提供物理磁盘服务。物理磁盘服务可以是例如原始装置映射,其使得所托管实体能够直接存取物理磁盘。相比之下,虚拟化磁盘服务可能仅提供对存储资源的逻辑存取。
在本发明的一个或多个实施例中,生产主机(130)为虚拟化磁盘和物理磁盘两者提供备份服务。相比之下,传统的分布式系统可能仅为虚拟化磁盘提供备份服务。因此,本发明的实施例可以为物理磁盘提供当前分布式系统不提供的新类别的存储服务。
在本发明的一个或多个实施例中,生产主机(130)在远程代理(110)的指导下执行备份服务。例如,远程代理(110)可以向生产主机(130)发送关于备份服务的性能的指令。响应于接收到指令,生产主机(130)可以根据所接收的指令执行备份服务。
关于生产主机(130)的额外细节,请参考图2。
在本发明的一个或多个实施例中,备份存储装置(120)是计算装置。计算装置可以是例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。所述计算装置可以包含一个或多个处理器、存储器 (例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。所述永久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使所述计算装置提供通过本申请描述的备份存储装置(120)的功能性和在图5.1–5.3中所说明的方法的全部或一部分。在不脱离本发明的情况下,备份存储装置(120)可以是其它类型的计算装置。关于计算装置的额外细节,请参考图7。
在本发明的一个或多个实施例中,备份存储装置(120)是分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。例如,在本发明的一个或多个实施例中,备份存储装置(120)可以是分布式装置,其包含跨任何数目个单独和/或截然不同的计算装置分布的组件。在这种场景中,在不脱离本发明的情况下,备份存储装置(120)的功能性可以由多个不同计算装置执行。
在本发明的一个或多个实施例中,备份存储装置(120)向生产主机(130) 提供数据存储服务。数据存储服务可以包含存储由生产主机(130)提供的数据以及将先前存储的数据提供给生产主机(130)。在不脱离本发明的情况下,系统可以包含任何数目个备份存储装置(例如,120A、120N)。例如,根据本发明的实施例的系统可以仅包含单个备份存储装置(例如,120A),或可以包含多个备份存储装置(例如,120A、120N)。
在本发明的一个或多个实施例中,由备份存储装置(120)存储的数据包含由生产主机(130)托管的虚拟机和/或应用程序的备份。例如,生产主机(130) 可以托管托管数据库应用程序的虚拟机。为了生成数据库的备份,可以生成托管数据库的虚拟机的备份,并且将其发送到备份存储装置(120)以进行存储。在未来时间点,可能需要将数据库应用程序管理的数据库的状态恢复到先前状态。为此,可以检索存储在备份存储装置(120)中的先前存储的虚拟机的备份。检索到的备份可以用于将托管数据库的虚拟机恢复到与备份相关联的状态,即期望的先前状态。
另外,应用程序级备份可以存储在备份存储装置(120)中,而非存储在虚拟机级备份中。因此,可以相对于存储在生产主机(130)中的数据以任何粒度级别生成生产主机(130)的备份。
虽然上文描述为存储虚拟机、应用程序和/或生产主机(130)的备份,但在不脱离本发明的情况下,备份存储装置(120)可以存储来自生产主机(130) 或其它实体的其它类型的数据。例如,备份存储装置(120)可以存储来自客户端(140)或其它实体的档案或其它数据。
在本发明的一个或多个实施例中,远程代理(110)是计算装置。计算装置可以是例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。所述计算装置可以包含一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。所述永久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使所述计算装置提供通过本申请描述的远程代理 (110)的功能性和在图5.1–5.3中所说明的方法的全部或一部分。在不脱离本发明的情况下,远程代理(110)可以是其它类型的计算装置。关于计算装置的额外细节,请参考图7。
在本发明的一个或多个实施例中,远程代理(110)是分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。例如,在本发明的一个或多个实施例中,远程代理(110)可以是分布式装置,其包含跨任何数目个单独和/或截然不同的计算装置分布的组件。在这种场景中,在不脱离本发明的情况下,远程代理(110)的功能性可以由多个不同计算装置执行。
在本发明的一个或多个实施例中,远程代理(110)协调向生产主机(130) 提供备份服务。例如,远程代理(110)可以引发生产主机(130)的备份生成以及在备份存储装置(120)中存储所生成的备份的过程。另外,远程代理(110) 可以使用存储在备份存储装置(120)中的备份来协调生产主机(130)的恢复。例如,远程代理(110)可以引发从备份存储装置到生产主机的备份复制以及使用所复制的备份引发恢复。图1的系统可以包含任何数目个远程代理(例如,110A、110N)。
在本发明的一个或多个实施例中,远程代理(110)通过向分布式系统的其它实体发送指令以协调向生产主机(130)提供备份服务来提供备份生成服务。例如,远程代理(110)可以发送包含将由图1的系统的其它组件形成的指令或动作的消息。指令可以是例如何时生成备份、何处存储备份、何时执行恢复,和/或哪些备份执行恢复。在不脱离本发明的情况下,指令可以指定所采取的其它动作。图1的系统的其它组件可以被编程以响应于接收到指令而执行由指令指定的动作和/或向远程代理(110)提供预定信息。
在本发明的一个或多个实施例中,远程代理(110)可以基于存储在永久性存储装置中的策略来协调向生产主机(130)提供备份服务。策略可以指定生成备份和使用备份执行恢复的步骤。此外,策略可以指定何时生成备份、何处存储所生成的备份以及所生成的备份的保留时间。在不脱离本发明的情况下,策略可以指定关于备份的生命周期和/或使用的额外信息。关于远程代理(110) 的额外详情,请参考图3。
虽然图1的系统为了简洁起见而已描述和说明为包含有限数目个组件,但在不脱离本发明的情况下,根据本发明的实施例的系统可以包含比图1中所说明的组件更多、更少和/或不同的组件。
如上所述,生产主机可以托管向客户端提供服务的虚拟机、应用程序或其它实体。图2展示根据本发明的一个或多个实施例的实例生产主机(200)的图。实例生产主机(200)可以类似于任何生产主机(130,图1)。如上文所论述,实例生产主机(200)可以:(i)向客户端提供应用程序服务,(ii)使用物理和逻辑数据存储装置向提供应用程序服务的实体提供数据存储服务,和/或(iii) 向提供应用程序服务的实体提供备份服务。
为了提供实例生产主机(200)的上述功能性,实例生产主机(200)可以包含虚拟机(210)、监控程序(220)、生产代理(230)、本机虚拟磁盘(232)、物理磁盘(234)和镜像虚拟磁盘(236)。下文论述实例生产主机(200)的每一组件。
虚拟机(210)可以是应用程序。例如,虚拟机(210)可以是使用实例生产主机(200)的物理计算资源执行的应用程序。换句话说,虚拟机(210)中的每一个可以实施为存储在永久性存储装置上的计算机指令,当由实例生产主机(200)的处理器执行时,所述计算机指令可以产生相应虚拟机的功能性。在不脱离本发明的情况下,实例生产主机(200)可以托管任何数目个虚拟机(例如,210A、210N)。
虚拟机(210)中的每一个可以托管任何数目个应用程序。应用程序可以向客户端或其它实体提供应用程序服务。例如,应用程序可以是数据库应用程序、电子通信应用程序、文件共享应用程序和/或其它类型的应用程序。在不脱离本发明的情况下,虚拟机(210)中的每一个可以托管任何数目个应用程序。
应用程序中的每一个可以执行类似或不同的功能。例如,第一应用程序可以是数据库应用程序,并且第二应用程序可以是电子通信应用程序。在另一实例中,第一应用程序可以是数据库应用程序的第一例子,并且第二应用程序可以是数据库应用程序的第二例子。
在本发明的一个或多个实施例中,应用程序的全部或部分向客户端提供应用程序服务。所提供的服务可以对应于应用程序中的每一个的应用程序类型。当向客户端提供应用程序服务时,与客户端相关的数据可以由应用程序接收和/ 或由应用程序生成。应用程序可以将此类相关数据存储为与存储资源中的相应应用程序相关联的应用程序数据的一部分,所述存储资源例如是本机虚拟磁盘 (232)、物理磁盘(234)或镜像虚拟磁盘(236)。
在本发明的一些实施例中,可以从实例生产主机(200)远程存储应用数据的部分或全部。例如,应用程序数据可以存储在不托管应用程序的第二生产主机或另一实体中。在不脱离本发明的情况下,应用数据可以存储在其它位置。
虽然上文已经将应用程序描述为由虚拟机(210)托管,但在不脱离本发明的情况下,应用程序可以不由虚拟机托管。例如,应用程序可以在实例生产主机(200)上在本机执行,而非在虚拟化资源中执行。
监控程序(220)可以管理虚拟机(210)的执行。监控程序(220)可实例化和/或终止虚拟机(210)中的任一个。监控程序(220)还可以将实例生产主机(200)的计算资源分配到虚拟机(210A、210N)中的每一个。
例如,监控程序(220)可以将本机虚拟磁盘(232)和/或物理磁盘(234) 的资源分配给虚拟机(210)。可以在虚拟机(例如,210A、210N)之间以任何方式任何方案分配这些磁盘的任何量的存储资源。
虽然关于存储资源进行了论述,但监控程序(220)可以将其它类型的计算资源分配给虚拟机(210)和/或由实例生产主机(200)托管的其它实体,而不脱离本发明。例如,监控程序(220)可以在虚拟机(210)和/或由实例生产主机(200)托管的其它实体之间分配处理器周期、存储器容量、存储器带宽和/ 或网络通信带宽。
在本发明的一个或多个实施例中,监控程序(220)是包含电路系统的硬件装置。监控程序(220)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,监控程序(220)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,监控程序(220)被实施为存储在永久性存储装置上的计算代码,其在由处理器执行时执行监控程序(220)的功能性。处理器可以是包含电路系统的硬件处理器,例如,中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
生产代理(230)可以在本地管理对虚拟机(210)的备份服务的提供。例如,生产代理(230)可以协调备份的生成和所生成的备份在备份存储装置中的存储。在本发明的一个或多个实施例中,生产代理(230)通过生成与物理磁盘 (234)相关联的镜像虚拟磁盘(236)来管理备份服务到虚拟机(210)的提供,所述物理磁盘的资源被分配给虚拟机(210)。如下文将论述,在本发明的一个或多个实施例中,生成非虚拟化磁盘的备份可能在计算上并不有效。例如,物理磁盘的底层结构可能不包含适当的元数据以促进有效的备份生成。为了提供有效的备份服务,生产代理(230)可以自动生成由虚拟机(210)利用的物理磁盘(234)的镜像虚拟磁盘(236),并且生成镜像虚拟磁盘(236)的备份以有效地生成物理磁盘(234)的备份。通过这样做,与用于在混合磁盘环境(例如物理磁盘由例如虚拟机的待备份实体利用的环境)中提供备份服务的当代方法相比时,本发明的实施例可以为利用物理磁盘的实体提供有效的备份生成服务。
为了提供备份服务,生产代理(230)可以包含以下功能:(i)生成虚拟机 (210)的备份,具体是通过(ii)生成由虚拟机(210)利用的本机虚拟磁盘(232) 的备份和由虚拟机(210)利用的物理磁盘(234)的备份。生成物理磁盘(234)、生产代理(230)的备份包含实例化与物理磁盘(234)相关联的镜像虚拟磁盘 (236)的功能性。通过这样做,生产代理(230)可以使用与物理磁盘相关联的镜像虚拟磁盘而非尝试生成物理磁盘本身的镜像来生成物理磁盘的备份。另外,生产代理(230)可以包含将所生成的备份存储在备份存储装置备份存储装置中的功能。备份存储装置可以远离实例生产主机(200)。
除了备份生成之外,由生产代理(230)提供的备份服务的提供还可以包含利用先前生成的备份来执行虚拟机(210)的恢复。执行虚拟机的恢复可以将虚拟机的状态复原到与恢复期间使用的备份相关联的先前状态。因此,本发明的实施例可以改善应用数据的完整性,因为只要已经生成适当的备份,就可以恢复应用数据(如果被破坏或丢失)。因此,本发明的实施例可以通过提供用于生成物理磁盘(234)的备份的有效机制来提高应用数据能够恢复的可能性,从而改善分布式系统中的数据完整性。
为了提供生产代理(230)的上文提到的功能性,生产代理(230)可以执行图5.1-5.3中所说明的方法的全部或一部分。
在本发明的一个或多个实施例中,生产代理(230)是硬化实体,即,不可由远离生产代理(230)正在其上执行的生产主机的实体修改。在本发明的一个或多个实施例中,生产代理(230)不可通过经由远程终端或其它配置实用程序修改设定或相关联的配置文件来配置。
在本发明的一个或多个实施例中,生产代理(230)是包含电路系统的硬件装置。生产代理(230)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,生产代理(230)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,生产代理(230)被实施为计算代码,其存储在永久性存储装置上,在由处理器执行时执行生产代理(230)的功能性。处理器可以是包含电路系统的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
本机虚拟磁盘(232)可以是逻辑存储资源。例如,本机虚拟磁盘(232) 可以是逻辑存储资源,其利用实例生产主机(200)的物理计算资源来向由实例生产主机(200)托管的实体提供数据存储服务。本机虚拟磁盘(232)可以向虚拟机(210)提供数据存储服务。
在本发明的一个或多个实施例中,为了向虚拟机(210)和/或其它实体提供数据存储服务的目的而分配本机虚拟磁盘(232)。例如,本机虚拟磁盘(232) 可以由网络管理员或其它实体设置,作为实例生产主机(200)的配置的一部分。
物理磁盘(234)可以是向虚拟机(210)和/或其它实体提供数据存储服务的物理装置。例如,物理磁盘(234)可以是硬盘驱动器、固态磁盘驱动器、磁带驱动器,或可以提供数据存储服务的永久性存储装置的任何其它类型和/或组合。
在本发明的一个或多个实施例中,物理磁盘(234)的至少一部分被直接映射以向虚拟机(210)提供数据存储服务。例如,虚拟机(210)可以直接在物理磁盘(234)中存储数据,而非通过利用物理磁盘(234)的物理资源的虚拟化资源。通过这样做,虚拟机(210)可以将应用数据存储在物理磁盘(234) 中。如上所述,在与生成虚拟化资源的备份(例如,本机虚拟磁盘(232)和/ 或镜像虚拟磁盘(236))相比时,生成物理磁盘(234)的备份可能会显著降低计算资源效率,或可能是不可能对。
镜像虚拟磁盘(236)可以是与本机虚拟磁盘(232)类似的逻辑资源。然而,镜像虚拟磁盘(236)可以被实例化以用于形成物理磁盘(234)中的数据的镜像,而非用于向虚拟机(210)提供数据存储服务。
在本发明的一个或多个实施例中,镜像虚拟磁盘(236)由生产代理(230) 实例化。例如,当要生成利用物理磁盘中的一个的虚拟机的备份时,镜像虚拟磁盘(236)可以由生产代理(230)实例化。在实例化之后,镜像虚拟磁盘(236) 可以继续存在。
在本发明的一个或多个实施例中,生产代理(230)生成镜像虚拟磁盘(236) 而非物理磁盘(234)的备份。例如,当要生成物理磁盘(234)中的一个的备份时,可以生成对应镜像虚拟磁盘的备份。
在本发明的一个或多个实施例中,在生成用于物理磁盘的镜像虚拟磁盘之后,镜像虚拟磁盘被视为主磁盘而非对应的物理磁盘。换句话说,一旦生成镜像虚拟磁盘,为了提高备份效率,可以将镜像虚拟磁盘映射为主磁盘,并且对应物理磁盘可以被映射为辅助磁盘。
虽然图2的实例生产主机(200)为了简洁起见而已经被描述和说明为包含有限数目个组件,但在不脱离本发明的情况下,根据本发明的实施例的生产主机可以包含比图2中所说明的组件更多、更少和/或不同的组件。
如上所述,生产主机可以在远程代理的指导下提供备份服务。图3展示根据本发明的一个或多个实施例的实例远程代理(300)的图。实例远程代理(300) 可以类似于远程代理(110,图1)中的任一个。如上所述,实例远程代理(300) 可以协调分布式环境内的备份和/或恢复的执行。
为了提供实例远程代理(300)的上述功能性,实例远程代理(300)可以包含备份管理器(310)和永久性存储装置(320)。下文论述实例生产主机(200) 的每一组件。
在本发明的一个或多个实施例中,备份管理器(310)协调分布式系统内的恢复和/或备份生成的执行。例如,备份管理器(310)可以向分布式系统的任何数目个组件发送指令。备份管理器(310)可以基于存储在永久性存储装置 (320)中的备份/恢复策略(322)来发送此类指令。
在本发明的一个或多个实施例中,备份管理器(310)是包含电路系统的硬件装置。备份管理器(310)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,备份管理器(310)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,备份管理器(310)被实施为存储在永久性存储装置上的计算代码,其在由处理器执行时执行备份管理器(310)的功能性。处理器可以是包含电路系统的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,永久性存储装置(320)是数据存储装置。例如,永久性存储装置(320)可以是硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或用于存储数据的任何其它物理存储介质的任何组合。
在本发明的一个或多个实施例中,永久性存储装置(320)存储备份/恢复策略(322)。这些策略可以是指定执行恢复和/或生成备份的工作流的数据结构。每个策略可以与生产主机和/或由生产主机托管的实体相关联。例如,策略可以与由生产主机托管的虚拟机相关联。在不脱离本发明的情况下,备份/恢复策略(322)可以包含任何数目个策略。
在本发明的一个或多个实施例中,工作流由策略指定,包含待以特定和/ 或条件性次序执行的任何数目个动作。例如,用于执行备份的工作流可以包含以下指令:将虚拟机置于预定状态、在处于预定状态时生成虚拟机的备份,以及将所生成的备份存储在特定备份存储装置中。在不脱离本发明的情况下,工作流可以包含任何数目个动作组合。
虽然图3的实例远程代理(300)为了简洁起见已经被描述和说明为包含有限数目个组件,但在不脱离本发明的情况下,根据本发明的实施例的远程代理可以包含比图3中所说明的组件更多、更少和/或不同的组件。
为了进一步阐明本发明的实施例的方面,根据本发明的实施例的关系图在图4.1-4.2中加以说明。
图4.1展示根据本发明的实施例的物理磁盘与镜像虚拟磁盘之间的关系的图。如图4.1中所见,每个镜像虚拟磁盘(例如,402)可以与对应物理磁盘(400) 相关联。例如,如上所述,可以相对于物理磁盘实例化镜像虚拟磁盘(402),以提高物理磁盘的备份生成的效率。换句话说,每个镜像虚拟磁盘可以与物理磁盘相关联,并且包含与物理磁盘相同的数据。因此,镜像虚拟磁盘可以包含形成存储在对应物理磁盘中的数据的镜像的数据。
图4.2展示根据本发明的一个或多个实施例的虚拟机和与虚拟机相关联的各种磁盘之间的关系的图。如图4.2中所见,虚拟机(410)可以与任何数目个虚拟磁盘(例如,412A、412N)、任何数目个物理磁盘(例如,414A、414O) 和任何数目个镜像磁盘(416A、416O)相关联。例如,虚拟机(410)可以与虚拟磁盘(412A、412N)、物理磁盘(414A、414O)和/或镜像虚拟磁盘(416A、416O)相关联。在本发明的一个或多个实施例中,每个物理磁盘可以有一个镜像磁盘。换句话说,可以为每个物理磁盘实例化一个镜像磁盘。通过这样做,本发明的实施例可以提供一种使用镜像虚拟磁盘生成物理磁盘的备份的方法,所述方法提高了备份生成的效率。
返回到图1,所述系统可以为生产代理提供备份服务的有效提供。图5.1-5.3 说明在提供份服务时可以由图1的系统的组件执行的方法。
图5.1展示根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5.1中描绘的方法可以用于提供备份服务。图5.1中展示的方法可以由例如生产主机(例如,130,图1)执行。在不脱离本发明的情况下,图1中所说明的系统的其它组件可以执行图5.1的方法的全部或一部分。
在步骤500中,获得备份生成请求。
在本发明的一个或多个实施例中,从远程代理获得备份生成请求。例如,远程代理可以向生产主机发送指令以生成备份。远程代理可以基于与生产主机相关联的策略向生产主机发送指令。例如,策略可以指定在特定时间点生成备份。
在步骤501中,确定备份生成请求是否影响物理磁盘。
如果物理磁盘由备份生成请求指定的实体利用,则备份生成请求可能会影响物理磁盘。例如,备份生成请求可以指定为特定实体生成备份。如果所识别的实体利用物理磁盘进行数据存储,则物理磁盘会受到影响。因此,可以分析由备份生成请求指定的实体(或多个指定实体)以识别实体为数据存储目的而利用了哪些磁盘。如果实体利用物理磁盘进行数据存储,则物理磁盘将被识别为受影响。
如果备份生成请求影响物理磁盘,则所述方法可以进行到步骤502。如果备份生成请求不影响任何物理磁盘,则所述方法进行到步骤503。
在步骤502中,生成物理磁盘的镜像虚拟磁盘。
在本发明的一个或多个实施例中,通过实例化虚拟化存储装置来生成镜像虚拟磁盘。在实例化之后,虚拟化存储装置可以填充有与物理磁盘托管的数据相对应的数据。换句话说,物理磁盘中的数据的副本可以存储在镜像虚拟磁盘中。
在本发明的一个或多个实施例中,映射镜像虚拟磁盘以用于物理磁盘的镜像形成。例如,对物理磁盘数据的改变也可以应用于待映射以形成物理磁盘的镜像的镜像虚拟磁盘。
在本发明的一个或多个实施例中,镜像虚拟磁盘被映射为待用于备份生成目的的磁盘而非物理磁盘。通过这样做,可以使用镜像虚拟磁盘生成物理磁盘的备份。因此,当生成物理磁盘的未来备份时,可以使用实例化的镜像虚拟磁盘来生成备份。
在本发明的一个或多个实施例中,在生成镜像磁盘之后,镜像虚拟磁盘被映射为主磁盘,并且物理磁盘被映射为辅助磁盘。通过这样做,镜像虚拟磁盘可以用于主存储装置,并且物理磁盘可以用于冗余目的而非主存储装置。
在本发明的一个或多个实施例中,物理磁盘的镜像虚拟磁盘是经由图4.2 中所说明的方法生成的。在不脱离本发明的情况下,可以经由其它方法生成物理磁盘的镜像虚拟磁盘。
在步骤504中,生成镜像磁盘的备份作为物理磁盘的备份。
在本发明的一个或多个实施例中,通过在预定时间段内识别对镜像磁盘的改变来执行生成镜像磁盘的备份作为物理磁盘的备份。例如,预定时间段可以是从先前生成物理磁盘的备份起。所生成的备份可以包含所识别的改变。
在本发明的一个或多个实施例中,在镜像虚拟磁盘的备份期间,通过生成镜像虚拟磁盘的映像来执行物理磁盘的备份。
在本发明的一个或多个实施例中,镜像虚拟磁盘的备份是包含可用于恢复目的的数据的数据结构。镜像虚拟磁盘的备份可以与所述时间段相关联。镜像虚拟磁盘的备份可以用作物理磁盘的备份。
在步骤506中,将镜像虚拟磁盘的备份存储在备份存储装置中。
在本发明的一个或多个实施例中,存储镜像虚拟磁盘的备份使备份与在步骤500中接收的备份生成请求指定的实体相关联。例如,任何数目个备份可以存储在备份存储装置中,每个备份存储装置与所述实体相关联。可以组合地或单独地使用任何数目个这些备份来执行实体的恢复。可以选择备份组合的数目以将实体的状态恢复到期望的状态。例如,备份的不同组合可用于将实体的状态恢复到不同的期望状态。
在步骤508中,在生成虚拟磁盘的镜像之后,将对物理磁盘的写入镜射到镜像虚拟磁盘。
在本发明的一个或多个实施例中,通过将镜像虚拟磁盘映射为主磁盘而将物理磁盘映射为辅助磁盘来镜像所述写入。在这种场景中,写入可以主要指向镜像虚拟磁盘并且冗余地指向辅助磁盘。
所述方法可以在步骤508后结束。
返回到步骤501,如果备份生成请求不影响物理磁盘,则所述方法可以进行到步骤503。
在步骤503中,生成本机虚拟磁盘的备份而不生成任何镜像虚拟磁盘。
在本发明的一个或多个实施例中,以与关于步骤504中论述的镜像虚拟磁盘的备份所描述的相同方式生成本机虚拟磁盘的备份。
所述方法可以在步骤503后结束。
图5.2展示根据本发明的一个或多个实施例的方法的流程图。图5.2中所描绘的方法可以用于生成根据本发明的一个或多个实施例的镜像虚拟磁盘。图5.2 中展示的方法可以由例如生产主机(例如,130,图1)执行。在不脱离本发明的情况下,图1中所说明的系统的其它组件可以执行图5.2的方法的全部或一部分。
在步骤510中,初始化虚拟磁盘。
在本发明的一个或多个实施例中,初始化虚拟磁盘包含将物理计算资源分配给虚拟磁盘。例如,可以将一个或多个物理磁盘的存储资源分配给虚拟磁盘。在本发明的一个或多个实施例中,物理计算资源被动态地分配给虚拟磁盘。例如,可以设置虚拟磁盘以使得存储资源能够随时间推移而添加到虚拟磁盘的计算资源中。通过这样做,可以在任何时间点仅将最小量的计算资源分配给虚拟磁盘。例如,虚拟磁盘可以仅包含与用于存储数据的物理磁盘的计算资源的量成比例的计算资源量。换句话说,计算资源分配给虚拟磁盘的总大小可能不与物理磁盘的总大小相同。而是,虚拟磁盘的大小可以仅对应于当前用于存储数据的物理磁盘的计算资源的量。
在本发明的一个或多个实施例中,初始化虚拟磁盘包含为虚拟磁盘指派识别符。识别符可以唯一地识别逻辑磁盘环境内的虚拟磁盘。
在步骤512中,确定物理磁盘的当前利用量。
在本发明的一个或多个实施例中,物理磁盘的利用量是通过识别物理磁盘的总大小、存储在物理磁盘中的数据量来确定的。存储在物理磁盘中的数据量可以用作物理磁盘的当前利用量。
在步骤514中,基于当前利用量将存储资源分配给虚拟磁盘以获得瘦虚拟磁盘。
在本发明的一个或多个实施例中,瘦虚拟磁盘是仅包含与另一磁盘的已用存储资源的量成比例的存储资源的存储资源。例如,物理磁盘可能包含100GB 的存储容量,并且物理磁盘分配给的虚拟机可能仅利用25GB的存储容量。在此实例中,可以仅为瘦磁盘分配25GB的存储容量,以匹配物理磁盘的已用存储容量。
在本发明的一个或多个实施例中,通过向监控程序发送请求来将存储资源分配给虚拟磁盘。作为响应,监控程序可以基于请求将计算资源指派给虚拟磁盘。
在步骤514后,所述方法可以进行到图5.3中的流程图。
图5.3展示根据本发明的一个或多个实施例的在图5.2中所说明的方法的继续部分的流程图。
在步骤520中,基于物理磁盘的数据填充瘦虚拟磁盘以获得镜像虚拟磁盘。
在本发明的一个或多个实施例中,通过在瘦虚拟磁盘中制作存储在物理磁盘中的数据的副本来填充瘦虚拟磁盘。通过这样做,瘦虚拟磁盘中的数据可以镜像物理磁盘中的数据。
在步骤522中,将镜像虚拟磁盘映射为来自物理磁盘的独立卷。
在本发明的一个或多个实施例中,通过将与物理磁盘的识别符分开的逻辑识别符指派给镜像虚拟磁盘,将镜像虚拟磁盘映射为独立卷。例如,可以在基于驱动器的存储架构中为镜像虚拟磁盘指派驱动器号。在不脱离本发明的情况下,将不同类型的识别符指派给镜像虚拟磁盘。
在步骤524中,将镜像虚拟磁盘映射到物理磁盘以进行备份生成。
在本发明的一个或多个实施例中,可以通过向托管利用物理磁盘的实体的生产代理发送通知来映射镜像虚拟磁盘。通知可以指定此映射。响应于接收到通知,生产代理更新指定哪些磁盘生成备份以用于备份生成目的的映射表或其它数据结构。通过这样做,当在未来生成实体的备份时,生成镜像虚拟磁盘的备份并且将其用作物理磁盘的备份。
所述方法可以在步骤524后结束。
为了进一步阐明本发明的实施例的方面,图6.1-6.4中说明非限制性实例。这些图中的每一个可以说明在备份生成期间的不同时间点的类似于图1中所说明的系统的系统。
实例
考虑图6.1中已说明的场景,其中远程代理(600)正在管理生产主机(610) 和备份存储装置的备份的生成和存储。生产主机(610)可以托管向客户端(未展示)提供服务的虚拟机(612)。
虚拟机(612)可以利用生产主机(610)的物理磁盘(614)。换句话说,可以为虚拟机(612)指派直接映射到物理磁盘而非物理磁盘的虚拟资源的逻辑卷。
在第一时间点,远程代理(600)获得生成虚拟机(612)的备份的请求。远程代理(600)基于虚拟机(612)的备份策略获得请求。备份策略指定在第一时间点生成虚拟机(612)的备份。
响应于获得所述请求,远程代理(600)向由生产主机(610)托管的生产代理(未展示)发送指令以生成虚拟机的备份。
响应于获得请求,生产代理识别出虚拟机(612)正在利用物理磁盘而非虚拟磁盘。在响应于所述确定,生产代理生成如图6.2中所说明的镜像虚拟磁盘 (616)。
在生成镜像虚拟磁盘(616)之后,生产主机(610)生成基于镜像虚拟磁盘的物理磁盘的第一虚拟机备份(622),如图6.3中所说明。基于镜像虚拟磁盘的物理磁盘的第一虚拟机备份(622)存储在备份存储装置(620)中。通过这样做,在与未将备份存储在远离生产主机的备份存储装置中的场景相比时,更有可能在未来检索虚拟机(612)的数据。
在将基于镜像虚拟磁盘的物理磁盘的第一虚拟机备份(622)存储到备份存储装置(620)中之后,远程代理(600)发送针对虚拟机(612)的第二备份生成请求。由于已经生成镜像虚拟磁盘(616),因此远程代理(600)生成基于镜像虚拟磁盘的物理磁盘的第二虚拟机备份(624),如在图6.4中所说明。因此,生成主机(610)的生产代理可以不生成用于物理磁盘(614)的额外镜像虚拟磁盘,以在生成镜像虚拟磁盘(616)之后生成后续备份。
实例的结束
图1中的任何组件可以实施为分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。如上文所论述,本发明的实施例可以使用计算装置实施。图7展示根据本发明的一个或多个实施例的计算装置的图。计算装置(700) 可以包含一个或多个电脑处理器(702)、非永久性存储装置(704)(例如,易失性存储器,例如随机存取存储器(RAM)、高速缓冲存储器)、永久性存储装置(706)(例如,硬盘、例如压缩光盘(CD)驱动器或数字通用光盘(DVD) 驱动器的光学驱动器、闪存等)、通信接口(712)(例如,蓝牙接口、红外线接口、网络接口、光接口等)、输入装置(710)、输出装置(708)和众多其它元件(未展示)和功能性。以下描述这些组件中的每一个。
在本发明的一个实施例中,计算机处理器(702)可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个核心或微核心。计算装置(700)还可以包含一个或多个输入装置(710),例如,触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其它类型的输入装置。另外,通信接口(712) 可以包含集成电路,其用于将计算装置(700)连接到网络(未展示)(例如,局域网(LAN)、例如因特网的广域网(WAN)、移动网络或任何其它类型的网络)和/或连接到另一装置(例如,另一计算装置)。
在本发明的一个实施例中,计算装置(700)可以包含一个或多个输出装置 (708),例如,屏幕(例如,液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监控器、投影仪或其它显示装置)、打印机、外部存储装置或任何其它输出装置。输出装置中的一个或多个可以与输入装置相同或不同。输入和输出装置可以在本地或远程连接到计算机处理器(702)、非永久性存储装置(704)和永久性存储装置(706)。存在许多不同类型的计算装置,且前述输入和输出装置可以采取其它形式。
本发明的实施例可以提供用于在分布式环境内提供备份服务的改善方法。例如,本发明的实施例可以提供用于生成利用物理磁盘的应用程序的备份的方法。所述方法可以包含生成虚拟化存储资源,其形成利用应用程序的物理磁盘的那些资源的镜像。在执行应用程序的备份生成时,可以基于镜像虚拟磁盘而非物理磁盘生成物理磁盘的备份。通过这样做,与不自动生成镜像虚拟化磁盘的当代系统相比,可以提高分布式系统的备份生成的效率。
因此,本发明的实施例可以解决由于利用多种类型的所有物理和虚拟化磁盘的分布式系统的技术环境而产生的问题。此外,本发明的实施例可以提供用于备份物理和虚拟化磁盘两者的统一方法。通过这样做,本发明的实施例可以为此问题提供架构不可知的解决方案。
上文所论述的问题应理解为由本文中所公开的本发明的实施例所解决的问题的实例,且本发明不应限于解决相同/类似问题。本发明大体上适用于解决超出本文中所论述的那些问题的一系列问题。
可使用由数据管理装置的一个或多个处理器执行的指令实施本发明的一个或多个实施例。另外,此类指令可以对应于存储于一个或多个非暂时性计算机可读介质上的计算机可读指令。
虽然上文已关于有限数目个实施例描述本发明,但具有本发明权益的所属领域的技术人员将了解,可设计不脱离如本文中所公开的本发明的范围的其它实施例。因此,本发明的范围应只受到随附权利要求书限制。

Claims (16)

1.一种托管虚拟机的生产主机,其包括:
由所述虚拟机中的一虚拟机使用的物理磁盘;
备份代理,其被编程为:
获得备份生成请求;
进行所述备份生成请求会影响所述物理磁盘的第一确定;
响应于所述第一确定:
生成用于所述物理磁盘的镜像虚拟磁盘,其中所述镜像虚拟磁盘包括镜像所述物理磁盘中的数据但被实施为逻辑磁盘的虚拟磁盘;
生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;
将所述镜像虚拟磁盘的所述备份存储在备份存储装置中;以及
在生成所述镜像虚拟磁盘之后:
将所述镜像虚拟磁盘映射为主磁盘,其中所述主磁盘用于对所述镜像虚拟磁盘的写入的主存储装置;以及
将所述物理磁盘映射为辅助磁盘,其中所述辅助磁盘用于所述镜像虚拟磁盘的冗余存储装置。
2.根据权利要求1所述的生产主机,其中所述备份代理进一步被编程为:
获得第二备份生成请求;
进行所述第二备份生成请求会影响所述物理磁盘的第二确定;
响应于所述第二确定:
生成所述镜像虚拟磁盘的第二备份作为所述物理磁盘的第二备份;以及
将所述镜像虚拟磁盘的所述第二备份存储在所述备份存储装置中。
3.根据权利要求1所述的生产主机,其中所述备份生成请求指定要生成所述虚拟机的备份。
4.根据权利要求1所述的生产主机,其中生成用于所述物理磁盘的所述镜像虚拟磁盘包括:
初始化虚拟磁盘;
确定所述物理磁盘的当前利用量;以及
基于所述当前利用量为所述虚拟磁盘分配存储资源,以获得瘦虚拟磁盘。
5.根据权利要求4所述的生产主机,其中所述瘦虚拟磁盘包括比所述物理磁盘少的存储资源。
6.根据权利要求4所述的生产主机,其中生成用于所述物理磁盘的所述镜像虚拟磁盘进一步包括:
基于所述物理磁盘的数据填充所述瘦虚拟磁盘,以获得镜像虚拟磁盘;
将所述镜像虚拟磁盘映射为所述物理磁盘的独立卷;以及
将所述镜像虚拟磁盘映射到所述物理磁盘以进行备份生成。
7.根据权利要求1所述的生产主机,其进一步包括:
由所述虚拟机中的第二虚拟机利用的本机虚拟磁盘。
8.根据权利要求7所述的生产主机,其中所述备份代理进一步被编程为:
获得所述第二虚拟机的第二备份生成请求;
进行所述第二备份生成请求不会影响任何物理磁盘的第二确定;以及
响应于所述第二确定:
使用所述本机虚拟磁盘生成所述第二虚拟机的备份,而不生成任何镜像虚拟磁盘。
9.一种用于管理虚拟机的方法,其包括:
获得所述虚拟机中的一虚拟机的备份生成请求;
进行所述备份生成请求会影响由所述虚拟机利用的物理磁盘的第一确定;
响应于所述第一确定:
生成用于所述物理磁盘的镜像虚拟磁盘,其中所述镜像虚拟磁盘包括镜像所述物理磁盘中的数据但被实施为逻辑磁盘的虚拟磁盘;
生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;
将所述镜像虚拟磁盘的所述备份存储在备份存储装置中;以及
在生成所述镜像虚拟磁盘之后:
将所述镜像虚拟磁盘映射为主磁盘,其中所述主磁盘用于对所述镜像虚拟磁盘的写入的主存储装置;以及
将所述物理磁盘映射为辅助磁盘,其中所述辅助磁盘用于所述镜像虚拟磁盘的冗余存储装置。
10.根据权利要求9所述的方法,其进一步包括:
获得第二备份生成请求;
进行所述第二备份生成请求会影响所述物理磁盘的第二确定;
响应于所述第二确定:
生成所述镜像虚拟磁盘的第二备份作为所述物理磁盘的第二备份;以及
将所述镜像虚拟磁盘的所述第二备份存储在所述备份存储装置中。
11.根据权利要求9所述的方法,其中所述备份生成请求指定要生成所述虚拟机的备份。
12.根据权利要求9所述的方法,其中生成用于所述物理磁盘的所述镜像虚拟磁盘包括:
初始化虚拟磁盘;
确定所述物理磁盘的当前利用量;以及
基于所述当前利用量为所述虚拟磁盘分配存储资源,以获得瘦虚拟磁盘。
13.一种非暂时性计算机可读介质,其包括计算机可读程序代码,所述计算机可读程序代码当由计算机处理器执行时使得所述计算机处理器能够执行用于管理虚拟机的方法,所述方法包括:
获得所述虚拟机中的一虚拟机的备份生成请求;
进行所述备份生成请求会影响由所述虚拟机利用的物理磁盘的第一确定;
响应于所述第一确定:
生成用于所述物理磁盘的镜像虚拟磁盘,其中所述镜像虚拟磁盘包括镜像所述物理磁盘中的数据但被实施为逻辑磁盘的虚拟磁盘;
生成所述镜像虚拟磁盘的备份作为所述物理磁盘的备份;
将所述镜像虚拟磁盘的所述备份存储在备份存储装置中;以及
在生成所述镜像虚拟磁盘之后:
将所述镜像虚拟磁盘映射为主磁盘,其中所述主磁盘用于对所述镜像虚拟磁盘的写入的主存储装置;以及
将所述物理磁盘映射为辅助磁盘,其中所述辅助磁盘用于所述镜像虚拟磁盘的冗余存储装置。
14.根据权利要求13所述的非暂时性计算机可读介质,其中所述方法进一步包括:
获得第二备份生成请求;
进行所述第二备份生成请求会影响所述物理磁盘的第二确定;
响应于所述第二确定:
生成所述镜像虚拟磁盘的第二备份作为所述物理磁盘的第二备份;以及
将所述镜像虚拟磁盘的所述第二备份存储在所述备份存储装置中。
15.根据权利要求13所述的非暂时性计算机可读介质,其中所述备份生成请求指定要生成所述虚拟机的备份。
16.根据权利要求13所述的非暂时性计算机可读介质,其中生成用于所述物理磁盘的所述镜像虚拟磁盘包括:
初始化虚拟磁盘;
确定所述物理磁盘的当前利用量;以及
基于所述当前利用量为所述虚拟磁盘分配存储资源,以获得瘦虚拟磁盘。
CN201910957209.XA 2018-10-26 2019-10-10 用于混合磁盘环境中的数据备份的系统和方法 Active CN111104252B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/172,617 2018-10-26
US16/172,617 US20200133801A1 (en) 2018-10-26 2018-10-26 System and method for data backup in mixed disk environment

Publications (2)

Publication Number Publication Date
CN111104252A CN111104252A (zh) 2020-05-05
CN111104252B true CN111104252B (zh) 2024-03-08

Family

ID=68158916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910957209.XA Active CN111104252B (zh) 2018-10-26 2019-10-10 用于混合磁盘环境中的数据备份的系统和方法

Country Status (3)

Country Link
US (1) US20200133801A1 (zh)
EP (1) EP3647953B1 (zh)
CN (1) CN111104252B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921586B2 (en) * 2022-03-03 2024-03-05 Dell Products L.P. Method and system for backing up virtual machines in a cluster shared volume

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
CN105446826A (zh) * 2014-06-30 2016-03-30 国际商业机器公司 虚拟机备份、恢复的方法及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8122212B2 (en) * 2009-04-06 2012-02-21 Hitachi, Ltd. Method and apparatus for logical volume management for virtual machine environment
JP5156682B2 (ja) * 2009-04-23 2013-03-06 株式会社日立製作所 ストレージシステムにおけるバックアップ方法
US8346727B1 (en) * 2010-03-15 2013-01-01 Symantec Corporation Optimized image archiving
US9116633B2 (en) * 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9727274B2 (en) * 2013-02-26 2017-08-08 Red Hat Israel, Ltd. Cloning live virtual machines
US9600203B2 (en) * 2014-03-11 2017-03-21 Amazon Technologies, Inc. Reducing data volume durability state for block-based storage
US10956041B2 (en) * 2014-06-26 2021-03-23 Vmware, Inc. Online snapshot consolidation using I/O mirroring
US20180032409A1 (en) * 2016-07-26 2018-02-01 Netapp, Inc. Backup and recovery of application data of an application executing in a virtual machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
CN105446826A (zh) * 2014-06-30 2016-03-30 国际商业机器公司 虚拟机备份、恢复的方法及设备

Also Published As

Publication number Publication date
CN111104252A (zh) 2020-05-05
US20200133801A1 (en) 2020-04-30
EP3647953A1 (en) 2020-05-06
EP3647953B1 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
US11467755B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
US10684791B2 (en) System and method for environment aware backup and restoration
US10572350B1 (en) System and method for improved application consistency in a distributed environment
EP3731099B1 (en) System and method for accelerating application service restoration
CN110413369B (zh) 用于虚拟化环境中的备份的系统和方法
US10503428B2 (en) System and method for concurrent multipoint backup
US10698719B2 (en) System and method for virtual machine restoration
CN111104252B (zh) 用于混合磁盘环境中的数据备份的系统和方法
CN110955558B (zh) 用于向高可用性应用程序提供备份服务的系统和方法
US11675665B2 (en) System and method for backup generation using composed systems
US11409613B1 (en) System and method for raw disk backup and recovery
US10776223B1 (en) System and method for accelerated point in time restoration
EP3591531B1 (en) Instant restore and instant access of hyper-v vms and applications running inside vms using data domain boostfs
US11687280B2 (en) Method and system for efficient servicing of storage access requests
US11768612B2 (en) System and method for distributed deduplication in a composed system
US11513915B2 (en) System and method for micro-backup generation
US11966782B2 (en) Method and system for performing historical state management services for composed information handling systems
US20230102403A1 (en) Method and system for performing state management services for composed information handling systems
US10860437B2 (en) Method and system for performing backups using proxy job assignment
US20220327030A1 (en) System and method for restoration using micro-backups
US20230088179A1 (en) Method and system for performing data management services for composed information handling systems
US20200012432A1 (en) System and method for efficient restore

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