用于向虚拟机分配服务器资源的系统和方法

文档序号:6596464阅读:240来源:国知局
专利名称:用于向虚拟机分配服务器资源的系统和方法
用于向虚拟机分配服务器资源的系统和方法
背景技术
虚拟化是组织用来高效地使物理系统资源的利用最大化的主要工具之一。在虚拟化的情况下,能够把计算机处理单元(computer processing unit, CPU)的碎片 (fraction)以及联网和存储带宽的切片(slice)指派给在一个或多个物理机上运行的每个虚拟机。可能具有几乎物理系统的每个资源都被划分以供 所选择的虚拟机使用的设置。为服务器系统供应一个或多个虚拟机可能是复杂且容易出错的过程。为了在物理服务器上创建多个虚拟机,用户典型地确定用来共享将创建的不同虚拟机可用的资源的最好方式。每个虚拟机被指派以特定的系统资源,诸如网卡、数据储存器、数字存储器和计算机处理器。指派的资源的数量以及指派资源的方式可能根据虚拟机的需要、资源的可用性以及用户的期望而大幅变化。甚至更为复杂的问题是诸如存储阵列和计算机盘之类的结构共享 (fabric-shared)资源如何被虚拟机利用。对结构共享资源中的资源的划分可能是复杂的, 原因在于用户既关心关于与相同系统上的虚拟机共享资源又关心关于跨越相同存储结构上的多个物理系统共享这些资源。除了资源分配之外,用户能够针对不同虚拟化技术中的每一种确定配置。每种技术可以具有其自己的最低推荐配置和限制。向服务器系统供应多个虚拟机时出现的大量变量会使该过程困难、冗长且低效。


图1是依据实施例的用于向虚拟机分配服务器资源的系统的框示; 图2提供了依据所图示实施例的示例配置图3提供了依据所选实施例的用于向服务器系统上供应虚拟机的与联网相关的高级别策略的示例;
图4提供了依据所选实施例的用于向服务器系统上提供虚拟机的与存储相关的高级别策略的示例;
图5是描绘依据实施例的用于向虚拟机分配服务器资源的方法的流程图。
具体实施例方式可以通过定义高级别策略来相当大地降低向至少一个虚拟机分配服务器系统资源的复杂性,所述高级别策略可以被用来约束服务器系统上的虚拟机的配置。在计算机测试实验室中,可以分配各种资源以测试与虚拟化软件以及它运行于其上的硬件能够支持的一样多的独特资源共享组合。用户可以设定定义独特资源共享组合的策略。在产生环境中,可以针对虚拟机定义高级别策略。然后可以把这些策略应用于物理服务器池以产生满足那些策略的最好可能虚拟环境。在测试和产生环境这二者中,策略集的创建能够减少或消除用户人工发现物理服务器配置并且确定用于向(一个或多个)虚拟机分配服务器系统资源的最佳配置的需要。典型地,服务器系统资源向虚拟机的分配被称作供应。自动供应服务器系统的能力能够节约相当大的时间量并且显著减少向一个或多个虚拟机人工供应服务器系统所产生的错误。 在虚拟机供应在服务器系统上的过程中的第一步骤是确定服务器系统的配置。典型地,对系统的配置发现是人工过程。所述配置发现包括确定服务器系统的物理资源以及将其与外部资源连接的结构。用户能够使用各种系统工具和应用来获得网络和存储资源如何连接以及它们的性能是什么的印象(picture)。由于联网系统的共享性质以及该系统的共享存储结构,确定如何在相同结构中的多个物理系统之间对诸如光纤通道阵列之类的共享资源进行划分是有价值的。在没有此信息的情况下,用户能够潜在地想出在两个不同服务器之间或者在驻留于那些服务器上的多个虚拟机之间共享相同的盘的配置。共享相同的磁盘能够导致数据损坏以及会影响联网系统和虚拟机的稳定性的其它严重的副作用。依据本公开内容的一个实施例,可以使用自动化探测模块102来发现服务器系统 104的系统配置。所述服务器系统可以包括单个服务器或者通过网络或因特网互连的多个服务器。所述探测模块可以被用来确定服务器系统中可以被一个或多个虚拟机106、108使用的物理组件。例如,在一个实施例中,可以使用探测模块102来确定用于外部通信的网卡110、 112的类型。与网卡相关的信息可以包括诸如网卡物理层、网络层、传输层和其它类型的相关OSI层信息之类的细节。每个网卡所使用的驱动器类型也可能是有用的。还可以收集与网络结构114相关的细节,包括切换模式,通过该切换模式服务器系统104的网卡110、112 与诸如其它服务器之类的外部源进行通信。可以搜集与将被设置以在服务器系统104上运行的虚拟机106、108可用的数字存储资源相关的信息。信息可以包括被用来将服务器系统与存储资源130、132、134相连接的主机总线适配器120、122的类型。探测模块102可以被用来确定存储资源属性和驱动器信息。对于每个主机总线适配器而言,可以确定适配器120、122和存储结构124之间的连通性的类型。也可以确定存储结构和物理存储设备130、132、134之间的连通性。可以标识存储结构124中的切换、存储设备130、132、134以及主机总线适配器的驱动器信息。还可以标识存储设备中每块硬盘的属性。例如,可以确定存储设备是诸如光或磁存储介质之类的可旋转存储设备,还是可替换地为固态存储设备。其它信息可以包括盘的类型、其属性、其万维网标识符、其存储的内容的类型,等等。盘属性可以包括其是否是诸如存储区域网(storage area network, SAN)阵列之类的阵列的一部分、阵列的类型、该盘可以被分区成逻辑卷还是被用作全盘,等等。存储设备130、132、134可以通过存储结构124与服务器系统104互连。每个主机总线适配器120、122可以使用光纤通道、SCSI、SAS或如能够意识到的其它类型的技术与所述存储结构进行通信。除了联网和存储信息之外,可以通过探测模块102获得其它类型的信息,诸如服务器系统104的CPU信息和物理存储器信息。CPU信息可以包括CPU的类型、CPU的速度、 CPU中核的数目等。存储器信息包括存储器的类型、物理存储器的数量、存储器的速度等。依据本公开内容的一个示例性实施例,可以通过自动化探测模块102针对服务器系统104搜集诸如图2中的示例配置图200中所示出的信息之类的配置信息。
图2中所示的配置信息不被认为是完全列表。相反,其作为能够使用自动化探测模块102搜集的配置信息类型的示例给出。可以基于服务器系统的类型、供应到服务器系统上的虚拟机的类型以及如能够意识到的用户的需要来搜集附加信息。所述配置信息可以被用来形成配置图。可以使用所述配置图来确定网络服务器之间的共享资源的关系在测试环境中,测试虚拟机的目的可以是验证虚拟机产品本身。该范围可以覆盖产品的整个支持矩阵。例如,利用惠普Unix服务器(HP-UX),能够测试的服务器系统硬件的参数包括是否能够与虚拟机共享特定的主机总线适配器和网卡。可以执行附加测试来确定网卡是否可以通过“标准”和/或“性能(performance)”类型接口而暴露给虚拟机。网卡也可以作为物理卡而被共享。可替换地,可以使用诸如链路聚合控制协议(Link Aggregation Control Protocol, LACP)或端口聚合协议(Port Aggregation Protocol, PAgP)之类的聚合协议来创建网卡的聚合。如本申请中所使用的,术语“标准”和“性能”意图指代两种不同类型的系统。在标准系统中,虚拟软件层结合在虚拟机和诸如联网接口之类的实际硬件之间。在性能系统中,虚拟层被省略并且系统被称作半虚拟化系统。代替使用虚拟层来把虚拟机连接到网卡, 虚拟机能够直接与硬件相接口而无需附加的软件层。在半虚拟化的情况下与硬件的物理接口可以降低多个虚拟机可以怎样使用该硬件的灵活性。然而,去除附加的虚拟化软件层能够相当大地增加能够使用硬件的速度。因此,在一些情况下,标准网络接口可能是优选的, 原因在于网络接口和虚拟机之间的虚拟软件层会使得能够实现附加的灵活性,诸如该虚拟机与多个其它虚拟机共享网络接口的能力。在其它情况下,通过使用性能类型网络接口可以获得更快的连接,其中硬件接口可以仅允许单个虚拟机使用所选择的网络接口,但是却具有更大的整体网络吞吐量。关于数字储存器的测试可以包括关于是否能够与虚拟机106、108共享特定的主机总线适配器的确定。能够确定盘是否能够作为“标准”和/或性能盘输出给虚拟机。能够确定的另一配置参数是暴露给一个或多个虚拟机的盘是否能够通过所支持的主机总线适配器被看到。能够确定针对特定虚拟机的后备存储器(backing store)是否为逻辑卷 (例如,使用逻辑卷管理器(Logical Volume Manager, LVL)或Veritas卷管理器(Veritas Volume Manager, VxVM))、文件、盘的分区或全盘。还可以确定虚拟切换器上被用来将物理网卡连接到虚拟机的端口是否具有被使能或被禁止的虚拟局域网。或者在使用探测模块102发现服务器系统104的配置之前或者之后,用户能够从对减少把虚拟机106、108供应在服务器系统104上所必要的决策数目时有用的各种高级别策略中进行选择。可以使用图形用户界面将所述高级别策略呈现给用户。可替换地,用户可以使用诸如基于文本的界面之类的其它类型的界面来选择期望策略。在一个实施例中,可以通过诸如图3中所提供的表格中图示的那些策略之类的高级别策略来限制向服务器系统上供应虚拟机的各种不同方式。在图3中所示的示例实施例中,用于联网资源共享的策略或副策略可以由用户指定以作为至策略模块140的输入。用户能够在各种主要联网策略之间进行选择,诸如对于特定来宾(guess)而言是作为性能接口,标准接口,还是这二者来在虚拟机106、108之间共享特定的主机接口 110、112。如先前所论述的,用于联网的副策略可以使得用户能够选择是以物理连接还是聚合连接将虚拟机与主机接口相连接。可替换地,用户能够选择能够使用物理或者聚合配置的副策略,当实施策略时其使得能够实现灵活性。类似地,能够使用策略模块140来实施关于存储的高级别策略。示例性存储策略在图4中所示的表格中予以图示。在图4中所提供的示例实施例 中,用户能够设定特定的高级别存储策略。在可能时,将遵循这些存储策略来为服务器系统供应虚拟机。例如,可以存在关于虚拟机是使用全部都连接到相同主机总线适配器的存储盘,还是使用连接到多个不同主机总线适配器的盘的策略。用户能够选择关于虚拟机所使用的主机总线适配器是以性能级别还是标准级别运行的策略。如先前所论述的,可以通过虚拟软件层访问数据储存器来获得标准级别。性能级别可以通过使得能够在没有附加的虚拟软件层的情况下通过硬件访问数据储存器而提供更大的带宽。然而,性能级别可能比标准级别更为受限。例如,标准级别主机总线适配器可以对于多个虚拟机而言是可访问的,而性能级别主机总线适配器可能局限于单个虚拟机,或者仅在物理上位于与性能级别主机总线适配器相同的服务器上的虚拟机。用户也可以建立用于创建后备存储器的策略。用户能够选择是在全盘上,在盘的逻辑卷上,在盘的分区上,还是在盘上的单个文件上形成后备存储器。在一个实施例中,用户能够选择多于一种类型的后备存储器。用户能够建立关于使用虚拟机的来宾如何被暴露给被指派给特定虚拟机的储存器的策略。用户能够选择每个来宾是否被指派以特定的存储区域,诸如全盘、逻辑卷或盘的分区。可替换地,用户能够允许不同来宾共享可用的物理存储空间。使用策略模块140,用户能够指定上面所列出的期望参数。配置模块150然后能够基于用户所选择的指定的高级别策略向服务器系统104供应虚拟机。所述配置模块被配置为基于选择的策略在服务器系统上设置虚拟机。配置模块150能够使用如探测模块102所确定的系统配置以及来自策略模块140 用于联网和存储的可用的各个策略设置来向服务器系统104提供一个或多个虚拟机。所述配置模块或许不能满足用户针对每一种配置所选择的每一种策略。这可能是由于系统配置的限制的原因。例如,在所选择的样本配置中,在物理系统中可以有两个网卡110、112。用户可以选择下列网络策略
主要联网策略Guest_To_Gest_Per_STD 副策略Aggregate (聚合)。配置模块150能够检查探测模块102所创建的配置图来看是否能够在系统上创建两个来宾。每个来宾可以要求特定数量的存储器以在虚拟机中运行。因此,配置模块能够检查虚拟机存储器需求以及物理存储器可用性。所述配置模块还能够检查以看是否有至少两个物理接口可用于联网。这是有必要的,原因在于用户已经选择了通过聚合联网连接进行网络通信。在诸如HP-UX服务器之类的一些类型的物理系统中,需要至少两个网络接口来支持聚合连接。配置模块150能够确定耦合到网卡110、112的物理联网端口是否兼容并满足聚合的需求。配置模块150还能够确定在服务器系统104上是否安装了聚合软件。如果满足所有的需求,则配置模块能够创建聚合连接并且为两个来宾设置虚拟机。在一个实施例中,配置模块150所创建的聚合连接也可以被用作性能连接,其中至少一个网络接口卡直接连接到虚拟机以形成半虚拟连接,并且至少一个卡包括附加的虚拟层以形成标准连接。使用创建的新的聚合,所述配置模块能够以性能接口的形式把它暴露给一个来宾而以标准接口的形式把它暴露给另一来宾。相同的示例性配置可以包括两个存储主机总线适配器120、122。用户可以关于存储选择下列策略
存储 HBA 策略Disks_From_Diff_HBA 来宾HBA策略Performance (性能)
后备存储策略Logical_Volume 和 Whole_Disk 和 File (文件) 来宾盘暴露:Different_Guests。配置模块150可以查看一下是否能够在系统上创建两个来宾。这可以通过检查虚拟机存储器需求和物理存储器可用性来完成。由于用户策略要求来自不同的主机总线适配器的盘,所以所述配置模块查看一下是否存在至少两个主机总线适配器。如果不是,则这将是能够由用户处理的意外。用户已经请求了逻辑卷、全盘以及还有文件后备存储器。配置模块150可以被用来验证是否存在足够的物理资源来满足后备存储策略的所有三个需求。例如,如果仅存在两个磁盘可用,则磁盘中的一个可以被用作全盘而另一个则可以被用来创建两个逻辑卷。 逻辑卷中的一个可以直接被用作后备存储器。另一个逻辑卷可以被用来创建文件以用作文件后备存储器。由于用户已经请求了要在多个来宾上被支持的这些组合,所以配置模块150能够验证存在足够的物理资源来满足至少两个来宾的所有这些需求。所述配置模块能够创建用于后备存储器所必需的逻辑卷和文件。所述配置模块还能够设置服务器系统以在虚拟机上宿留两个来宾。另外,所述配置模块能够基于上面策略处理把适当的物理资源暴露给来宾。在一个实施例中,所述配置模块能够创建“提议的”配置图。此图可以类似于探测模块102所形成的配置图。这可以被用来向用户给出所提议的虚拟机配置将看起来如何的视觉映射(mapping)。用户可以通过更新所提议的配置图来改变该配置。一旦用户对所提议的配置图满意,则该用户能够指示配置模块150创建该配置。通过配置模块对该配置的创建将导致用户所期望的一个或多个虚拟机的形成。一旦创建了虚拟机,所述虚拟机就可以进一步由用户来调整或者在测试实验室中进行测试。在配置模块确定了用户针对虚拟机选择的特定高级别策略由于硬件限制的原因而不能被满足的实例中,所述配置模块可以被配置为指示用户所述配置为何不能完成。所述配置模块然后能够向用户给出附加选项。例如,所述配置模块可以指示用户聚合连接由于不存在聚合软件而不能完成。用户然后可以安装聚合软件并且试图使用配置模块150再次配置该虚拟机。可替换地,可能需要由用户进行不同的选择。如果服务器系统中存在的网络接口卡与聚合不兼容,则用户可能必须改变该高级别策略以便使用物理连接。在另一实施例中,如图5的流程图中所图示的,公开了向虚拟机分配服务器资源的方法500。该方法包括使用自动化探测模块发现510服务器的系统配置的操作。该方法还包括针对要在服务器上运行的虚拟机选择520联网策略和存储策略中的至少一个的操作。附加的操作包括基于至少一个所选择的联网策略和存储策略以及系统配置,使用自动化配置模块配置530要在服务器上运行的该虚拟机。
探测模块102、策略模块140和配置模块150可以被用来基于用户所选择的高级别策略来高效地供应服务器。在测试环境中,所述模块可以被用来基于不同的策略选择快速地设置大量的虚拟机。这允许更为容易地创建虚拟机,由此使得能够在不需要测试之前的麻烦的设置过程的情况下实行测试。在产生环境中,所述模块可用于允许管理者基于管理者的需要为服务器供应虚拟机,由此节约了管理者给服务器供应虚拟机通常所需的大范围的时间量。应当理解的是,此说明书中所描述的许多功能单元已经被标记为模块以便更特别强调其实现独立性。例如,模块可以被实现为包括定制VLSI电路或门阵列的硬件电路,诸如逻辑芯片、晶体管或其它分立组件之类的成品半导体。模块还可以以可编程硬件器件的形式来实现,所述可编程硬件器件诸如现场可编程门阵列、可编程阵列逻辑 、可编程逻辑器件等。模块还可以以软件来实现以便由各种类型的处理器来执行。例如,所标识的可执行代码的模块可以包括一个或多个物理或逻辑的计算机指令块,所述计算机指令块例如可以被组织为对象、过程或函数。然而,所标识的模块的可执行文件在物理上无需定位在一起,但是可以包括存储在不同位置的不同指令,当在逻辑上结合在一起时,所述指令包括所述模块并且达到针对该模块所陈述的目的。实际上,可执行代码的模块可以是单条指令或许多指令,以及甚至可以分布在若干不同的代码段上、不同程序之中以及跨若干存储器设备进行分布。类似地,运算数据在这里可以被标识和图示在模块之内,并且可以以任何适合的形式来体现和被组织在任何适合类型的数据结构内。所述运算数据可以被收集为单个数据集,或者可以在包括在不同存储设备上在内的不同位置上进行分布,以及可以至少部分地仅仅作为电子信号存在于系统或网络上。所述模块可以是被动的或主动的,包括用来执行期望功能的代理。遍及此说明书对“一个实施例”或“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性包括在本公开内容的至少一个实施例中。因此,遍及该说明书在各个地方出现的短语“在一个实施例中,,或“在实施例中,,未必全部指代相同的实施例。在一个或多个实施例中可以以任何适合的方式对本文所描述的被描述特征、结构或特性进行组合。此外,相关领域技术人员将认识到,可以在没有这些特定细节、方法、组件、材料等的情况下实践本发明。在其它实例中,可以不详细示出和描述公知的组件、方法、 结构和材料,以避免使本发明的各方面混淆。虽然以上示例说明了本发明在一个或多个特定应用中的原理,但是对于本领域技术人员而言显而易见的是,可以在没有创造性人员的训练的情况下以及在不背离本发明的原理和概念的情况下对实现方式的形式、用途和细节进行众多修改。因此,目的是本发明除了由如下面所阐述的权利要求书限制之外,本发明不受限制。
权利要求
1.一种向虚拟机106分配服务器104的资源的方法,其包括 使用自动化探测模块102发现服务器104的系统配置;针对要在服务器104上运行的虚拟机106选择联网策略或存储策略中的至少一个;和基于至少一个所选择的联网策略和存储策略以及系统配置,使用自动化配置模块150 配置要在服务器上运行的虚拟机106。
2.如权利要求1所述的方法,还包括供应多个虚拟机以在多个服务器上运行。
3.如权利要求2所述的方法,还包括创建所述多个服务器的系统资源的配置图。
4.如权利要求3所述的方法,还包括使用所述配置图确定网络服务器之间的共享资源的关系。
5.如权利要求1所述的方法,其中设定联网策略还包括把服务器上的联网主机接口设定为性能来宾接口和标准来宾接口中的至少一个。
6.如权利要求1所述的方法,还包括设定联网副策略,其中用户能够在使用与服务器的单个联网连接或聚合联网连接中的至少一个之间进行选择。
7.如权利要求1所述的方法,其中设定存储策略还包括在使用来自相同或不同的主机总线适配器的数字储存器之间进行选择。
8.如权利要求1所述的方法,其中设定存储策略还包括在使用主机总线适配器上的标准存储设备和性能存储设备中的至少一个之间进行选择。
9.如权利要求1所述的方法,其中设定存储策略还包括针对虚拟机设定后备存储策略。
10.如权利要求9所述的方法,其中设定后备存储策略还包括选择全盘、逻辑卷、分区和文件中的至少一个以用于后备存储器。
11.如权利要求1所述的方法,其中设定存储策略还包括设定来宾盘暴露策略。
12.如权利要求11所述的方法,其中设定来宾盘暴露策略还包括选择存储区域是否可由单个来宾和多个来宾中的至少一个访问。
13.如权利要求1所述的方法,还包括在所述自动化配置模块确定所选择的联网策略或所选择的存储策略与服务器的系统配置相冲突时询问用户以获得输入。
14.一种用于向虚拟机106分配服务器104的资源的系统,其包括 探测模块102,其被配置为确定服务器104的系统配置;策略模块140,其被配置为与用户进行交互以使得用户能够针对要在服务器上运行的虚拟机106选择联网策略和存储策略中的至少一个;和配置模块150,其用来基于所选择的至少一个策略和所述探测模块102所确定的所述系统配置来配置要在服务器104上运行的虚拟机106。
15.一种向虚拟机106分配服务器104的资源的方法,其包括 使用自动化探测模块102发现服务器104的系统配置;选择联网策略140来配置虚拟机106以使用性能联网接口和标准联网接口中的一个; 针对虚拟机选择存储策略140以使得所述虚拟机能够使用性能主机总线适配器和标准主机总线适配器中的一个;和基于所选择的联网策略和所选择的存储策略以及所述系统配置,使用自动化配置模块 150配置要在服务器104上运行的虚拟机106。
全文摘要
公开了一种向虚拟机分配服务器资源的系统和方法。一种方法包括使用自动化探测模块(102)发现服务器(104)的系统配置。可以由用户针对要在服务器(104)上运行的虚拟机(106)选择联网策略和/或存储策略。然后,可以使用自动化配置模块(150),基于所选择的联网策略和存储策略以及所述系统配置对虚拟机(106)进行自动配置以便在服务器(104)上运行。
文档编号G06F15/177GK102449622SQ200980159582
公开日2012年5月9日 申请日期2009年5月29日 优先权日2009年5月29日
发明者默罕默德 A., 桑塔纳-克里什纳姆 K. 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1