CN110609731A - 用于管理虚拟机的方法、设备和计算机程序产品 - Google Patents

用于管理虚拟机的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN110609731A
CN110609731A CN201810623970.5A CN201810623970A CN110609731A CN 110609731 A CN110609731 A CN 110609731A CN 201810623970 A CN201810623970 A CN 201810623970A CN 110609731 A CN110609731 A CN 110609731A
Authority
CN
China
Prior art keywords
virtual machine
application
backup
determining
client
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.)
Granted
Application number
CN201810623970.5A
Other languages
English (en)
Other versions
CN110609731B (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 CN201810623970.5A priority Critical patent/CN110609731B/zh
Priority to US16/147,806 priority patent/US20190384493A1/en
Publication of CN110609731A publication Critical patent/CN110609731A/zh
Application granted granted Critical
Publication of CN110609731B publication Critical patent/CN110609731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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

Landscapes

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

Abstract

本公开的实施例涉及用于管理虚拟机的方法、设备和计算机程序产品。根据本公开的示例性实现,确定虚拟机的属性是否满足预定规则,预定规则用于选择待备份的虚拟机;响应于虚拟机的属性满足预定规则,确定与虚拟机中的应用相对应的应用客户端,应用客户端指示应用在备份系统中的特征信息;以及基于应用客户端,确定针对应用的备份策略以对应用进行备份,备份策略指定在备份系统中对应用进行备份的方式。由此,可以提高备份系统的整体性能。

Description

用于管理虚拟机的方法、设备和计算机程序产品
技术领域
本公开的各实现方式涉及虚拟机管理,更具体地,涉及对虚拟机进行备份的方法、设备和计算机程序产品。
背景技术
虚拟机管理系统包含用于运行针对各种业务的工作负载的虚拟机。例如,由于人为操作错误或某种自然灾害,虚拟机有可能被损坏。在这种情况下,用户希望尽可能快地从备份系统恢复虚拟机,并且希望虚拟机能够在恢复之后立即提供服务。然而,传统虚拟机管理技术难以在备份虚拟机时确保应用一致性,使得虚拟机无法在恢复之后立即可用。因此,需要一种改进的解决方案来提高虚拟机备份性能。
发明内容
本公开的实施例提供了用于管理虚拟机的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于管理虚拟机的方法。该方法包括:确定虚拟机的属性是否满足预定规则,预定规则用于选择待备份的虚拟机;响应于虚拟机的属性满足预定规则,确定与虚拟机中的应用相对应的应用客户端,应用客户端指示应用在备份系统中的特征信息;以及基于应用客户端,确定针对应用的备份策略以对应用进行备份,备份策略指定在备份系统中对应用进行备份的方式。
在本公开的第二方面,提供了一种用于管理虚拟机的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得设备执行动作,该动作包括:确定虚拟机的属性是否满足预定规则,预定规则用于选择待备份的虚拟机;响应于虚拟机的属性满足预定规则,确定与虚拟机中的应用相对应的应用客户端,应用客户端指示应用在备份系统中的特征信息;以及基于应用客户端,确定针对应用的备份策略以对应用进行备份,备份策略指定在备份系统中对应用进行备份的方式。
在本公开的第三方面,提供了一种计算机程序产品。计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器实现根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了传统虚拟机管理环境的示意图;
图2示出了本公开的实施例可以在其中实现的虚拟机管理环境的示例的示意图;
图3示出了根据本公开的实施例的用于管理虚拟机的方法的示例的流程图;
图4示出了根据本公开的实施例的用于管理虚拟机的方法的另一示例的流程图;以及
图5示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了传统虚拟机管理环境100的示意图。如图1所示,虚拟机管理环境100包括虚拟机管理系统110和备份系统140。虚拟机管理系统110包括一个或多个虚拟机,例如虚拟机120和130。虚拟机120和130可以用于运行针对各种业务的工作负载。虚拟机管理系统110可以用于管理被包括在其中的虚拟机120和130。例如,虚拟机管理系统110可以为创建、读取、更新和移除虚拟机120和130及其属性提供应用程序接口(API)。应当理解,仅出于示例的目的示出虚拟机管理系统110包括两个虚拟机120和130,而不暗示对于虚拟机的数目的任何限制。事实上,虚拟机管理系统110可以包括任何数目的虚拟机。
备份系统140包括备份策略170。备份策略170可以指定在备份系统140中对虚拟机120和130进行备份的方式。在某些实施例中,备份策略170可以是定义何时对虚拟机120和130进行备份、将虚拟机120和130备份到何处、对虚拟机120和130的哪些部分进行备份、以及将虚拟机120和130的备份保留多长时间的逻辑组。
此外,为了在备份系统140中对虚拟机120和130进行备份,备份系统140可以为虚拟机120和130创建虚拟机客户端150和160。例如,虚拟机120和130可以在备份系统140中分别注册为虚拟机客户端150和160。备份系统140可以基于虚拟机客户端150和160确定针对虚拟机120和130的备份策略。虚拟机客户端150和160可以是虚拟机120和130在备份系统140中的特征信息。虚拟机120和130的特征信息可以用于标识虚拟机120和130。例如,虚拟机120和130的特征信息可以包括虚拟机的标识信息、虚拟机的名称和/或虚拟机在虚拟机管理系统110上的路径等。应当理解,以上所讨论的虚拟机的特征信息都是示例性的,而非限制性的,无意暗示对于本公开的范围的任何限制。
然而,在图1所示的虚拟机管理环境100中,仅对虚拟机进行备份。这种方式的缺陷在于仅对虚拟机的磁盘映像进行备份,而未对虚拟机中的应用进行备份。应用是能够被安装和/或运行在虚拟机中的任何应用,包括但不限于诸如DB2、SQL Server、Oracle等的数据库应用等。由于磁盘映像备份并未包含应用的上下文,例如在存储器中存储的应用的上下文,因此虚拟机中的应用在恢复之后可能仍然处于损坏状态,从而无法确保虚拟机在恢复之后立即可用。以此方式,无法在备份虚拟机时确保应用一致性,即无法确保在对应用进行备份时的应用的状态与恢复应用之后的应用的状态的一致性。
此外,虽然传统上还存在对虚拟机中的应用进行备份的方式,但是这种方式也存在缺陷。一个缺陷在于由于应用备份并未包含应用的操作系统环境,因此需要在与对应用进行备份时的操作系统环境类似的操作系统环境中对应用进行恢复。另一缺陷在于为了对应用进行备份,用户需要手动地在虚拟机上安装应用备份代理。然而,当虚拟机管理系统中包含大量虚拟机时,难以执行上述手动操作,并且手动操作也易于出错。
本公开的示例实施例提出了一种用于管理虚拟机的方案。在该方案中,备份系统确定虚拟机的属性是否满足预定规则,预定规则用于选择待备份的虚拟机。在虚拟机的属性满足预定规则时,备份系统确定与虚拟机中的应用相对应的应用客户端,应用客户端指示应用在备份系统中的特征信息。备份系统基于应用客户端,确定针对应用的备份策略以对应用进行备份,备份策略指定在备份系统中对应用进行备份的方式。以此方式,可以自动地在备份系统中对虚拟机中的应用进行备份,并且确保应用一致性。由此,可以以简洁和有效的方式提高备份系统的效率和健壮性,进而能够提高用户体验。
图2示出了本公开的实施例可以在其中实现的示例虚拟机管理环境200的示意图。应当理解,如图2所示的虚拟机管理环境200仅用于示例的目的,而不暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构中。
与图1所示的虚拟机管理环境100类似,虚拟机管理环境200包括虚拟机管理系统110和备份系统140。虚拟机管理系统110包括虚拟机120和130。备份系统140包括分别与虚拟机120和130对应的虚拟机客户端150和160。由于虚拟机管理环境200中的上述元素与虚拟机管理环境100类似,因此在此省略其描述。
除了参考图1所描述的在备份系统140中对虚拟机120和130进行备份之外,为了在备份系统140中对虚拟机120和130中的应用280和290进行备份,虚拟机管理系统110还包括分别与应用280和290相对应的应用备份代理210和220。应用备份代理210和220分别被安装在虚拟机120和130中,以用于获取应用280和290的数据以对应用进行备份。
备份系统140可以包含分别针对应用备份代理210和220的应用客户端230和240。例如,应用备份代理210和220可以在备份系统140中分别注册为应用客户端230和240。应用客户端230和240可以是应用280和290在备份系统140中的特征信息。应用280和290的特征信息可以用于标识应用280和290。例如,应用280和290的特征信息可以包括应用的标识信息、应用的名称、应用被安装的虚拟机的名称和/或应用的地址等。应当理解,以上所讨论的应用的特征信息都是示例性的,而非限制性的,无意暗示对于本公开的范围的任何限制。
在某些实施例中,对于在虚拟机上运行的应用,备份系统140可以在针对虚拟机的虚拟机客户端和针对应用的应用客户端之间建立关联。例如,备份系统140可以在虚拟机客户端150与应用客户端230之间建立关联,并且在虚拟机客户端160与应用客户端240之间建立关联。由此,将如以下结合图4详细描述的,可以基于关联来对应用280和290进行备份。
此外,代替虚拟机管理环境100中的备份策略170,在虚拟机管理环境200中,备份系统140包括备份策略250。备份策略250不仅可以指定在备份系统140中对虚拟机120和130进行备份的方式,并且还可以指定对应用280和290进行备份的方式。在某些实施例中,备份策略250可以包括针对虚拟机120和130的虚拟机备份策略260,以及针对应用280和290的应用备份策略270。
例如,备份策略260可以是定义何时对虚拟机120和130进行备份、将虚拟机120和130备份到何处、对虚拟机120和130的哪些部分进行备份、以及将虚拟机120和130的备份保留多长时间的逻辑组。类似地,备份策略270可以是定义何时对应用280和290进行备份、将应用280和290备份到何处、对应用280和290的哪些部分进行备份、以及将应用280和290的备份保留多长时间的逻辑组。
在某些实施例中,备份系统140可以提供用于创建备份策略250的备份策略模板,备份策略模板定义了为特定类型的应用(例如,数据库应用)创建备份策略250所需要的元数据。以此方式,可以方便地使用备份策略模板来定制备份策略250,而无需为定制备份策略250进行大量额外配置。例如,备份策略250可以基于备份策略模板、与虚拟机管理系统有关的信息(例如,虚拟机管理系统的名称、标识信息和/或地址等)、以及预定规则来生成。
此外,预定规则是与虚拟机的属性相关联的一般化规则。预定规则可以是例如由用户创建的或由系统定义的规则,其可以以任何合适的格式来实现。例如,在一些实现中,预定规则可以包括由任何合适的编程语言和/或脚本语言编写的可执行代码。备选地,预定规则可以以诸如可扩展标记语言(XML)文本或明文的格式化文本来描述。
备份系统140可以使用预定规则来评估虚拟机120和130及其应用280和290,以在虚拟机120和130的属性满足预定规则时,确定与虚拟机120和130相对应的虚拟机客户端150和160以及与应用280和290相对应的应用客户端230和240。进一步地,备份系统140可以基于虚拟机客户端150和160确定针对虚拟机120和130的虚拟机备份策略260,并且基于应用客户端230和240确定针对应用280和290的应用备份策略270。由此,备份系统140可以基于虚拟机备份策略260对虚拟机120和130进行备份,并且基于应用备份策略270对应用280和290进行备份。
以此方式,本公开的实施例可以自动地选择待备份的虚拟机及其应用,以及向所选择的虚拟机及其应用分配备份策略。由此,消除了用户手动地向虚拟机及其应用分配备份策略的负担,并且显著降低了备份系统中的错误率。因此,本公开的用于管理虚拟机的方案提高了备份系统的可用性和性能。
图3示出了根据本公开的实施例的用于管理虚拟机的示例方法300的流程图。例如,方法300可以在如图2所示的备份系统140或者其他适当的系统处被执行。例如,方法300可以由备份系统140中的计算设备或者与其相关联的计算设备来执行。该计算设备可以是集中式或分布式地实现在备份系统140中的任何适当的计算设备,包括但不限于个人计算机、服务器、客户端、手持或膝上型设备、多处理器、微处理器、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机系统和分布式云以及其组合等。
应当理解的是,为了方便描述,在本文中,由于实现备份系统140的计算设备执行的动作也可以被描述为由备份系统140执行。此外,方法300还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在310,计算设备确定虚拟机120和130的属性是否满足预定规则,预定规则用于选择待备份的虚拟机。虚拟机120和130的属性可以包括:虚拟机名称、访问路径、资源池、虚拟机管理系统路径、数据存储名称、数据存储集群名称、标签和/或其他相关属性。
例如,虚拟机名称可以是虚拟机120和130的名称。访问路径可以是虚拟机120和130所位于的路径。资源池可以是虚拟机120和130共享其计算资源的位置。虚拟机管理系统路径可以是虚拟机120和130所存在的虚拟机管理系统所位于的路径。数据存储名称可以是虚拟机120和130的存储装置所位于的数据存储的名称。数据存储集群名称可以是虚拟机120和130的存储装置所位于的数据存储集群的名称。标签可以是用于描述虚拟机120和130的任意键值对。例如,可以为虚拟机120设置标签“Tag=[System.Windows]”(“标签=[系统.Windows]”),其表示标签的类型为“System”,并且值为“Windows”。应当理解,以上所讨论的虚拟机的属性都是示例性的,而非限制性的,无意暗示对于本公开的范围的任何限制。
在某些实施例中,预定规则可以是基本规则“Tag[System]contains Windows”(“标签[系统]包含Windows”)。此外,预定规则可以是组合基本规则而得到的复合规则。例如,可以对基本规则进行诸如“AND(与)”、“OR(或)”、“NOT(非)”的逻辑操作以得到复合规则。作为示例,预定规则可以是复合规则“Tag[System]contains Windows AND Tag[App]contains SQL”(“标签[系统]包含Windows与标签[应用]包含SQL”)。此外,预定规则可以是组合复合规则而得到的复合规则
作为示例,虚拟机120可以具有属性“Tag=[System.Windows]”,预定规则可以是“Tag[System]contains Windows”。在该情况下,计算设备可以判断虚拟机120的属性满足预定规则。在计算设备确定虚拟机120和130的属性满足预定规则的情况下,在320,计算设备确定与虚拟机120和130中的应用280和290相对应的应用客户端230和240。如上所述,应用客户端230和240可以是应用280和290在计算设备中的特征信息。应用280和290的特征信息可以用于标识虚拟机120和130中的应用280和290。
在某些实施例中,为了在计算设备中对虚拟机120和130中的应用280和290进行备份,计算设备可以向满足预定规则的虚拟机120和130发送创建或安装与应用280和290相对应的应用备份代理210和220的指示。如上所述,应用备份代理220和230用于获取应用280和290的数据以备份应用280和290。
虚拟机120和130在接收到指示之后,将在其上创建应用备份代理210和220。在某些实施例中,计算设备还可以从虚拟机120和130获取应用备份代理210和220的安装状态,以确定应用备份代理210和220在虚拟机120和130上的安装是否成功、失败或正在进行等。
在某些实施例中,在应用备份代理210和220在虚拟机120和130上被创建完成之后,应用备份代理210和220可以向计算设备发送用于注册应用备份代理210和220的请求。计算设备在接收到请求之后,可以为应用备份代理210和220分别创建应用客户端150和160。
此外,虽然在图3的示例中,虚拟机120和130的属性都满足预定规则,从而针对虚拟机120和130及其应用280和290都创建了虚拟机客户端150和160以及应用客户端230和240,然而应注意,可以存在其属性不满足预定规则的虚拟机(未示出)。在计算设备确定虚拟机的属性不满足预定规则的情况下,计算设备将不创建与虚拟机及其应用相对应的虚拟机客户端和应用客户端,或者将已创建的虚拟机客户端和应用客户端从计算设备中移除。相应地,计算设备也不会向虚拟机发送创建应用备份代理的指示。
以此方式,可以自动地在计算设备中添加、更新和移除与虚拟机120和130及其应用280和290相对应的虚拟机客户端150和160以及应用客户端230和240。
在330,计算设备基于应用客户端230和240,确定针对应用280和290的备份策略270,以对应用280和290进行备份。备份策略270指定在计算设备中对应用280和290进行备份的方式。在某些实施例中,计算设备可以将应用客户端230和240添加到备份策略270的待备份列表中。此外,在虚拟机的属性不满足预定规则时,由于在计算设备中未创建应用客户端,因此计算设备将不对不满足预定规则的虚拟机中的应用进行备份。
以此方式,可以自动地在备份系统向虚拟机中的应用分配应用备份策略,从而提高了备份系统的健壮性和可用性。
图4示出了根据本公开的实施例的用于管理虚拟机的方法400的另一示例的流程图。例如,方法400可以在如图2所示的备份系统140或者其他适当的系统处被执行。例如,方法400可以由备份系统140中的计算设备或者与其相关联的计算设备来执行。该计算设备可以是集中式或分布式地实现在备份系统140中的任何适当的计算设备,包括但不限于个人计算机、服务器、客户端、手持或膝上型设备、多处理器、微处理器、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机系统和分布式云以及其组合等。
应当理解的是,为了方便描述,在本文中,由实现备份系统140的计算设备执行的动作也可以被描述为由备份系统140执行。此外,方法400还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
如上所述,在某些实施例中,在计算设备中,备份策略250基于备份策略模板、与虚拟机管理系统有关的信息、以及由用户创建的或由系统定义的预定规则而被生成。在生成备份策略250之后,计算设备可以从备份策略250获取用于选择待备份的虚拟机的预定规则,例如“Tag[System]contains Windows”。在410,计算设备确定预定规则中与虚拟机的属性相对应的字段。例如,计算设备可以确定预定规则中与虚拟机的标签属性相对应的字段。
在415,计算设备基于该字段,获取虚拟机的属性。例如,计算设备可以获取虚拟机的120和130的标签属性,例如,虚拟机120和130可以具有标签“Tag=[System.Windows]”。在420,计算设备确定虚拟机的属性是否满足预定规则。在某些实施例中,计算设备可以将虚拟机的属性与预定规则相比较。例如,由于虚拟机120和130的标签属性中的类型“System”的值都包含“Windows”,因此计算设备可以确定虚拟机120和130的属性与预定规则匹配,换句话说,确定虚拟机的属性满足预定规则。
在425,计算设备基于虚拟机的属性,确定与虚拟机相对应的虚拟机客户端。如上所述,虚拟机客户端指示虚拟机在备份系统中的特征信息。在某些实施例中,在计算设备确定虚拟机120和130的属性满足预定规则的情况下,计算设备可以创建与虚拟机120和130相对应的虚拟机客户端150和160。
备选地,在计算设备中存在已创建的虚拟机客户端150和160的情况下,计算设备可以确定虚拟机的属性是否发生变化。例如,虚拟机可以通过虚拟机变化事件向计算设备通知虚拟机的属性变化。在某一虚拟机(例如虚拟机120)的属性变化的情况下,计算设备可以获取该虚拟机的变化的属性,并且基于虚拟机的变化的属性,更新虚拟机客户端。
作为示例,假设针对虚拟机120的虚拟机客户端150已经被创建在计算设备中。此时,虚拟机120的属性从“Tag=[System.Windows]”改变为“Tag=[System.Linux]”。虚拟机120可以通过虚拟机变化事件向计算设备通知虚拟机的属性变化。由于虚拟机的属性已经不满足预定规则“Tag[System]contains Windows”,计算设备可以基于虚拟机的变化的属性,将与虚拟机120相对应的虚拟机客户端150移除。
此外,在另一新虚拟机被添加到虚拟机管理环境200中的情况下,计算设备可以获取该新虚拟机的属性。例如,虚拟机可以通过虚拟机添加事件向计算设备通知新虚拟机被添加。计算设备可以确定新虚拟机的属性是否满足预定规则。在计算设备确定新虚拟机的属性满足预定规则的情况下,计算设备创建与新虚拟机相对应的新的虚拟机客户端。以此方式,可以确保计算设备中的虚拟机客户端150在虚拟机发生改变时被实时更新。
在430,计算设备向满足预定规则的虚拟机120和130发送创建或安装与虚拟机120和130中的应用280和290相对应的应用备份代理210和220的指示。如上所述,应用备份代理220和230用于获取应用280和290的数据以备份应用280和290。在某些实施例中,计算设备可以获取待备份的应用的类型,并且检测虚拟机120和130中的操作系统和具有所获取的类型的应用280和290的版本,从而向虚拟机120和130发送安装适当的应用备份代理210和220的指示。
虚拟机120和130在接收到指示之后,可以在其上创建应用备份代理210和220。在某些实施例中,计算设备还可以存储与应用备份代理210和220有关的信息,包括但不限于虚拟机标识信息、操作系统名称、操作系统版本、应用名称、应用版本、应用备份代理标识信息和应用备份代理版本等,以使得计算设备可以通过所存储的这些信息,获取应用备份代理210和220的安装状态。
在应用备份代理210和220在虚拟机120和130上被创建完成之后,应用备份代理210和220可以向计算设备发送用于注册应用备份代理210和220的请求。在435,计算设备接收来自虚拟机120和130中的应用备份代理210和220的用于注册应用备份代理210和220的请求。在接收到注册请求之后,在440,计算设备为应用备份代理210和220分别创建应用客户端230和240。
类似于虚拟机客户端150和160,在计算设备中存在已创建的应用客户端230和240的情况下,计算设备可以确定虚拟机的属性是否发生变化。在某一虚拟机(例如虚拟机120)的属性变化的情况下,计算设备可以获取该虚拟机的变化的属性,并且基于虚拟机的变化的属性,更新应用客户端。
此外,在另一新虚拟机被添加到虚拟机管理环境200中的情况下,计算设备可以获取该新虚拟机的属性,并且确定新虚拟机的属性是否满足预定规则。在计算设备确定新虚拟机的属性满足预定规则的情况下,计算设备创建与新虚拟机中的应用相对应的新的应用客户端。以此方式,可以确保计算设备中的应用客户端在虚拟机发生改变时被实时更新。
在445,对于在虚拟机上运行的应用,计算设备可以在针对虚拟机的虚拟机客户端和针对应用的应用客户端之间建立关联。例如,计算设备可以在虚拟机客户端150与应用客户端230之间建立关联,并且在虚拟机客户端160与应用客户端240之间建立关联。以此方式,可以为虚拟机及其应用相关联地分配备份策略。
在对虚拟机及其应用进行备份时,计算设备可以基于虚拟机客户端,获取虚拟机的属性。例如,计算设备可以从虚拟机客户端150获取虚拟机120的属性,并且从虚拟机客户端160获取虚拟机130的属性。备选地,由于虚拟机客户端可以标识客户端,因此计算设备可以基于虚拟机客户端,获取计算设备中存储的虚拟机的属性。例如,计算设备可以基于虚拟机客户端150,获取计算设备中存储的虚拟机120的属性,并且基于虚拟机客户端160,获取计算设备中存储的虚拟机130的属性。
在某些实施例中,计算设备可以在备份策略250被触发时,获取虚拟机120和130的属性。例如,备份策略250可以指定在每天0点对虚拟机120和130进行备份。在该情况下,计算设备可以在每天0点触发备份策略250,并且获取虚拟机120和130的属性。然后,计算设备可以以如前所述确定虚拟机的属性是否满足预定规则的方式,再次确定所获取的虚拟机的属性是否满足预定规则。以此方式,可以在要对虚拟机120和130进行备份时,实时确定针对虚拟机120和130的备份策略,从而确保对当前满足预定规则的虚拟机120和130进行备份。
在虚拟机120和130的属性仍然满足预定规则的情况下,计算设备可以将虚拟机客户端150和160添加到备份策略260的待备份列表中。此外,在450,计算设备基于虚拟机客户端150和160以及应用客户端230和240之间的关联选择与虚拟机客户端150和160相对应的应用客户端230和240。在455,计算设备将选择的应用客户端230和240添加到备份策略270的待备份列表中。
表1示出了本公开的实施例的虚拟机管理技术与传统虚拟机管理技术相比在管理虚拟机方面的改进。
表1
从表1可见,由于本公开的实施例自动地创建与虚拟机中的应用相对应的应用备份代理和应用客户端,以及向虚拟机中的应用分配和更新应用备份策略,显著提高了备份系统140的可用性和性能。
图5示出了可以用来实施本公开内容的实施例的示例设备500的示意性框图。例如,如图1所示的备份系统140可以由设备500来实施。如图所示,设备500包括中央处理单元(CPU)510,其可以根据存储在只读存储器(ROM)520中的计算机程序指令或者从存储单元580加载到随机访问存储器(RAM)530中的计算机程序指令,来执行各种适当的动作和处理。在RAM 530中,还可存储设备500操作所需的各种程序和数据。CPU 510、ROM 520以及RAM530通过总线540彼此相连。输入/输出(I/O)接口550也连接至总线540。
设备500中的多个部件连接至I/O接口550,包括:输入单元560,例如键盘、鼠标等;输出单元570,例如各种类型的显示器、扬声器等;存储单元580,例如磁盘、光盘等;以及通信单元590,例如网卡、调制解调器、无线通信收发机等。通信单元590允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300和400,可由处理单元510执行。例如,在一些实施例中,方法300和400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元580。在一些实施例中,计算机程序的部分或者全部可以经由ROM 520和/或通信单元590而被载入和/或安装到设备500上。当计算机程序被加载到RAM 530并由CPU 510执行时,可以执行上文描述的方法300和400的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于管理虚拟机的方法,包括:
确定虚拟机的属性是否满足预定规则,所述预定规则用于选择待备份的虚拟机;
响应于所述虚拟机的属性满足所述预定规则,确定与所述虚拟机中的应用相对应的应用客户端,所述应用客户端指示所述应用在备份系统中的特征信息;以及
基于所述应用客户端,确定针对所述应用的备份策略以对所述应用进行备份,所述备份策略指定在所述备份系统中对所述应用进行备份的方式。
2.根据权利要求1所述的方法,其中确定虚拟机的属性是否满足预定规则包括:
确定所述预定规则中与虚拟机的属性相对应的字段;
基于所述字段,获取所述虚拟机的属性;以及
确定所述虚拟机的属性是否满足所述预定规则。
3.根据权利要求1所述的方法,其中确定所述应用客户端包括:
向所述虚拟机发送创建与所述应用相对应的应用备份代理的指示,所述应用备份代理用于获取所述应用的数据以备份所述应用;
接收来自所述虚拟机的用于注册所述应用备份代理的请求;以及
创建与所述应用备份代理相对应的所述应用客户端。
4.根据权利要求1所述的方法,其中确定所述应用客户端包括:
确定所述虚拟机的属性是否发生变化;以及
响应于确定所述虚拟机的属性发生变化,基于所述虚拟机的变化的属性,更新所述应用客户端。
5.根据权利要求1所述的方法,其中确定所述备份策略包括:
基于所述虚拟机的属性,确定与所述虚拟机相对应的虚拟机客户端,所述虚拟机客户端指示所述虚拟机在备份系统中的特征信息;
生成所述虚拟机客户端和所述应用客户端之间的关联;以及
基于所述关联来确定所述备份策略。
6.根据权利要求5所述的方法,其中基于所述关联来确定所述备份策略包括:
基于所述关联选择与所述虚拟机客户端相对应的所述应用客户端;以及
将选择的所述应用客户端添加到所述备份策略的待备份列表中。
7.根据权利要求1所述的方法,其中所述虚拟机的属性包括以下至少一项:
虚拟机名称、访问路径、资源池、虚拟机管理系统路径、数据存储名称、数据存储集群名称以及标签。
8.根据权利要求1所述的方法,其中所述应用的特征信息包括以下至少一项:
所述应用的标识信息、所述应用的名称、所述应用被安装的虚拟机的名称、所述应用的地址。
9.根据权利要求5所述的方法,其中所述虚拟机的特征信息包括以下至少一项:
所述虚拟机的标识信息、所述虚拟机的名称、所述虚拟机的路径。
10.一种用于管理虚拟机的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
确定虚拟机的属性是否满足预定规则,所述预定规则用于选择待备份的虚拟机;
响应于所述虚拟机的属性满足所述预定规则,确定与所述虚拟机中的应用相对应的应用客户端,所述应用客户端指示所述应用在备份系统中的特征信息;以及
基于所述应用客户端,确定针对所述应用的备份策略以对所述应用进行备份,所述备份策略指定在所述备份系统中对所述应用进行备份的方式。
11.根据权利要求10所述的方法,其中确定虚拟机的属性是否满足预定规则包括:
确定所述预定规则中与虚拟机的属性相对应的字段;
基于所述字段,获取所述虚拟机的属性;以及
确定所述虚拟机的属性是否满足所述预定规则。
12.根据权利要求10所述的方法,其中确定所述应用客户端包括:
向所述虚拟机发送创建与所述应用相对应的应用备份代理的指示,所述应用备份代理用于获取所述应用的数据以备份所述应用;
接收来自所述虚拟机的用于注册所述应用备份代理的请求;以及创建与所述应用备份代理相对应的所述应用客户端。
13.根据权利要求10所述的方法,其中确定所述应用客户端包括:
确定所述虚拟机的属性是否发生变化;以及
响应于确定所述虚拟机的属性发生变化,基于所述虚拟机的变化的属性,更新所述应用客户端。
14.根据权利要求10所述的方法,其中确定所述备份策略包括:
基于所述虚拟机的属性,确定与所述虚拟机相对应的虚拟机客户端,所述虚拟机客户端指示所述虚拟机在备份系统中的特征信息;
生成所述虚拟机客户端和所述应用客户端之间的关联;以及
基于所述关联来确定所述备份策略。
15.根据权利要求14所述的方法,其中基于所述关联来确定所述备份策略包括:
基于所述关联选择与所述虚拟机客户端相对应的所述应用客户端;以及
将选择的所述应用客户端添加到所述备份策略的待备份列表中。
16.根据权利要求10所述的方法,其中所述虚拟机的属性包括以下至少一项:
虚拟机名称、访问路径、资源池、虚拟机管理系统路径、数据存储名称、数据存储集群名称以及标签。
17.根据权利要求10所述的方法,其中所述应用的特征信息包括以下至少一项:
所述应用的标识信息、所述应用的名称、所述应用被安装的虚拟机的名称、所述应用的地址。
18.根据权利要求14所述的方法,其中所述虚拟机的特征信息包括以下至少一项:
所述虚拟机的标识信息、所述虚拟机的名称、所述虚拟机的路径。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9任一项所述的方法的步骤。
CN201810623970.5A 2018-06-15 2018-06-15 用于管理虚拟机的方法、设备和计算机程序产品 Active CN110609731B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810623970.5A CN110609731B (zh) 2018-06-15 2018-06-15 用于管理虚拟机的方法、设备和计算机程序产品
US16/147,806 US20190384493A1 (en) 2018-06-15 2018-09-30 Method, device, and computer program prouct for managing virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810623970.5A CN110609731B (zh) 2018-06-15 2018-06-15 用于管理虚拟机的方法、设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110609731A true CN110609731A (zh) 2019-12-24
CN110609731B CN110609731B (zh) 2023-08-18

Family

ID=68839487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810623970.5A Active CN110609731B (zh) 2018-06-15 2018-06-15 用于管理虚拟机的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US20190384493A1 (zh)
CN (1) CN110609731B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651305A (zh) * 2020-08-05 2020-09-11 腾讯科技(深圳)有限公司 一种虚拟机备份方法、组件及云计算系统
CN113132147A (zh) * 2020-01-15 2021-07-16 伊姆西Ip控股有限责任公司 管理网络中的节点的方法、设备和计算机程序产品

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452411A (zh) * 2007-12-07 2009-06-10 国际商业机器公司 用于管理向远程备份服务器进行备份的系统和方法
US20090216816A1 (en) * 2008-02-27 2009-08-27 Jason Ferris Basler Method for application backup in the vmware consolidated backup framework
US20100262794A1 (en) * 2009-04-14 2010-10-14 Novell, Inc. Data backup for virtual machines
US8290912B1 (en) * 2010-01-29 2012-10-16 Symantec Corporation Endpoint virtualization aware backup
US8577845B2 (en) * 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US20140095816A1 (en) * 2012-09-28 2014-04-03 Windsor W. Hsu System and method for full virtual machine backup using storage system functionality
CN103853633A (zh) * 2014-02-14 2014-06-11 上海爱数软件有限公司 基于虚拟机运行信息应用发现的应用程序注入式备份方法
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
US20150370639A1 (en) * 2014-06-24 2015-12-24 International Business Machines Corporation Back up and recovery in virtual machine environments
US20170242871A1 (en) * 2016-02-18 2017-08-24 Commvault Systems, Inc. Data restoration operations based on network path information

Family Cites Families (8)

* 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
US8719286B1 (en) * 2012-03-30 2014-05-06 Emc Corporation System and method for block-based subtree virtual machine backup
US9195670B1 (en) * 2013-03-13 2015-11-24 Emc Corporation Tracking write operations for incremental backups of data
US9454549B1 (en) * 2013-06-28 2016-09-27 Emc Corporation Metadata reconciliation
US9934099B1 (en) * 2014-05-29 2018-04-03 EMC IP Holding Company LLC Dynamically pausing large backups
US10387263B2 (en) * 2014-12-31 2019-08-20 Netapp, Inc. Centralized management center for managing storage services
US9892003B2 (en) * 2015-02-11 2018-02-13 International Business Machines Corporation Method for automatically configuring backup client systems and backup server systems in a backup environment
US9998339B1 (en) * 2017-02-06 2018-06-12 Comtrade Software Inc. Application awareness for virtual infrastructure environments

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452411A (zh) * 2007-12-07 2009-06-10 国际商业机器公司 用于管理向远程备份服务器进行备份的系统和方法
US20090216816A1 (en) * 2008-02-27 2009-08-27 Jason Ferris Basler Method for application backup in the vmware consolidated backup framework
US8577845B2 (en) * 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US20100262794A1 (en) * 2009-04-14 2010-10-14 Novell, Inc. Data backup for virtual machines
US8290912B1 (en) * 2010-01-29 2012-10-16 Symantec Corporation Endpoint virtualization aware backup
US20140095816A1 (en) * 2012-09-28 2014-04-03 Windsor W. Hsu System and method for full virtual machine backup using storage system functionality
CN103853633A (zh) * 2014-02-14 2014-06-11 上海爱数软件有限公司 基于虚拟机运行信息应用发现的应用程序注入式备份方法
US20150370639A1 (en) * 2014-06-24 2015-12-24 International Business Machines Corporation Back up and recovery in virtual machine environments
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
US20170242871A1 (en) * 2016-02-18 2017-08-24 Commvault Systems, Inc. Data restoration operations based on network path information

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HUNG BA NGO等: "Enterprise Application Backup and Restore in Cloud Computing", 《INTERNATIONAL JOURNAL OF COMPUTER AND ELECTRICAL ENGINEERING》, vol. 8, pages 169 - 176 *
RODRIGOS.COUTO等: "Server placement with shared backups for disaster-resilient clouds", 《COMPUTER NETWORKS》, vol. 93, pages 423 - 434 *
张晓丽等: "分布式云的研究进展综述", 《软件学报》, vol. 29, no. 7, pages 2116 - 2132 *
褚福勇: "虚拟机可靠性备份机制的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
褚福勇: "虚拟机可靠性备份机制的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 1, 15 December 2011 (2011-12-15), pages 138 - 91 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132147A (zh) * 2020-01-15 2021-07-16 伊姆西Ip控股有限责任公司 管理网络中的节点的方法、设备和计算机程序产品
CN111651305A (zh) * 2020-08-05 2020-09-11 腾讯科技(深圳)有限公司 一种虚拟机备份方法、组件及云计算系统

Also Published As

Publication number Publication date
CN110609731B (zh) 2023-08-18
US20190384493A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
US20190278669A1 (en) Method for restore and backup of application containers in a shared file system
KR102008037B1 (ko) 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법
US20200210381A1 (en) Optimized content object storage service for large scale content
US20130290952A1 (en) Copying Virtual Machine Templates To Cloud Regions
CN110389786B (zh) 内核管理方法、电子设备和计算机可读存储介质
US11086827B1 (en) Dataset schema and metadata management service
US10997247B1 (en) Snapshot tracking using a graph database
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
US11431799B2 (en) Method, electronic device and computer program product for storing and accessing data
WO2019109519A1 (zh) 业务规则管理方法、装置、设备及计算机可读存储介质
CN109726038B (zh) 用于管理虚拟机的方法和设备
CN110609731B (zh) 用于管理虚拟机的方法、设备和计算机程序产品
CN110674084A (zh) 用于数据保护的方法、设备和计算机可读存储介质
US11977559B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
CN110609656A (zh) 存储管理方法、电子设备和计算机程序产品
US10776041B1 (en) System and method for scalable backup search
US10268475B1 (en) Near-zero downtime customizing change
CN116701053A (zh) 生产环境数据库的数据备份恢复方法、装置、设备及介质
US9411836B2 (en) Facilitating consistency between a glossary and a repository
US11656948B2 (en) Method and system for mapping protection policies to data cluster components
CN108196979B (zh) 数据备份方法和装置
US11886277B2 (en) Systems, apparatuses, and methods for assessing recovery viability of backup databases
US20240184649A1 (en) Real-time constraints for asynchronous communications
US11609886B2 (en) Mechanism for stream processing efficiency using probabilistic model to reduce data redundancy

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