CN109726038B - 用于管理虚拟机的方法和设备 - Google Patents

用于管理虚拟机的方法和设备 Download PDF

Info

Publication number
CN109726038B
CN109726038B CN201711024356.9A CN201711024356A CN109726038B CN 109726038 B CN109726038 B CN 109726038B CN 201711024356 A CN201711024356 A CN 201711024356A CN 109726038 B CN109726038 B CN 109726038B
Authority
CN
China
Prior art keywords
virtual machine
backup
client
attribute
determining
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
CN201711024356.9A
Other languages
English (en)
Other versions
CN109726038A (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 CN201711024356.9A priority Critical patent/CN109726038B/zh
Priority to US16/166,515 priority patent/US20190129807A1/en
Publication of CN109726038A publication Critical patent/CN109726038A/zh
Application granted granted Critical
Publication of CN109726038B publication Critical patent/CN109726038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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

Landscapes

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

Abstract

本公开的实施例涉及用于管理虚拟机的方法、设备。该方法包括:基于虚拟机的属性,确定与虚拟机相对应的虚拟机客户端,该虚拟机客户端是虚拟机在备份***中的特征信息;基于虚拟机客户端,确定针对虚拟机的备份策略以对虚拟机进行备份,该备份策略指定在备份***中对虚拟机进行备份的方式。

Description

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

Claims (17)

1.一种用于管理虚拟机的方法,包括:
基于虚拟机的属性,确定与所述虚拟机相对应的虚拟机客户端,所述虚拟机客户端是所述虚拟机在备份***中的特征信息;以及
基于所述虚拟机客户端,确定针对所述虚拟机的备份策略以对所述虚拟机进行备份,所述备份策略指定在所述备份***中对所述虚拟机进行备份的方式并且包括定义何时对所述虚拟机进行备份、将所述虚拟机备份到何处、对所述虚拟机的哪些部分进行备份、以及将所述虚拟机的备份保留多长时间的逻辑组,
其中确定针对所述虚拟机的备份策略包括:
响应于可用备份策略被触发,基于所述虚拟机客户端来获取所述虚拟机的所述属性;
获取与预定备份策略相关联的预定备份策略规则;以及
响应于所述虚拟机的所述属性满足所述预定备份策略规则,将所述预定备份策略确定为针对所述虚拟机客户端的备份策略。
2.根据权利要求1所述的方法,其中确定与所述虚拟机相对应的虚拟机客户端包括:
获取与所述虚拟机的属性相关联的第一预定规则;以及
响应于所述虚拟机的属性满足所述第一预定规则,基于所述虚拟机的属性来确定所述虚拟机客户端。
3.根据权利要求2所述的方法,其中获取与所述虚拟机的属性相关联的第一预定规则包括:
在预定规则集合中确定与所述虚拟机的属性有关的规则子集;以及
从所述规则子集中选择所述第一预定规则。
4.根据权利要求2所述的方法,其中基于所述虚拟机的属性来确定所述虚拟机客户端包括:
将所述虚拟机的属性包括在所述虚拟机客户端中。
5.根据权利要求1所述的方法,还包括:
响应于新虚拟机被添加,获取所述新虚拟机的属性;以及
基于所述新虚拟机的属性,确定与所述新虚拟机相对应的虚拟机客户端。
6.根据权利要求1所述的方法,还包括:
响应于所述虚拟机的属性有变化,获取所述虚拟机的变化的属性;以及
基于所述虚拟机的变化的属性,更新所述虚拟机客户端。
7.根据权利要求6所述的方法,其中确定针对所述虚拟机的备份策略包括:
响应于所述虚拟机客户端被更新,基于所述虚拟机客户端获取所述虚拟机的属性;
确定所述虚拟机的属性是否满足与针对所述虚拟机客户端的备份策略相关联的预定备份策略规则;以及
响应于所述虚拟机的属性满足所述预定备份策略规则,确定针对所述虚拟机的所述备份策略。
8.根据权利要求1所述的方法,其中所述虚拟机的属性包括以下至少一项:
名称、访问路径、虚拟应用名称、资源池、数据中心路径、数据存储名称、数据存储集群名称以及标签。
9.一种用于管理虚拟机的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
基于虚拟机的属性,确定与所述虚拟机相对应的虚拟机客户端,所述虚拟机客户端是所述虚拟机在备份***中的特征信息;以及
基于所述虚拟机客户端,确定针对所述虚拟机的备份策略以对所述虚拟机进行备份,所述备份策略指定在所述备份***中对所述虚拟机进行备份的方式并且包括定义何时对所述虚拟机进行备份、将所述虚拟机备份到何处、对所述虚拟机的哪些部分进行备份、以及将所述虚拟机的备份保留多长时间的逻辑组,
其中确定针对所述虚拟机的备份策略包括:
响应于可用备份策略被触发,基于所述虚拟机客户端来获取所述虚拟机的所述属性;
获取与预定备份策略相关联的预定备份策略规则;以及
响应于所述虚拟机的所述属性满足所述预定备份策略规则,将所述预定备份策略确定为针对所述虚拟机客户端的备份策略。
10.根据权利要求9所述的设备,其中确定与所述虚拟机相对应的虚拟机客户端包括:
获取与所述虚拟机的属性相关联的第一预定规则;以及
响应于所述虚拟机的属性满足所述第一预定规则,基于所述虚拟机的属性来确定所述虚拟机客户端。
11.根据权利要求10所述的设备,其中获取与所述虚拟机的属性相关联的第一预定规则包括:
在预定规则集合中确定与所述虚拟机的属性有关的规则子集;以及
从所述规则子集中选择所述第一预定规则。
12.根据权利要求10所述的设备,其中基于所述虚拟机的属性来确定所述虚拟机客户端包括:
将所述虚拟机的属性包括在所述虚拟机客户端中。
13.根据权利要求9所述的设备,所述动作还包括:
响应于新虚拟机被添加,获取所述新虚拟机的属性;以及
基于所述新虚拟机的属性,确定与所述新虚拟机相对应的虚拟机客户端。
14.根据权利要求9所述的设备,所述动作还包括:
响应于所述虚拟机的属性有变化,获取所述虚拟机的变化的属性;以及
基于所述虚拟机的变化的属性,更新所述虚拟机客户端。
15.根据权利要求14所述的设备,其中确定针对所述虚拟机的备份策略包括:
响应于所述虚拟机客户端被更新,基于所述虚拟机客户端获取所述虚拟机的属性;
确定所述虚拟机的属性是否满足与针对所述虚拟机客户端的备份策略相关联的预定备份策略规则;以及
响应于所述虚拟机的属性满足所述预定备份策略规则,确定针对所述虚拟机的所述备份策略。
16.根据权利要求9所述的设备,其中所述虚拟机的属性包括以下至少一项:
名称、访问路径、虚拟应用名称、资源池、数据中心路径、数据存储名称、数据存储集群名称以及标签。
17.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质上有形地存储有计算机程序,所述计算机程序包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至8任一项所述的方法的步骤。
CN201711024356.9A 2017-10-27 2017-10-27 用于管理虚拟机的方法和设备 Active CN109726038B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711024356.9A CN109726038B (zh) 2017-10-27 2017-10-27 用于管理虚拟机的方法和设备
US16/166,515 US20190129807A1 (en) 2017-10-27 2018-10-22 Method and device for managing a virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711024356.9A CN109726038B (zh) 2017-10-27 2017-10-27 用于管理虚拟机的方法和设备

Publications (2)

Publication Number Publication Date
CN109726038A CN109726038A (zh) 2019-05-07
CN109726038B true CN109726038B (zh) 2023-12-15

Family

ID=66243006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711024356.9A Active CN109726038B (zh) 2017-10-27 2017-10-27 用于管理虚拟机的方法和设备

Country Status (2)

Country Link
US (1) US20190129807A1 (zh)
CN (1) CN109726038B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339111B2 (en) * 2016-04-29 2019-07-02 Netapp Inc. Cloned virtual machine disk replication
US11061732B2 (en) * 2019-05-14 2021-07-13 EMC IP Holding Company LLC System and method for scalable backup services
CN112241337B (zh) * 2019-07-19 2024-07-02 伊姆西Ip控股有限责任公司 用于管理备份数据的方法、设备和计算机程序产品
CN114637560B (zh) * 2020-12-16 2024-07-09 伊姆西Ip控股有限责任公司 设备管理方法、电子设备和计算机程序产品
US11573728B2 (en) * 2021-06-17 2023-02-07 Bank Of America Corporation System and method for dynamically calculating and executing data backup policies for a multi-tenant cluster storage

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678036A (zh) * 2013-11-15 2014-03-26 上海爱数软件有限公司 一种基于虚拟机运行信息数据发现的备份方法
CN103853633A (zh) * 2014-02-14 2014-06-11 上海爱数软件有限公司 基于虚拟机运行信息应用发现的应用程序注入式备份方法
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN104239166A (zh) * 2014-09-11 2014-12-24 武汉噢易云计算有限公司 一种对运行中虚拟机实现文件备份的方法
CN105556478A (zh) * 2013-09-10 2016-05-04 赛门铁克公司 用于保护虚拟机数据的***和方法
CN106776113A (zh) * 2016-02-18 2017-05-31 新华三技术有限公司 一种虚拟机备份方法及装置
CN106897171A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种用于虚拟环境下的存储设备的灾难恢复方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719286B1 (en) * 2012-03-30 2014-05-06 Emc Corporation System and method for block-based subtree virtual machine backup
US20140181044A1 (en) * 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to identify uncharacterized and unprotected virtual machines
US20140196038A1 (en) * 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US20140201157A1 (en) * 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods for rule-based virtual machine data protection
US9575792B2 (en) * 2014-03-14 2017-02-21 Netapp, Inc. Method and system for replicating virtual machines

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN105556478A (zh) * 2013-09-10 2016-05-04 赛门铁克公司 用于保护虚拟机数据的***和方法
CN103678036A (zh) * 2013-11-15 2014-03-26 上海爱数软件有限公司 一种基于虚拟机运行信息数据发现的备份方法
CN103853633A (zh) * 2014-02-14 2014-06-11 上海爱数软件有限公司 基于虚拟机运行信息应用发现的应用程序注入式备份方法
CN104239166A (zh) * 2014-09-11 2014-12-24 武汉噢易云计算有限公司 一种对运行中虚拟机实现文件备份的方法
CN106776113A (zh) * 2016-02-18 2017-05-31 新华三技术有限公司 一种虚拟机备份方法及装置
CN106897171A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种用于虚拟环境下的存储设备的灾难恢复方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A survey on virtual machine migration and server consolidation frameworks for cloud data centers;Raja Wasim Ahmad等;《Journal of Network and Computer Applications》;第52卷;11-25 *
Identifying Trends in Enterprise Data Protection Systems;Medha Bhadkamkar;《Usenix ATC》;20150706;第2-4节 *
Medha Bhadkamkar.Identifying Trends in Enterprise Data Protection Systems.《Usenix ATC》.2015,第151-164页. *
一种基于遗传算法的虚拟机镜像自适应备份策略;徐继伟等;《计算机学报》;第39卷(第02期);351-363 *

Also Published As

Publication number Publication date
CN109726038A (zh) 2019-05-07
US20190129807A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
CN109726038B (zh) 用于管理虚拟机的方法和设备
US11005933B2 (en) Providing queueing in a log streaming messaging system
US20200210381A1 (en) Optimized content object storage service for large scale content
US11080281B2 (en) Graph-based searching for data stream
US9965207B2 (en) Maintenance of cloned computer data
US9633127B2 (en) Deploying programs in a cluster node
CN112882647B (zh) 存储和访问数据的方法、电子设备和计算机程序产品
US10783128B2 (en) Rule based data processing
CN111427701A (zh) 一种工作流引擎***和业务处理方法
US11182097B2 (en) Logical deletions in append only storage devices
US10262024B1 (en) Providing consistent access to data objects transcending storage limitations in a non-relational data store
CN110609656B (zh) 存储管理方法、电子设备和计算机程序产品
CN111857539A (zh) 用于管理存储***的方法、设备和计算机程序产品
CN110807028A (zh) 用于管理存储***的方法、设备和计算机程序产品
US20180136929A1 (en) Content driven automated upgrade of running web applications in on-premise environments
US10002135B2 (en) Simplifying the check-in of checked-out files in an ECM system
CN110609731B (zh) 用于管理虚拟机的方法、设备和计算机程序产品
CN113590543A (zh) 信息处理的方法、设备和计算机程序产品
US9661056B2 (en) Modification free extension of web based applications
CN109213815B (zh) 控制执行次数的方法、装置、服务器终端以及可读介质
US20180101794A1 (en) Method and system for creating mapping between business models
US20140059538A1 (en) Virtual machine state tracking using object based storage
US11086549B2 (en) Just-in-time data migration in a live system
US11271866B2 (en) Data sharing events
US11948016B2 (en) Application programming interface management

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