与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置的制作方法

文档序号:6360242阅读:227来源:国知局
专利名称:与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置的制作方法
与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置相关申请的交叉引用本申请要求于2010年2月22日提交的、发明名称为“Methods and ApparatusRelated to Management of Unit-Based Virtual Resources Within a Data CenterEnvironment”的美国专利申请序列号第12/709,962号的优先权并且是其的继续申请,其全部内容通过引用结合于此。
背景技术
本发明所述的实施例总体而言涉及数据中心内的虚拟资源,更具体而言,涉及数据中心环境内的基于单元式虚拟资源的管理。由于数据中心环境(例如,云计算数据中心环境)由比较大规模的基础架构来定·义,所以对基础架构内的各种部件的管理会是复杂的,并且不能利用已知的方法和装置以期望的方式进行处理。具体地,用于管理基础架构的资源以利用在数据中心环境内操作的虚拟资源将指定的服务级别(例如,保证的服务级别)提供给用户的已知方法和装置对于一些应用可能是不合适的。这些已知的方法和装置中的许多例如可能对于一些应用而言过于专用,和/或不可以集成对数据中心环境内的部件进行控制和/或管理的各种系统的不同功能来以期望的方式提供指定的服务级别。因此,需要用于管理数据中心环境内的基于单元式虚拟资源的方法和装置。

发明内容
在一个实施例中,一种处理器可读介质可以被配置来存储表示要由处理器执行的指令的代码。所述代码包括进行以下操作的代码接收对如下值进行改变的请求,该值表示在分配给用户的数据中心单元组中包括的数据中心单元的数目。所述数据中心单元组中的每个数据中心单元可以与基于预定硬件资源极限值组而被管理的硬件资源相关。所述代码包括进行以下操作的代码当所述进行改变的请求为增加请求时,响应于所述请求来确定与所述数据中心单元组的硬件资源相互排斥并且基于预定资源极限值而被管理的数据中心单元的硬件资源是否可用于分配给用户。


图I是说明根据一个实施例的管理模块、硬件控制器和数据中心的示意图。图2是说明根据一个实施例的可以存储在管理模块的存储器中的数据库的示意图。图3是说明根据一个实施例的包括与数据中心资源的可用性有关的信息的数据库的不意图。图4是说明根据一个实施例的性能度量的值的曲线图。图5是说明根据一个实施例的与数据中心通信的资源控制器的示意图。
图6是说明根据一个实施例的基于性能度量来修改数据中心单元组的方法的流程图。图7是说明根据一个实施例的响应于请求来修改数据中心单元的数目的方法的流程图。
具体实施例方式图I是说明根据一个实施例的管理模块130、资源控制器170和数据中心100的示意图。管理模块130被配置为将一个或更多个指令发送给资源控制器170 (或其一部分)以触发资源控制器170来管理数据中心100内的数据中心单元180的一个或更多个硬件资源。如图I所示,数据中心单元180包括数据中心单元DU1、数据中心单元DU2和数据中心单元DU3。在一些实施例中,数据中心单元180可以称为数据中心单元组。在一些实施例中,数据中心单元的硬件资源还可以称为数据中心单元的处理资源。如从数据中心单元180到用户50的虚线所表示的那样,数据中心单元180的硬·件资源被管理(例如,被分配、供给、保留)以被用户50使用(例如,用于与用户50相关的处理)。换言之,数据中心单元180 (或数据中心单元180中的数据中心单元)被分配给用户50。由于数据中心单元180被分配给用户50,所以用户50可以使用数据中心单元180的硬件资源,例如以执行由用户50指定的一个或更多个功能。例如,数据中心单元180的硬件资源可以被用户50使用,例如以操作用户50的一个或更多个虚拟资源(例如,虚拟机)(未示出)。在一些实施例中,用户50可以是顾客、客户、公司和/或其他等。在一些实施例中,用户50可以表示与例如真人用户相关的计算元件(例如,服务器、个人计算机、个人数字助理(PDA))。数据中心单元180每个可以作为数据中心100的资源(例如,硬件资源、软件资源)的指定部分来管理。换言之,数据中心100的资源可以被划分成(例如,被分区成)数据中心单元180,所述数据中心单元180可以用于例如处理与一个或更多个虚拟资源(对于诸如用户50的用户)相关的处理。在一些实施例中,虚拟资源可以被配置为例如模仿物理源设备和/或其相关软件的功能。例如,在一些实施例中,数据中心单元180中的一个或更多个的硬件资源(以及用以支持硬件资源的相关软件资源)可以被管理使得它们以例如预定的硬件资源极限值执行(或能够以预定的硬件资源极限值执行)。具体地,数据中心单元180中的一个或更多个的硬件资源可以被管理使得它们以例如指定的网络带宽级别(例如,10兆比特/秒(Mb/s)的网络带宽、大于IMb/s网络带宽的指定网络带宽级别)执行、以指定的处理速度级别(例如,300兆赫兹(MHz)的处理器速度、600兆赫兹(MHz)的处理器速度、大于200兆赫兹(MHz)的指定处理器速度)执行、以指定的存储设备输入/输出(I/o)速度(例如,每秒40个I/O操作的磁盘I/o速度、大于10I0PS的指定磁盘I/O速度)执行、和/或以指定的存储设备带宽(例如,10Mb/s的磁盘带宽、大于10Mb/s的指定磁盘带宽级别)执行。硬件资源的指定部分也可以被保留作为数据中心单元180中的一个或更多个的一部分。例如,数据中心单元180还可以具有分配给数据中心单元180的指定的存储设备级别(例如,30千兆字节(GB)的磁盘大小、大于IGB的指定磁盘大小)和/或指定的存储器空间(例如,768兆字节(MB)的存储器存储容量、大于64MB的指定存储器存储容量)。
在一些实施例中,数据中心100的硬件资源(以及随同的软件)可以被分区,使得如果需要则保证数据中心单元180以预定的硬件资源极限值执行,或具有处于预定的硬件资源极限值的硬件资源。换言之,数据中心单元180的硬件资源可以被管理使得它们提供与预定硬件资源极限值组之中的各(或每个)预定硬件资源极限值相对应的保证的服务级别。换言之,可以保留数据中心单元180之中的数据中心单元的硬件资源(或其一部分),使得他们可以可用于与用户50相关的处理。例如,定义数据中心单元DU3的第一部分的第一硬件资源(或其一部分)(例如,存储器部件)可以提供与预定硬件资源极限值组之中的第一预定硬件资源极限值相对应的保证的服务级别,定义数据中心单元DU3的第二部分的第二硬件资源(或其一部分)(例如,网卡)可以提供与预定硬件资源极限值组之中的第二预定硬件资源极限值相对应的保证的服务级别。在一些实施例中,如果数据中心单元180的硬件资源中的一个或更多个不执行用于用户50的功能(例如,执行与用户50相关的虚拟资源的处理),则与数据中心单元180相关的硬件资源(或其一部分)可以空闲(或基本空闲)。数据中心单元180的硬件资源空闲(或 基本空闲),使得在需要它们的时候可以保证它们用于用户50的处理。在一些实施例中,保证的服务级别还可以称为保证的功能级别。在一些实施例中,可以基于统计数据来定义预定硬件资源极限值组(其可用于定义数据中心单元180),所述统计数据基于预定的虚拟资源组,所述预定的虚拟资源组指示可用于操作虚拟资源的特定的硬件资源组合。在一些实施例中,例如可以基于经验数据来定义预定硬件资源极限值组。具体地,可以首先选择与特定硬件类型(例如,磁盘类型)相关的硬件资源极限值。当特定硬件类型以所选择的硬件资源极限值操作时,可以基于与额外的硬件资源的期望操作有关的经验数据来定义与其他硬件类型相关的额外的硬件资源极限值。因此,可以利用选择的硬件资源极限值作为起点基于硬件资源的总体性能来定义预定硬件资源极限值组。在一些实施例中,数据中心单元180可以由预定硬件资源极限值组来定义,使得数据中心单元可以用期望的方式(在特定的性能规范组内)操作特定类型的虚拟机或虚拟资源组。可以基于一个或更多个预定硬件资源极限值而通过资源控制器170 (或其一部分)至少部分地管理(例如,分配、保留)数据中心单元180的硬件资源。例如,资源控制器170可以被配置为基于预定硬件资源极限值(例如,预定硬件资源极限值组之中的预定硬件资源极限值)来管理数据中心100的资源(例如,软件资源、硬件资源)或其一部分,或数据中心单元180中的一个或更多个。换言之,可以由资源控制器170来监督或实施预定硬件资源极限值。例如,资源控制器170可以被配置为管理数据中心100内的主机设备(未示出)的处理器的处理资源,使得处理器的处理容量(其可对应于硬件资源极限值)中的指定部分被保留用于数据中心单元DU1。资源控制器170 (或其一部分)可以被配置为与数据中心100的资源接合,使得数据中心单元180 (数据中心100的资源之中的)的硬件资源可以提供与预定硬件资源极限值组相对应的保证的服务级别。在一些实施例中,资源控制器170可以包括一个或更多个专用资源控制器,其每个被配置为管理与特定类型的资源(例如,存储器类型、中央处理单元)相关的资源。与资源控制器和专用资源控制器有关的更多细节结合图5来描述。在一些实施例中,数据中心单元18中的一个或多个的硬件资源可以被管理使得仅保证数据中心单元180的硬件资源的特定预定硬件资源极限值。在一些实施例中,例如,可以由资源控制器170 (或其一部分)来管理数据中心单元DUl的硬件资源,使得数据中心单元DUl的硬件资源可以提供保证级别的处理速度,并且有保证的磁盘空间部分可用,但可以被管理使得数据中心单元DUl的硬件资源可以仅在某些情况下提供指定的带宽速度。因此,数据中心单元DUl的硬件资源的带宽速度未保证。在这种情况下,数据中心单元DUl可以称为部分保证的数据中心单元。在一些实施例中,数据中心单元180的硬件资源可以被管理使得基于同一硬件资源极限值组来管理每个数据中心单元180的硬件资源。因此,数据中心单元180中的每个数据中心单元的硬件资源可以被管理使得它们提供相同的(或基本相同的)保证的服务级别。在一些实施例中,数据中心单元180中的一个或更多个的硬件资源可以基于不同的预定硬件资源极限值组。例如,数据中心单元DUl的硬件资源可以基于第一组预定硬件资源极限值,数据中心单元DU2的硬件资源可以基于不同于第一组预定硬件资源极限值的第二组预定硬件资源极限值。在这样的例子中,数据中心单元DUl的硬件资源可以提供与数据中心单元DU2的硬件资源所提供的保证的服务级别不同的保证的服务级别。资源控制·器170可以被配置为基于不同的预定硬件资源极限值组来管理这些不同的数据中心单元的硬件资源。在一些实施例中,数据中心单元180中的一个或更多个可以包括软件资源。换言之,软件资源可以与数据中心单元180的至少一部分相关(以及可以定义数据中心单元180的至少一部分)。例如,数据中心单元DUl的硬件资源可以具有特别许可用于数据中心单元DUl的操作和/或在数据中心单元DUl的硬件资源内的操作的软件资源。在一些实施例中,资源控制器170 (或其一部分)可以被配置为管理数据中心100的软件资源,使得软件资源按照所指定地被分配(例如,分派)给每个数据中心单元180的硬件资源。被配置为管理基于硬件的数据中心的一部分的资源控制器可以称为硬件资源控制器。例如,可以由硬件控制器来定义包括指定存储器分配的数据中心单元。类似地,被配置为管理基于软件的数据中心单元的一部分的资源控制器可以称为软件资源控制器。数据中心单元的软件资源和硬件资源可以统称为处理资源。因此,数据中心的处理资源可以由资源控制器处理(例如,统一地由资源控制器处理)。如图I所示,管理模块130可以与用户界面(UI) 160通信(例如,通过用户界面(Π)160被访问)。用户界面130可以被配置成使得用户(例如,数据中心管理员、网络管理员、客户、源所有者)可以将信号(例如,控制信号、输入信号、与指令有关的信号)发送给管理模块130和/或从管理模块130接收信号(例如,输出信号)。具体地,用户界面160可以被配置成使得用户可以经由用户界面160触发要在管理模块130上进行(例如,执行)的一个或更多个功能,和/或从例如用户界面160的显示器(未示出)上的机载引擎130接收输出信号。例如,在一些实施例中,用户可以经由用户界面160管理数据库124的至少一部分。在一些实施例中,用户界面160可以是图形用户界面(⑶I)。如图I所示,整数个数据中心单元180(其每个可以具有基于相同的预定硬件资源极限值组而被管理的硬件资源)被分配给用户50 (例如,被保留以由用户50使用)。可以在管理模块130处接收针对数据中心单元(诸如图I所示的数据中心单元180)的指定数目或数目上的变化的请求。在一些实施例中,可以响应于来自用户50的输入来定义请求。换言之,用户可以经由用户界面160提出针对数据中心单元的指定数目的请求。表示数据中心单元的数目的值可以存储在管理模块130的存储器120内的数据库124中。每个数目可以表示统一作为数据中心单元而被管理的硬件资源。在一些实施例中,该值可以与表示用户50的标识符相关。图2示出了存储与分配给用户的数据中心单元有关的信息的数据库的例子。图2是说明根据一个实施例的可以存储在管理模块的存储器中的数据库200的示意图。数据库200可以存储在诸如图I所示的管理模块130的存储器120的存储器中。如图2所示,数据中心单元DC1至DCn (在标记为数据中心单元230的栏中示出)被分配给由用户标识符“A”(在标记为用户标识符210的栏中示出)表示的用户,数据中心单元DCk至DCm (在标记为数据中心单元230的栏中示出)被分配给由用户标识符“B”(在标记为用户标识符210的栏中示出)表示的用户。分配给用户A的数据中心单元的数目(栏220)可以 由值N表示,分配给用户B的数据中心单元(栏220)的数目可以由值M表示。在一些实施例中,值“N”和“M”可以是整数。如图2所示,虚拟资源AVR1至AVRq (在标记为虚拟资源240的栏中示出)与用户A相关,虚拟资源BVR1至BVRs(在标记为虚拟资源240的栏中示出)与用户B相关。虽然图2未示出,但还可以定义数据库200以表示数据中心单元的数据中心资源中的哪个正在操作每个虚拟资源。例如,虽然未示出,但是数据库200可以被配置为存储表示定义数据中心单元DC2的数据中心资源正在操作虚拟资源AVR4至AVRq的信息。在一些实施例中,虚拟资源240可以被配置为模仿例如迁移到虚拟资源240的遗留源设备的一个或更多个功能。与源迁移到数据中心以被模仿成一个或更多个虚拟资源有关的更多细节结合发明名称为“Methodsand Apparatus Related to Migration of Customer Resources to Virtual Resourceswithin a Data Center Environment”、与本发明同日提交的、律师案卷第 VITU-002/00US311331-2002 号的专利申请以及发明名称为“Methods and Apparatus for Movement ofVirtual Resources within a Data Center Environment”、与本发明同日提交的、律师案卷第VITU-001/00US 311331-2001号的专利申请中有所描述,以上二者的全部内容通过引用结合于此。在一些实施例中,数据库200可以动态更新成表示资源(例如,软件资源、硬件资源)中的变化,诸如在分配给一个或更多个用户的数据中心资源的数目上的减少或增加。具体地,可以动态地修改表示分配给由用户标识符210所表示的用户的数据中心单元220的数目的值。再参见图1,在一些实施例中,用户50可以经由用户界面160请求增加分配给用户50的数据中心单元(诸如数据中心单元180)的数目。因此,可以在管理模块130处接收改变表示分配给用户50的数据中心单元的数目的值的请求。该值可以存储在管理模块130的存储器120处。增加数据中心单元的数目的请求可以被称作增加请求。可以从用户界面160在管理模块130处接收该请求。响应于增加请求,管理模块130可以被配置为确定数据中心100的资源是否可用于分配给用户50作为数据中心单元的资源。在一些实施例中,管理模块130可以被配置为将表示在数据中心100可用的资源的库存信息存储在存储器120中,例如,存储在数据库124中。在这样的实施例中,管理模块130可以被配置为访问库存信息并基于库存信息来确定一个或更多个数据中心单元或一个或更多个数据中心单元中的硬件资源(未示出)是否可用于分配给诸如用户50的用户。在一些实施例中,表示资源和/或数据中心单元(或数据中心单元的硬件)的未分配库的库存信息可以存储在存储器120中。图3示出了可以存储在存储器120的数据库124中的库存信息的例子。图3是说明根据一个实施例的包括与数据中心资源的可用性有关的信息的数据库300的示意图。如图3所示,由标识符Ul和U3 (在栏320中示出)表示的数据中心单元(或数据中心单元的硬件资源)不可用于分配给用户,因为如栏310中所指明的那样,这些数据中心已分配给用户。由标识符U2、U4和U5 (在栏320中示出)表示的数据中心单元可用于分配给用户,因为如栏310所指明的那样,这些数据中心单元未分配给用户。在一些实施例中,由标识符U2、U4和U5所表示的数据中心单元由于它们未被分配,因此可以称为未分配的数据中心资源的库,或称为未分配的数据中心单元的库。虽然未示出,但在一些实施例中,数据库可以被配置为存储与可以作为数据中心单元管理的各个硬件资源(例如,处理器、网络接口卡、存储设备)有关的库存信息。具体地,各个硬件资源(或其的一部分)的可用性或不可用性可以存储在数据库中。基于与硬件资源·(或硬件资源的一部分)有关的库存信息,管理模块(诸如图I所示的管理模块130)可以确定硬件资源是否可用于定义可分配给用户的数据中心单元。再参见图1,如果数据中心单元(未示出)可用于分配给用户50 (或如果数据中心100的硬件资源可用于作为可分配给用户50的数据中心单元来管理),则管理模块130可以被配置为将可用的数据中心单元分配给用户50,使得数据中心单元的硬件资源可以由例如与用户50相关的虚拟资源使用。换言之,如果足够数目的数据中心单元可用以满足增加请求,则管理模块130可以同意请求并将数据中心单元分配给用户50。分配给用户50的数据中心单元可以从例如未分配的资源(或数据中心单元)的库中去除。在一些实施例中,响应于增加请求而分配给用户的一个或更多个数据中心单元可以具有与从可用状态变为不可用状态的数据中心单元相关的状态。在一些实施例中,可以基于存储在存储器120中的库存信息来确定数据中心单元(或可以用于定义数据中心单元的硬件资源)的可用性或不可用性。在一些实施例中,用户50可以经由用户界面160请求减少分配给用户50的数据中心单元(诸如数据中心单元180)的数目。因此,可以在管理模块130处接收改变表示分配给用户50的数据中心单元(可以由统一作为数据中心单元管理的硬件资源表示)的数目的值的请求。减少数据中心单元的数目的请求可以被称作减少请求。该请求可以从用户接口 160在管理模块130被接收。在一些实施例中,从之前分配给用户的数据中心单元组中去除的数据中心单元的硬件资源可以再分配给另外的用户。例如,如果作为数据中心单元DU2管理的硬件资源响应于来自用户50的减少请求而从数据中心单元180的组中去除,则作为数据中心单元DU2管理的硬件资源可以分配给另外的用户(未示出)。再分配可以在存储在存储器120中的数据库124中表示,在一些实施例中,数据中心单元DU2 (例如,数据中心单元DU2的硬件资源)可以返回到未分配的数据中心单元的库。在一些实施例中,存储器120可以是例如随机存取存储器(RAM)(例如,动态RAM、静态RAM)、快闪存储器、可移动存储器和/或其他等等。在一些实施例中,数据库124可以被实现为例如关系数据库、索引数据库、表格和/或其他等。虽然存储器120和数据库124被示出为对于管理模块130在本地,但是在一些实施例中,数据库124的一部分或更多部分可以存储在远程存储器中,该远程存储器可以由管理模块130访问。例如,数据库124的这些部分可以存储在单独的(例如,远程的)的存储设备(例如,存储设施)中,该存储设备可以由管理模块130经由网络(例如,局域网(LAN)、广域网(WAN)(未示出))来访问。如图I所示,管理模块130可以包括监控模块134。监控模块134可以被配置为基于表示与数据中心单元的硬件资源相关的性能的一个或更多个值来触发在分配给用户(诸如用户50)的数据中心单元(诸如数据中心单元180)的数目上的变化。表示性能的值可以称为性能度量值。在一些实施例中,监控模块134可以被配置为响应于基于一个或更多个性能度量值而满足的阈值条件来触发在分配给用户50的数据中心单元的数目上的增加或减少。
例如,监控模块134可以被配置为响应于指示数据中心单元180统一地处于使用中的性能度量值而从分配给用户50的数据中心单元180的组中去除数据中心单元DU2。在一些实施例中,监控模块134可以被配置为响应于指示数据中心单元180的硬件资源统一地处于过使用中的性能度量值而将额外的数据中心单元(未示出)(或额外的数据中心单元的硬件资源)增加到分配给用户50的数据中心单元180的组。过使用可以用例如故障数据来显示。在一些实施例中,监控模块134可以被配置为以基于性能度量值而满足的阈值条件为基础来替换分配给用户(诸如用户50)的一个或更多个数据中心单元(诸如数据中心单元180)。在一些实施例中,监控模块134可以被配置为通过修改存储在表示数据中心单元的数目的数据库(诸如数据库124)中的值来修改分配给用户的数据中心的数目。图4是说明根据一个实施例的性能度量值的曲线图。如图4所示,性能度量值(在y轴上示出)相对于时间标绘(在X轴上示出)。在时间Tl之前性能度量值处于下极限值(示出为“LL”)之上,在时间Tl之后性能度量值处于该下极限值之下。诸如图I所示的监控模块134的监控模块可以被配置为响应于下降到时间Tl处的下极限值之下的性能度量值来修改分配给用户的数据中心单元的数目。换言之,监控模块可以响应于满足与时间Tl处的下极限值相关的阈值条件的性能度量值来修改分配给用户的数据中心单元的数目。再参见图1,监控模块134可以被配置为基于例如容量值、代表故障率的值、使用值和/或其他等的各种性能度量值来修改分配给用户(诸如用户50)的数据中心单元的数目。在一些实施例中,性能度量值可以与指定的时间段相关。在一些实施例中,监控模块134可以被配置为从数据中心100 (或其一部分)接收表示性能度量的值(例如,推出值和拉入值)。例如,在一些实施例中,监控模块134可以被配置为接收由在数据中心100的数据中心单元的硬件资源内操作的虚拟资源所产生的一个或更多个性能度量值。在一些实施例中,可以用预选的方式和/或响应于来自监控模块134的请求而定期地、随机地接收性能度量值。在一些实施例中,监控模块134可以被配置为请求和接收来自可用于计算性能度量值的数据中心100的一个或更多个资源(例如,硬件资源、软件资源、虚拟资源)的数据。在一些实施例中,监控模块134可以被配置为经由用户界面160将通知发送给例如用户50,指示应该修改分配给用户50的数据中心单元的数目。在一些实施例中,监控模块134可以被配置为仅在用户授权修改时来修改分配给用户50的数据中心单元的数目(通过修改表示数据中心单元的数目的值)。在一些实施例中,监控模块134可以被配置为经由用户界面160来请求来自用户50的授权以用于修改数据中心单元180的数目。在经由用户界面160从用户50接收到授权时,监控模块134可以被配置为修改分配给用户50的数据中心单元180的数目。在一些实施例中,管理模块130可以被配置为识别数据中心单元(诸如数据中心单元180)的最小数目以操作虚拟资源。例如,管理模块130可以被配置为识别(或计算)数据中心单元的最小值(基于一个或更多个评估参数值)以在数据中心环境内操作虚拟资源。在一些实施例中,管理模块130可以被配置为确定有特定最小数目的数据中心单元被用于操作对例如特定物理设备的至少一部分进行模仿的虚拟资源。在一些实施例中,被选择来操作虚拟资源(或虚拟资源组)的离散数据中心单元的数目可以由管理模块130基于例如数据中心单元处理虚拟资源的突发处理级和/或虚拟资源的平均处理级的能力来确定。在一些实施例中,用以操作虚拟资源的与数据中心单元的数目有关的计算可以通过管理模块130的评估模块部分(未示出)来执行。与评估模块有关的更多细节结合发明名称为“Methods and Apparatus Related to Migration of Customer Resources to VirtualResources within a Data Center Environment”、与本发明同日提交的、律师案卷第·VITU-002/00US 311331-2002号的专利申请予以描述,其全部内容通过引用结合于此。在一些实施例中,监控模块134可以被配置为基于用户50的用户偏好来修改分配给用户50的数据中心单元的数目。在一些实施例中,用户偏好可以识别要由监控模块134使用以修改分配给用户的数据中心单元(诸如图I所示的数据中心单元180)的数目的性能度量值。在一些实施例中,用户偏好可以识别要由监控模块134使用来修改分配给用户50的数据中心单元的数目的一个或更多个阈值条件。在一些实施例中,一个或更多个用户偏好可以存储在存储器120中。如图2所不,用户偏好UA (在栏250中不出)与用户标识符A (在栏210中不出)所表不的用户相关,用户偏好UB (在栏250中不出)与用户标识符B (在栏210中不出)所表示的用户相关。用户偏好UA和UB可以表示与数据中心单元(在栏230中示出)的监控有关的用户偏好。在一些实施例中,监控模块134可以被配置为访问用户偏好250以及可以被配置为基于用户偏好250来修改数据中心单元(在栏220中示出)的数目。在一些实施例中,管理模块130中的一个或更多个部分可以是(或可以包括)基于硬件的模块(例如,专用集成电路(ASIC))、数据信号处理器(DSP)、现场可编程门阵列(FPGA)和/或基于软件的模块(例如,计算机代码的模块、可以在处理器上执行的处理器可读指令集)。虽然未示出,但是在一些实施例中,管理模块130可以包括可在管理模块130的一个或更多个功能运行期间所使用的一个或更多个存储器部分(例如,随机存取存储器(RAM)部分、移位寄存器、缓存器)。在一些实施例中,与管理模块130相关的一个或更多个功能可以被包括在不同的模块中和/或结合成一个或更多个模块。 虽然未示出,但是在一些实施例中,数据中心100的硬件资源和/或软件资源可以包括基础架构的一个或更多个的层。例如,在一些实施例中,数据中心100的硬件资源可以包括主机设备(例如,服务器设备)、存储设备、接入交换机、整合设备、路由器、接口部件、线缆和/或其他等。例如,数据中心100可以被配置为使得主机设备(其可以被配置为主控虚拟资源)和/或存储设备可以与接入交换机的层通信(例如,耦合至其),所述接入交换机的层可以与整合设备的层通信(例如,耦合至其)。整合设备可以用作成为路由器/交换机组的网关设备,所述路由器/交换机组用作数据中心100的核心交换元件。在一些实施例中,数据中心100的软件资源可以包括例如管理模块、操作系统、管理程序(例如,VMware管理程序、Xen管理程序、Hyper-V管理程序)和/或其他等。在一些实施例中,数据中心100可以是与一个或更多个用户(例如顾客、客户)相关的多个虚拟资源共用硬件资源和/或软件资源的云计算环境。在一些实施例中,数据中心100所定义的虚拟化环境可以称为数据中心虚拟化环境。在一些实施例中,数据中心100的软件资源可以包括例如管理模块、操作系统、管理程序和/或其他等。管理程序可以被配置为便利于主机设备的硬件资源的虚拟化。操作系统可以安装在路由器、整合设备、路由器、核心交换元件和/或其他等上。在一些实施例中,管理模块130可以是被配置为针对整个数据中心100来处理数据中心管理的集中式管理模块,或者可以是被配置为仅处理数据中心100的一部分的管理的分散式管理模块。在一些实施例中,管理模块130可以被配置为执行除了管理诸如数据中心单元180的数据中心单元以外的各种功能。例如,管理模块130可以被配置为处理·灾难恢复、虚拟资源到数据中心的迁移和/或其他等。与被配置为执行有关于数据中心环境的各种操作有关的更多细节在发明名称为“Methods and Apparatus for Data CenterManagement Independent of Hypervisor Platform”、与本发明同日提交的、律师案卷第VITU-004/00US 311331-2004号的专利申请中有所描述,其全部内容通过引用结合于此。在一些实施例中,数据中心100可以在本地管理,或者可以具有统一的管理。例如,可以经由单个管理模块(未示出)来管理整个数据中心100或其一部分。在一些实施例中,可以经由可通过数据中心100基础架构而分布的多个管理模块(未示出)来管理整个数据中心120或其一部分。在一些实施例中,可以基于统一的管理方案来管理数据中心100的一些功能,而可以基于分布式管理方案来管理数据中心100的其他功能。图5是说明根据一个实施例的与数据中心500通信的资源控制器570的示意图。如图5所示,资源控制器570包括处理器(例如,中央处理单元(CPU))控制器540、存储器控制器542、网络控制器544、存储每秒输入/输出操作控制器546、存储控制器548和存储带宽控制器550。在一些实施例中,资源控制器570可以包括例如VMware容量计划工具、VMware vSphere控制器、聚合式网络适配器控制器、强制性SAN控制器和/或其他等。图5中所示的每个资源控制器570可以被配置为管理与数据中心500的特定类型的硬件相关的资源。如在图5中表示的那样,资源控制器570可以被配置为管理数据中心单元580的一部分。因此,资源控制器570统一地管理数据中心单元580的硬件资源。图5所示的资源控制器570中的一个或更多个可以被包括在图I所示的资源控制器170中。在一些实施例中,处理器控制器540可以被配置为管理数据中心500的一个或更多个处理器(未示出)的资源,使得处理器的计算周期的特定部分被保留用于数据中心单元580。换言之,计算周期可以被保留使得如果被分配数据中心单元580的用户的虚拟资源需要计算周期,则计算周期便可用于用户的虚拟资源使用。例如,在一些实施例中,基本上等于例如100MHz处理器、I. 5GHz处理器等的计算周期可以被保留用于数据中心单元580。在一些实施例中,特定于处理器控制器540的硬件资源极限值可以称为处理器极限值。在一些实施例中,存储器控制器542可以被配置为管理数据中心500的一个或更多个存储器部件(未示出)的资源,使得可以保留存储器部件的特定部分用于数据中心单元580。例如,在一些实施例中,可以保留存储器部件的1MB、IOMB等的存储器存储容量用于数据中心单元580。在一些实施例中,特定于存储器控制器542的硬件资源极限值可以称为存储器极限值。在一些实施例中,网络控制器544可以被配置为管理数据中心500的一个或更多个网络部件(例如,网络接口卡)(未示出)的资源,使得网络部件的处理能力的特定部分可以作为数据中心单元580的一部分来管理(例如保留)。例如,在一些实施例中,网络部件的数据传送容量可以时分多路复用,使得针对数据中心单元580可以管理基本上等于例如5Mb/s、100Mb/s、lGb/s等的指定网络带宽级别。在一些实施例中,特定于网络控制器544的硬件资源极限值可以称为网络极限值。在一些实施例中,存储IOPS控制器546可以被配置为管理数据中心500的一个或更多个存储元件(例如,硬盘驱动器、服务器存储器)(未示出)的资源,使得针对数据中心单元580可以管理存储元件的特定IO容量(例如,大于1I0PS、50I0PS)。在一些实施例中,特定于存储IOPS控制器546的硬件资源极限值可以称为IOPS极限值。·在一些实施例中,存储器控制器548可以被配置为管理一个或更多个存储元件的资源,使得可以保留存储部件的存储容量(例如50GB、100GB、10兆兆字节(TB))的特定部分用于数据中心单元580。在一些实施例中,特定于存储器控制器548的硬件资源极限值可以称为存储极限值。在一些实施例中,存储带宽控制器555可以被配置为管理一个或更多个存储部件的带宽,使得针对数据中心单元580可以管理(例如,保留)带宽(例如,10Mb/s、lGb/s)的特定部分。在一些实施例中,特定于存储带宽控制器542的硬件资源极限值可以称为存储带宽极限值。资源控制器570可以被触发以基于一个或更多个硬件资源极限值为数据中心单元500保留数据中心500的硬件资源的特定部分。硬件资源极限值可以在指令60中与资源控制器570通信。在一些实施例中,可以响应于从用户界面(UI) 560在管理模块530接收的请求(例如,增加请求、减小请求)来定义指令60。如图5所示,可以在处理设备590的处理器594内执行管理模块530。处理设备590还可以包括被配置为便利于例如管理模块530的功能的存储器592 (例如,存储设备、缓冲器、RAM)。例如,存储器592可以由管理模块530在与资源控制器570通信期间使用。如图5所示,指令60可以发送给每个资源控制器。指令60可以包括资源控制器570内的每个资源控制器的硬件资源极限值。例如,对于存储器控制器542,可包括特定于资源控制器570内的每个资源控制器的硬件资源极限值的指令60可以在管理模块530被定义并发送给存储器控制器542。存储器控制器542可以被配置为从指令60解析特定于存储器控制器542的硬件资源极限值。存储器控制器542可以被配置为基于硬件资源极限值来管理数据中心500的硬件资源用足数据中心单元580。虽然未示出,但是在一些实施例中,管理模块530可以被配置为定义并发送两个或更多个不同的指令给资源控制器570内的每个资源控制器。不同的指令可以被发送给资源控制器570,因为资源控制器中的一些可以被配置为基于与资源控制器570中的资源控制器不同的平台(例如,硬件和/或软件平台、协议)来操作。例如,管理模块530可以被配置为将基于第一应用程序编程接口(API)的第一指令(其包括网络极限值)发送给网络控制器544,并将基于第二 API的第二指令(其包括存储极限值)发送给存储控制器548。虽然在资源控制器570中示出了六种不同类型的资源控制,但是在一些实施例中,可以使用资源控制器的不同组合来管理数据中心单元580的硬件资源。例如,可以使用比图5所示的全部资源控制器570更少的资源控制器来管理数据中心单元580的硬件资源。在一些实施例中,可以使用诸如总线速度资源控制器的不同的资源控制器来管理数据中心单元580的总线部分。在一些实施例中,指令60 (或指令集)可以被配置为触发资源控制器570中的全部或一部分来以定制的方式管理数据中心单元580的硬件资源。虽然在图5中示出为与管理模块530分离,但是在一些实施例中,资源控制器570 中的一个或更多个可以集成到管理模块530中。在一些实施例中,资源控制器570的一个或更多个功能可以被包括而作为管理模块530的功能。虽然未示出,但是在一些实施例中,资源控制器570可以包括软件资源控制器。图6是说明根据一个实施例的基于性能度量来修改数据中心单元组的方法的流 程图。如图6所示,在600,接收表示与用户标识符相关的虚拟资源组的性能的性能度量值。虚拟资源组可以与用户(基于表示用户的用户标识符)相关。在一些实施例中,性能度量可以是例如与虚拟资源的故障率有关。在一些实施例中,性能度量可以可选地在与用户相关的用户偏好630中指定,或者可以基于默认值。在610,响应于满足阈值条件的性能度量来修改被分配用以操作虚拟资源组的数据中心单元组。在一些实施例中,可以增加或减少映射到虚拟资源组的数据中心单元的数目。在一些实施例中,阈值条件可以可选地在与用户相关的用户偏好630内定义,或者可以基于默认值。图7示出根据一个实施例的响应于请求来修改数据中心单元的数目的方法的流程图。每个数目可以表示统一作为数据中心单元管理的硬件资源。如图7所示,在700,接收表示在分配给用户的数据中心单元组中所包括的数据中心单元的数目的值上的变化的请求。请求可以由用户触发并且可以从用户界面在管理模块接收。在一些实施例中,分配给用户的数据中心单元的数目可以由存储在存储器中的数据库中的值表示。在710,如果请求为增加请求,则在720确定额外的数据中心单元的可用性。可以基于与存储在数据库中的未分配的数据中心单元的库有关的信息来确定可用性。如图7所示,在730,当数据中心单元可用时,在740将额外的数据中心单元分配给用户。在730,当额外的数据中心单元不可用时,在750拒绝请求。在一些实施例中,额外的数据中心单元可能是不可用的,因为他们被分配给了另外的用户,或者因为作为数据中心单元管理的资源(例如,硬件资源、软件资源)不可用。在一些实施例中,请求可能不被拒绝,而是被分配挂起状态(例如,保持状态),直到可分配给用户的资源(例如,硬件资源、软件资源)变得可用为止。换言之,请求可以挂起,直到可作为数据中心单元管理(并且可分配给用户)的资源变得可用为止。在一些实施例中,请求可以与其他的请求在请求队列中排队。在一些实施例中,可以用先进先出(FIFO)的方式或其他的顺序来处理请求的队列。在710,如果请求为减小请求,则在750有至少一个数据中心单元被包括在未分配的数据中心单元的库中。可以修改数据中心单元的分配,使得数据中心单元不再被分配给用户而是被包括在未分配的数据中心单元的库中。换言之,对数据中心单元的表示被包括在未分配的数据中心单元的库中,使得例如管理模块可以识别这些数据中心单元为未分配给用户。虽然未示出,但是在一些实施例中,管理模块例如可以被配置将一个或更多个数据中心单元再分配给其他的用户,而不是将这些数据中心单元包括在未分配的数据中心单元的库中。本发明所述的一些实施例涉及具有计算机可读介质(也可以称为处理器可读介质)的计算机存储产品,在所述计算机可读介质上具有指令或计算机代码以用于执行各种计算机实施的操作。介质和计算机代码(也可以称为代码)可以是设计和构造用于特定目的的那些介质和计算机代码。计算机可读介质的例子可以包括但不限于磁存储介质,诸如硬盘、软件和磁带;光存储介质,诸如光盘/数字视频光盘(⑶/DVD)、光盘只读存储器(CD-ROM)和全息设备;磁光存储介质,诸如光碟;载波信号处理模块;以及尤其被配置为存储和执行程序代码的硬件设备,诸如专用集成电路(ASIC)、可编程逻辑器件(PLD)、只读存储器(ROM)和随机存取存储器(RAM)设备。计算机代码的例子包括但不限于微代码或微指令;机器指令,诸如编译器所产生的;用于产生网络服务的代码;以及包含计算机利用解释器执行的更高层指令的文件。·例如,可以利用例如运行时间环境、和/或诸如微软.NET框架的应用程序框架、和/或Java、C++或编程语言(例如,面向对象编程语言)、和/或开发工具来实现实施例。计算机代码的其他例子包括但不限于控制信号、加密代码和压缩代码。虽然以上已经描述了各种实施例,但是应当理解的是,提供这些实施例仅作为例子而不是限制,可以在形式和细节上进行各种变化。本发明所描述的装置和/或方法中的任何部分可以用任何组合来进行结合,除了相互排斥的组合以外。本发明所描述的实施例可以包括所述不同实施例的功能、部件和/或特征的各种组合和/或子组合。例如,多个管理模块可以被配置为以合作的方式来处理对数据中心单元到一个或更多个用户的分配。
权利要求
1.一种处理器可读介质,其存储表示要由处理器执行的指令的代码,所述代码包括进行以下操作的代码 接收对如下值进行改变的请求,该值表示在分配给用户的数据中心单元组中所包括的数据中心单元的数目,所述数据中心单元组中的每个数据中心单元与基于预定资源极限值组而被管理的硬件资源相关;以及 当所述进行改变的请求为增加请求时,响应于所述请求来确定与所述数据中心单元组的硬件资源相互排斥并且基于所述预定资源极限值组而被管理的数据中心单元的硬件资源是否可用于分配给用户。
2.如权利要求I所述的处理器可读介质,其中,所述数据中心单元组中的数据中心单元的至少一部分被配置为以保证的服务级别来操作虚拟资源组。
3.如权利要求I所述的处理器可读介质,还包括进行以下操作的代码 当所述进行改变的请求为减小请求时,从所述数据中心单元组中去除数据中心单元。
4.如权利要求I所述的处理器可读介质,还包括进行以下操作的代码 当所述进行改变的请求为减小请求时,修改在所述数据中心单元组内操作的虚拟资源组的分布,使得在用于修改的代码被执行之前所述虚拟资源组在所述数据中心单元组的第一子组内操作,而在所述用于修改的代码被执行之后所述虚拟资源组在不同于所述数据中心单元组的第一子组的所述数据中心单元组的第二子组内操作。
5.如权利要求I所述的处理器可读介质,还包括进行以下操作的代码 当所述进行改变的请求为减小请求时,识别用于从所述数据中心单元组去除的数据中心单元;以及 将所述数据中心单元与未分配的数据中心单元的库相关。
6.如权利要求I所述的处理器可读介质,其中,所述用户为第一用户,所述代码还包括进行以下操作的代码 当所述进行改变的请求为减小请求时,将与所述第一用户相关的所述数据中心单元组中的数据中心单元再分配给与第二用户相关的数据中心单元组。
7.如权利要求I所述的处理器可读介质,还包括进行以下操作的代码 当额外的数据中心单元不可用于分配给所述用户时,发送所述进行改变的请求已被拒绝的通知。
8.如权利要求I所述的处理器可读介质,其中,所述预定硬件资源极限值组包括 处理器速度极限值、存储器空间极限值或网络带宽极限值中的至少一种;以及 硬盘空间极限值、硬盘带宽极限值或硬盘输入/输出极限值中的至少一种。
9.一种装置,包括 存储器,所述存储器被配置为存储表示数据中心单元组到用户标识符的分配的信息,所述数据中心单元组中的每个数据中心单元与基于预定资源极限值组而被管理的处理资源相关;以及 管理模块,所述管理模块被配置为响应于下列中的至少一个来修改表示在所述数据中心单元组中所包括的数据中心单元的数目的值(1)与所述用户标识符相关的请求,或(2)基于在所述数据中心单元组内操作的虚拟资源组的性能上的变化而满足阈值条件。
10.如权利要求9所述的装置,其中,所述管理模块被配置为将与表示所述数据中心单元的数目的值的修改有关的多个指令发送给多个资源控制器,所述多个资源控制器中的每个资源控制器被配置为实现所述预定资源极限值组中的预定资源极限值。
11.如权利要求9所述的装置,其中,所述数据中心单元组中的数据中心单元的至少一部分被配置为以保证的服务级别来操作与用户标识符相关的所述虚拟资源组。
12.如权利要求9所述的装置,其中,所述存储器还被配置为存储用户偏好,所述管理模块被配置为基于所述用户偏好来修改表示所述数据中心单元的数目的值。
13.如权利要求9所述的装置,其中,所述存储器还被配置为存储用户偏好,所述阈值条件在所述用户偏好内定义。
14.如权利要求9所述的装置,其中,所述管理模块被配置为针对多个管理程序平台来操作,所述虚拟资源组与所述多个管理程序平台中的第一管理程序平台相关。
15.一种处理器可读介质,其存储表示要由处理器执行的指令的代码,所述代码包括进行以下操作的代码 接收表示数据中心单元组被分配以操作虚拟资源组的信息,所述多个数据中心单元中的每个数据中心单元与基于预定硬件资源极限值组而被管理的硬件资源组相关; 接收指示符,所述指示符表示当在所述数据中心单元组内操作时所述虚拟资源组的至少一部分的使用值已满足阈值条件;以及 响应于所述指示符来修改表示在所述数据中心单元组中所包括的数据中心单元的数目的值。
16.如权利要求15所述的处理器可读介质,其中,当所述使用值在指定时间段低于指定值时满足所述阈值条件,所述阈值条件基于用户偏好。
17.如权利要求15所述的处理器可读介质,其中,修改表示所述数据中心单元的数目的值的幅度基于与所述阈值条件有关的所述使用值的幅度。
18.如权利要求15所述的处理器可读介质,其中,表示所述数据中心单元的数目的值表示数据中心单元以保证的服务级别操作所述虚拟资源组的最小数目。
19.如权利要求15所述的处理器可读介质,其中,在维持保证的服务级别时满足所述阈值条件。
20.如权利要求15所述的处理器可读介质,还包括进行以下操作的代码 在修改表示所述数据中心单元的数目的值之前从用户接收授权以修改表示所述数据中心单元的数目的值。
全文摘要
在一个实施例中,一种处理器可读介质可以被配置为存储表示要由处理器执行的指令的代码。所述代码包括进行以下操作的代码接收对如下值进行改变的请求,该值表示在分配给用户的数据中心单元组中所包括的数据中心单元的数目。所述数据中心单元组中的每个数据中心单元可以与基于预定资源极限值组而被管理的硬件资源相关。该代码包括进行如下操作的代码当所述进行改变的请求为增加请求时,响应于所述请求来确定与所述数据中心单元组的硬件资源相互排斥并且基于所述预定资源极限值组而被管理的数据中心单元的硬件资源是否可用于分配给用户。
文档编号G06F15/177GK102971724SQ201180020260
公开日2013年3月13日 申请日期2011年2月18日 优先权日2010年2月22日
发明者朱利安·J.·波克斯, 凯文·D.·里德, 卡尔·J.·辛普森 申请人:维图斯瑞姆有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1