CN111352696B - 基于消耗的资源标记系统和方法 - Google Patents

基于消耗的资源标记系统和方法 Download PDF

Info

Publication number
CN111352696B
CN111352696B CN201911329105.0A CN201911329105A CN111352696B CN 111352696 B CN111352696 B CN 111352696B CN 201911329105 A CN201911329105 A CN 201911329105A CN 111352696 B CN111352696 B CN 111352696B
Authority
CN
China
Prior art keywords
backup
virtual machine
time
generating
computing
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
CN201911329105.0A
Other languages
English (en)
Other versions
CN111352696A (zh
Inventor
希莱仕·乔普拉
古鲁拉什·库尔卡尼
玛希帕特·库尔卡尼
默罕默德·A·萨马德
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 CN111352696A publication Critical patent/CN111352696A/zh
Application granted granted Critical
Publication of CN111352696B publication Critical patent/CN111352696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/1469Backup restoration techniques
    • 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/1461Backup scheduling policy
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

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

Abstract

本发明提供一种用于管理虚拟机的远程代理,该远程代理包括存储备份/还原策略的持久性存储装置。该远程代理包括资源标记器,其基于用于向客户端提供服务的虚拟机的计算资源消耗量向虚拟机应用第一标记。该远程代理包括存储管理器,其获得虚拟机中的某个虚拟机的备份生成请求;响应于备份生成请求的获得:做出第一标记中的某个标记与该虚拟机相关联的确定;响应于该确定:基于由该标记指示的计算资源限制以及与该虚拟机相关联的备份/还原策略的备份策略而生成复合工作流程;并基于该复合工作流程为该虚拟机生成备份。

Description

基于消耗的资源标记系统和方法
技术领域
本公开涉及用于管理虚拟机的远程代理、用于管理虚拟机的方法以及用于其的非暂时性计算机可读介质。
背景技术
计算设备可存储信息。该信息可反映由某个用户输入的信息。这种信息对于当前用户和/或其他用户可能很重要。
例如,用户可向数据库中输入信息,可向电子表格添加数据,或者可起草电子邮件。用户与计算设备之间的这些交互中的每一次交互都可能将对用户很重要的信息存储在计算设备中。
发明内容
在一个方面中,本发明的一个或多个实施例的用于管理虚拟机的远程代理包括持久性存储装置、资源标记器、以及存储管理器。该持久性存储装置存储备份/还原策略。该资源标记器基于用于向客户端提供服务的虚拟机的计算资源消耗量而向虚拟机应用第一标记。该存储管理器获得针对虚拟机中的某个虚拟机的备份生成请求;响应于该备份生成请求的获得:做出第一标记中的某个标记与该虚拟机相关联的确定;响应于该确定:基于由该标记指示的计算资源限制以及与该虚拟机相关联的备份/还原策略的备份策略而生成复合工作流程;并基于该复合工作流程而为该虚拟机生成备份。
在一个方面中,本发明一个或多个实施例的用于管理虚拟机的方法包括:获得针对虚拟机的备份生成请求;响应于备份生成请求的获得:做出第一标记与该虚拟机相关联的确定;响应于该确定:基于由该第一标记指示的计算资源限制以及与该虚拟机相关联的备份策略而生成复合工作流程;并基于该复合工作流程而为该虚拟机生成备份。
在一个方面中,本发明的一个或多个实施例的非暂时性计算机可读介质包括在由计算机处理器执行时使得该计算机处理器能够执行用于管理虚拟机的方法的计算机可读程序代码。该方法包括:获得针对虚拟机的备份生成请求;以及响应于备份生成请求的获得:做出第一标记与该虚拟机相关联的确定;响应于该确定:基于由该第一标记指示的计算资源限制以及与该虚拟机相关联的备份策略而生成复合工作流程;并基于该复合工作流程而为该虚拟机生成备份。
附图说明
下面将参照附图说明本发明的一些实施例。但是,附图仅通过示例的方式示出了本发明的某些方面或实施方式,并不意味着限制权利要求的范围。
图1示出了本发明的一个或多个实施例的系统的示意图;
图2.1示出了本发明的一个或多个实施例的示例性生产主机的示意图;
图2.2示出了本发明的一个或多个实施例的虚拟机的示意图;
图3示出了本发明的一个或多个实施例的示例性远程代理的示意图;
图4.1示出了本发明的一个或多个实施例的提供备份服务的方法的流程图;
图4.2示出了本发明的一个或多个实施例的产生复合工作流程的方法的流程图;
图5.1示出了本发明的一个或多个实施例的提供资源可用性标记服务的方法的流程图;
图5.2示出了本发明的一个或多个实施例的提供资源消耗量标记服务的方法的流程图;
图6.1示出了一个示例性系统在第一时间点时的示意图;
图6.2示出了图6.1的示例性系统在第二时间点时的示意图;
图6.3示出了图6.1的示例性系统在第三时间点时的示意图;
图7示出了本发明的一个或多个实施例的计算设备的示意图。
具体实施方式
下面将参照附图说明本发明的具体实施例。在以下说明中,阐述了许多细节作为本发明的示例。本领域技术人员应理解,无需这些具体细节即可实践本发明的一个或多个实施例,并且在不脱离本发明的范围的情况下可做出各种变化或修改。在本文中省略了本领域普通技术人员已知的某些细节,以避免使说明变得模糊。
在以下的附图说明中,在本发明的多个实施例中参照一个附图说明的任何部件可以等同于参照任何其他附图说明的一个或多个以相似方式命名的部件。为了简洁起见,不会参照每个附图重复说明这些部件。因此,每个附图的部件的每个实施例通过引用结合在此,并假定其可选地存在于具有一个或多个以相似方式命名的部件的其他附图中。此外,根据本发明的多个实施例,对附图的部件的任何描述应理解为可选的实施例,这种可选的实施例可以是除了相对于任何其他附图中的以相似方式命名的相应部件描述的实施例之外的实施例,与这些实施例结合实施,或者代替这些实施例。
本发明的实施例总体涉及一种用于在分布式计算环境中提供备份服务的系统、装置和方法。更具体地说,所述系统、装置和方法可通过降低分布式计算环境的幻觉性变慢(phantom slowdown)的可能性和/或提高完成备份生成和存储的可能性的方式来安排分布式环境中的备份生成。
在本发明的一个或多个实施例中,系统自动地对虚拟机进行标记。应用于虚拟机的标记可反映虚拟机的计算资源的可用性和/或生成虚拟机备份的估算开销。可在生成虚拟机备份之前进行标记。在调度和进行虚拟机备份时,系统可考虑到这种标记。这样,在为虚拟机生成备份时,系统可能不太容易过度消耗计算资源,并且提高了成功生成备份的可能性。此外,通过在生成备份的时段期间向虚拟机应用标记,可提高生成备份的时段期间的计算资源的可用性。
图1示出了本发明的一个或多个实施例的计算系统。该系统可包括从由生产主机(130)承载的虚拟机获得服务的客户端(140)。欲了解生产主机的更详细信息,请参考图2.1。欲了解虚拟机的更详细信息,请参考图2.2。
远程代理(110)可为虚拟机提供备份生成服务。该备份生成服务可包括安排虚拟机备份的生成和/或将虚拟机备份存储在备份存储装置(120)中。远程代理(110)可根据应用于虚拟机的标记和/或规定用于生成这种备份的工作流程的备份策略来安排备份的生成。通过生成这种备份,在虚拟机或虚拟机主机发生故障的情况下能还原虚拟机。所述系统可包括任意数量的远程代理(例如110A、110N)。
为了便于备份的生成和存储,远程代理(110)可监视虚拟机并向虚拟机应用标记。所述标记可以是指示以下信息的元数据:(i)虚拟机的计算资源的可用性和/或(ii)生成虚拟机备份的计算资源开销。
图1的系统的每个组件可通过有线和无线连接的任何组合可操作地连接。图1的系统的每个组件将在下文中说明。
客户端(140)可以是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器或云资源。所述计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储在由计算设备的处理器执行时使计算设备执行本申请中说明的功能的计算机指令,例如计算机代码。在不脱离本发明的情况下,客户端(140)可以是其他类型的计算设备。欲了解计算设备的更详细信息,请参考图7。
客户端(140)可与由生产主机(130)承载的应用程序交互。例如,所述应用程序可以是数据库、电子邮件服务器或任何其他类型的应用程序。客户端(140)可利用由生产主机(130)承载的这些示例性应用程序或其他类型的应用程序提供的服务。通过利用应用程序的服务,对于客户端(140)很重要的数据可在生产主机(130)上或其他位置存储为每个相应应用程序的应用程序数据的一部分。
例如,生产主机可承载电子邮件应用程序(或承载电子邮件应用程序的虚拟机)。客户端可通过使用电子邮件应用程序接收和发送电子邮件来利用电子邮件应用程序的服务。客户端的电子邮件的副本可存储为电子邮件应用程序数据的一部分。这样,电子邮件应用程序可通过对客户端很重要的电子邮件的形式承载数据。
在本发明的一个或多个实施例中,应用程序是由虚拟机承载的。虚拟机可由生产主机(130)承载。通过这种方式,可由不同的虚拟机为不同的客户端提供不同的服务,而这些虚拟机又由不同的生产主机承载。所述系统可包括任意数量的生产主机(例如130A、130N)。
在本发明的一个或多个实施例中,生产主机(130)是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。所述计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储在由计算设备的处理器执行时使计算设备执行本申请中说明的功能以及图4.1-5.2中所示的全部方法或一部分方法的计算机指令,例如计算机代码。在不脱离本发明的情况下,生产主机(130)也可以是其他类型的计算设备。欲了解计算设备的更详细信息,请参考图7。
在本发明的一个或多个实施例中,生产主机(130)是分布式计算设备。分布式计算设备可指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,生产主机(130)可以是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况中,在不脱离本发明的情况下,生产主机(130)的功能可由多个不同的计算设备执行。
在本发明的一个或多个实施例中,生产主机(130)承载虚拟机。每个虚拟机可承载任何数量的应用程序。这些应用程序可向客户端(140)或任何其他实体提供服务。欲了解生产主机(130)的更详细信息,请参考图2.1。
在本发明的一个或多个实施例中,远程代理(110)是计算设备。计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。所述计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储在由计算设备的处理器执行时使计算设备执行本申请中说明的远程代理(110)的功能以及图4.1-5.2中所示的全部方法或一部分方法的计算机指令,例如计算机代码。在不脱离本发明的情况下,远程代理(110)可以是其他类型的计算设备。欲了解计算设备的更详细信息,请参考图7。
在本发明的一个或多个实施例中,远程代理(110)是分布式计算设备。分布式计算设备可指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,远程代理(110)可以是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况中,在不脱离本发明的情况下,远程代理(110)的功能可由多个不同的计算设备执行。
在本发明的一个或多个实施例中,远程代理(110)向生产主机提供备份生成服务和/或标记服务。标记服务可包括将向由生产主机承载的虚拟机(130)应用标记。标记可以是反映虚拟机的特征的元数据。可向虚拟机应用反映虚拟机的不同类型的特征的不同类型的标记。可应用任何数量的标记,并且应用的每个标记可代表相似和/或不同的特征。在本发明的一个或多个实施例中,在不生成备份的时段期间应用标记。这样做能提高用于生成备份的计算资源的可用性。为了向生产主机(130)的虚拟机提供标记服务,远程代理(110)可执行图5.1-5.2所示的全部方法或一部分方法。
备份生成服务可包括虚拟机备份的生成以及这种虚拟机备份在备份存储装置(120)中的存储。虚拟机的备份可以是可用于将虚拟机的状态还原到与备份相关联的先前状态的数据结构。当为虚拟机生成备份时,远程代理(110)可考虑到已应用于虚拟机的标记。远程代理(110)可使用这种标记来修改用于生成备份的默认工作流程。可根据标记来修改默认工作流程,以改进生产主机(130)的功能。通过根据标记来修改工作流程,与在修改工作流程时进行分析的其他默认工作流程修改方法相比,可即时地减少用于进行这种修改的计算资源的消耗。这样,与目前的分布式系统相比时,能提高工作流程修改和/或备份生成期间的计算资源的可用性。为了向生产主机(130)的虚拟机提供备份生成服务,远程代理可执行图4.1-4.2所示的全部方法或一部分方法。欲了解远程代理(110)的更详细信息,请参考图3。
在本发明的一个或多个实施例中,备份存储装置(120)是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、服务器、分布式计算系统或云资源。所述计算设备可包括一个或多个处理器、存储器(例如随机存取存储器)和持久性存储装置(例如磁盘驱动器、固态驱动器等)。持久性存储装置可存储在由计算设备的处理器执行时使计算设备提供本申请中说明的备份存储装置(120)的功能以及执行图4.1-5.2中所示的全部方法或一部分方法的计算机指令,例如计算机代码。欲了解计算设备的更详细信息,请参考图7。
在本发明的一个或多个实施例中,备份存储装置(120)是分布式计算设备。在本文中所用的分布式计算设备指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,备份存储装置(120)可以是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况中,在不脱离本发明的情况下,备份存储装置(120)的功能可由多个不同的计算设备执行。
在本发明的一个或多个实施例中,备份存储装置(120)存储来自生产主机(130)的数据。来自生产主机(130)的数据可以是由生产主机(130)承载的虚拟机的备份。虚拟机的备份例如可以是虚拟机映像、增量备份、应用程序映像或应用程序的增量备份。在不脱离本发明的情况下,在备份存储装置(120)中还可存储其他类型的备份。在不脱离本发明的情况下,在备份存储装置(120)中可存储任何数量的备份数据。备份数据可与从其中获得备份数据的相应应用程序和/或虚拟机相关联。所述系统可包括任意数量的备份存储装置(例如120A、120N)。
在本发明的一个或多个实施例中,备份存储装置(120)和/或系统的其他组件对照存储在备份存储装置中的现有数据对备份数据进行去重。通过对备份数据进行去重,与在存储备份数据之前不进行去重的方案相比,能够提高可存储在备份存储装置中的数据量。为了对备份数据进行去重,备份存储装置(120)可仅存储备份数据的唯一部分的副本。在存储备份数据时,可首先检查备份数据,以确定其是否与已存储在备份存储装置中的数据重复。只有备份数据的唯一部分才会被存储在备份存储装置中。与存储未去重的备份数据相比,存储和访问去重的备份数据可能严重消耗更多计算资源。
如上所述,备份存储装置可存储从生产主机(130)获得的数据。图2.1示出了本发明的一个或多个实施例的示例性生产主机(200)的示意图。
在本发明的一个或多个实施例中,示例性生产主机(200)承载虚拟机(210)。虚拟机(210)可承载任何数量的应用程序,如参照图2.2所进一步详述。在不脱离本发明的情况下,每个虚拟机(例如210A、210N)可承载相似或不同的应用程序。
在本发明的一个或多个实施例中,示例性生产主机(200)包括管理器(220)。管理器(220)可向虚拟机(210)分配计算资源。例如,管理器(220)可将处理器周期、存储器空间和存储装置空间分配给虚拟机(210)专用。
在本发明的一个或多个实施例中,管理器(220)是包括电路的硬件设备。管理器(220)例如可以是数字信号处理器、现场可编程门阵列或应用专用集成电路。在不脱离本发明的情况下,管理器(220)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,管理器(220)实现为存储在持久性存储装置上的计算代码,该计算代码在由处理器执行时执行管理器(220)的功能。所述处理器可以是包括电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,所述处理器可以是用于处理数字信息的其他类型的硬件设备。
在本发明的一个或多个实施例中,示例性生产主机(200)包括生产代理(222)。生产代理(222)可向虚拟机(210)提供备份服务和标记服务。生产代理(222)可由远程代理远程控制以提供这种服务。在提供备份服务和/或标记服务时,生产代理(222)可执行图4.1-5.2所示的全部或一部分方法。
为了向虚拟机(210)提供标记服务,生产代理(222)可监视(i)虚拟机(210)的计算资源的可用性、(ii)用于生成虚拟机备份的计算资源开销、和/或(iii)与生产主机的计算负载有关的其他特征。生产代理(222)可将虚拟机(210)的计算资源的可用性与标记策略进行比较,并且在满足标记策略的条件的情况下应用由标记策略规定的任何标记。表1示出了本发明的实施例的标记策略的示例。
表1示例性标记策略
如表1所示,第2行给出的第一个策略表明,若平均处理器使用量大于可用处理器总量的70%,则可应用表明虚拟机是高CPU使用型虚拟机的标记。类似地,第3行给出的第二个策略表明,若平均内存使用量大于总可用内存使用量的70%,则可应用表明虚拟机是高内存使用型虚拟机的标记。与第一个策略和第二个策略类似,第3行给出的第三个策略表明,若平均存储装置输入输出周期(IOPS)大于总可用IOPS的70%,则可应用表明虚拟机是高存储装置使用型虚拟机的标记。
与前三个策略相反,第5行和第6行中给出的第四个和第五个策略表明,若平均使用量较低且在预定时段内CPU或存储器的最大使用量较高,则可应用表明虚拟机是高峰使用型虚拟机的标记。
第7行所示的最后一个示例性策略表明,若虚拟机使用的IOPS很少但平均带宽使用量很高,则可将虚拟机标记为高性能可用性但高存储器使用型虚拟机。
在虚拟机满足这些策略中的任何策略时,生产代理(222)可向该虚拟机应用相应的标记。因此,可向虚拟机应用多个标记,以反映虚拟机的计算资源可用性的多种特征。
除了表1中给出的标记之外,在标记中还可包含其他信息,以反映虚拟机的计算资源的总体可用性。例如,在将虚拟机标记为高峰使用型虚拟机时,在标记中可包含高峰使用的时段。在不脱离本发明的情况下,可在标记中包含其他信息。此外,虽然表1示出了对于虚拟机的特定特征很关键的有限数量的策略,但是在不脱离本发明的情况下,可使用对于不同特征很关键的更多、更少和/或不同的策略。例如,可利用具有不同阈值(例如>70%、>50%、<30%)的多种策略,以根据虚拟机的计算资源使用特征对它们进行更精细的分类。
除了反映计算资源可用性的标记之外,生产代理(222)还向虚拟机应用反映为虚拟机生成备份的计算资源开销的标记。例如,每当生产代理(222)安排为虚拟机生成备份时,生产代理(222)可标识用于生成这种备份的计算资源开销,并且可应用新标记或更新现有标记,以反映生成备份的计算资源开销。
为了向虚拟机(210)提供备份服务,生产代理(222)可生成虚拟机(210)的备份。当生产代理(222)从远程代理接收到生成虚拟机(210)的备份的指令时,生产代理(222)可生成这种备份。
在本发明的一个或多个实施例中,生产代理(222)是包括电路的硬件设备。生产代理(222)例如可以是数字信号处理器、现场可编程门阵列或应用专用集成电路。在不脱离本发明的情况下,生产代理(222)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,生产代理(222)实现为存储在持久性存储装置上的计算代码,该计算代码在由处理器执行时执行生产代理(222)的功能。所述处理器可以是包括电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,所述处理器可以是用于处理数字信息的其他类型的硬件设备。
如上所述,生产主机可承载虚拟机。图2.2示出了本发明的一个或多个实施例的示例性虚拟机(230)的示意图。示例性虚拟机(230)可以是利用一个或多个生产主机的计算资源的虚拟实体。示例虚拟机(230)可承载任何数量的应用程序(234)。应用程序(234)例如可以是交易数据库、电子邮件服务器、文件存储器或可向客户端提供服务的任何其他类型的应用程序。在不脱离本发明的情况下,应用程序(234)可向其他实体提供服务。
应用程序(234)可利用承载应用程序(234)的虚拟机的计算资源。可依次将计算资源从承载虚拟机的生产主机分配给承载应用程序的虚拟机。
如上所述,远程代理可安排生产主机数据的存储,例如备份存储装置中的虚拟机备份。图3示出了本发明的一个或多个实施例的远程代理(300)的示意图。
在本发明的一个或多个实施例中,示例性远程代理(300)向生产主机提供备份生成服务和标记服务。为了提供上述功能,示例性远程代理(300)可包括存储管理器(310)、资源标记器(315)以及持久性存储装置(320)。下面论述示例性远程代理(300)的每个组件。
在本发明的一个或多个实施例中,备份管理器(310)向生产主机提供备份服务。为了向生产主机提供备份服务,存储管理器(310)可安排由生产主机承载的虚拟机的备份的生成以及这些备份在备份存储装置中的存储。在提供备份服务时,存储管理器(310)可利用备份/还原策略(322)、虚拟机资源图(326)以及应用于虚拟机的标记。为了提供上述功能,存储管理器(310)可执行图4.1-4.2中所示的所有方法或一部分方法。
在本发明的一个或多个实施例中,存储管理器(310)是包括电路的硬件设备。存储管理器(310)例如可以是数字信号处理器、现场可编程门阵列或应用专用集成电路。在不脱离本发明的情况下,存储管理器(310)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,存储管理器(310)实现为存储在持久性存储装置上的计算代码,该计算代码在由处理器执行时执行存储管理器(310)的功能。所述处理器可以是包括电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,所述处理器可以是用于处理数字信息的其他类型的硬件设备。
在本发明的一个或多个实施例中,资源标记器(315)向生产主机提供标记服务。为了向生产主机提供标记服务,资源标记器(315)可安排向由生产主机承载的虚拟机应用标记的操作。资源标记器(315)可向生产代理发送指令以向虚拟机应用标记。该指令可包括与参照关于生产代理的表1所论述的那些策略类似的策略。而生产代理又可向虚拟机应用这种标记。在提供标记服务时,资源标记器(315)可利用标记策略(324)。为了提供上述功能,资源标记器(315)可执行图5.1-5.2中所示的所有方法或一部分方法。
在本发明的一个或多个实施例中,资源标记器(315)是包括电路的硬件设备。资源标记器(315)例如可以是数字信号处理器、现场可编程门阵列或应用专用集成电路。在不脱离本发明的情况下,资源标记器(315)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,资源标记器(315)实现为存储在持久性存储装置上的计算代码,该计算代码在由处理器执行时执行资源标记器(315)的功能。所述处理器可以是包括电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,所述处理器可以是用于处理数字信息的其他类型的硬件设备。
在本发明的一个或多个实施例中,持久性存储装置(320)是存储数据结构的存储装置。持久性存储装置(320)可以是物理或逻辑设备。例如,持久性存储装置(320)可包括用于提供数据存储功能的固态驱动器、固态驱动器、磁带驱动器和其他组件。或者,持久性存储装置(320)可以是利用其他组件的物理计算资源提供数据存储功能的逻辑设备。
在本发明的一个或多个实施例中,持久性存储装置(320)存储备份/还原策略(322)、标记策略(324)以及虚拟机资源图(326)。这些数据结构中的每一个将在下文中说明。
备份/还原策略(322)可以是规定用于生成备份和执行实体的还原的默认工作流程的数据结构。备份/还原策略(322)的策略可规定工作流程的任何数量的特征,包括但不限于何时生成备份、将备份存储在何处以及所生成的备份的存储冗余性。
标记策略(324)可以是规定在虚拟机具有与通过标记策略与标记相关联的特征相匹配的特征时要应用于虚拟机的标记的数据结构。例如,标记策略(324)可包含关于虚拟机的计算资源利用率的阈值,如表1所示。在满足这种阈值时,所述策略可表明应向具有符合该阈值的利用率的虚拟机应用由该策略规定的标记。在不脱离本发明的情况下,标记策略(324)可包含任意数量的策略。
虚拟机资源图(326)可以是规定由生产主机承载的虚拟机的计算资源的可用性的数据结构。可根据由生产主机承载的生产代理进行的监视来生成虚拟机资源图(326)。例如,生产代理可随时监视虚拟机的计算资源的可用性,并向示例性远程代理(300)报告监视结果。示例性远程代理(300)可将监视结果存储在虚拟机资源图(326)中。因此,虚拟机资源图(326)可反映过去由生产主机承载的虚拟机的计算资源的可用性。如下文中所进一步详述,存储管理器(310)可利用虚拟机资源图(326)来预测虚拟机是否可具有足够的计算资源以在将来的特定时段内生成虚拟机的备份。在不脱离本发明的情况下,虚拟机资源图(326)可表明在任何粒度级别上和任何持续时间内虚拟机计算资源的可用性。在本发明的一个或多个实施例中,虚拟机资源图(326)可表明过去24小时内以15分钟为增量的虚拟机计算资源的可用性。在不脱离本发明的情况下,虚拟机资源图(326)可表明在其他粒度级别上和不同持续时间内虚拟机计算资源的可用性。例如,可使用1分钟、60分钟、4小时、6小时、12小时、24小时等粒度。类似地,可使用1小时、6小时、12小时、48小时、7天、14天、1个月等持续时间。
虽然图3所示的持久性存储装置(320)被示为包括有限数量的数据结构,但是在不脱离本发明的情况下,持久性存储装置(320)可包括更多、更少的和/或不同的数据结构。此外,虽然所述数据结构被示为是独立的,但是在不脱离本发明的情况下,包含在数据结构(322、324、326)中的数据可存储为单个数据结构,可包含上述信息之外的附加信息,并且可存储在不同的位置。
如上所述,图1的系统的组件可执行用于提供备份服务的方法。图4.1-4.2示出了本发明的一个或多个实施例的可由图1的系统的组件执行的方法。在不脱离本发明的情况下,图4.1-4.2中所示的任何步骤可以省略,以不同的顺序执行,和/或与其他步骤并行或部分地重叠的方式执行。
图4.1示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4.1中所示的方法可用于生成实体的备份。图4.1中所示的方法例如可由远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图4.1的方法。
在步骤400中,获得虚拟机的备份生成请求。
在本发明的一个或多个实施例中,虚拟机的备份生成请求是根据备份策略获得的。例如,备份策略可指明要生成的虚拟机备份。在不脱离本发明的情况下,该备份生成请求也可以是从其他来源获得的。
在步骤402中,确定是否有任何资源限制标记与虚拟机相关联。
如上所述,可根据虚拟机的计算资源限制向虚拟机应用标记。表1所示的任何标记都可视为资源限制标记。这种标记可表明虚拟机的计算资源是有限的。可在执行步骤402之前给出资源限制标记。
若确定有资源限制标记与虚拟机相关联,则该方法可进行到步骤406。若确定有没有资源限制标记与虚拟机相关联,则该方法可进行到步骤404。
在步骤404中,生成备份工作流程。
在本发明的一个或多个实施例中,备份工作流程是根据与虚拟机相关联的备份策略生成的。该备份策略可规定在为虚拟机生成备份时要执行的工作流程的特征。例如,该备份策略可规定何时生成备份、将备份存储在何处、备份的存储冗余级别和/或在存储装置中如何管理备份(例如存储多长时间、在不同时段内存储在何处等)。该备份策略可规定工作流程的更多、更少和/或不同的特征。
在步骤408中,根据备份工作流程生成虚拟机的备份。
在本发明的一个或多个实施例中,通过向由生产主机承载的生产代理(该生产主机还承载虚拟机)发送指令来生成备份。发送到生产代理的指令可使生产代理根据备份工作流程生成虚拟机的备份。所述指令可为任何格式,并可包括任何数量的信息。
该方法可在步骤408之后结束。
现在回到步骤402,该方法可在步骤402之后进行到步骤406。
在步骤406中,生成复合工作流程,作为备份工作流程。
在本发明的一个或多个实施例中,复合工作流程是对与虚拟机相关联的备份策略所规定的默认工作流程的修改。默认工作流程的修改可修改用于生成备份的虚拟机计算资源的消耗。
在本发明的一个或多个实施例中,默认工作流程的修改是对工作流程进行时移。对工作流程进行时移可改变工作流程的开始时间。例如,可将工作流程修改为在与备份策略规定的开始时间不同的时间执行。可对工作流程进行时移,使其在承载虚拟机的生产主机具有更高计算资源可用性的时间点开始,而不是在备份策略规定的开始时间开始。
对工作流程进行时移可改变执行工作流程的持续时间和/或限制可用于执行工作流程的计算资源的数量。例如,若备份策略规定的默认工作流程规定了执行工作流程的1小时窗口,则可将工作流程修改为执行工作流程的4小时窗口,同时将用于执行工作流程的最大允许计算资源利用量限制为生成备份的生产主机的总计算资源量的5%。在不脱离本发明的情况下,可使用不同的窗口持续时间(例如2小时、8小时、12小时等)和不同的计算资源利用上限(例如1%、10%、15%)。
在本发明的一个或多个实施例中,通过图4.2所示的方法来生成复合工作流程。在不脱离本发明的情况下,所述复合工作流程也可通过其他方法生成。
该方法可在步骤406之后进行到步骤408。
图4.2示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4.2中所示的方法可用于产生复合工作流程。图4.2中所示的方法例如可由远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图4.2的方法。
在步骤410中,根据备份策略确定备份生成时间。
在本发明的一个或多个实施例中,所述备份生成时间可以是备份生成的开始时间。换句话说,是开始生成备份的时间。备份策略可规定备份生成时间。备份生成时间可规定备份生成的其他特征。例如,备份生成时间可规定生成备份的开始时间和持续时间,例如窗口。
在步骤412中,确定用于备份生成的资源消耗量。
在本发明的一个或多个实施例中,资源消耗量是估算值。可根据过去用于生成虚拟机备份的计算资源消耗量来产生该估算值。可从与虚拟机相关联的标记获得过去的计算资源消耗量。如上所述,每次生成虚拟机备份时,生产代理可为虚拟机应用生成虚拟机备份的计算资源开销标记。
在步骤414中,确定资源消耗量是否超过在生成时用于生成备份的可用资源量。
在本发明的一个或多个实施例中,通过将在步骤412中确定的资源消耗量与由与虚拟机相关联的标记所规定的虚拟机的资源可用性进行比较来进行确定。如上所述,生产代理可监视可用于虚拟机的计算资源,并向虚拟机应用指示用于生成虚拟机备份的计算资源的即时可用性的标记。
若资源消耗量超过在生成时用于生成备份的可用资源量,则该方法可进行到步骤418。若资源消耗量不超过在生成时用于生成备份的可用资源量,则该方法可进行到步骤416。
在步骤416中,根据与虚拟机相关联的备份策略生成备份工作流程。
如上所述,该备份策略可规定用于为虚拟机生成备份的默认工作流程。备份策略规定的默认工作流程可用作备份工作流程。
该方法可在步骤416之后结束。
现在返回到步骤414,若资源消耗量超过生成时的可用资源量,则所述方法可进行到步骤418。
在步骤418中,根据与由生产主机承载的当前虚拟机和/或其他虚拟机相关联的标记来标识备选备份生成时间。
如上所述,生产代理可向虚拟机应用反映虚拟机的计算资源的即时可用性的标记。可通过选择虚拟机的计算资源的即时可用性高的时段来标识备选备份生成时间。
在本发明的一个或多个实施例中,通过选择至少两个虚拟机的计算资源的即时可用性高的时段来标识备选备份生成时间。两个虚拟机中的第一个可以是将为其生成备份的虚拟机。两个虚拟机中的第二个也可以由承载第一个虚拟机的生产主机承载。由于两个虚拟机都使用同一生产主机的计算资源,因此两个虚拟机的计算资源的利用率可能会影响生产主机生成虚拟机备份并继续向客户端提供服务的能力。因此,可选择能对由同一生产主机承载的多个虚拟机的计算资源的可用性进行选择的时间。
例如,考虑第一个虚拟机和第二个虚拟机由某个生产主机承载的情况。在备份策略规定的开始时间,第一虚拟机可能具有较低的计算资源可用性。远程代理可通过考虑两个虚拟机的计算资源在两段不同时间的可用性来选择新的生成备份的开始时间。在第一段时间期间,第一虚拟机可能具有较高计算资源可用性,而第二虚拟机可能具有较低计算资源可用性。相反,在第二段时间期间,两个虚拟机都可能具有较高计算资源可用性。远程代理可选择第二段时间作为开始时间,因为在第二段时间内生成备份更有可能不会对生产主机继续向客户端提供服务的能力产生不良影响。
在步骤420中,根据备选备份生成时间和与虚拟机相关联的备份策略生成复合工作流程。
在本发明的一个或多个实施例中,通过将由与虚拟机相关联的备份策略所规定的默认工作流程所指定的开始时间时移到备选备份生成时间来生成复合工作流程。
在本发明的一个或多个实施例中,通过对默认工作流程的持续时间进行时移以包括备选备份生成时间来生成复合工作流程。可向默认工作流程添加计算资源利用率上限。该上限可限制可用于备份生成的计算资源量。该上限可根据计算资源的即时可用性确定。该上限可以是计算资源的最低即时可用性的差值。例如,若计算资源的最大利用率为97%,则该上限可指定为3%。在不脱离本发明的情况下,可不同地指定该上限。
可包含一个安全系数,以进一步降低生成备份影响生产主机继续向客户端提供服务的能力的可能性。例如,若计算资源的最大利用率为95%,则该上限可指定为2.5%,以反映2.5%的缓冲量。在不脱离本发明的情况下,可使用不同的缓冲量值。
该方法可在步骤420之后结束。
如上所述,图1的系统的组件可执行用于提供标记服务的方法。图5.1-5.2示出了本发明的一个或多个实施例的可由图1的系统的组件执行的方法。在不脱离本发明的情况下,图5.1-5.2中所示的任何步骤可以省略,以不同的顺序执行,和/或与其他步骤并行或部分地重叠的方式执行。
图5.1示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5.1中所示的方法可用于向虚拟机应用计算资源可用性标记。图5.1中所示的方法例如可由远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图5.1的方法。
在步骤500中,监视虚拟机的计算资源消耗量。
该计算资源消耗量可用于非备份生成目的。例如,该计算资源消耗量可用于向客户端提供服务,例如由虚拟机承载的应用程序消耗的计算资源量。
在本发明的一个或多个实施例中,虚拟机的计算资源消耗量由生产代理监视。可随时监视虚拟机的计算资源消耗量。例如,可每15分钟监视一次虚拟机的计算资源消耗量。
计算资源消耗量监视可包括监视任何数量的计算资源。例如可监视处理器消耗量、存储器消耗量、存储装置消耗量和/或网络带宽消耗量。
在步骤502中,根据监视结果向虚拟机应用标记。
在本发明的一个或多个实施例中,由生产代理向虚拟机应用标记。生产代理可根据标记策略来应用这种标记。标记策略可规定在虚拟机满足标记策略规定的条件时应向虚拟机应用的标记。在不脱离本发明的前提下,可向虚拟机应用任何数量的标记。
例如,考虑第一标记策略规定在虚拟机的处理器利用率超过70%时应向虚拟机应用第一标记并且第二标记策略规定在虚拟机的内存利用率超过70%时应向虚拟机应用第二标记的情况。若由生产代理监视的特定虚拟机同时超过这两个阈值,则应向该虚拟机应用第一标记和第二标记。
在本发明的一个或多个实施例中,标记是与虚拟机相关联的元数据。标记可本地或远程存储。在向虚拟机应用标记时,可向远程代理发送已应用于虚拟机的标记的副本或其他指示符。例如,在生产代理向虚拟机应用标记时,可将标记的副本和虚拟机的标识符一起发送给向虚拟机提供备份服务的远程代理。远程代理可存储该数据的副本,以备将来在备份生成期间使用。
该方法可在步骤502之后结束。
图5.2示出了本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5.2中所示的方法可用于向虚拟机应用计算资源消耗量标记。图5.2中所示的方法例如可由远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中所示的系统的其他组件也可执行图5.2的方法。
在步骤510中,在虚拟机的备份生成期间监视虚拟机的计算资源消耗量。
在本发明的一个或多个实施例中,虚拟机的计算资源消耗量由生产代理监视。例如,每当生产代理安排虚拟机备份的生成时,生产代理可标识用于生成备份的计算资源量。
计算资源消耗量监视可包括监视任何数量的计算资源。例如可监视处理器消耗量、存储器消耗量、存储装置消耗量和/或网络带宽消耗量。
在步骤512中,根据计算资源消耗量监视结果向虚拟机应用标记。
在本发明的一个或多个实施例中,所述标记反映在备份生成期间消耗的计算资源量。
该方法可在步骤512之后结束。
使用图5.1-5.2中所示的方法,可向虚拟机应用多个标记。标记可反映(i)为虚拟机生成备份的先前开销和(ii)虚拟机的计算资源的可用性。在生成虚拟机的备份时,可通过图4.1-4.2中所示的方法使用这种信息。
为了进一步阐明本发明的实施例,在图6.1-6.3中给出了一个非限制性示例。图6.1-6.3示出了一个与图1的系统类似的系统。为了简洁起见,仅示出了图1的系统的有限数量的组件。
示例
考虑如图6.1中所示的情况,其中远程代理(600)负责在每天下午1点向由生产主机(610)承载的虚拟机(612)提供标记和备份服务。虚拟机(612)可承载向客户端提供电子邮件服务的应用程序。由于客户端用户的午餐时间安排,在每天下午1点客户端用户用完午餐回来时,生产主机(610)会承受沉重的客户端载荷。
为了向虚拟机(612)提供标记服务,远程代理(600)可向生产主机(610)的生产代理(未示出)发送与表1所示的标记策略类似的标记策略。为了向虚拟机(612)提供备份服务,生产代理(600)可指示生产代理在下午1点生成虚拟机(612)的备份。由于尚未向虚拟机(612)应用标记,因此利用用于生成虚拟机(612)的备份的默认工作流程进行备份生成。另外,由于虚拟机(612)存储大量数据,因此用于生成虚拟机(612)的备份的计算开销很大。
由于客户端用户用完午餐回来时检查其电子邮件导致虚拟机(612)在下午1点至2点时段内造成高峰CPU使用率,因此生产代理向虚拟机(612)应用从下午1点至2点的高峰CPU使用率标记(616),如图6.2所示。另外,在生成虚拟机(612)的第一个备份时,由于生成第一个虚拟机备份(622)的计算资源开销很高,因此向虚拟机(612)应用高开销标记(614)。第一个虚拟机备份(622)存储在第一备份存储装置(620)中,以确保在虚拟机(612)或生产主机(610)发生故障的情况下备份的可用性。
在第二天,当远程代理(600)在下午1点开始为虚拟机(612)安排备份生成时,远程代理(600)标识从下午1点至2点的高峰CPU使用率标记(616)与高开销标记(614)的结合表明在下午1点生成备份可能会降低虚拟机(612)在下午1点时向客户端提供电子邮件服务的能力,因为承载虚拟机的生产主机(612)的计算资源的可用性会降低。因此远程代理(600)不在下午1点安排虚拟机(612)的备份生成,而是将备份生成时间后移,使其在下午3点开始。因此,在如图6.3所示生成第二个虚拟机备份(624)时,备份的生成不会损害生产主机(610)继续向客户端提供服务的能力。与第一个虚拟机备份(622)类似,第二个虚拟机备份(624)也被存储在第一备份存储装置(620)中。
示例结束
图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 (14)

1.一种用于管理虚拟机的远程代理设备,包括:
持久性存储装置,其存储备份/还原策略;
资源标记器,其被编程为:
基于用于向客户端提供服务的所述虚拟机的计算资源消耗量而向所述虚拟机应用第一标记;且
基于与先前所生成的虚拟机备份相关联的所述虚拟机的计算资源消耗量而向所述虚拟机应用第二标记,其中所述第二标记指示用于备份生成的资源消耗量,和
存储管理器,其被编程为:
获得针对所述虚拟机中的某虚拟机的备份生成请求;
响应于所述备份生成请求的获得:
做出所述第一标记中的某标记与所述虚拟机相关联的确定;
响应于所述确定:
基于以下而生成复合工作流程:
由所述标记指示的计算资源限制,和
与所述虚拟机相关联的所述备份/还原策略的备份策略,其中生成所述复合工作流程包括:
使用所述第二标记估算用于生成针对所述虚拟机的所述备份的计算资源量;
使用所述第一标记和所述第二标记做出所述计算资源量超过可用计算资源量的第二确定;并且
响应于所述第二确定:
对用于生成所述备份的生成时间进行时移;并且
基于所述复合工作流程而为所述虚拟机生成备份。
2.根据权利要求1所述的远程代理设备,其中生成所述复合工作流程包括:
标识由所述备份策略指示的生成时间;
标识由所述计算资源限制指示的资源限制时间;和
基于所述资源限制时间而对所述备份策略的所述生成时间进行时移。
3.根据权利要求1所述的远程代理设备,其中所述时移包括:
改变用于生成所述备份的开始时间。
4.根据权利要求1所述的远程代理设备,其中所述时移包括:
扩展用于生成所述备份的时段,和
限制用于生成所述备份的计算资源的利用率。
5.根据权利要求1所述的远程代理设备,其中向所述虚拟机应用所述第一标记包括:
监视所述虚拟机中的第一虚拟机在预定时段内的计算资源消耗量;
使所述计算资源消耗量与所述第一标记中的第二标记相匹配;和
基于所述第二标记而更新与所述第一虚拟机相关联的计算资源消耗量标记。
6.一种用于管理虚拟机的方法,包括:
基于用于所述虚拟机先前所生成的备份的所述虚拟机的计算资源消耗量而向所述虚拟机应用第二标记;
获得针对虚拟机的备份生成请求;
响应于所述备份生成请求的获得:
做出第一标记与所述虚拟机相关联的确定;
响应于所述确定:
基于以下而生成复合工作流程:
由所述第一标记指示的计算资源限制,和
与所述虚拟机相关联的备份策略,其中生成所述复合工作流程包括:
使用所述第二标记估算用于生成针对所述虚拟机的所述备份的计算资源量;
使用所述第一标记和所述第二标记做出所述计算资源量超过可用计算资源量的第二确定;和
响应于所述第二确定:
对用于生成所述备份的生成时间进行时移;并且
基于所述复合工作流程为所述虚拟机生成备份。
7.根据权利要求6所述的方法,其中生成所述复合工作流程包括:
标识由所述备份策略指示的生成时间;
标识由所述计算资源限制指示的资源限制时间;和
基于所述资源限制时间而对所述备份策略的所述生成时间进行时移。
8.根据权利要求6所述的方法,其中所述时移包括:
改变用于生成所述备份的开始时间。
9.根据权利要求6所述的方法,其中所述时移包括:
扩展用于生成所述备份的时段,和
限制用于生成所述备份的计算资源的利用率。
10.根据权利要求6所述的方法,还包括:
监视所述虚拟机在预定时段内的计算资源消耗量;
使所述计算资源消耗量与所述第一标记相匹配;和
基于所述第一标记而更新与所述虚拟机相关联的计算资源消耗量标记。
11.一种非暂时性计算机可读介质,包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使得所述计算机处理器能够执行用于管理虚拟机的方法,所述方法包括:
基于用于所述虚拟机先前所生成的备份的所述虚拟机的计算资源消耗量而向所述虚拟机应用第二标记;
获得针对虚拟机的备份生成请求;
响应于所述备份生成请求的获得:
做出第一标记与所述虚拟机相关联的确定;
响应于所述确定:
基于以下而生成复合工作流程:
由所述第一标记指示的计算资源限制,和
与所述虚拟机相关联的备份策略,其中生成所述复合工作流程包括:
使用所述第二标记估算用于生成针对所述虚拟机的所述备份的计算资源量;
使用所述第一标记和所述第二标记做出所述计算资源量超过可用计算资源量的第二确定;和
响应于所述第二确定:
对用于生成所述备份的生成时间进行时移;并且
基于所述复合工作流程为所述虚拟机生成备份。
12.根据权利要求11所述的非暂时性计算机可读介质,其中生成所述复合工作流程包括:
标识由所述备份策略指示的生成时间;
标识由所述计算资源限制指示的资源限制时间;和
基于所述资源限制时间对所述备份策略的所述生成时间进行时移。
13.根据权利要求11所述的非暂时性计算机可读介质,其中所述时移包括:
改变用于生成所述备份的开始时间。
14.根据权利要求11所述的非暂时性计算机可读介质,其中所述时移包括:
扩展用于生成所述备份的时段,和
限制用于生成所述备份的计算资源的利用率。
CN201911329105.0A 2018-12-21 2019-12-20 基于消耗的资源标记系统和方法 Active CN111352696B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/231,264 2018-12-21
US16/231,264 US10642698B1 (en) 2018-12-21 2018-12-21 System and method for consumption based tagging of resources

Publications (2)

Publication Number Publication Date
CN111352696A CN111352696A (zh) 2020-06-30
CN111352696B true CN111352696B (zh) 2024-04-02

Family

ID=69411129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911329105.0A Active CN111352696B (zh) 2018-12-21 2019-12-20 基于消耗的资源标记系统和方法

Country Status (3)

Country Link
US (1) US10642698B1 (zh)
EP (1) EP3671462B1 (zh)
CN (1) CN111352696B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687595B2 (en) 2019-10-30 2023-06-27 EMC IP Holding Company LLC System and method for searching backups
US11475159B2 (en) * 2019-10-30 2022-10-18 EMC IP Holding Company LLC System and method for efficient user-level based deletions of backup data
US11593497B2 (en) 2019-10-30 2023-02-28 EMC IP Holding Company LLC System and method for managing sensitive data
US11586506B2 (en) 2019-10-30 2023-02-21 EMC IP Holding Company LLC System and method for indexing image backups
US11507473B2 (en) 2019-10-30 2022-11-22 EMC IP Holding Company LLC System and method for efficient backup generation
US11356382B1 (en) * 2020-09-30 2022-06-07 Amazon Technologies, Inc. Protecting integration between resources of different services using service-generated dependency tags
CN116688502A (zh) * 2022-02-25 2023-09-05 腾讯科技(深圳)有限公司 虚拟场景中的位置标记方法、装置、设备及存储介质
US11953996B1 (en) 2023-01-20 2024-04-09 Dell Products L.P. Method and system for selectively preserving data generated during application access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046810A (zh) * 2015-12-03 2017-08-15 华为技术有限公司 一种虚拟机备份信息迁移方法、装置和系统
CN107111533A (zh) * 2014-11-13 2017-08-29 微软技术许可有限责任公司 虚拟机集群备份
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301772B2 (en) * 2007-03-27 2012-10-30 Symantec Corporation Method and apparatus for allocating resources among backup tasks in a data backup system
CN102141928A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 虚拟环境下的数据处理方法、系统以及系统的部署方法
US9304867B2 (en) * 2010-09-28 2016-04-05 Amazon Technologies, Inc. System and method for providing flexible storage and retrieval of snapshot archives
US8498966B1 (en) * 2012-05-30 2013-07-30 Symantec Corporation Systems and methods for adaptively performing backup operations
US9720783B1 (en) * 2014-07-08 2017-08-01 EMC IP Holding Company LLC Event driven backups in virtualized environments
US9817722B2 (en) * 2014-08-29 2017-11-14 Vmware, Inc. Storage policy-based automation of protection for disaster recovery
US9977704B1 (en) * 2014-09-26 2018-05-22 EMC IP Holding Company LLC Automated backup and replication of virtual machine data centers
US9628561B1 (en) * 2014-12-19 2017-04-18 EMC IP Holding Company LLC System and method for smart throttling mechanisms for virtual backup appliances
US10084873B2 (en) * 2015-06-19 2018-09-25 Commvault Systems, Inc. Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs
US9563514B2 (en) * 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US10140187B1 (en) * 2015-06-30 2018-11-27 Symantec Corporation Techniques for system backup
US20170168729A1 (en) * 2015-12-11 2017-06-15 Netapp, Inc. Methods and systems for managing resources of a networked storage environment
US10148498B1 (en) * 2016-03-30 2018-12-04 EMC IP Holding Company LLC Provisioning storage in a multi-site cloud computing environment
US10282104B2 (en) * 2016-06-01 2019-05-07 International Business Machines Corporation Dynamic optimization of raid read operations
US10146471B1 (en) * 2016-06-27 2018-12-04 Emc Corporation Offloaded data protection based on virtual machine snapshots
US11023330B2 (en) * 2016-09-02 2021-06-01 Vmware, Inc. Efficient scheduling of backups for cloud computing systems
CN108632067B (zh) * 2017-03-21 2020-12-08 华为技术有限公司 容灾部署方法、装置及系统
US10496431B2 (en) * 2017-07-31 2019-12-03 Red Hat Israel, Ltd. Virtual machine storage operation progress tracking
US11126504B2 (en) * 2018-07-10 2021-09-21 EMC IP Holding Company LLC System and method for dynamic configuration of backup agents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111533A (zh) * 2014-11-13 2017-08-29 微软技术许可有限责任公司 虚拟机集群备份
CN107046810A (zh) * 2015-12-03 2017-08-15 华为技术有限公司 一种虚拟机备份信息迁移方法、装置和系统
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置

Also Published As

Publication number Publication date
EP3671462A1 (en) 2020-06-24
CN111352696A (zh) 2020-06-30
EP3671462B1 (en) 2021-12-08
US10642698B1 (en) 2020-05-05

Similar Documents

Publication Publication Date Title
CN111352696B (zh) 基于消耗的资源标记系统和方法
US9317374B2 (en) Performing a background copy process during a backup operation
US11467915B2 (en) System and method for backup scheduling using prediction models
CN110955559B (zh) 用于虚拟机资源标记的系统和方法
US11080146B2 (en) System and method for storage unavailability tolerant backup
US11507473B2 (en) System and method for efficient backup generation
US11467918B2 (en) System and method for resilient backup generation
US11204942B2 (en) Method and system for workload aware storage replication
CN111949442A (zh) 用于可扩展备份服务的系统和方法
US9934106B1 (en) Handling backups when target storage is unavailable
US10922120B2 (en) System and method for guided system restoration
US11119867B1 (en) System and method for backup storage selection
US11281542B2 (en) System and method for backup generation for deployments
US11126504B2 (en) System and method for dynamic configuration of backup agents
US10754739B2 (en) System and method for predictive backup in a distributed environment
US20100057594A1 (en) Automatic loaner part replacement to prevent system callback
EP3647953A1 (en) System and method for data backup in mixed disk environment
US10936443B2 (en) System and method for tag based backup infrastructure
US11500734B2 (en) System and method for prioritizing backup generation
US11086556B2 (en) System and method for overprotection mitigation
US11513915B2 (en) System and method for micro-backup generation

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