用于保护虚拟机数据的系统和方法_2

文档序号:9794018阅读:来源:国知局
式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、这些设备中的一者或多者的组合、图5中的示例性计算系统510,或任何其他合适的计算设备。在一些例子中,计算设备202可表示备份服务器。
[0027]超级管理程序206通常表示能够运行并且/或者管理物理计算设备上的一个或多个虚拟机的任何类型或形式的虚拟化平台和/或主机。超级管理程序的例子包括但不限于VMffARE ESX/ESX1、MICROSOFT HYPER-V、ORACLE VM、SUN VIRTUALBOX、CITRIX XENSERVER、任何裸机超级管理程序和/或任何托管超级管理程序。在一些例子中,术语“超级管理程序”可指在物理计算设备上执行的管理物理计算设备上的虚拟机的执行和/或物理计算设备本身的软件(例如,虚拟机管理器)。
[0028]网络204通常表示能够促进通信或数据传输的任何介质或体系结构。网络204的例子包括但不限于内联网、广域网(WAN)、局域网(LAN)、存储区域网(SAN)、个人区域网(PAN)、互联网、电力线通信网(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、图6中的示例性网络体系结构600等等。网络204可使用无线或有线连接来促进通信或数据传输。在一个实施例中,网络204可促进计算设备202与超级管理程序206之间的通信。
[0029]图3为用于保护虚拟机数据的示例性计算机实现的方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算系统执行。在一些实施例中,图3中示出的步骤可通过以下中的一者或多者执行:图1中的系统100的组件、图2中的系统200、图5中的计算系统510、和/或图6中的示例性网络体系结构600的部分。
[0030]如图3所示,在步骤302处,本文所述的系统中的一个或多个可接收对由虚拟机内的客户系统存储的数据执行粒度备份操作的请求。例如,接收模块104可作为图2中的计算设备202的一部分来接收对由虚拟机240内的客户系统242存储的数据执行粒度备份操作的请求210。
[0031]如本文所用,短语“虚拟机”通常是指可以不直接与基础主机的硬件对应的计算系统平台。例如,主机系统的硬件可被抽象为使用超级管理程序或其他虚拟化软件的虚拟机。虚拟机可运行客户操作系统和/或各种其他软件应用程序。
[0032]此外,如本文所用,短语“客户系统”可指在虚拟化环境诸如虚拟机中运行的任何操作系统。客户操作系统可包括任何合适的操作系统,诸如Microsoft Windows、UNIX和/或LINUXo
[0033]如本文所用,短语“备份操作”可指与备份数据、已备份的数据、实施备份策略、和/或恢复已备份的数据有关的任何操作。因此,如本文所用,短语“粒度备份操作”可指将由虚拟机存储的数据的子集作为目标的任何备份操作。在一些例子中,术语“粒度备份操作”可指利用虚拟机内客户系统的视图的备份操作。除此之外或作为另外一种选择,短语“粒度备份操作”可指被设计成从运行的客户系统内执行的备份操作。在一些例子中,短语“粒度备份操作”可指备份和/或恢复应用程序数据的备份操作(例如,通过生成和/或消耗将备份数据与应用程序关联起来的元数据,以及/或者通过在执行应用程序时与该应用程序接合)。除此之外或作为另外一种选择,短语“粒度备份操作”可指备份和/或恢复目标文件的备份操作。在一些例子中,短语“粒度备份操作”可指促进在粒度级别备份和/或恢复数据的操作(例如,通过生成和/或消耗与来自虚拟机内客户系统视图的备份数据有关的元数据,以及/或者通过与虚拟机内执行的应用程序接合)。
[0034]接收模块104可在任何合适的环境中接收执行粒度备份操作的请求。例如,接收模块104可从备份服务器接收执行粒度备份操作的请求。除此之外或作为另外一种选择,接收模块104可接收通过执行明确指定粒度备份操作的备份策略来执行粒度备份操作的请求。
[0035]返回图3,在步骤304处,本文所述系统中的一个或多个可识别可包括执行备份操作的代理的存储容器。例如,识别模块106可作为图2中的计算设备202的一部分来识别可包括执行备份操作的代理222的存储容器220。
[0036]如本文所用,术语“代理”可指能够在虚拟机内执行并且在虚拟机外接收和/或发送通信内容的任何程序、模块、守护进程、脚本和/或进程。此外,如本文所用,短语“存储容器”通常是指虚拟机可与之接合、挂载、读取、写入和/或将其视作虚拟机内运行的客户系统的存储设备的任何文件和/或数据结构。存储容器的例子可包括虚拟磁盘文件(例如,VMDK文件、VHD文件、VHDX文件)和/或磁盘映像文件(例如,ISO文件)。
[0037]识别模块106可以任何合适的方式识别存储容器。例如,识别模块106可识别主存储容器(例如,可供备份服务器访问的主存储容器)。除此之外或作为另外一种选择,识别模块106可识别可供虚拟机的超级管理程序访问的主存储容器的实例。在一些情况下,本文所述的系统可为消耗不同类型存储容器的不同超级管理程序提供存储容器(例如,为一些超级管理程序提供VMDK文件,为另外一些超级管理程序提供VHD文件)。在这些情况下,本文所述的系统可为每种类型的超级管理程序保持(或按需生成)存储容器。因此,识别模块106可通过识别可由对应的超级管理程序消耗的存储容器来识别存储容器。
[0038]在一个例子中,识别模块106可将存储容器的一个或多个实例提供给一个或多个虚拟机主机和/或超级管理程序。例如,识别模块106可作为备份服务器配置的一部分来识别关于一个或多个虚拟基础结构主机的信息。识别模块106可请求和/或扫描存储容器实例的存储位置列表,使得所有虚拟机将可访问列表上的至少一个存储位置。在一些例子中,识别模块106可计算提供对所有虚拟机的访问时所必需的位置的最少列表(例如,为了使存储容器实例数量减到最少)。然后识别模块106可在虚拟化基础结构中的确定位置处创建存储容器的实例。
[0039]在一些例子中,识别模块106可自动生成存储容器的一个或多个实例(并且/或者可生成存储容器的多种格式的但包括同一代理的实例)。另外,在一些例子中,识别模块106可在代理更新和/或与代理接合的备份服务器更新时,自动重新生成和/或更新存储容器的一个或多个实例。
[0040]为了提供可在其中操作识别模块106的虚拟化基础结构的例子,图4示出了示例性系统400。如图4所示,系统400可包括与超级管理程序410和超级管理程序450通信的备份服务器402,其中超级管理程序410托管虚拟机412和414,超级管理程序450托管虚拟机452和454。在一个例子中,超级管理程序410可消耗一种类型的存储容器(例如,对应于存储容器430),而超级管理程序450可消耗另一种类型的存储容器(例如,对应于存储容器440)。因此,识别模块106可作为备份服务器402的一部分,来响应于对由虚拟机412或虚拟机414存储的数据执行粒度备份操作的请求,识别包含代理420的存储容器430。同样,识别模块106可作为备份服务器402的一部分,来响应于对由虚拟机452或虚拟机454存储的数据执行粒度备份操作的请求,识别包含代理420的存储容器440。
[0041]返回图3,在步骤306处,本文所述的系统中的一个或多个可响应于该请求将存储容器连接到虚拟机。例如,连接模块108可作为图2中的计算设备202的一部分,来响应于请求210将存储容器220连接到虚拟机240。
[0042]连接模块108可以任何合适的方式将存储容器连接至虚拟机。例如,连接模块108可通过向虚拟机的超级管理程序发送指令以便将存储容器连接和/或挂载到虚拟机,从而将存储容器连接到虚拟机。除此之外或作为另外一种选择,连接模块108可通过将存储容器作为磁盘映像(例如,ISO文件)提供到虚拟机的虚拟设备(例如,虚拟DVD-ROM设备),来将存储容器连接到虚拟机。在一些例子中,连接模块108可经由超级管理程序的应用程序编程接口( “API”)向超级管理程序发送指令。
[0043]如前文所述,在一些例子中,本文所述的系统可为多个虚拟机提供存储容器。例如,连接模块108还可将存储容器连接到一个或多个额外虚拟机,以对由所述额外虚拟机内的额外客户系统存储的数据执行一个或多个额外粒度备份操作。除此之外或作为另外一种选择,连接模块108可将存储容器的额外实例连接到至少一个额外虚拟机,以对由所述额外虚拟机内的额外客户系统存储的数据执行至少一个额外粒度备份操作。以图4为例,连接模块108可在一个时间将存储容器430连接至虚拟机412,并且在另一个时间将存储容器430连接至虚拟机414。又如,连接模块108可将存储容器430连接至虚拟机412,并将存储容器440连接至虚拟机452。
[0044]返回图3,在步骤308处,本文所述的系统中的一个或多个可通过向虚拟机内的客户系统发送指令以执行代理,从而执行粒度备份操作。例如,执行模块110可作为图2中的计算设备202的一部分,通过向虚拟机240内的客户系统242发送指令250以执行代理222,从而执行粒度备份操作。
[0045]在一些例子中,执行模块110可在将存储容器连接到虚拟机之后并且在执行代理之前配置客户系统以执行代理,从而执行粒度备份操作。例如,执行模块110可登录虚拟机并执行(
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1