CN106922187B - 用于低影响备份的系统、方法、及计算机程序产品 - Google Patents

用于低影响备份的系统、方法、及计算机程序产品 Download PDF

Info

Publication number
CN106922187B
CN106922187B CN201580043497.8A CN201580043497A CN106922187B CN 106922187 B CN106922187 B CN 106922187B CN 201580043497 A CN201580043497 A CN 201580043497A CN 106922187 B CN106922187 B CN 106922187B
Authority
CN
China
Prior art keywords
delay
task
backup
value
data storage
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
CN201580043497.8A
Other languages
English (en)
Other versions
CN106922187A (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.)
Veeam Software AG
Original Assignee
Veeam Software AG
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 Veeam Software AG filed Critical Veeam Software AG
Publication of CN106922187A publication Critical patent/CN106922187A/zh
Application granted granted Critical
Publication of CN106922187B publication Critical patent/CN106922187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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/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
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

实施例包括用于生产数据存储装置和备份数据存储装置之间的数据的低影响图像级备份和复制的方法、系统、及计算机程序产品。在实施例中,系统开始对在生产数据存储装置和备份数据存储装置之间备份或恢复数据的任务的处理。系统测量访问生产数据存储装置的延迟。系统然后确定延迟是否高于节流阈值。当系统确定延迟超过节流阈值时,系统计算节流值、基于所计算的节流值确定延迟的量、以及将下一数据块的处理延迟所确定的量。

Description

用于低影响备份的系统、方法、及计算机程序产品
技术领域
本发明涉及数据备份和恢复。特别地,本发明涉及用于图像级备份和复制的方法、系统、及计算机程序产品。
背景技术
来自图像级备份活动的影响已成为备份管理员的一致关注。图像级备份在它处理非常大量的数据的方式上是独特的,并且该数据需要从生产存储装置被读取。正如任意其他I/O操作,备份从生产存储装置取得I/O资源。若生产存储装置在IOPS方面已经是过度配置的,则备份能够直接影响关键任务应用和服务器的可用性。这给备份管理员带来满足服务等级协定(SLA)等级的挑战。
备份管理员所面临的另一挑战是满足备份窗口。为了减少备份整个环境所消耗的时间,许多管理员采用并行处理——在同一时间运行多个备份。多个备份处理更加影响到生产存储装置,相应地增加了I/O影响和相关问题。
备份管理员通过手动微调备份调度来努力寻找并行任务数量和存储容量之间所要求的平衡。然而,今天对于他们奏效的未必在1个月内适用(当配设了额外的服务器时,从而导致生产存储装置上额外的I/O负载)。
此外,即使在精心规划的系统中,诸如行为不当的服务器之类的意外波动也可能影响IOPS规划,导致所规划和测试的并行备份数量仍使得生产存储装置负载超过可接受水平。
所以,存在对图像级备份活动的自动负载均衡的高效方法的需求,该方法将自动把备份并发性和存储负载维护在最大可接收水平。解决方案不应影响关键任务应用和服务器,并且它应允许在最小可能时间内对整个环境进行备份。
概览
本发明的实施例包括用于虚拟机的低影响图像级备份和复制的方法、系统、及计算机程序产品。然而,本发明可以与其他备份方法一起使用,例如,文件级或块级备份。
本文描述的方法、系统、及计算机程序产品执行实质上排除了传统方法的缺点中的一个或若干缺点的低影响图像级备份。
本发明的实施例包括在不超过可接受水平地影响生产存储装置的情况下,用于执行虚拟机数据的图像级备份的系统。例如,系统可在不超出超过可接受水平的关键存储健康度量的情况下,从同一生产存储装置备份多个虚拟机。
在实施例中,低影响备份方法不要求执行针对并行备份数量或来自已经被初始化的现有备份任务的I/O负载的手动调整。
本发明的进一步的特征和优势,以及本发明的各个实施例的结构和操作,参考附图在下面被详细描述。注意的是,本发明不被限制于本文描述的特定实施例。这类实施例仅为了说明性目的在本文被展示。基于本文包含的教导,额外的实施例对于(一个或多个)相关领域的技术人员将是显而易见的。
附图说明
被结合于本文并形成本说明书的一部分的附图示出了本发明,并连同描述一起还用于解释本发明的原理,并使得相关领域技术人员能够制造和使用本发明。
图1示出了实施例在其中可被实施或实现的示例环境。
图2A和2B根据实施例示出了示例系统的操作。
图3根据本发明的实施例示出了示例性图形用户界面(GUI),其中,低影响备份可被配置。
图4根据实施例示出了示例计算机系统。
本发明参考附图现在将被描述。在附图中,通常,相似的参考标号指示相同或功能相似的要素。此外,通常,参考标号的最左边的(一个或多个)数字标识参考标号第一次出现的附图。
具体实施方式
本发明的下列详细描述涉及示出了与本发明相一致的示例性实施例的附图。其他实施例是可能的,并且在本发明的精神和范围内可对实施例做出修改。所以,详细描述不是为了限制本发明。相反,本发明的范围由所附(一个或多个)权利要求来定义。
对于本领域技术人员将显而易见的是,如下面所描述的,本发明可在附图中示出的软件、硬件、固件、和/或实体的许多不同的实施例中被实现。具有硬件的专用控制以实现本发明的任意实际软件代码不是本发明的限制。因此,本发明的操作行为将连同下述理解被描述:给定本文所展示的细节的等级,实施例的修改和变化是可能的。
除非另有不同特别说明,用户、备份操作员、以及管理员在本文被可交换地使用,以标识人类用户、软件代理、或一组用户和/或软件代理。除了需要执行图像级备份的人类用户之外,软件应用或代理有时需要执行这类任务。因此,除非特别说明,如本文使用的术语“操作员”、“管理员”、以及“用户”不一定涉及人类。
如本文使用的,在实施例中,术语“服务器”包括被设计用作下述项中的一项或多项的计算设备:电子邮件服务器、域名系统(DNS)服务器、域控制器(DC)服务器、应用服务器、数据库服务器、网络服务器、防火墙服务器、以及其他企业服务器、文件服务器、后端服务器、以及常规桌面服务器。服务器可包括一个或多个服务器机器。服务器可被实现为服务器的集合,例如,服务器场或服务器聚类。例如,网络服务器可以是具有一个或多个中央处理单元(CPU)的商用服务器机器。替代地,这些网络服务器可包括多个服务器机器(例如,服务器场)上所托管的多个计算设备和/或计算功能。
本发明涉及用于低影响备份的改进的系统、方法、及计算机程序产品。
在本描述中,“任务”是与备份、恢复、或相关联的辅助任务有关的任意活动。例如,在备份期间读取所处理的计算机的一个给定容量的内容(例如,虚拟机的虚拟磁盘文件)被认为是任务。另一示例是在恢复期间将内容写入到所处理的计算机的一个给定容量中。另一示例是在完成备份处理时将VMware快照文件移除(提交)到基文件(base file)中。
由于每个计算机容量可被存储在单独的存储设备上,因此每个这类存储设备(或设备中的逻辑单元(LUN))上的延迟必须被单独地控制。为了简单,本申请公开了环境仅具有单个生产存储设备或LUN的算法。然而,实现该逻辑的备份应用可将算法应用到每个生产存储设备或LUN。
根据某些方法,图像级备份可被用于备份物理或虚拟机(VM)。本描述将使用虚拟机作为非限制性示例。然而,如本领域技术人员将理解的,实施例不被限制于与虚拟机一起使用,并且,例如,还可以与物理机器一起使用。在VM的情况下,图像级备份可使用VM的管理程序快照(VM快照)被实现。VM快照可被用于为了备份目的创建VM图像的完整副本。
图1示出了实施例在其中可被实施或实现的示例环境100。示例环境100仅为了说明的目的被提供,并且不是实施例的限制。如图1所示,示例环境100包括备份操作员控制台102、备份服务器104、主机系统106、生产存储装置108、以及备份存储装置114。备份服务器104经由接口116连接于备份操作员控制台102,并经由接口122连接于备份存储装置114。主机系统106经由接口118连接于备份服务器104,并经由接口120连接于生产存储装置108。
备份操作员控制台102可包括用户界面,备份操作员通过该用户界面可设置某些阈值。在实施例中,阈值与两个生产存储装置延迟值有关。在实施例中,第一阈值值(还被称为“阈值1”)控制主动任务分配处理,并且第二阈值值(还被称为“阈值2”)管理备份I/O节流处理。备份操作员通常将选择特定于他的或她的环境的阈值值。例如,一个目标可能是最小化备份操作对关键任务应用和服务器的可用性的影响。另一目标可包括满足SLA。
备份服务器104是执行配置和控制中心的角色的物理或虚拟机,执行各种类型的管理活动(例如,协调备份、复制任务、控制备份调度及资源分配)。备份服务器104处理数据并将数据写到备份存储装置114。
主机系统106可以是支持各种服务和应用的服务器。在实施例中,主机系统106包括支持多个虚拟机112.1、112.2、...、112.N的管理程序110。在实施例中,管理程序110包括被配置为启动和运行虚拟机的虚拟机监测器。管理程序110可以在软件、硬件、和/或固件中被实现。例如,管理程序110可以是
Figure BDA0001224599940000051
vSphere管理程序或
Figure BDA0001224599940000052
Hyper-V管理程序。
根据示例实施例,图1示出了可包括用户界面的备份操作员控制台102,该用户界面被用于发起管理程序110上所启用的一个或多个虚拟机112.1、112.2、...、112.N的图像级备份。备份处理的发起可由备份服务器104接收。备份服务器104可建立与主机系统106上所启用的管理程序110的连接,并发起对于一个或多个虚拟机112.1、112.2、...、112.N的图像级备份。
一旦备份处理被发起,则备份服务器104可开始添加任务。如上面所解释的,“任务”是与备份、恢复、或相关联的辅助任务有关的任意活动。备份服务器104然后检查是否达到规定的最小任务数目。若尚未达到最小任务数目,则备份服务器104添加另一任务。在实施例中,最小任务数目是两个。备份服务器104可等待(还被称为“等待步骤”),如对于到达最小任务数目所必需的。然后,备份服务器104测量生产存储装置108的延迟。在实施例中,备份服务器104通过与管理程序110进行通信并发布确定生产存储装置108的延迟的应用程序接口(API)调用,来测量生产存储装置108的延迟。
备份服务器104然后标识所测量的生产存储装置延迟是高于还是低于阈值1。若所测量的生产存储装置延迟低于阈值1,则备份服务器104检查是否存在更多未决任务。若存在更多未决任务,则备份服务器104添加任务并前进到等待步骤。若不存在更多任务,则备份服务器104检查所有任务是否完成。若所有任务完成,则处理然后结束,否则处理前进到等待步骤。
若结果生产存储装置延迟高于阈值1,则备份服务器104然后检查所测量的生产存储装置延迟是高于还是低于阈值2。若所测量的生产存储装置延迟低于阈值2,则处理前进到等待步骤。
若所测量的生产存储装置延迟高于阈值2,则备份服务器104计算所要求的备份I/O节流等级(还被称为“节流计算步骤”)。在实施例中,所要求的备份I/O节流等级被定义为百分比值,并以下列方式被计算。从所接收的生产数据存储的当前延迟的值减去阈值2值。结果是最大期望延迟和实际延迟之间的增量值。增量值然后乘以预定义微调系数。最终结果定义了备份服务器104将节流正在运行的任务中的一个或多个正在运行的任务的百分比。
若所要求的备份I/O节流等级是0%或更少,则所要求的备份I/O节流等级通过备份服务器104被重置,并且处理前进到等待步骤。若所要求的备份I/O节流等级超过0%,则备份服务器104还被配置为检查所要求的备份I/O节流等级是否大于预定义最大值N。若是,则备份服务器104应用最大节流等级N、等待、测量生产存储装置延迟并返回“节流计算”步骤。否则,备份服务器104根据所计算的值来应用备份I/O节流。
备份服务器104通过添加延迟(替代地,被称为“睡眠”)以减缓任务的处理来应用备份I/O节流。延迟的量取决于所计算的备份I/O节流等级。在一个实施例中,备份I/O节流在任务中引入“睡眠”时间以减少它们的有效吞吐量。例如,根据所计算的备份I/O节流等级,睡眠时间可被插入到任务中的数据移动处理之间,以便读取文件中的后续数据块的处理被延迟。例如,若备份I/O节流等级是0%,则无睡眠时间将被插入(即,不存在节流)。若备份I/O节流等级是90%,则备份服务器104将插入足够的睡眠时间,以便将任务的处理吞吐量节流回90%。
在应用备份I/O节流之后,备份服务器104等待并检查正在运行的任务中的一个正在运行的任务是否完成。若正在运行的任务中的一个正在运行的任务完成,则备份服务器104然后重置备份I/O节流等级。否则,备份服务器104测量生产存储装置延迟,并前进到节流计算步骤。
图2A和2B根据实施例示出了示例处理200。示例处理200仅为了说明的目的被提供,并且不是实施例的限制。示例处理200可通过诸如备份服务器104之类的备份服务器被执行。
如图2A所示,示例处理200在包括添加任务的步骤202中开始。随后,示例处理200前进到包括确定是否达到最小任务数目的步骤204。在实施例中,最小任务数目是两个。
若答案为否,则处理200返回包括添加任务的步骤202。否则,处理200前进到步骤206。
在步骤206中,处理200包括准许之前的步骤完成的等待步骤。处理200用在等待上的时间量可被预定义,或它可取决于其他因素,例如,环境100中的一个或多个组件的性能特性。
随后,处理200前进到包括测量生产存储装置延迟的步骤208。然后,处理200前进到包括确定所测量的生产存储装置延迟是否高于阈值1的步骤210。若否,则处理200前进到包括确定是否存在更多未决任务的步骤212。若存在更多未决任务,则处理200前进到包括添加任务的步骤214,并然后返回等待步骤206。替代地,若不存在更多未决任务,则处理200前进到包括确定所有任务是否完成的步骤216。若所有任务完成,则处理200在步骤218中结束。否则,处理200返回等待步骤206。
在步骤210中,若所测量的生产存储装置延迟高于阈值1,则处理200前进到包括确定所测量的生产存储装置延迟是否高于阈值2的步骤220。若答案为否,则处理200返回等待步骤206。否则,处理200前进到包括计算所要求的备份I/O节流等级的步骤222。
随后,处理200前进到包括确定所要求的备份I/O节流等级是否是0%或更少的步骤224。若答案为是,则处理前进到包括重置备份I/O节流等级的步骤226,并然后返回等待步骤206。否则,处理200前进到包括确定所要求的节流等级是否大于预定义最大值N的步骤228。若答案为是,则处理前进到包括应用最大节流等级N的步骤230,然后到包括等待的步骤232,然后到包括测量生产存储装置延迟的步骤234,并最终到步骤222。否则,处理200前进到包括应用备份I/O节流的步骤236。处理200然后前进到包括等待的步骤238。
处理200然后前进到包括确定正在运行的任务中的一个正在运行的任务是否完成的步骤240。若答案为是,则处理前进到包括重置备份I/O节流等级的步骤226,并返回等待步骤206。否则,处理前进到包括测量生产存储装置延迟的步骤234,并然后返回步骤222。
图3根据本发明的实施例示出了示例性图形用户界面(GUI),其中,低影响备份可被配置。在实施例中,备份操作员可使用图3的GUI来选项各种选项。例如,备份操作员可启用或禁用并行VM和虚拟磁盘处理。备份操作员还可启用或禁用本发明的特征——特别地,根据生产存储装置的延迟来限制并行任务的数目。备份操作员还可使用图3的GUI来指定阈值1(即,无新任务应被分配到生产存储装置的延迟)和阈值2(即,任务应被主动节流的延迟)。
本发明的各个方面可通过软件、固件、硬件、或其中的组合被实现。图4示出了示例计算机系统400,其中,本发明,或其中的部分,可被实现为计算机可读代码。例如,图2A和2B的处理200所示的方法可在系统400中被实现。图1的环境100也可在系统400中被实现。本发明的各个实施例是根据该示例计算机系统400进行描述的。在阅读本描述之后,如何使用其他计算机系统和/或计算机架构来实现本发明对于相关领域技术人员将变成显而易见的。
计算机系统400包括一个或多个处理器,例如,处理器404。处理器404可以是专用或通用处理器。处理器404被连接于通信基础设施406(例如,总线、或网络)。
计算机系统400还包括主存储器408(优选随机存取存储器(RAM)),并还可包括辅助存储器410。例如,辅助存储器410可包括硬盘驱动器412、可移除存储驱动器414、闪速存储器、记忆棒、和/或任意类似的非易失性存储机制。可移除存储驱动器414可包括软盘驱动器、磁带驱动器、光盘驱动器、闪速存储器等。可移除存储驱动器414以公知方式从可移除存储单元418读取和/或写入可移除存储单元418。可移除存储单元418可包括由可移除存储驱动器414读取和写入的软盘、磁带、光盘等。如(一个或多个)相关领域技术人员将理解的,可移除存储单元418包括在其中已存储有计算机软件和/或数据的非暂态计算机可用存储介质。
在替代实现方式中,辅助存储器410可包括用于允许计算机程序或其他指令被加载到计算机系统400中的其他类似装置。例如,这类装置可包括可移除存储单元422及接口420。这类装置的示例可包括下述项:程序盒及盒接口(例如,在视频游戏设备中发现的那些)、可移除存储器芯片(例如,EPROM、或PROM)及相关联的套接口、以及允许软件和数据从可移除存储单元422被传送到计算机系统400的其他可移除存储单元422及接口420。
计算机系统400还可包括通信接口424。通信接口424允许软件和数据在计算机系统400和外部设备之间被传送。通信接口424可包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA槽和卡等。
计算机系统400额外地可包括计算机显示器430。根据实施例,计算机显示器430结合显示器接口402可被用于在操作员控制台102上显示用户界面。计算机显示器430还可被用于显示图3所描绘的图形用户界面。
在本文件中,术语“计算机程序介质”、“非暂态计算机可读介质”、以及“计算机可用介质”被用于一般地指诸如可移除存储单元418、可移除存储单元422、以及安装在硬盘驱动器412中的硬盘之类的介质。计算机程序介质、计算机可读存储介质、以及计算机可用介质还可指存储器,例如,可以是存储器半导体(例如,DRAM等)的主存储器408和辅助存储器410。这些计算机程序产品是用于将软件提供给计算机系统400的装置。
计算机程序(还被称为计算机控制逻辑)被存储在主存储器408和/或辅助存储器410中。计算机程序还可经由通信接口424被接收。当被执行时,这类计算机程序使得计算机系统400能够实现如本文讨论的本发明。特别地,当被执行时,计算机程序使得处理器404能够实现本发明的处理,例如,上面讨论的图2A和2B的处理200所示的方法中的步骤以及图1的环境100。因此,这类计算机程序表示计算机系统400的控制器。在本发明被使用软件实现的情况下,软件可被存储在计算机程序产品中,并使用可移除存储驱动器414、接口420、硬盘驱动器412、或通信接口424被加载到计算机系统400中。
本发明还针对包括被存储在任意计算机可用介质上的软件的计算机程序产品。当在一个或多个数据处理设备中被执行时,这类软件使得(一个或多个)数据处理设备如本文描述的进行操作。本发明的实施例采用现在已知或将来已知的任意计算机可用或可读介质。计算机可用介质的示例包括但不限于:主要存储设备(例如,任意类型的随机存取存储器)、辅助存储设备(例如,硬盘驱动器、软盘、CD ROM、ZIP盘、磁带、磁存储设备、光存储设备、MEMS、纳米技术存储设备等)、以及通信介质(例如,有线或无线通信网络、局域网、广域网、内联网等)。
尽管本发明的各个实施例在上面已被描述,应理解的是,它们仅以示例的方式已被展示,并且不是限制。(一个或多个)相关领域技术人员将理解的是,在不脱离如所附权利要求中所定义的本发明的精神和范围的情况下,可在其中做出各种形式和细节中的变化。应理解的是,本发明不被限制于这些示例。本发明适用于如本文所描述的进行操作的任意元件。因此,本发明的宽度和范围不应被任意上述示例性实施例限制,但应仅根据下述权利要求及其等价被定义。

Claims (25)

1.一种用于低影响备份的计算机实现的方法,包括:
开始对去往或来自生产数据存储装置的数据进行备份或恢复的任务的处理;
测量访问所述生产数据存储装置的延迟;
确定所述延迟高于节流阈值;
计算节流值,所述节流值定义了对去往或来自所述生产数据存储装置的数据进行备份或恢复的所述任务的所述处理进行节流的量;
基于所述节流值确定延迟的量;
在所述任务中插入睡眠时间,其中,所述睡眠时间至少部分地基于所确定的延迟的量;以及
处理经修改的任务。
2.如权利要求1所述的方法,其中,所述确定延迟的量包括:确定所述延迟的量,以便所述延迟的量允许所述任务的处理被节流回所述节流值所指示的百分比值。
3.如权利要求1所述的方法,其中,所述计算包括:
从所述延迟减去所述节流阈值以确定增量值;以及
将所述增量值乘以预定义微调系数以确定所述节流值。
4.如权利要求1所述的方法,其中,所述测量包括:与连接于所述生产数据存储装置的主机系统中的管理程序进行通信以访问延迟值。
5.如权利要求1所述的方法,还包括:
重复地进行以下操作直至所述延迟超过任务添加阈值:
等待经定义的时间量;
开始对在所述生产数据存储装置和备份数据存储装置之间备份或恢复数据的额外的任务的处理;以及
重新测量所述延迟。
6.如权利要求5所述的方法,还包括:
从用户配置接收所述任务添加阈值和所述节流阈值。
7.如权利要求1所述的方法,所述插入还包括:
在所述任务内的数据移动处理之间插入所述睡眠时间。
8.如权利要求1所述的方法,还包括:
基于备份数据存储装置的环境条件来设置所述节流阈值。
9.如权利要求1所述的方法,其中,所述计算包括:
至少部分地基于所测量的延迟和所述节流阈值来计算所述节流值。
10.如权利要求1所述的方法,还包括:
响应于所述计算所述节流值,确定所述节流值高于预定义的最大值;并且
就所述节流值设置为所述预定义的最大值。
11.如权利要求1所述的方法,还包括:
响应于所述计算所述节流值,确定所述节流值小于或等于0%;并且
重置所述节流值。
12.如权利要求1所述的方法,还包括:
确定所述延迟高于第二阈值值,其中,所述第二阈值值控制主动任务分配处理。
13.如权利要求1所述的方法,其中,所述任务内的所述睡眠时间使得对所述任务的处理被节流回所述计算的节流值。
14.一种用于低影响备份的系统,包括:
存储器;
至少一个处理器,该至少一个处理器与所述存储器耦合并被配置为:
开始对去往或来自生产数据存储装置的数据进行备份或恢复的任务的处理;
测量访问所述生产数据存储装置的延迟;
确定所述延迟高于节流阈值;
计算节流值,所述节流值定义了对去往或来自所述生产数据存储装置的数据进行备份或恢复的所述任务的所述处理进行节流的量;
基于所述节流值确定延迟的量;
在所述任务中插入睡眠时间,其中,所述睡眠时间至少部分地基于所确定的延迟的量;以及
处理经修改的任务。
15.如权利要求14所述的系统,其中,为了确定所述延迟的量,所述至少一个处理器还被配置为:
确定所述延迟的量,以便所述延迟的量允许所述任务的处理被节流回所述节流值所指示的百分比值。
16.如权利要求14所述的系统,其中,为了计算所述节流值,所述至少一个处理器还被配置为:
从所述延迟减去所述节流阈值以确定增量值;以及
将所述增量值乘以预定义微调系数以确定所述节流值。
17.如权利要求14所述的系统,其中,为了测量所述延迟,所述至少一个处理器还被配置为:
与连接于所述生产数据存储装置的主机系统中的管理程序进行通信以访问延迟值。
18.如权利要求14所述的系统,其中,所述至少一个处理器还被配置为:
重复地进行以下操作直至所述延迟超过任务添加阈值:
等待经定义的时间量;
开始对在所述生产数据存储装置和备份数据存储装置之间备份或恢复数据的额外的任务的处理;以及
重新测量所述延迟。
19.如权利要求18所述的系统,其中,所述至少一个处理器还被配置为:
从用户配置接收所述任务添加阈值和所述节流阈值。
20.一种在其上存储有指令的非暂态有形计算机可读介质,当所述指令被至少一个计算设备执行时,所述有形计算机可读介质使得所述至少一个计算设备执行包括下述项的操作:
开始对去往或来自生产数据存储装置的数据进行备份或恢复的任务的处理;
测量访问所述生产数据存储装置的延迟;
确定所述延迟高于节流阈值;
计算节流值,所述节流值定义了对去往或来自所述生产数据存储装置的数据进行备份或恢复的所述任务的所述处理进行节流的百分比;
基于所述节流值确定延迟的量;
在所述任务中插入睡眠时间,其中,所述睡眠时间至少部分地基于所确定的延迟的量;以及
处理经修改的任务。
21.如权利要求20所述的非暂态有形计算机可读介质,其中,所述确定延迟的量包括:确定所述延迟的量,以便所述延迟的量允许所述任务的处理被节流回所述节流值所指示的百分比值。
22.如权利要求20所述的非暂态有形计算机可读介质,其中,所述计算包括:
从所述延迟减去所述节流阈值以确定增量值;以及
将所述增量值乘以预定义微调系数以确定所述节流值。
23.如权利要求20所述的非暂态有形计算机可读介质,其中,所述测量包括:与连接于所述生产数据存储装置的主机系统中的管理程序进行通信以访问延迟值。
24.如权利要求20所述的非暂态有形计算机可读介质,还包括:
重复地进行以下操作直至所述延迟超过任务添加阈值:
等待经定义的时间量;
开始对在所述生产数据存储装置和备份数据存储装置之间备份或恢复数据的额外的任务的处理;以及
重新测量所述延迟。
25.如权利要求24所述的非暂态有形计算机可读介质,还包括:
从用户配置接收所述任务添加阈值和所述节流阈值。
CN201580043497.8A 2014-08-14 2015-08-12 用于低影响备份的系统、方法、及计算机程序产品 Active CN106922187B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462037376P 2014-08-14 2014-08-14
US62/037,376 2014-08-14
PCT/IB2015/056151 WO2016024241A1 (en) 2014-08-14 2015-08-12 System, method, and computer program product for low impact backup

Publications (2)

Publication Number Publication Date
CN106922187A CN106922187A (zh) 2017-07-04
CN106922187B true CN106922187B (zh) 2020-10-30

Family

ID=54072906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580043497.8A Active CN106922187B (zh) 2014-08-14 2015-08-12 用于低影响备份的系统、方法、及计算机程序产品

Country Status (4)

Country Link
US (1) US10007447B2 (zh)
EP (1) EP3180696B1 (zh)
CN (1) CN106922187B (zh)
WO (1) WO2016024241A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798584B1 (en) * 2015-09-29 2017-10-24 EMC IP Holding Company LLC Methods and apparatus for IO sizing based task throttling
US10353590B2 (en) * 2016-05-19 2019-07-16 Hewlett Packard Enterprise Development Lp Methods and systems for pre-processing sensor measurements

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139846B1 (en) * 2003-09-30 2006-11-21 Veritas Operating Corporation Computer system and method for performing low impact backup operations
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统
CN102567138A (zh) * 2010-09-28 2012-07-11 国际商业机器公司 计算环境中按优先顺序排列要备份的数据项的方法和系统
CN103210395A (zh) * 2010-07-08 2013-07-17 赛门铁克公司 与客户端虚拟机交互的技术
US8498966B1 (en) * 2012-05-30 2013-07-30 Symantec Corporation Systems and methods for adaptively performing backup operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255562B2 (en) * 2008-06-30 2012-08-28 International Business Machines Corporation Adaptive data throttling for storage controllers
US20140092757A1 (en) 2012-10-01 2014-04-03 Futurewei Technologies, Co. Controlling Data Synchronization and Backup Services
US9128629B1 (en) * 2013-06-25 2015-09-08 Emc Corporation Throttling techniques for use with data relocation
US9122503B1 (en) * 2013-09-05 2015-09-01 Symantec Corporation Systems and methods for adaptive throttling of input/output requests in a virtual environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139846B1 (en) * 2003-09-30 2006-11-21 Veritas Operating Corporation Computer system and method for performing low impact backup operations
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统
CN103210395A (zh) * 2010-07-08 2013-07-17 赛门铁克公司 与客户端虚拟机交互的技术
CN102567138A (zh) * 2010-09-28 2012-07-11 国际商业机器公司 计算环境中按优先顺序排列要备份的数据项的方法和系统
US8498966B1 (en) * 2012-05-30 2013-07-30 Symantec Corporation Systems and methods for adaptively performing backup operations

Also Published As

Publication number Publication date
EP3180696B1 (en) 2018-12-19
US20160048350A1 (en) 2016-02-18
WO2016024241A1 (en) 2016-02-18
US10007447B2 (en) 2018-06-26
EP3180696A1 (en) 2017-06-21
CN106922187A (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
US10929244B2 (en) Optimized backup of clusters with multiple proxy servers
US10587682B2 (en) Resource allocation diagnosis on distributed computer systems
US10248448B2 (en) Unified storage/VDI provisioning methodology
US10067803B2 (en) Policy based virtual machine selection during an optimization cycle
US10423451B2 (en) Opportunistically scheduling and adjusting time slices
US10684878B1 (en) Virtual machine management
WO2017130030A1 (en) Rolling upgrade with dynamic batch size
US20130227585A1 (en) Computer system and processing control method
US20180139100A1 (en) Storage-aware dynamic placement of virtual machines
US10365943B2 (en) Virtual machine placement
JP6730522B2 (ja) ストレージシステム内に入力/出力帯域を割り当てるシステムと方法
US9037758B1 (en) Dynamic virtual machine (VM) input-output per second (IOPS) control based on application IO profiling and VM IO usage trend analysis
CN106922187B (zh) 用于低影响备份的系统、方法、及计算机程序产品
US11645165B2 (en) Proxy deployment based upon the actual number of protected virtual machines
US9686207B2 (en) Application service level objective aware demand estimation
US20180136958A1 (en) Storage-aware dynamic placement of virtual machines
US11303546B2 (en) Service system and control method of the same
US20190173770A1 (en) Method and system for placement of virtual machines using a working set computation
US10592297B2 (en) Use minimal variance to distribute disk slices to avoid over-commitment
US10140022B2 (en) Method and apparatus of subsidiary volume management
US10289316B2 (en) Storage management device, performance adjustment method, and computer-readable recording medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170804

Address after: Swiss Swiss

Applicant after: VEEAM SOFTWARE AG

Address before: Russian Federation St Petersburg

Applicant before: Anton Gosdorf

Applicant before: Alexander Baranov

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant