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

文档序号:12811175阅读:282来源:国知局
用于低影响备份的系统、方法、及计算机程序产品与流程

本发明涉及数据备份和恢复。特别地,本发明涉及用于图像级备份和复制的方法、系统、及计算机程序产品。



背景技术:

来自图像级备份活动的影响已成为备份管理员的一致关注。图像级备份在它处理非常大量的数据的方式上是独特的,并且该数据需要从生产存储装置被读取。正如任意其他i/o操作,备份从生产存储装置取得i/o资源。若生产存储装置在iops方面已经是过度配置的,则备份能够直接影响关键任务应用和服务器的可用性。这给备份管理员带来满足服务等级协定(sla)等级的挑战。

备份管理员所面临的另一挑战是满足备份窗口。为了减少备份整个环境所消耗的时间,许多管理员采用并行处理——在同一时间运行多个备份。多个备份处理更加影响到生产存储装置,相应地增加了i/o影响和相关问题。

备份管理员通过手动微调备份调度来努力寻找并行任务数量和存储容量之间所要求的平衡。然而,今天对于他们奏效的未必在1个月内适用(当配设了额外的服务器时,从而导致生产存储装置上额外的i/o负载)。

此外,即使在精心规划的系统中,诸如行为不当的服务器之类的意外波动也可能影响iops规划,导致所规划和测试的并行备份数量仍使得生产存储装置负载超过可接受水平。

所以,存在对图像级备份活动的自动负载均衡的高效方法的需求,该方法将自动把备份并发性和存储负载维护在最大可接收水平。解决方案不应影响关键任务应用和服务器,并且它应允许在最小可能时间内对整个环境进行备份。

概览

本发明的实施例包括用于虚拟机的低影响图像级备份和复制的方法、系统、及计算机程序产品。然而,本发明可以与其他备份方法一起使用,例如,文件级或块级备份。

本文描述的方法、系统、及计算机程序产品执行实质上排除了传统方法的缺点中的一个或若干缺点的低影响图像级备份。

本发明的实施例包括在不超过可接受水平地影响生产存储装置的情况下,用于执行虚拟机数据的图像级备份的系统。例如,系统可在不超出超过可接受水平的关键存储健康度量的情况下,从同一生产存储装置备份多个虚拟机。

在实施例中,低影响备份方法不要求执行针对并行备份数量或来自已经被初始化的现有备份任务的i/o负载的手动调整。

本发明的进一步的特征和优势,以及本发明的各个实施例的结构和操作,参考附图在下面被详细描述。注意的是,本发明不被限制于本文描述的特定实施例。这类实施例仅为了说明性目的在本文被展示。基于本文包含的教导,额外的实施例对于(一个或多个)相关领域的技术人员将是显而易见的。

附图说明

被结合于本文并形成本说明书的一部分的附图示出了本发明,并连同描述一起还用于解释本发明的原理,并使得相关领域技术人员能够制造和使用本发明。

图1示出了实施例在其中可被实施或实现的示例环境。

图2a和2b根据实施例示出了示例系统的操作。

图3根据本发明的实施例示出了示例性图形用户界面(gui),其中,低影响备份可被配置。

图4根据实施例示出了示例计算机系统。

本发明参考附图现在将被描述。在附图中,通常,相似的参考标号指示相同或功能相似的要素。此外,通常,参考标号的最左边的(一个或多个)数字标识参考标号第一次出现的附图。

具体实施方式

本发明的下列详细描述涉及示出了与本发明相一致的示例性实施例的附图。其他实施例是可能的,并且在本发明的精神和范围内可对实施例做出修改。所以,详细描述不是为了限制本发明。相反,本发明的范围由所附(一个或多个)权利要求来定义。

对于本领域技术人员将显而易见的是,如下面所描述的,本发明可在附图中示出的软件、硬件、固件、和/或实体的许多不同的实施例中被实现。具有硬件的专用控制以实现本发明的任意实际软件代码不是本发明的限制。因此,本发明的操作行为将连同下述理解被描述:给定本文所展示的细节的等级,实施例的修改和变化是可能的。

除非另有不同特别说明,用户、备份操作员、以及管理员在本文被可交换地使用,以标识人类用户、软件代理、或一组用户和/或软件代理。除了需要执行图像级备份的人类用户之外,软件应用或代理有时需要执行这类任务。因此,除非特别说明,如本文使用的术语“操作员”、“管理员”、以及“用户”不一定涉及人类。

如本文使用的,在实施例中,术语“服务器”包括被设计用作下述项中的一项或多项的计算设备:电子邮件服务器、域名系统(dns)服务器、域控制器(dc)服务器、应用服务器、数据库服务器、网络服务器、防火墙服务器、以及其他企业服务器、文件服务器、后端服务器、以及常规桌面服务器。服务器可包括一个或多个服务器机器。服务器可被实现为服务器的集合,例如,服务器场或服务器聚类。例如,网络服务器可以是具有一个或多个中央处理单元(cpu)的商用服务器机器。替代地,这些网络服务器可包括多个服务器机器(例如,服务器场)上所托管的多个计算设备和/或计算功能。

本发明涉及用于低影响备份的改进的系统、方法、及计算机程序产品。

在本描述中,“任务”是与备份、恢复、或相关联的辅助任务有关的任意活动。例如,在备份期间读取所处理的计算机的一个给定容量的内容(例如,虚拟机的虚拟磁盘文件)被认为是任务。另一示例是在恢复期间将内容写入到所处理的计算机的一个给定容量中。另一示例是在完成备份处理时将vmware快照文件移除(提交)到基文件(basefile)中。

由于每个计算机容量可被存储在单独的存储设备上,因此每个这类存储设备(或设备中的逻辑单元(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可以是vsphere管理程序或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中。

本发明还针对包括被存储在任意计算机可用介质上的软件的计算机程序产品。当在一个或多个数据处理设备中被执行时,这类软件使得(一个或多个)数据处理设备如本文描述的进行操作。本发明的实施例采用现在已知或将来已知的任意计算机可用或可读介质。计算机可用介质的示例包括但不限于:主要存储设备(例如,任意类型的随机存取存储器)、辅助存储设备(例如,硬盘驱动器、软盘、cdrom、zip盘、磁带、磁存储设备、光存储设备、mems、纳米技术存储设备等)、以及通信介质(例如,有线或无线通信网络、局域网、广域网、内联网等)。

尽管本发明的各个实施例在上面已被描述,应理解的是,它们仅以示例的方式已被展示,并且不是限制。(一个或多个)相关领域技术人员将理解的是,在不脱离如所附权利要求中所定义的本发明的精神和范围的情况下,可在其中做出各种形式和细节中的变化。应理解的是,本发明不被限制于这些示例。本发明适用于如本文所描述的进行操作的任意元件。因此,本发明的宽度和范围不应被任意上述示例性实施例限制,但应仅根据下述权利要求及其等价被定义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1