首页> 中国专利> 用于在数据中心环境中移动虚拟资源的方法和装置

用于在数据中心环境中移动虚拟资源的方法和装置

摘要

在一个实施例中,一种装置可以包括监控模块,所述监控模块被配置用于发送表示虚拟资源的性能满足阈值条件的指示符。所述装置还可以包括管理模块,所述管理模块被配置用于响应于指示符,将包括所述虚拟资源的虚拟资源组从数据中心硬件资源的第一部分移动到与数据中心硬件资源的第一部分互不相交的数据中心硬件资源的第二部分。所述管理模块可以被配置用于基于所述虚拟资源与包括在虚拟资源组中的其余的虚拟资源之间的操作关系来限定虚拟资源组。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-15

    专利权的转移 IPC(主分类):G06F9/46 登记生效日:20170224 变更前: 变更后: 申请日:20110218

    专利申请权、专利权的转移

  • 2016-06-01

    授权

    授权

  • 2013-04-03

    实质审查的生效 IPC(主分类):G06F9/46 申请日:20110218

    实质审查的生效

  • 2013-02-27

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2010年2月22日提交的序列号为12/709,943、标题为“用于在数据中 心环境中移动虚拟资源的方法和装置”的美国专利申请的优先权并且是其延续,其全部 内容通过引用合并于此。

背景技术

本文描述的实施例总体而言涉及在数据中心内的虚拟资源,且具体地,涉及用于在 数据中心环境中移动虚拟资源的方法和装置。

用于在数据环境中管理虚拟资源操作的已知方法是复杂的且无效率的。具体地,用 于在数据中心中处理虚拟资源移动的已知方法会包括采用完全不同的和无效率的方式进 行劳动密集型手动干预,这是由于控制和/或管理数据中心的资源(例如,硬件资源、软 件资源)的各种不兼容的系统引起的。如果不恰当地处理,则对于在数据中心环境中虚 拟资源移动的管理会不利地影响在数据中心环境中对其他虚拟资源的操作。

因而,需要用于在数据中心环境中移动虚拟资源的方法和装置。

发明内容

在一个实施例中,一种装置可以包括监控模块,所述监控模块被配置用于发送表示 虚拟资源的性能满足阈值条件的指示符。该装置也可以包括管理模块,所述管理模块被 配置用于响应于所述指示符,将包括所述虚拟资源的虚拟资源组从数据中心硬件资源的 第一部分移动到与数据中心硬件资源的第一部分互不相交的数据中心硬件资源的第二部 分。管理模块可以被配置用于基于所述虚拟资源和包括在所述虚拟资源组中的其余虚拟 资源之间的操作关系来限定所述虚拟资源组。

附图说明

图1是示出根据一个实施例的、被确定用于从数据中心的一个部分移动到数据中心 的另一部分的虚拟资源组的示意图。

图2是示出根据一个实施例的、被确定用于从一个数据中心簇移动到另一个数据中 心簇的虚拟资源组的示意图。

图3A至图3C是示出根据一个实施例的、与虚拟资源相关的性能度量值的曲线图;

图4A示出根据一个实施例的、包括在虚拟资源之间的操作关系的表示的数据库。

图4B示出根据一个实施例的、包括数据中心单元的可用容量值的数据库。

图5是流程图,其示出根据一个实施例的、用于确定在数据中心中移动的虚拟资源 组的方法。

具体实施方式

管理模块可以被配置用于将虚拟资源从数据中心的第一部分(其可以被称作为数据 中心的源部分)移动(或触发移动)到数据中心的第二部分(其可以被称作为数据中心 的目标部分)。数据中心的硬件资源(例如,主机设备、访问开关、聚合设备、核心转换 元件)和/或软件资源(例如,操作系统、诸如VMware hypervisor的系统管理程序)可 以共同地限定虚拟化环境,在该虚拟化环境中可以操作虚拟资源(例如,虚拟机、客户 操作系统)。数据中心的硬件资源和/或软件资源可以共同地被称作为数据中心资源。在 一些实施例中,虚拟资源例如可以被配置用于对物理源设备和/或其关联软件的功能进行 仿真。

一个或更多个虚拟资源的移动(其可以包括例如一个或更多个虚拟资源的文件和/ 或状态的移动(例如复制、转移))可以响应于基于性能度量值满足阈值条件而被触发。 在一些实施例中,当在数据中心的至少一部分(例如,硬件和/或软件资源)中操作时, 虚拟资源的性能度量例如可以是虚拟资源的利用率和/或失效率等。在一些实施例中,管 理模块可以被配置用于将与虚拟资源具有操作关系(例如,操作依赖关系)的附加的虚 拟资源移动到数据中心的目标部分,如虚拟资源与附加的虚拟资源之间的操作关系的映 射所限定的那样。在一些实施例中,管理模块可以被配置用于,当数据中心的目标部分 可用于操作虚拟资源(和/或相关的虚拟资源)时,移动虚拟资源(和/或相关的虚拟资源)。 总之,一个或更多个虚拟资源的移动可以响应于包括以下因素的组合而被触发:(1)一 个或更多个虚拟资源的性能,(2)虚拟资源之间的操作关系,和/或(3)操作虚拟资源 的目标资源(例如,数据中心资源)的可用性,等等。

在一些实施例中,一个或更多个虚拟资源从数据中心的源部分移动到数据中心的目 标部分可以是基于用户(例如,数据中心管理员、客户机、顾客)的用户偏好和/或基于 规则的算法等。例如,可以基于用户偏好和/或基于规则的算法来平衡这些因素,以确定 在数据中心内移动的一个或更多个虚拟资源。在一些实施例中,数据中心的源部分的资 源(例如,源数据中心资源)和/或数据中心的目标部分的资源(例如,目标数据中心资 源)可以被作为数据中心单元管理。因此,数据中心的源部分和/或目标部分可以是被作 为数据中心单元管理的数据中心的部分。在一些实施例中,数据中心的源部分和/或目标 部分可以与数据中心簇关联。

图1是示意图,其示出了根据一个实施例被确定用于从数据中心100的一部分102 移动到数据中心100的另一部分104的虚拟资源组50。数据中心100的部分102可以被 称作为数据中心100的源部分102,而数据中心100的部分104可以被称作为数据中心 100的目标部分104。数据中心100的部分(即源部分102、目标部分104)可以是数据 中心100的资源(例如硬件资源、软件资源、数据中心资源)。被确定用于从数据中心 100的源部分102移动到数据中心100的目标104的虚拟资源组50包括虚拟资源VR2 和VR4。

如图1所示,数据中心100的源部分102被配置用于操作虚拟资源VR1到VR4, 而数据中心100的目标部分104被配置用于操作虚拟资源VR5到VR7。虚拟资源VR1 到VR7可以共同地被称作为虚拟资源55。在一些实施例中,虚拟资源可以被配置用于 对来自源设备(在数据中心100的外部)的如下应用进行仿真:所述应用已经转移到数 据中心100。在共同悬而未决的、于同一日期申请的如下专利申请中描述了与源的转移 相关的更多细节:所述专利的代理所记录编号为VITU-002/00US 311331-2002,发明名 称为“在数据中心环境中与客户资源到虚拟资源的转移相关的方法和装置”,其全部内容 通过引用合并于此。

可以通过管理模块120来触发虚拟资源50从数据中心100的源部分102(例如,源 数据中心资源)到数据中心100的目标部分104(例如,目标数据中心资源)的移动。 如图1所示,管理模块120可以在处理设备150的处理器140内执行,而管理模块120 可以包括监控模块124。管理模块120(和监控模块124)可以访问处理设备150的存储 器130。在一些实施例中,处理设备150例如可以是数据中心100内的计算设备例如服 务器。在一些实施例中,处理器150可以包括存储器(例如,1级(L1)高速缓存)(未 示出)。

基于多个因素的组合,从虚拟资源55中选择(例如确定)虚拟资源,用于包括在 虚拟资源组50中(其要被移动)。所述因素例如可以包括:(1)一个或更多个虚拟资源 55参照一个或更多个阈值条件的性能度量值,(2)在虚拟资源55之间的操作关系(例 如,操作依赖关系),以及(3)一个或更多个虚拟资源55可以移动(或被触发移动)到 的目标资源(例如,硬件资源、软件资源)的可用性。尽管图1示出了被确定用于在数 据中心100的部分(例如,数据中心资源)之间移动的虚拟资源50的实例,在一些实施 例中,以上描述的因素可以用于触发在数据中心部分中的一个或更多个虚拟资源55的移 动。

可以通过监控模块124,参照一个或更多个阈值条件132来监控一个或更多个虚拟 资源55的性能度量值。在一些实施例中,一个或更多个虚拟资源55的性能度量例如可 以包括:当在数据中心100的源部分102中操作时的虚拟资源55的利用率、失效率和/ 或处理速率等。如图1所示,可以将包括表示一个或更多个阈值条件的信息的阈值条件 数据库132储存在存储器120中。

在图1中所示的实施例中,响应于性能度量值(或性能度量值的组)满足在阈值条 件数据库132中包括的阈值条件,虚拟资源VR2被管理模块120的监控模块124确定为 从数据中心100的源部分102移动到数据中心100的目标部分104。例如,虚拟资源VR2 可以因为虚拟资源VR2的性能(如由性能度量值指示的那样)下降到阈值条件数据库 132内表示的特定的阈值水平(如由阈值条件指示的那样)以下而被确定为应当被移动 (或被触发移动)的虚拟资源。

在一些实施例中,监控模块124可以被配置用于周期性地、随机地、以特定间隔地、 响应于来自用户的指令地、和/或基于用户偏好(其可以储存在存储器120中)地等等, 来接收(例如,收集、访问)与一个或更多个虚拟资源55相关的性能度量值。在一些实 施例中,由监控模块124基于性能度量值计算的统计信息和/或由监控模块124收集的性 能度量值的类型可以被预先选择、随机选择、和/或基于用户偏好来选择,等等。在一些 实施例中,用户偏好可以确定要被监控模块124使用的性能度量值,以触发一个或更多 个虚拟资源55的移动。在一些实施例中,监控模块124可以被配置用于从数据中心100 的一个或更多个资源(例如,硬件资源、软件资源、虚拟资源)中请求和/或接收一个或 更多个性能度量值(或者可以用于计算性能度量值的原始数据)。在一些实施例中,性能 度量值(或者可以用于计算性能度量值的原始数据)可以从数据中心100的一个或更多 个资源推送到监控模块124。

尽管未示出,但是在一些实施例中,可以将性能度量值储存在存储器130中。历史 的性能度量值可以被监控模块124利用,以确定来自虚拟资源55的一个或更多个虚拟资 源是否应从数据中心100的一部分移动到数据中心100的另一部分。在图3A至3C中示 出了与虚拟资源相关的性能度量值的实例。

如图1所示,可以将包括表示虚拟资源55之间操作关系的信息的操作关系数据库 134储存在存储器120中。在操作关系数据库134中包括的信息可以表示在虚拟资源55 之间的操作依赖关系,诸如要求虚拟资源55中的两个在同一主机设备上操作。这种物理 邻近可能是必需的,以使得虚拟资源55可以采用期望的方式操作。在一些实施例中,在 操作关系数据库134中包括的信息可以被称作为操作关系的映射。在一些实施例中,在 操作关系数据库134内表示的操作关系可以是分级的操作关系。结合图4A来描述包括 分级的操作关系的操作关系数据库的一个实例。

在图1中所示的实施例中,基于储存在操作关系数据库134中的操作关系,虚拟资 源VR4被管理模块120确定为从数据中心100的源部分102移动到数据中心100的目标 部分104。例如,虚拟资源VR4可以被确定为应该与虚拟资源VR2一同移动到数据中心 100的目标部分104的虚拟资源,因为VR2可能不能以期望的方式工作,除非VR4也在 与VR2相同的数据中心100的目标部分104内操作。

在一些实施例中,来自虚拟资源55的虚拟资源可能并不基于在操作关系数据库134 中表示的操作关系而从例如数据中心100的源部分102移动到数据中心100的目标部分 104(或者在数据中心部分内移动或在数据中心资源组内移动)。例如,来自虚拟资源55 的虚拟资源可以响应于性能度量值满足阈值条件而被确定从数据中心100的一部分移动 到数据中心100的另一部分。然而,基于如下操作关系,可以不移动(例如,可以防止 移动)虚拟资源:所述操作关系指示该虚拟资源会以不期望的方式干扰其他的虚拟资源 的操作。换言之,与虚拟资源的移动关联的收益被干扰超过,所述干扰是该虚拟资源移 动离开与该虚拟资源具有操作关系的其他虚拟资源引起的。

如图1所示,也可以将包括表示数据中心100的资源的可用性信息的可用性数据库 136储存在存储器120中。储存在可用性数据库136中的信息可以表示在数据中心100 的一个或更多个部分(例如,数据中心资源的部分)中的可用容量。在图4B中示出可 用性数据库的一个实例。

在图1中所示的实施例中,虚拟资源VR2和虚拟资源VR4可以作为虚拟资源组50 移动到数据中心100的目标部分104,因为数据中心100的目标部分104具有可用资源 以操作虚拟资源组50,如在可用性数据库136中指示的那样。管理模块120可以被配置 用于基于在可用性数据库136内表示的信息来确定虚拟资源55中的一个或更多个是否可 以从数据中心100的一部分(例如,数据中心资源的一部分)移动到数据中心100的另 一部分(例如,数据中心资源的另一部分)。

在一些实施例中,来自虚拟资源55的一个或更多个虚拟资源可能并不基于缺少硬 件资源的可用性来操作虚拟资源而例如从数据中心100的源部分102移动到数据中心 100的目标部分104(或在数据中心部分内移动)。例如,来自虚拟资源55的虚拟资源组 可以响应于性能度量值满足阈值条件并基于在虚拟资源组中的虚拟资源之间的操作关 系,而被确定用于从数据中心100的一部分移动到数据中心100的另一部分。然而,基 于在数据中心100的目标部分处缺少容量来操作来自虚拟资源组中的一个或更多个虚拟 资源,可以不将来自虚拟资源组的一个或更多个虚拟资源进行移动(例如,可以防止移 动)。

在一些实施例中,可以在基于规则的算法、阈值条件组和/或用户偏好中限定这些因 素(性能度量因素和操作关系因素)之间的平衡。基于规则的算法、阈值条件组和/或用 户偏好可以被管理模块120利用,以自动地解决这些因素之间的冲突,并确定来自虚拟 资源55中的虚拟资源是否应当在数据中心100内移动。

在一些实施例中,监控模块124可以被配置用于通过指示应当移动一个或更多个虚 拟资源55的用户接口(未示出)将通知发送到例如用户(例如,数据中心管理员、客户 端以及顾客)。在一些实施例中,管理模块120可以被配置用于仅当由用户授权时,移动 (或触发移动)虚拟资源55。在一些实施例中,监控模块124可以被配置用于通过用户 接口向例如用户请求授权来移动一个或更多个虚拟资源55。当通过用户接口接收到来自 用户的授权时,监控模块124可以被配置用于将虚拟资源55在数据中心100内移动(或 触发移动)。

在一些实施例中,管理模块120可以被配置用于基于进度表(例如储存在存储器130 中的进度表)来触发一个或更多个虚拟资源55的移动。在一些实施例中,管理模块120 可以被配置用于触发一个或更多个虚拟资源55的移动,使得其在第一配置时(可以被称 作为第一模式)在数据中心100中的第一组特定位置处(例如,在数据中心100的第一 部分102内)操作,并在第二配置时(可以被称作为第二模式)在数据中心100中的第 二组特定位置处(例如,在数据中心100的第二部分104内)操作。可以基于进度表来 触发在第一配置与第二配置之间的移动。在一些实施例中,在模式之间的移动可以被称 作为模式转换。在一些实施例中,在模式之间的移动可以基于例如时间考虑和/或性能阈 值等。例如,虚拟资源55可以由管理模块120来管理,使得虚拟资源55在典型的白天 操作期间处于第一模式(或配置),在夜晚批量操作期间处于第二模式(或配置),和/ 或在月末的结束操作期间处于第三模式(或配置)等。在一些实施例中,可以基于虚拟 资源的部分的利用率来触发模式转换。

尽管未示出,但是在一些实施例中,数据中心100的硬件资源和/或软件资源可以包 括一层或更多层基础结构。例如,在一些实施例中,数据中心100的硬件资源可以包括 储存设备、主机设备、访问开关、聚合设备、路由器、接口组件和/或线缆等。尽管在图 1中未示出细节,但是一个或更多个处理设备(例如,主机设备、储存装置)可以包括 在数据中心100的基础结构中和/或与数据中心100的基础结构整体连接。例如,可以配 置数据中心100使得处理设备可以与访问开关的层通信(例如耦合),其中所述访问开关 的层与聚合设备的层通信(例如,耦合)。聚合设备可以用作进入一组路由器/开关的网 关设备,其中所述一组路由器/开关用作数据中心100的核心转换元件。处理设备可以被 配置用于通过数据中心100的基础结构的至少一部分彼此通信。在一些实施例中,数据 中心100基础结构可以具有活动侧和冗余侧(其可以用作活动侧的备份)。

在一些实施例中,数据中心100也可以包括软件资源,例如管理模块(诸如管理模 块120)、操作系统、和/或管理程序(例如,VMware hypervisor、Xen hypervisor、Hyper-V hypervisor)等。软件资源可以被配置用于采用特别的方式来使得能够使用数据中心100 的硬件资源。例如,管理程序可以被配置用于便利(或使能)处理设备的硬件资源的虚 拟化。操作系统可以被安装在硬件资源诸如路由器、聚合设备、路由器、和/或核心转换 元件等中,使得其他软件资源可以用期望的方式在这些硬件资源上工作。

在一些实施例中,数据中心100可以是云计算环境,其中硬件资源和/或软件资源被 与一个或更多个用户(例如客户端、顾客)相关的多个虚拟资源共享。换言之,硬件资 源(例如,主机设备、访问开关、聚合设备、核心转换元件)和/或软件资源(例如,操 作系统,管理程序)可以共同地限定虚拟化环境,在虚拟化环境中可以操作虚拟资源(例 如,虚拟资源55)。在一些实施例中,由数据中心100限定的虚拟化环境可以被称作为 数据中心虚拟化环境。

在一些实施例中,管理模块120的一个或更多个部分(例如,管理模块120的监控 模块124)可以是(或可以包括)基于硬件的模块(例如,专用集成电路(ASIC)、数 字信号处理器(DSP)、现场可编程门阵列(FPGA))和/或基于软件的模块(例如,可 以在处理器中执行的处理器可读指令组、计算机代码的模块)。尽管未示出,在一些实施 例中,管理模块120可以包括可以在管理模块120的一个或更多个功能的操作期间利用 的一个或更多个存储器部分(例如,随机存取存储器(RAM)部分、移位寄存器、高速 缓存器)。在一些实施例中,与管理模块120相关的一个或更多个功能可以包括在不同的 模块(未示出)中,和/或结合到一个或更多个模块(未示出)中。

在一些实施例中,管理模块120可以是集中的管理模块,所述集中的管理模块被配 置用于为整个数据中心100处理数据中心管理,或者管理模块120可以是分散的管理模 块,所述分散的管理模块被配置用于仅处理数据中心100的部分的管理。在一些实施例 中,除了管理虚拟资源55的移动之外,管理模块120还可以被配置用于执行各种功能。 例如,管理模块120可以被配置用于通过与在数据中心环境中执行的各种可能不兼容的 管理程序的相互作用来管理数据中心的灾难恢复、虚拟资源提供、事件报告、和/或数据 中心安全等(其可以共同地被称作为管理功能)。特别地,管理模块120可以被配置用于 在主机设备上执行与虚拟资源的操作相关的各种管理功能,所述管理功能可以分别是具 有不兼容的管理程序平台的操作管理程序。当用具有管理程序平台的管理程序操作时, 虚拟资源可以被称作为在管理程序环境中操作。当它们具有不同的管理程序平台(或因 为它们基于不同的管理程序平台操作)时,管理程序可以是不兼容的。例如,可以被基 于第一管理程序平台的管理程序使用的功能调用和/或信令协议可能不能被基于第二管 理程序平台的另一个管理程序兼容地使用。管理模块120例如可以被配置用于处理信令, 使得管理模块120可以通过独立于管理程序平台的管理程序来管理数据中心的一个或更 多个虚拟资源。管理程序的平台例如可以通过特定的运行时间库、功能性、架构、通信 协议、操作系统、编程语言、和/或管理程序版本等来限定。在一些实施例中,管理程序 的平台例如可以基于在操作系统环境中执行的主机软件应用架构,或者基于直接在一个 或更多个主机设备(未示出)的硬件上执行的本地软件应用架构。在以下共同悬而未决 的、于同一日期申请的专利申请中描述了与被配置用于执行与数据中心环境相关的各种 操作的管理模块有关的更多细节,所述专利的代理所记录编号为VITU-004/00US 311331-2004,发明名称为“独立于管理程序平台的数据中心管理的方法和装置”,其全 部内容通过引用合并于此。

如图1所示,处理设备150包括在数据中心100的基础结构中。在一些实施例中, 处理设备150可以被设置在数据中心100的基础结构之外。尽管未示出,但是在一些实 施例中,管理模块120可以通过用户接口来访问,所述用户接口可以被配置为使得用户 (例如,数据中心管理员、网络管理员、顾客、源所有者)可以将信号(例如,控制信 号、输入信号、与指令相关的信号)发送到管理模块120和/或从管理模块120接收信号 (例如,输出信号)。在一些实施例中,用户接口可以包括在处理设备150中,和/或可 以包括在数据中心100的基础结构之外的客户端设备(例如,远程客户端设备)中。

在一些实施例中,存储器130例如可以是随机存取存储器(RAM)(例如,动态RAM、 静态RAM)、快闪存储器、和/或可移动存储器等。在一些实施例中,至少一些储存在存 储器130中的信息可以定义数据库,该数据库可以被实施为例如关系数据库、索引数据 库、和/或表等。尽管存储器130被示出为对于管理模块120而言是本地的,但是在一些 实施例中,可以将储存在存储器130中的数据库132、134和/或136中的一个或更多个 部分储存在可以被管理模块120访问的远程存储器中。例如,可以将数据库132、134 和/或136的部分储存在单独的(例如,远程的)储存设备(例如,储存装置)中,所述 储存设备可以通过网络(例如,局域网(LAN)、广域网(WAN)、诸如3G网络的移动 网络)(未示出)由管理模块120来访问。在一些实施例中,数据库132、134和/或136 的一个或更多个部分可以被组合到一个或更多个数据库中,或被分开为一个或更多个数 据库。

图2是示意图,其示出了根据一个实施例被确定从一个数据中心簇移动到另一个数 据中心簇的虚拟资源组80。具体地,图2示出了虚拟资源组80从数据中心簇A移动到 数据中心簇B。在这个实施例中,数据中心簇A可以被称作为源数据中心簇,而数据中 心簇B可以被称作为目标数据中心簇。从数据中心簇A移动到数据中心簇B的虚拟资源 组80包括虚拟资源VM2和VM7。如图2所示,在移动之前,数据中心簇A被配置用 于操作虚拟资源VM1到VM7,而数据中心簇B被配置用于操作虚拟资源VM8到VM12。 虚拟资源VM1到VM12可以被共同地称作为虚拟资源85。

可以利用储存在存储器230中的阈值条件数据库232、操作关系数据库234和/或可 用性数据库236,由管理模块220来触发虚拟资源80从数据中心簇A到数据中心簇B 的移动。如图2中所示,可以在处理设备250的处理器240内执行管理模块220,而管 理模块220可以包括监控模块224。

数据中心簇(诸如数据中心簇A和B)可以由主机设备组(例如,多于2个主机设 备的组、8个主机设备的组)来限定,所述主机设备组从在每个数据中心簇的主机设备 内安装的管理程序方面来看,起隔离的虚拟资源移动区域的作用。例如,在数据中心簇 A的主机设备内安装的管理程序可以被配置为使得由管理程序处理的虚拟资源的移动可 以仅发生在限定数据中心簇A的主机设备之间。可以管理数据中心簇上的虚拟资源的管 理模块220可以被配置用于将关于多个数据中心簇(诸如数据中心簇A和数据中心簇B) 的信息储存在数据库232、234和/或236中,使得管理模块220可以确定在数据中心簇A 和B之间移动的一个或更多个虚拟资源85。在一些实施例中,被确定在数据中心簇A 与数据中心簇B之间移动的一个或更多个虚拟资源85可以自动地执行(例如,触发使 得自动发生)或手动地执行(在移动期间被暂时停止活动之后)。

如图2中所示,每个数据中心簇A、B具有被作为数据中心单元管理的资源。具体 地,数据中心簇A具有被作为数据中心单元A1到A4管理的资源,而数据中心簇B具 有被作为数据中心单元B1到B4管理的资源。如在图2中所示,将资源组80从被作为 (数据中心簇A中的)数据中心单元A4管理的资源移动到作为(数据中心簇B中的) 数据中心单元B2管理的资源。数据中心单元可以被共同地称作为数据中心单元260。

在一些实施例中,数据中心单元260可以分别作为数据中心200的资源(例如,硬 件资源、软件资源、数据中心资源)的特定部分来管理。换言之,可以将数据中心100 的资源划分成(例如,分区成)数据中心单元260,其例如可以用于操作与一个或更多 个虚拟资源相关的处理。在一些实施例中,可以将数据中心单元260分配给特定用户使 用(例如,分配用于用户的虚拟资源的操作)。例如,被作为一个或更多个数据中心单元 260管理的资源可以被用户使用,例如用于操作用户的一个或更多个虚拟资源(诸如虚 拟资源VM3)。在一些实施例中,用户可以是计算元件(例如,服务器、个人计算机、 个人数字助理(PDA)、数据中心管理员、顾客、客户端、和/或公司等。

在一些实施例中,在可用性数据库236中包括的信息的至少一部分可以基于数据中 心单元260(或其部分)的可用性。因此,可以移动虚拟资源,使得如果数据中心单元 260的资源足够支持虚拟资源的操作,则虚拟资源在数据中心单元260的资源内操作。

在一些实施例中,管理模块220可以被配置用于仅将用户的虚拟资源移动(或触发 移动)到分配给用户的数据中心单元260的一个或更多个。因此,管理模块220可以被 配置用于基于数据中心单元260对一个或更多个用户的分配来确定用于移动的虚拟资 源。

管理模块220可以被配置用于响应于在数据中心200内用于移动的一个或更多个虚 拟资源的确定,来修改(或请求授权修改)分配给用户的数据中心单元的数目(其可以 是整数)。例如,在一些实施例中,管理模块220可以被配置用于基于例如一组性能度量 和一组操作关系来确定用于移动的用户的虚拟资源组。管理模块220可以被配置用于在 分配给用户的数据中心单元的容量不足以支持虚拟资源组的移动时,修改(或请求授权 修改)分配给用户的数据中心单元(诸如数据中心单元260)的数目。在一些实施例中, 当用户的虚拟资源从数据中心200的第一部分处的数据中心单元的操作移动到数据中心 200的第二部分处的数据中心单元中的操作(这导致在数据中心200的第二部分处分配 给用户的数据中心单元增加)时,可以减少在数据中心200的第一部分处分配给用户的 数据中心单元。

在一些实施例中,可以管理一个或更多个数据中心单元260的硬件资源(和支持硬 件资源的相关软件资源),使得它们以例如预定义的资源限制值(例如,预定义的硬件资 源限制值)来执行(或能执行)。具体地,可以管理一个或更多个数据中心单元260的硬 件资源,使得它们以例如特定水平的网络带宽(例如,10兆比特/秒(Mb/s)的网络带 宽、大于1Mb/s的网络带宽的特定水平的网络带宽)、特定水平的处理速率(例如,300 兆赫兹(MHz)的处理器速率、600MHz的处理器速率、大于200MHz的特定处理器速 率)、储存设备的特定输入/输出(I/O)速率(例如,40次I/O操作/秒的磁盘I/O速率、 大于10IOPS的特定的磁盘I/O速率),和/或特定的储存设备带宽(例如,10Mb/s的磁 盘带宽、大于10Mb/s的特定水平的磁盘带宽)来执行。也可以将硬件资源的特定部分 保留为一个或更多个数据中心单元260的部分。例如,数据中心单元260也可以具有分 配给数据中心单元260的特定水平的储存设备(例如,30吉字节(GB)的磁盘大小、 大于1GB的特定的磁盘大小)和/或特定的存储空间(例如,768兆字节(MB)的存储 器储存容量、大于64MB的特定的存储器储存容量)。

在一些实施例中,可以将数据中心100的硬件资源(和附随的软件)分区,使得保 证数据中心单元260的硬件(和/或软件)资源以预定义的资源限制值来执行。换言之, 可以管理数据中心单元260的资源,使得它们提供与一组预定义的资源限制值中各(或 每个)预定义的资源限制值相对应的保证水平的服务。在共同悬而未决的、于同一日期 申请的如下专利申请中描述了与数据单元相关的资源的管理的更多细节:所述专利的代 理所记录编号为VITU-003/00US 311331-2003,发明名称为“在数据中心环境中与基于 单元的虚拟资源相关的方法和装置”,其全部内容通过引用合并于此。

在一些实施例中,可以将分配给用户的数据中心单元从数据中心200的第一部分(例 如数据中心簇A)移动到数据中心200的第二部分(例如数据中心簇B)。换言之,在数 据中心200的第一部分处的数据中心资源(其作为数据中心单元管理并被分配给用户) 可以用在数据中心200的第二部分处的数据中心资源来代替,使得它们可以作为分配给 用户的数据中心单元在数据中心200的第二部分处被管理。之前在数据中心200的第一 部分处操作(并且之前作为数据中心单元管理)的用户的虚拟资源可以随着数据中心单 元的移动而在数据中心200的第二部分处操作(并且作为数据中心单元重新管理)。在一 些实施例中,可以利用数据中心单元分配来说明用于操作用户的虚拟资源的数据中心资 源(例如,数据中心硬件资源、数据中心软件资源)。

图3A至图3C是示出根据一个实施例与虚拟资源相关的性能度量值的曲线图。如 图3A、3B以及3C中所示,分别针对虚拟资源V1、V2以及V3绘制了关于时间(在x 轴上示出)的性能度量值X(在y轴上示出)。如图3A所示,在时间T1之前,针对虚 拟资源V1的性能度量值X在阈限值P1以上,而在时间T1之后,性能度量值X在阈限 值P1以下。监控模块、诸如图1中示出的监控模块134可以被配置用于基于在时间T1 处下降到阈限值以下的性能度量值X来确定从数据中心的源资源移动的虚拟资源V1。 换言之,监控模块134可以被配置用于响应于性能度量值X满足与阈限值P1相关的阈 值条件而确定虚拟资源V1在数据中心内移动。

即使虚拟资源V2的性能度量值X未下降到阈限值P1以下,如图3B所示,也可以 基于虚拟资源V1与虚拟资源V2之间的操作关系,来确定虚拟资源V2在数据中心内移 动。具体地,可以基于在虚拟资源V2与虚拟资源V1之间的操作关系,由管理模块来确 定虚拟资源V2与虚拟资源V1一同移动到数据中心的共同目标部分(例如,共同主机设 备、共同数据中心簇)。可以基于储存在数据库中的与虚拟资源V1、V2以及V3相关的 操作关系信息来确定操作关系。

如图3C所示,如同虚拟资源V2的性能度量值X(在图3B中示出)那样,虚拟资 源V3的性能度量值X未下降到阈限值P1以下。然而,管理模块可以确定虚拟资源V3 不应与虚拟资源V1和V2一起移动到数据中心的目标部分,因为数据中心的目标部分的 容量不足以操作全部的虚拟资源V1、V2以及V3。在一些实施例中,确定虚拟资源V2 与虚拟资源V1一起移动而不是与虚拟资源V3一起移动,这可以是基于虚拟资源V2和 V3与虚拟资源V1的相应操作关系的等级次序、和/或用户偏好等。在一些实施例中,基 于满足阈值条件的不同的性能度量(不同于性能度量X)的值,虚拟资源V3可以不被 确定为与虚拟资源V1一同移动。

图4A示出根据一个实施例的数据库400,其包括虚拟资源之间的操作关系的表示。 如图4A所示,虚拟资源W1至W6(在列410中示出)在数据中心单元UC(在列440 中示出)中操作。作为数据中心单元UC管理的硬件资源的容量消耗的部分在列450中 示出。同样如在图4A中所示,虚拟资源410与操作关系(等级1操作关系(在列420 中示出)和等级2操作关系(在列430中示出))中的一个或两个相关。

在一些实施例中,在等级1操作关系420中的“Y”值可以表示虚拟资源410与特 定用户相关,而“N”值可以表示虚拟资源410与用户不相关。在一些实施例中,在等 级2操作关系430中的“Y”值可以表示虚拟资源410与也在操作关系中用“Y”值标记 的其它的虚拟资源410具有操作依赖性。在等级2操作关系中的虚拟资源可能基于操作 依赖性而需要例如在相同的主机设备中操作,或具有特定的拓扑近似性。在等级2操作 关系430中的“N”值可以表示虚拟资源410与同等级2操作关系430有关的其他虚拟 资源不相关。

在一些实施例中,操作关系可以表示与上述不同的操作关系。例如,在一些实施例 中,等级1操作关系420可以表示可选的操作依赖性。在一些实施例中,诸如数据库400 的数据库可以包括多于两个操作关系或少于两个操作关系。在一些实施例中,操作关系 可以交迭和/或可以分等级地相关。在一些实施例中,可以将操作关系分级排序(例如, 可以与优先权相关)(未示出)。换言之,可以将操作关系分级排序,使得根据分级的次 序通过管理模块来对操作关系给出偏好。在一些实施例中,可以通过数据中心管理员和/ 或由与虚拟资源410相关的用户来限定操作关系。

在一些实施例中,如果虚拟资源被管理模块确定在数据中心内移动,则管理模块可 以被配置用于使用诸如在数据库400中所示的信息来确定应当与虚拟资源一起移动的附 加虚拟资源。例如,可以基于与满足阈值条件的虚拟资源W1相关的性能度量值,通过 管理模块(例如,管理模块的监控模块)来确定移动虚拟资源W1。响应于这个确定, 管理模块也可以被配置用于将虚拟资源W4确定为也要与虚拟资源W1一起移动的虚拟 资源,因为这两个虚拟资源具有如在数据库400中指示的操作依赖性。

图4B示出根据一个实施例包括数据中心单元的可用容量值的数据库470。如图4B 中所示,数据中心单元(在列480中示出)UD、UE以及UF分别具有10%、60%以及 90%的可用容量(在列490中示出)。在一些实施例中,与数据中心单元480相关的资源 (例如,数据中心资源)可以被称作为资源(例如,数据中心资源)的池。

在一些实施例中,如果虚拟资源被确定为移动到数据中心单元480中的一个,在数 据库400中包括的操作关系信息(在图4A中示出)可以结合数据库470(在图4B中示 出)使用来确定目标数据中心单元用于一个或更多个虚拟资源的操作。例如,可以基于 在图4A中所示的等级2操作关系,将虚拟资源W1和虚拟资源W4确定作为虚拟资源 组移动。假设数据中心单元UC(在图4A的列440中示出)的资源与和数据中心单元 480相关的资源相同,则具有60%可用容量(在列490中示出)的数据中心单元UE(在 列480中示出)是唯一具有充足的可用容量的数据中心单元来操作虚拟资源W1和W4, 其中虚拟资源W1和W4消耗35%的组合的数据中心单元容量。

在一些实施例中,数据库400和数据库470可以包括数据中心单元及虚拟资源与由 用户标识符表示的特定用户相关联的信息。因此,虚拟资源的移动和/或目标数据中心资 源(例如,数据中心单元)的确定也可以基于用户标识符由管理模块来判定。具体地, 管理模块可以被配置用于仅确定与特定用户相关的虚拟资源来移动到也与同一用户相关 的数据中心资源。

图5是示出根据一个实施例的一种用于确定在数据中心内移动的虚拟资源组的方法 的流程图。如图5所示,在步骤500中,接收虚拟资源群组的操作关系的多等级表示(例 如,多等级映射)。多等级表示可以与图4A中所示的相似。

在步骤510中,接收与数据中心资源池相关的可用信息。可用容量值可以与图4B 中所示的相似。在一些实施例中,数据中心资源池可以是未分配给用户的数据中心资源。

在步骤520中,接收在数据中心资源内操作时虚拟资源群组中的虚拟资源性能满足 阈值条件的指示符。在一些实施例中,性能可以同与数据中心资源一同操作时虚拟资源 的失效率相关。

在步骤530中,基于操作关系的多等级表示和可用性信息,来确定(1)虚拟资源 群组中的虚拟资源组,和(2)操作虚拟资源组的数据中心资源的部分。在一些实施例中, 可以仅是与操作关系的多等级表示和/或可用性信息相关的信息的子集被管理模块利用, 以确定虚拟资源组和操作虚拟资源组的硬件资源的部分。在一些实施例中,可以基于预 定义的一组硬件资源限制值,将硬件资源的部分作为数据中心单元管理。

在步骤540中,发送被配置用于触发虚拟资源组移动到数据中心资源的部分的指令。 在一些实施例中,所述指令可以在管理模块中定义,并从管理模块发送到另一模块(其 可以在不同于管理模块的处理设备中)。在一些实施例中,可以将指令发送到与管理模块 分开的模块,该模块被配置用于将虚拟资源组移动(或触发移动)到数据中心资源的部 分。在一些实施例中,指令可以在管理模块中定义,并被发送到在管理模块内的模块, 所述模块被配置用于将虚拟资源组移动(或触发移动)到数据中心资源的部分。在一些 实施例中,指令例如可以通过用户接口发送到用户。

在一些实施例中,可以重新配置数据中心资源的一个或更多个部分,使得数据中心 资源的部分可以操作虚拟资源组。例如,可以配置(或重新配置)数据中心的硬件组件, 使得硬件组件可以采用期望的方式操作虚拟资源组中的至少一部分。在一些实施例中, 可以配置(或重新配置)数据中心的软件资源(例如,管理程序平台),使得可以采用期 望的方式使用软件资源操作虚拟资源组中的至少一部分。

本文描述的一些实施例涉及具有计算机可读介质的计算机储存产品(也可以被称作 为处理器可读介质),所述计算机可读介质在其上具有指令或计算机代码用于执行不同的 计算机实施的操作。介质和计算机代码(也可以被称作为代码)可以是为特定目的或目 标设计和构造的。计算机可读介质的实例包括,但不限于:诸如硬盘、软盘以及磁带的 磁性储存介质;诸如压缩盘/数字视频盘(CD/DVD)、压缩盘只读存储器(CD-ROM) 以及全息设备的光储存介质;诸如光盘的磁-光储存介质;载波信号处理模块;以及硬件 设备,所述硬件设备被特别地配置用于储存和执行程序代码,诸如专用集成电路(ASIC)、 可编程逻辑器件(PLD)以及只读存储器(ROM)和随机存取存储器(RAM)。

计算机代码的实例包括,但不限于:诸如由编译器产生的微代码或微指令、机器指 令,用于产生网络服务的代码,以及包括由使用解释器的计算机执行的更高级指令的文 件。例如,可以利用例如运行时间环境、和/或应用框架诸如Microsoft.NET Framework 和/或Java、C++或其他编程语言(例如,面向对象的编程语言)、和/或开发工具,来实 施实施例。计算机代码的另外的实例包括,但不限于控制信号、加密代码以及压缩代码。

尽管以上已经描述了不同的实施例,但是应当理解的是:它们仅是示例性的,而不 起限制作用,可以在形式和细节上进行各种改变。可以采用任何组合来组合本文描述的 装置和/或方法的任何部分,除了互相排斥的组合。本文描述的实施例可以包括描述的不 同实施例的功能、组件和/或特征的各种组合和/或子组合。例如,可以利用性能度量值的 组合来确定在数据中心内移动的虚拟资源。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号