验证虚拟机的制作方法

文档序号:6596387阅读:144来源:国知局
专利名称:验证虚拟机的制作方法
验证虚拟机
背景技术
现代数据中心经常采用虚拟服务器技术,其中大量的虚拟化计算机服务器在相对较少数量的主机服务器上执行。主机服务器是通常所说的“主机”的示例而虚拟化计算机服务器是通常所说的“虚拟机”的示例。怀有恶意的个体可以重新配置虚拟机来犯罪。例如,怀有恶意的个体可以增加处理器的数量和网络带宽以为跨越网络进行拒绝服务(D0Q攻击做准备。在另一示例中,例如,为了隐藏信息,怀有恶意的个体可以增加虚拟机的磁盘空间。进一步地,怀有恶意的个体可以将构造(construct)放置在虚拟机上,从而使得虚拟机将报告其具有预期的配置, 以屏蔽或隐藏所做出的恶意修改。怀有恶意的个体也可以将构造放置在主机上来隐藏恶意修改。提供适当的注意来确保虚拟机的安全性和完整性可能是昂贵的。


被并入对实施例的本说明中并且形成对实施例的本说明的一部分的附示了本发明的各种实施例,并且与本说明一起用来解释在下文中所讨论的原理
图1是根据一个实施例的、用于验证虚拟机属性的方框图。图2是根据一个实施例的、用于验证虚拟机属性的虚拟机验证器的方框图。图3和图4是根据各种实施例的、用于验证虚拟机属性的计算机实施的方法的流程图的方框图。除非具体地指出,在本简要说明中所提到的图不应该被理解成是按比例绘制的。
具体实施例方式现将详细地参考本主题的各种实施例,本主题的示例被图示在附图中。虽然在本文中讨论了各种实施例,但是将理解的是,它们并不意图限于这些实施例。相反地,所呈现的实施例意图函盖替换、修改和等同变化,这些都可以被包括在如由随附权利要求所限定的各种实施例的精神和范围之内。此外,在对实施例的以下说明中,为了提供对本主题的实施例的彻底理解陈述了许多具体的细节。然而,在没有这些具体的细节的情况下,可以实现各实施例。在其它实例中,未对熟知的方法、过程、部件和电路进行详细的描述以便不会不必要地使所描述的实施例的各方面模糊。概念和术语
除非具体地说明否则如根据以下的讨论显而易见的,应当理解的是,贯穿对实施例的本说明,利用诸如“获得”、“访问”、“确定”、“使用”、“通信”、“选择”、“接收”、“生成”、“报告”、 “使用”、“供应”、“配置”、“修改”、“验证”等的术语的讨论指代计算机系统或电子计算设备的行为和过程。计算机系统或类似的电子计算设备对计算机系统的寄存器和存储器内的表示为物理(电子的)量的数据进行操作并且将其变换为类似地表示为在计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。本主题的某些实施例也很适于其它计算机系统(诸如,例如光学和虚拟计算机)的使用。
讨论的介绍
参考图1,随着虚拟化的到来,虚拟机152、154、156、158能够在主机120、130上执行。 虚拟机(virtual machine, VM) 152、154、156、158 具有各自的属性 162、164、166、168 (在本文中被称为“实际虚拟机属性”),所述虚拟机被配置成与各自的属性一起执行。虚拟机属性的几个示例包括分配的处理器的数量、分配的存储器的量以及存储磁盘的数量和大小。主机120、130也可以具有关于它们各自的虚拟机152、154、156、158的属性的信息 122,132ο例如,VM 152和巧4在主机120上执行。VM 156和158在主机130上执行。主机120具有关于VM 152的属性的信息142和关于VM 154的属性的信息144。主机130具有关于VM 156的属性的信息146和关于VM 158的属性的信息148。在主机120、130所具有的关于虚拟机152、154、156、158的信息142、144、146、148 与VM 152、154、156、158的实际属性162、164、166、168之间可能存在差异。例如,为了实行犯罪,怀有恶意的人可以修改实际属性162、164、166、168。在另一示例中,由于配置错误或者程序设计错误可能存在差异。因此,根据一个实施例,虚拟机验证器200将主机120、130 的关于虚拟机的属性的信息142、144、146、148与实际虚拟机属性162、164、166、168进行比较以确定是否存在任何差异。主机120、130的关于其各自的虚拟机152、154、156、158的信息142、144、146、148 和实际VM属性162、164、166、168是与虚拟机属性有关的信息的源的示例,可以将它们进行比较以确定是否存在差异。与虚拟机属性有关的信息的源的其它示例是与网络地图170 相关联的预期属性176以及规则190。根据各种实施例,虚拟机验证器200能够比较主机 120,130的信息122、132、实际属性162、164、166、168、预期属性176和规则190的各种组合以确定在它们中的任何两个或多个之间是否存在差异。根据一个实施例,虚拟机验证器 200生成包括该虚拟机验证器200所确定的差异中的一个或多个的报告199。如在本文中所描述的,虚拟机验证器200自动地确定差异。例如,虚拟机验证器200能够连续地或周期性地确定差异。虚拟机验证器200可以例如通过网络179与主机120、130、网络地图170和规则 190中的任何一个或多个进行通信或对其进行访问。该网络179可以是本地局域网或者因特网。公用数据中心
公用数据中心(UDC)被用于自动地并且动态地供应来自资源池的资源,以创建通常所说的资源“农场”的计算环境。当不再使用计算环境时,UDC能够将资源返回给池。UDC能够使用已返回的资源来自动地并且动态地供应另一计算环境(通常也被称为“重新供应”)。 除了别的以外,能够被供应和重新供应的资源的示例是存储器、联网构造、服务器、交换机、 计算机、装置和网络元件(诸如路由器)以及虚拟机。服务器和计算机是“计算资源”的示例。负载平衡器和防火墙是“装置”的示例。公用控制器(UC) 178(图1)通常与UDC相关联。除了别的以外,公用控制器178管理资源池并且确保农场的分段以提供一个农场与其它农场的安全隔离。计算资源和装置通常专用于农场(也被称为“专用资源”),而存储器和联网构造能够在农场之间被共享(也被称为“共享资源”)。公用控制器178可以监控共享资源、将故障或者重要事件(诸如入侵尝试)警告给网络操作中心。
公用控制器178能够被用于更新网络地图170。根据一个实施例,公用控制器178 使用网络地图170作为至与数据中心相关联的资源的导引。例如,每当通过公用控制器来供应、配置、重新供应或重新配置新的资源,公用控制器178可以更新网络地图170。术语 “供应”应该包括初始供应和重新供应。术语“配置”应该包括初始配置和重新配置。公用控制器178的示例包括但不限于HP Insight Control (HP 洞察控制器)、HP Virtual connect (HP 虚拟连接)、HP Insight Dynamics Virtual Server Environment (VSE) (HP 洞察动态虚拟服务器环境)、HP Morage Works (HP 存储件)。公用数据中心的示例包括但不限于HP 的Adaptive Infrastructure as a Service (作为服务的适应性基础设施)和HP 的Flexible Computing Services (灵活计算服务)。可以使用一个或多个公用控制器产品来例如利用公用计算模型以例如通过根据需要供应和重新供应资源来动态地提供数据中心资源而使数据中心自动化。这样的数据中心能够被称作公用数据中心。术语“云计算”也已经被应用于这种类型的数据中心。使用数据中心,客户能够购买通过因特网交付的计算能力和信息存储器。主机和虚拟机
根据一个实施例,主机120、130是具有使虚拟机152、154、156、158能够在主机120、130 上面执行的操作系统的硬件。主机120、130可以是服务器机器。根据一个实施例,虚拟机152、154、156、158是在主机120、130的操作系统的上面执行的系统镜像。虚拟机152、154、156、158犹如它自身是机器一样地运行。虚拟机软件产品的一个示例是VMware Inc. 的VMware 产品。为了修改虚拟机152、154、156、158的实际属性162、164、166、168、或者为了修改主机120、130的关于虚拟机的属性的信息122、132、或其组合,怀有恶意的个体可以利用与虚拟机152、154、156、158相关联的安全性设施,如将变得更加明显的那样。各种实施例提供用于检测恶意修改。可以利用由在网络操作中心(NOC)中的管理员所下发的命令来控制和配置主机 120,130以及虚拟机152、154、156、158。公用控制器(UC)能够被用来自动地供应和配置在主机上的虚拟机。虚拟机属性
虚拟机属性是虚拟机被配置具有的属性。虚拟机属性的示例包括但不限于分配给虚拟机的处理器的数量、分配给虚拟机的存储器的量、由虚拟机所使用的存储磁盘的数量和大小、磁盘通道的最大输入/输出(1/0)速率、与虚拟机相关联的网络接口卡(NIC)的数量、 每个NIC的最大1/0速率。虚拟机实际上被配置具有的虚拟机属性被称为“实际虚拟机属性”。实际VM属性的示例是162、164、166、168。主机120、130也可以包括关于主机120、130将其虚拟机152、 154、156、158的属性142、144、146、148理解成是什么的信息122、132。例如,主机120具有关于正在它上面执行的虚拟机152、巧4的信息142和144,并且主机130具有关于正在它上面执行的虚拟机156、158的信息146和148。网络地图170包括虚拟机152、154、156、158被预期具有的属性。这些属性被称为 “预期虚拟机属性”。分别与虚拟机152、154、156以及158相对应的预期虚拟机属性182、 184、186、188是网络地图170的预期虚拟机属性的示例。
规则190也能够被用来确定关于虚拟机属性的信息。能够被基于规则190来确定的属性192、194、196、198应该被称为“VM规则属性”。网络地图
根据一个实施例,网络地图170存储由例如与数据中心相关联的主机120、130作为其主机的虚拟机152、154、156、158的预期VM属性176。根据一个实施例,网络地图170是机器可读的。网络地图170可以由公用控制器来自动地更新。然而,网络地图170可以由与网络操作中心相关联的管理员来手动地更新。因此,甚至在不包括公用控制器的系统100 中也可以使用网络地图170作为验证虚拟机属性的一部分。网络地图170可以包括各虚拟机152、154、156、158的预期属性182、184、186、188。 如图1中所描绘的,预期VM属性182与VM 152相关,预期VM属性184与VM 154相关,预期VM属性186与VM 156相关,以及预期VM属性188与VM 158相关。网络地图170可以包括主机120、130的位置172和虚拟机152、154、156、158的位置174。主机120的位置被存储为位置1721并且主机130的位置被存储为网络地图170的主机位置172的位置1722。VM 152的位置被存储为位置1741,VM 154的位置被存储为位置1742,VM 156的位置被存储为位置1743,以及VM 158的位置被存储为位置1744。根据一个实施例,主机120、130或虚拟机152、154、156、158的位置172、1722、1741-1744是因特网协议(IP)地址。为了简单起见,在网络地图170中分别地描绘主机位置172、VM位置174以及预期 VM属性176。然而,根据一个实施例,与主机相关的信息被分组在一起并且与虚拟机相关的信息被分组在一起。例如,主机的位置和在该主机上执行的虚拟机可能与该主机被组成组。 虚拟机的位置和该虚拟机的预期属性可能被分组在一起。更具体而言,网络地图170可以以表2中所示出的顺序包括其内容。表2根据一个实施例的、内容与网络地图170相关联的顺序。
描述附图标记主机120的位置1721VMl 52的位置1741VMl52的预期属性182VMl 54的位置1742VMl54的预期属性184主机130的位置1722VMl 56的位置1743VMl56的预期属性186VMl 58的位置1744VMl58的预期属性188根据一个实施例,以信息出现在网络地图170中的顺序来访问关于VM属性的信息的各种源。继续该示例,从网络地图170来访问主机120的位置1721,并且使用主机120的位置1721来定位主机120和访问关于虚拟机的属性的信息122。在网络地图170中访问VM 152的位置1741并且使用VM 152的位置1741来访问VM 152的实际属性162。可以将VM 152的实际属性162与VM 152的预期属性182进行比较。在网络地图170中访问VM 154 的位置1742并且使用VM 154的位置1742来访问VM 154的实际属性164,等等。根据一个实施例,网络地图170不包括预期VM属性176。在这种情况下,各种实施例可以使用主机位置172或VM位置174、或其组合。根据一个实施例,网络地图170不包括VM位置174。在这种情况下,各种实施例可以使用主机位置172来访问主机120、130。 主机120、130能够提供他们各自的VM 152-158的位置。根据一个实施例,网络地图170被存储在数据库中。根据一个实施例,网络地图 170是“配置管理数据库”或者CMDB。规则
规则190提供指定关于预期或禁用配置(诸如预期或禁用VM属性)的策略的方法。违反规则190使得能发现作为诙谐错误(humor error)或恶意活动的结果的配置。规则190 能够包括为被用来配置虚拟机的属性指定的最小值和最大值,以及在属性之间的关系的约束。规则190能够容易地被改写成反映用于不同数据中心的不同策略。根据一个实施例, 规则190是以扩展标记语言(XML)来写成的。尽管规则190的示例中的许多示例使用XML, 但是可以使用提供能够被用于指定规则190的语法的任何语言。规则190可以包括包含用于VM 152-158的一个或多个规则的VM规则属性192、 194、196、198。如图1中所描绘的,VM规则属性192与VM 152相关,VM规则属性194与VM 154相关,VM规则属性196与VM 156相关,以及VM规则属性198与VM 158相关。为了简便起见,规则190被描绘成具有用于VM 152、154、156、158中的每一个的VM规则属性192、 194、196、198。然而,规则可以与不止一个的VM 152、154、156、158相关。例如,VM规则属性192和VM规则属性196两者都可以包括相同规则中的一个或多个。下面的表1描绘了若干示例性规则。表1 示例性规则
权利要求
1.一种验证虚拟机的计算机实施的方法,所述方法包括从虚拟机(152,154,156,158)在上面执行的主机(120,130)获得(320)关于所述虚拟机(152,154,156,158)的一个或多个属性的信息(142,144,146,148);从所述虚拟机(152,154,156,158)获得(330) —个或多个实际虚拟机属性(162, 164,166,168);以及通过比较关于所述属性的所述信息(142,144,146,148)与所述实际虚拟机属性 (162,164,166,168)来确定(340)在关于所述属性的所述信息(142,144,146,148) 与所述实际虚拟机属性(162,164,166,168)之间是否存在差异。
2.如权利要求1所述的计算机实施的方法进一步包括从网络地图(170)访问(401) —个或多个预期虚拟机属性(182,184, 186,188);并且其中所述确定(340)是否存在差异进一步包括确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,以及确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述虚拟机(152,154,156,158)所获得的所述实际虚拟机属性(162,164, 166,168)之间是否存在差异。
3.如权利要求2所述的计算机实施的方法进一步包括访问(404)规则(190)以获得所述虚拟机(152,154,156,158)的一个或多个虚拟机规则属性(192,194,196,198);并且其中所述确定(340)是否存在差异进一步包括确定(40 在来自所述网络地图(170) 的所述预期虚拟机属性(182,184,186,188)与所述虚拟机规则属性(192,194,196, 198)之间是否存在差异。
4.如权利要求1至3中的任一项所述的计算机实施的方法进一步包括访问(404)规则(190)以获得所述虚拟机(152,154,156,158)的一个或多个虚拟机规则属性(192,194,196,198);并且其中所述确定(340)是否存在差异进一步包括确定(406)在所述虚拟机规则属性(192,194,196,198)与从所述主机(120,130) 获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,以及确定(407)在所述虚拟机规则属性(192,194,196,198)与从所述虚拟机(152, 154,156,158)获得的所述实际虚拟机属性(162)之间是否存在差异。
5.如前述任一项权利要求所述的计算机实施的方法,其中,所述属性选自包括下述项的组分配给所述虚拟机(152,154,156,158)的处理器的数量;分配给所述虚拟机 (152,154,156,158)的存储器的量;由所述虚拟机(152,154,156,158)使用的存储磁盘的数量和大小;磁盘通道的最大输入/输出(I/O)速率;与所述虚拟机(152,154, 156,158)相关联的网络接口卡(NIC)的数量以及与所述虚拟机(152,154,156,158)相关联的每个NIC的所述最大I/O速率。
6.一种用于验证虚拟机的设备,所述设备包括用于执行指令的处理器;和计算机可读介质,其中所述处理器所执行的所述指令存储在所述计算机可读介质上, 其中所述处理器执行实现以下各项的所述指令虚拟机属性信息存取器010),其被配置成用于从所述虚拟机(152,154,156,158) 在上面执行的主机(120,130)获得(320)关于虚拟机(152,154,156,158)的一个或多个属性的信息(142,144,146,148);实际虚拟机属性存取器020),其被配置成用于从所述虚拟机(152,154,156,158) 获得(330) —个或多个实际虚拟机属性(162,164,166,168);以及虚拟机属性差异确定器030),其被配置成用于通过比较关于所述属性的所述信息 (142,144,146,148)与所述实际虚拟机属性(162,164,166,168)来确定(340)在关于所述属性的所述信息(152,154,156,158)与所述实际虚拟机属性(162,164,166, 168)之间是否存在差异。
7.如权利要求6所述的设备,进一步包括预期虚拟机属性存取器040),其被配置成用于从网络地图(170)访问(401) —个或多个预期虚拟机属性(182,184,186,188);并且所述虚拟机属性差异确定器(230)被配置成用于确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,并且确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述虚拟机(152,154,156,158)获得的所述实际虚拟机属性(162,164, 166,168)之间是否存在差异。
8.如权利要求7所述的设备,进一步包括虚拟机规则属性存取器050),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152,154,156,158)的一个或多个虚拟机规则属性(192,194,196,198);并且所述虚拟机属性差异确定器(230)被配置成用于确定(40 在来自所述网络地图 (170)的所述预期虚拟机属性(182,184,186,188)与所述虚拟机规则属性(192,194, 196,198)之间是否存在差异。
9.如权利要求6至8中的任一项所述的设备,进一步包括虚拟机规则属性存取器050),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152,154,156,158)的一个或多个虚拟机规则属性(192,194,196,198);并且所述虚拟机属性差异确定器(230)被配置成用于确定(406)在所述虚拟机规则属性(192,194,196,198)与从所述主机(120、130) 获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,以及确定(407)在所述虚拟机规则属性(192,194,196,198)与从所述虚拟机(152, 154,156,158)获得的所述实际虚拟机属性(162,164,166,168)之间是否存在差异。
10.如权利要求6至9中的任一项所述的设备,其中,所述设备进一步包括 位置存取器,其被配置成用于访问所述主机(120,130)的位置(1721,1722)和所述虚拟机(152,154,156,158)的位置(1741,1742,1743,1744),其中所述位置(1721,·1722,1741,1742,1743,1744)被存储在网络地图(170)中;所述虚拟机属性信息存取器(310)使用所述位置(1721,1722)作为获得(320)关于属性的所述信息(142,144,146,148)的一部分;并且所述实际虚拟机属性存取器(320)使用所述位置(1741,1742,1743,1744)作为获得C340)所述实际虚拟机属性(162,164,166,168)的一部分。
11.一种计算机可读存储介质,其具有存储在其上的用于使计算机系统执行验证虚拟机的方法的计算机可读程序指令,所述方法包括从虚拟机(152,154,156,158)在上面执行的主机(120、130)获得(320)关于所述虚拟机(152,154,156,158)的一个或多个属性的信息(142,144,146,148);从所述虚拟机(152,154,156,158)获得(330) —个或多个实际虚拟机属性(162, 164,166,168);以及通过比较关于所述属性的所述信息(142,144,146,148)与所述实际虚拟机属性 (162,164,166,168)来确定在关于所述属性的所述信息(142,144,146,148)与所述实际虚拟机属性(162,164,166,168)之间是否存在差异。
12.如权利要求11所述的计算机可读存储介质其中所述方法进一步包括从网络地图(170)访问(401) —个或多个预期虚拟机属性 (182,184,186,188);并且其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述主机(120、130)获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,以及确定(40 在由所述网络地图(170)提供的所述预期虚拟机属性(182,184,186, 188)与从所述虚拟机(152,154,156,158)获得的所述实际虚拟机属性(162,164, 166,168)之间是否存在差异。
13.如权利要求12所述的计算机可读存储介质其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152,154,156, 158)的一个或多个虚拟机规则属性(192,194,196,198);并且其中所述确定(340)是否存在差异进一步包括用于确定(40 在来自所述网络地图 (170)的所述预期虚拟机属性(182,184,186,188)与所述虚拟机规则属性(192,194, 196,198)之间是否存在差异的指令。
14.如权利要求11所述的计算机可读存储介质其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152,154,156, 158)的一个或多个虚拟机规则属性(192,194,196,198);并且其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令确定(406)在所述虚拟机规则属性(192,194,196,198)与从所述主机(120、130) 获得的关于所述属性的所述信息(142,144,146,148)之间是否存在差异,以及确定(407)在所述虚拟机规则属性(192,194,196,198)与从所述虚拟机(152, 154,156,158)获得的所述实际虚拟机属性(162,164,166,168)之间是否存在差异。
15.如权利要求11所述的计算机可读存储介质,其中,所述方法进一步包括使用公用控制器来自动地更新所述网络地图(170),其中所述公用控制器与自动地向所述主机(120,130)进行供应的公用数据中心相关联。
全文摘要
根据一个实施例,对虚拟机属性进行验证。从所述虚拟机(152)在上面执行的主机(120)获得(320)关于虚拟机(152)的属性的信息(142)。从所述虚拟机(152)获得330实际虚拟机属性(162)。通过比较关于所述属性的所述信息(142)与所述实际虚拟机属性(162)来确定(340)在关于所述属性的所述信息(142)与所述实际虚拟机属性(162)之间的差异。
文档编号G06F9/44GK102362258SQ200980158275
公开日2012年2月22日 申请日期2009年1月23日 优先权日2009年1月23日
发明者格拉夫 D. 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1