为虚拟机供应图像的方法和系统的制作方法

文档序号:6462338阅读:155来源:国知局
专利名称:为虚拟机供应图像的方法和系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及虚拟化领域,其中对计算 机资源进行仿真和模拟以提供由连接到工作台所有者的主要中心计算 机网络的资源替代诸如该工作台的存储器、应用程序、可计算资源的 计算资源的可能性,从而提供更有效的计算。尤其是,本发明涉及一 种供应虚拟机图像的方法,其中对于预定的应用类型,执行该应用的 虚拟机的至少之一图像的池加载在计算机的主存储器中。
背景技术
现有技术图1描述了供应系统18的结构系统环境,其中虚拟机 14A和14B基于所谓的管理系统(Hypervisor System) 12 (例如, VMWare ESX服务器),其将机器的物理资源分配到(多个)虚拟 机。在基于虚拟化技术的这些供应系统18之后的关键是虚拟机14 可以完全由存储器20 (非易失性)上的二进制图像22A和22B进行 表示。在这种图像22中获得它们的完整状态。
如果一个人建立了新的虛拟机14,将几个应用程序16安装其上 并且对它们进行配置,则一个人可以将这个完整机器及其完整状态 (例如,哪些应用程序当前正在运行)表示为(二进制)图像22。 因此,通过复制虚拟机图像22, 一个人可以创建新的虚拟机。然 后,可以触发管理系统12以启动这个新的虚拟机,这是通过采用指 向该新的图像的"指针"触发该管理系统而实现的。
基于虚拟机图像的供应系统利用这些特征。响应于对应的用户请 求,不是分配一个专用物理机器10并将请求的操作系统和请求的应 用程序安装在该专用物理机器10上,供应系统18创建虚拟机。该供 应系统18将一定集合的应用程序/操作系统18组合提供到其用户。对于这些组合中的每一个,它有(二进制)原版图像26A和26B。 每当用户请求具有应用程序/操作系统组合的机器时,该供应系统查 找对应的原版图像,形成那个图像的副本,该副本然后自动对应于该 请求的机器,并且然后通过触发其上应该放置该虚拟机的物理机器 10的管理系统12而启动该才几器。
整体上考虑该供应过程,该复制操作是最耗时过程。它取决于对 应图像的尺寸。尤其,当该机器变得非常复杂时(如机器上的应用服 务器或多个应用程序的复杂应用程序),这些图像变得很大。因此, 现有技术复制操作的耗时是十分不利的。

发明内容
因此,本发明的目的在于节省供应过程中的时间。 本发明基于从新的虚拟机的供应通道除去复制操作的主意。 根据其最广方面,本发明公开了 一种供应虚拟机图像的方法和相 应系统,其中对于预定的应用类型,诸如特定客户、特定应用以及特 定可用性,执行所述应用的虚拟机的至少之一图像的池(优选的是, 它们中的多个)被加载到计算机的主存储器中, 该方法的特征在于
a) 对于诸如1小时、S小时、24小时、 一些天、自由范围的预 定未来时间,计算在这个时间范围内期待由客户请求的所述虚拟机图 像的请求数目,其中该计算基于下面条目中的至少之一
1) 对所述虚拟机的历史请求工作量的统计数据,
2) 存储器的剩余未分配的全部存储器空间的可用性, 其中优选的通过另外评估与该客户关联的服务准则的预定品质来
完成》
b) 响应于对新的虚拟机图像的请求,将链接传递到处理所述请 求的管理程序函数(hypervisor function),其中所述链接指向所述
相应虚拟机的预备图像副本。
现有技术中,这些图像必须通过人工或通过供应系统来形成。然而这里建议引入一种行动程序,该行动程序用于自动基于预定的服务 水平协议自动形成新的虚拟机图像。
有利的结果是,当输入请求实际进入的时刻,图像副本已经存在 并且能够即刻提供到该图像的调度程序,而无需必须当接收到该请求 时产生副本。因此,能够更快提供对该请求的期待响应。
关于统计数据的推导和利用,建议该服务水平管理器收集并且维
持至少下面统计
-对虛拟机类型的请求的全部数目; -对一定类型的虚拟机的请求的平均数目; -基于虚拟机的类型,随时间的请求。
本发明方法还包括如下优选方面,根据请求的平均数目的预分 配,预期时域上的负载峰值,以及预驻留(pre-populate )新的存 储,以为了预期请求及更有效地满足SLA的目的。


通过例子示出了本发明,并且本发明不会受到附图的图形的限 制,这些附图如下
图1示出了用于现有技术方法的现有技术硬件和软件环境的最基 本结构部分;
图2示出了用于本发明方法的优选实施例的发明硬件和软件环境 的最基本结构部分;
图3示出了在预分配期间根据请求的平均数目执行的本发明方法 的优选实施例的交互步骤的控制流程;
图4示出了在时域上负栽峰值的预期期间执行的本发明方法的优
选实施例的交互步骤的控制流程;以及
图5示出了在新存储器的预驻留期间执行的本发明方法的优选实
施例的交互步骤的控制流程。
具体实施方式
图2示出了本发明实施例的系统结构。
这里,所有的虛拟机图像分組为多个类型。因此,对于每个虚拟 机图像22A、 22B,分别存在确定其类型的原版副本26A、 26B。管 理程序12或管理系统总是基于类型,诸如对类型"B"的虚拟机的 请求,从本发明提供的称作"服务水平管理器"30的控制程序请求 新的虚拟机图像2。
服务水平管理器30可以根据本发明独立于请求而创建图像副本 22A和22B。如果当管理程序12请求一个虚拟机图4象时它已经创建 了图像副本22,则该管理程序可以立即启动并使用该机器。因此, 从"供应通道"除去了海量图像的耗时复制操作。尤其对于自助服务 GUI,这种时间节省是非常重要的。
本发明建议该服务水平管理器30的行为由客户与供应商之间 的所谓的"服务水平协议"(这里缩写为SLA, 32, 34),以及由 被图像占据的全部的存储极限进行控制。对每种类型的虛拟机,都提 供服务水平协议。该服务水平协议间接地控制虚拟机的哪个类型,对 特定类型的新虚拟机的即刻可用性需要保留多少副本。
另外,这些协议需要包含足够信息从而使得该服务水平管理器 30得出在瓶颈情况下,例如当从存储器溢出时,哪种类型的虚拟机 是更加重要的。可以存在多种类型的服务水平协议32和34。
下面的代码片断给出了 XML风格的服务水平协议32和34是什 么样子的例子。
<imageSLA>
<imageType>myMasterIniage</iinageType> <masterImage>/image/niyMasterImage</masterImage> <averageResponseTime>0.150</averageResponseTime> <priority>3</priority>
</imageSLA>
用于图像类型"myMasterlmage"的SLA主要指到对类型 "myMasterlmage"的虚拟机的新请求需要进行复制的原版图像。此外,在这个代码片断中,指定了虛拟机请求的平均响应时间。最后, 给出了优先级。如果该服务水平管理器用光存储空间,则这个优先级 允许服务水平管理器决定哪种类型的图像是满意的。作为例子,如果 存在需要更多机器并且具有更高优先级的
"myReaIImportantIMage"类型的虚拟机的SLA,则可以想象该服 务水平管理器30收缩"myMasterlmage,,的图像池。
接下来,将更加详细地描述用于确定可能请求的副本数目的统计 推导和利用。因此建议该服务水平管理器30至少收集和维持下面统 计
*对虚拟机类型的请求的全部数目; ,对一定类型的虚拟机的请求的平均数目;以及 ,基于虚拟机的类型随时间的请求。
由于所有的虚拟机请求经历该服务水平管理器30,所以这个控 制逻辑能够收集上述统计数据。下面将更加详细地描述利用这些统计 数据的对照图3、图4和图5所引入及示出的至少下述方法。
图3示出了根据请求的平均数目的预分配的交互控制流。
步骤310中,该供应系统请求给定类型的虚拟机的图像。在这个 请求中,它传递起标识符作用的参数,该标识符用于识别该供应系所 统希望具有的虚拟机图像的类型。
然后,步骤320中,该图像池管理器调整其内部统计数据。对于 每种类型的虚拟机图像,它维持一个数目,其与预定时间周期内(例 如,1个月)对图像的请求的平均数目对应。对该数目进行相应地调 整。
之后,参见步骤340,该图像池管理器对任务调度器部件请求, 其中任务调度器部件仅用于异步触发任意部件,从其调用返回。
最后,在步骤350中,该图像池管理器从对应图像池选择已经存 在的未使用的图像。因此,只要该图像池不空,则没有图像需要进行 复制。图3没有示出后者情况。在所请求类型的虚拟机图像池中,该 选择出的图像被标记为"已使用"。在文件系统中的该图像的地址返回到该供应系统以后,参见步骤370,在步骤380请求任务调度器异 步地调用该图像池管理器,如在步骤340中请求的那样。
步骤380的这个异步通知触发图像池管理器检查每个池中的可用 图像数目是否与已定义时间周期内的请求的加权平均数目进行相对地 对应。
步骤320中总是维持该平均数。从服务水平协议推导出权重。作 为例子, 一个人可以将它与每个图像类型的SLA中给出的所有优先 级之和以及与反转的平均响应时间进行相乘。如果检查到不匹配并且 没有剩余的自由存储空间,则该图像池管理器相应地通过在对应存储 子系统请求而删除图像(见步骤390)及复制图像(步骤394)。
基于对特定类型的虚拟机的请求的平均数目,服务水平管理器可 以推导出对每种类型总是应该存在多少个每种类型的虚拟机副本。 如果服务水平管理器用光存储空间,则它可以对每个虚拟机类型的请 求的平均数目进行排序,从而选择最不流行的以减少未使用的副本。
对照图4及时域上负载峰值的发明预期,即使服务水平管理器维 持平均值,对每种类型的虚拟机存在一定请求峰值。作为例子, 一个 人可以预计一种情形,在该情形中,在两周时间帧内虚拟机类型的未 使用的副本的平均数目是三,但是总是一次请求六,并且然后两周内 没有请求。关于如何在时间上分布请求的这些知识可以由服务水平管 理器使用,以预期这些情形并总是在某些时间点上提供六个副本。
图4示出对时域上负载峰值的发明预期的交互控制流程图。
时域上负载峰值的预期实现是在图3的先前部分建议实现的扩展 并且在图4中进行示出。仅通过增加IOO来产生对应参考。基本上, 仅描述与图3的控制流程的不同之处。
步骤420中,不仅已定义的时间周期内的每个虚拟图像类型的请 求数目被维持,而且该请求数目还在非常短时间周期内进行合计并且 推导出函数/曲线(例如,在星期二的请求的平均数目或者下午l2点 之前请求的平均数目)。
之后,在步骤335中该图像池管理器进行检查该类型的虚拟机的当前请求曲线是否对应于一个历史曲线(例如,通过测量该历史曲 线与这个星期的曲线之间的不同处)以及该历史曲线是否指示负载峰
值,见步骤335。例如能够通过曲线讨论来实现这些。如果确定了峰 值,则将可以导出预期的请求数目(极值)。给定这个值作为任务调 度器的异步回调的请求的参数,见步骤340。
之后,如在先前部分所述,满足了对新图像的当前请求,见步骤
460。
然后,任务调度器异步调用该图像池管理器,见步骤485。后者 确保对于特定的图像类型,可以满足预期的请求数目。通过在步骤 490中删除不重要图像(例如,根据在先前部分中描述的最低加权平 均)以及通过在步骤492中调用存储子系统来实现这些。
关于发明的新存储的预驻留,很可能新存储偶尔需要加到服务水 平管理器。这可以假定为这种情况当存在太多的瓶颈情形并且当请 求到达时图像需要进行复制的可能性显著增加,瓶颈情形的最重要的 是尽可能快地减小丢失(当请求到达时图像需要进行复制)的可能 性。由于该服务水平管理器至少具有上述的统计数据,所以当存储空 间添加到它时这个控制逻辑可以即刻利用这些统计数据。因此,它根 据这些统计数据预驻留新的存储空间。
例子
如果服务水平管理器的存储空间增加一定量,则服务水平管理器 可以基于平均请求速度为每个池分配大小,并且可以预驻留带有副本 的该分配空间。
图5示出了预驻留新存储的发明方法的控制流程。 预驻留逻辑的发明实施基于加权的请求平均数目利用预驻留的实
施o
主要添加在于存储管理系统通知该图像池管理器何时添加图像池
管理的新存储(例如,新的硬盘),见步骤510。然后,该图像池管 理器即刻基于上述统计数据驻留新的存储空间。通过复制实现该驻 留,见步骤530。本发明能够釆取全部硬件实施例、全部软件实施例或者既包含硬 件部件又包括软件部件的实施例的形式。在优选实施例中,本发明由 软件创建,这包括但不限于固件、常驻软件、微码等等。
另外,本发明采取由由计算机或任何指令执行系统使用或者与计 算机或任何指令执行系统结合使用提供程序代码的计算机利用或计算 机可读介质访问的计算机程序产品的形式。为了这个说明的目的,计 算机利用或计算机可读介质能够是包含、存储、通信、传播或传递由 该指令执行系统、设备或装置使用或与该指令执行系统、设备或装置 结合使用的程序的任何设备。
该介质可以是电、磁、光、电磁、红外、或半导体系统(或设备
或者装置)或传播介质。计算机可读介质的例子包括半导体或固态 存储器、可移动计算机磁盘、随机访问存储器(RAM)、只读存储 器(ROM)、刚性磁盘、以及光盘。当前光盘的例子包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统将包括至少之一处 理器,该至少之一处理器通过系统总线直接或间接耦合到存储器部 件。这些存储器部件可以包括程序代码的实际执行期间采用的本机存 储器、大容量存储器、以及緩冲存储器,其中,该緩冲存储器提供至 少一些程序代码的临时存储以减小执行期间必须从大容量存储器进行 检索的次数。
输入/输出或者I/O装置(包括但不限于键盘、显示器、指点装 置)可以直接或通过发明1/0控制器耦合到系统。
网络适配器还可以耦合到该系统,从而使得该数据处理系统变得 通过发明私有或乂>共网络耦合到其它数据处理系统或远程打印机或存 储装置。调制解调器、电缆调制解调器以及以太网卡仅仅是一些当前 可用类型的网络适配器。
权利要求
1.一种为虚拟机供应图像的方法,其中对于预定的应用类型,执行所述应用的虚拟机的至少之一图像(22A、22B)的池被加载在计算机的主存储器中,其特征在于如下步骤a)为预定未来时间计算期待由客户请求的给定类型(A、B)的虚拟机图像(22A、22B)的所需数目,其中所述计算基于下面至少之一1)对所述虚拟机的历史请求工作量的统计数据,2)存储器的剩余未分配的全部存储器空间的可用性;以及b)响应于对新的虚拟机图像(22A、22B)的请求(310、410),将链接传递(370、470)到处理所述请求的管理程序,其中所述链接指向所述各个虚拟机的预备的图像副本(22A、22B)。
2. 权利要求1所述的方法,还包括预先及异步地为进入的请求产 生图像副本的步骤。
3. 权利要求1所述的方法,其中所述计算步骤基于以下至少之a) 根据进入的请求(310、 410)的平均数目的预分配;b) 时域上负载峰值的预期;或c) 新存储器的预驻留。
4. 一种为虚拟机供应图像的电子数据处理系统,其中对于预定的 应用类型,执行所述应用的虚拟机的至少之一图像(22A、 22B)的 池被加载在计算机的主存储器中,a)用于为预定未来时间计算期待由客户请求的给定类型(A、 B)的虚拟机图像(22A、 22B)的所需数目的装置,其中所述计算基 于下面至少之一1) 对所述虚拟机的历史请求工作量的统计数据,2) 存储器的剩余未分配的全部存储器空间的可用性;以及b)用于将链接传递到处理所迷请求的管理程序(370、 470)装 置,其中所述链接指向所述各个虛拟机的预备的图像副本(22A、 22B),
5. —种为虚拟机供应图像的计算机程序产品,其中对于预定的应 用类型,执行所述应用的虚拟机的至少之一图像(22A、 22B)的池 被加栽在计算机的主存储器中,包括计算机利用介质,该计算机利用介质包括计算机可读程序, 其中所述计算机可读程序包括一个功能部分,当所述功能部分在计算 机上进行执行时,使得计算机执行如下步骤a) 为预定未来时间计算期待由客户请求的给定类型(A、 B)的 所述虚拟机图像(22A、 22B)的所需数目,其中所述计算基于下面 至少之一1) 对所述虚拟机的历史请求工作量的统计数据,2) 存储器的剩余未分配的全部存储器空间的可用性;以及b) 响应于对新的虚拟机图"f象(22A、 22B)的请求(310、 410),将链接传递到处理所述请求的管理程序(370、 470),其中 所述链接指向所述各个虚拟机的预备的图^象副本(22A、 22B)。
6. —种为虚拟机供应图像的系统,包括执行上述权利要求的任何 一个方法的装置。
全文摘要
本发明涉及计算机技术领域,尤其涉及为虚拟机供应图像的方法和系统,其中对于预定的应用类型,执行该应用的虚拟机的至少之一图像(22A、22B)的池被加载在计算机的主存储器中。为了节省供应过程的时间,执行如下步骤a)对预定的未来时间计算期待由客户请求的给定类型的该虚拟机图像的所需数目,其中该计算基于如下至少之一1)对该虚拟机的历史请求工作量的统计数据,2)存储器的剩余未分配的全部存储器空间的可用性;以及b)响应于对新的虚拟机图像的请求,将链接传递到处理该请求的管理程序,其中,该链接指向该各个虚拟机的预备图像副本。
文档编号G06F9/46GK101290583SQ20081009302
公开日2008年10月22日 申请日期2008年4月15日 优先权日2007年4月19日
发明者E·吕克, G·布赖特, M·贝伦特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1