平台管理(plm)信息模型中的虚拟化支持的制作方法

xiaoxiao2020-7-22  14

平台管理(plm)信息模型中的虚拟化支持的制作方法
【专利摘要】本文描述了使用带有虚拟化支持的信息模型,在虚拟机器系统中针对硬件元件(HE)的故障进行保护的方法和系统。基于信息模型,所述方法引导虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS)。信息模型包括对象图,所述对象图通过所述图的对象之间的父子关系来表示硬件元件(HE)、VMM、VM和OS之间配置的关系。所述对象图包括:域对象、HE对象、VMM对象、VM对象和OS对象。迁移使能的类型的VM对象表示VM中可在VMM之间迁移的那些VM。基于迁移使能的类型的VM对象和VMM对象之间的运行时关联,所述方法识别哪些迁移使能的VM由相同HE主管并且因此易于受该相同HE的硬件故障的损害。
【专利说明】CN 103502938 A



i/ll 页
平台管理(PLM)信息模型中的虚拟化支持
【技术领域】
[0001]本发明的实施例涉及计算机系统,并且更具体地说,涉及由服务可用性(SA)论坛 开发的平台管理(PLM)服务。
【背景技术】
[0002]服务可用性(SA)论坛已开发标准接口以使得能够使用现成的平台、中间件和服 务应用,输送高度可用的运营商级系统。标准的实现允许软件开发商集中于应用代码和提 供任务关键型服务以及最小化对定制的高可用性编程的需要。
[0003]图I是由SA论坛高可用(HA)系统定义的概念体系结构栈。SA论坛已开发应用接 口规范(AIS) 120以提供在HA应用110与HA中间件130之间的标准化接口,由此使它们 相互独立。HA应用110和HA中间件130在操作系统140上运行并且由硬件平台150主管 (host)。服务连续性仅通过栈中所有组件的协作才实现。SA论坛开发的标准的描述能够在 Service Availability Forum: Overview. (SAI-Overview-B. 05. 03,2010 年 2 月)中被找 到。
[0004]SA论坛也具有作为AIS 120 一部分的标准化平台管理。平台管理(PLM)服务125 管理HA系统中的平台实体。在5ferFic<9 Availability Forum: AIS Platform Management Service (SAI-AIS-PLM-A. 01. 02,2009 年 11 月)中描述了用于 PLM 服务 125 的规范。平 台实体包括硬件元件01E)和系统软件实体。这些系统软件实体称为“执行环境(EE) ”,它 们包括操作系统(OS)、虚拟机(VM)和虚拟机监视器(VMM)(也称为超级监视者)。平台实 体在信息模型中表示为被管理对象,它们被组织成树状结构。信息模型的树状结构暗示表 示的实体的命名和在它们之间的相关性。
[0005]信息模型用作系统管理与平台实体之间的管理接口。通过信息模型,信息管理能 够配置平台实体,并获得配置的平台的运行时状态。系统管理也能够发布在被管理对象上 的管理操作以执行表示的平台实体的管理控制。

【发明内容】

[0006]一种方法在虚拟机系统中被实现以针对硬件元件(HE)的故障进行保护。HE要主 管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS)。每个VMM管理一个或多个VM,并且 每个VM运行OS之一。该方法包括以下步骤:基于虚拟机系统的信息模型,引导每个HE上 的VMM之一、一个或多个VM及每个VM上的OS之一。信息模型包括对象图,所述对象图通 过该图的对象之间的父子关系来表示ffi、VMM、VM和OS之间配置的关系。可分辨名称(DN) 被存储在所述图对象的每个对象中,并且所述对象中作为图中另一对象之子的那些对象包 括其父对象的DN,由此识别所述图的对象的父子关系。所述对象图包括:表示虚拟机系统 的域对象、表示并且是域对象之子的HE对象、各自表示VMM之一并且各自是HE对象之 一之子的VMM对象、各自表示VM之一的VM对象及各自表示OS之一并且各自是VM对象之 一之子或域对象之子的OS对象。一个或多个VM对象的集合属于迁移使能的类型并且表示
6CN 103502938 A



2/11 页
所述VM中可在VMM之间迁移的那些VM,以及迁移使能的类型的VM对象是域对象之子而不 是VMM对象之子,使得它们的DN不随着在VMM之间的迁移而更改。引导的步骤包括以下步 骤:为VM对象的所述集合表示的每个VM确定指示哪个VMM当前要管理该VM的当前管理关 系;以及更新VM对象的所述集合的每个VM对象以将确定的当前管理关系反映为运行时关 联。该方法还包括以下步骤:基于运行时关联,识别VM的所述集合的哪些VM由HE中的相 同主管并且因此易于受该相同HE的硬件故障的损害。
[0007]—种计算机系统适用于针对虚拟机系统中硬件元件(HE)的故障进行保护。HE要 主管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS)。每个VMM管理一个或多个VM,并 且每个VM运行OS之一。该计算机系统包括:处理器,耦合到非暂时性计算机可读存储媒体, 所述非暂时性计算机可读存储媒体在其中已经存储了平台管理(PLM)服务模块,所述模块 适用于:促使虚拟机系统基于信息模型,引导每个上的VMM之一、一个或多个VM及每个 VM上的OS之一。信息模型包括对象图,所述对象图通过在所述图的对象之间的父子关系来 表在HE、VMM、VM和OS之间配置的关系。可分辨名称(DN)被存储在所述图对象的每个对象 中,并且所述对象中作为图中另一对象之子的那些对象包括其父对象的DN,由此识别所述 图的对象的父子关系。所述对象图包括:表示虚拟机系统的域对象、表示HE并且是域对象 之子的对象、各自表示VMM之一并且各自是HE对象之一之子的VMM对象、各自表示VM 之一的VM对象及各自表示OS之一并且各自是VM对象之一之子或域对象之子的OS对象。 一个或多个VM对象的集合属于迁移使能的类型并且表示所述VM中可在VMM之间迁移的那 些VM,以及迁移使能的类型的VM对象是域对象之子而不是VMM对象之子,使得它们的DN不 随着在VMM之间的迁移而更改。PLM服务模块还适用于:为VM对象的所述集合表示的每个 VM确定指示哪个VMM当前要管理该VM的当前管理关系;以及更新VM对象的所述集合的每 个VM对象以将确定的当前管理关系反映为运行时关联。信息模型允许可用性管理模块基 于运行时关联,识别VM的所述集合的哪些VM由HE中的相同HE主管并且因此易于受该相 同HE的硬件故障的损害。
[0008]一种非暂时性计算机可读存储媒体包括指令,所述指令在由计算机系统执行时促 使计算机系统执行用于针对硬件元件01E)的故障进行保护的虚拟机系统的方法。要主 管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS)。每个VMM管理一个或多个VM,并且 每个VM运行OS之一。所述方法包括以下步骤:基于虚拟机系统的信息模型,引导每个HE 上的VMM之一、一个或多个VM及在每个VM上的OS之一。信息模型包括对象图,所述对象 图通过所述图的对象之间的父子关系来表示HE、VMM、VM和OS之间配置的关系。可分辨名 称(DN)被存储在所述图对象的每个对象中,并且所述对象中作为所述图中另一对象之子 的那些对象包括其父对象的DN,由此识别所述图的对象的父子关系。所述对象图包括:表 示虚拟机系统的域对象、表示HE并且是域对象之子的HE对象、各自表示VMM之一并且各自 是HE对象之一之子的VMM对象、各自表示VM之一的VM对象及各自表示OS之一并且各自 是VM对象之一之子或域对象之子的OS对象。一个或多个VM对象的集合属于迁移使能的 类型并且表示所述VM中可在VMM之间迁移的那些VM,以及迁移使能的类型的VM对象是域 对象之子而不是VMM对象之子,使得它们的DN不随着在VMM之间的迁移而更改。引导的步 骤包括以下步骤:为VM对象的所述集合表示的每个VM确定指示哪个VMM当前要管理该VM 的当前管理关系;以及更新VM对象的所述集合的每个VM对象以将确定的当前管理关系反
7CN 103502938 A



3/11 页
映为运行时关联。该方法还包括以下步骤:基于运行时关联,识别VM的所述集合的哪些VM 由中的相同HE主管并且因此易于受该相同HE的硬件故障的损害。
【专利附图】

【附图说明】
[0009]本发明通过示例且非限制的方式示出,并且在结合图形考虑时参照以下详细描述 能够被更全面地理解,其中:
图I是根据现有技术使用平台管理(PLM)服务的高可用(HA)系统的示意图;
图2示出其中可实现本发明的实施例的虚拟机系统。
[0010]图3是根据本发明的实施例的表示带有虚拟化支持的信息模型的统一建模语言 (UML)类图。
[0011]图4是示出根据本发明的一个实施例的使用带有虚拟化支持的信息模型的方法 的流程图。
[0012]图5是根据本发明的实施例的带有虚拟化支持的信息模型的初始PLM配置的示意 图。
[0013]图6是示出根据本发明的实施例的基于带有虚拟化支持的信息模型启动虚拟机 系统的方法的流程图。
[0014]图7是根据本发明的实施例的在虚拟机系统启动时带有虚拟化支持的信息模型 的示意图。
[0015]图8是示出根据本发明的实施例的基于带有虚拟化支持的信息模型迁移虚拟机 (VM)的方法的流程图。
[0016]图9是根据本发明的实施例的在VM迁移后带有虚拟化支持的信息模型的示意图。
[0017]图10示出根据本发明的实施例的计算机系统的示范形式的机器的图示。
【具体实施方式】
[0018]在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例 可无需这些特定细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描 述的理解。然而,本领域的技术人员将领会到,可无需此类特定细节而实践本发明。通过包 括的描述,本领域技术人员将能够在不进行不当实验的情况下实现适当的功能性。
[0019]SA论坛开发的PLM规范未明确定义信息模型能够如何用于表示虚拟机系统 中的平台实体。在高可用虚拟机系统中,VM迁移经常用作在冗余节点之间的故障转移 (failover)或转换机制,并且备选操作系统经常用于回退情况或运行诊断。当前信息模型 未定义如何处理VM迁移,并且不允许表示在给定硬件元件或给定虚拟机上可引导的备选 操作系统。
[0020]此外,根据PLM规范,通过遵循目录轻量级目录访问协议(LDAP)命名惯例(如RFC 4510中指定的)的对象名称识别信息模型中的每个对象。也就是说,对象的名称是对象的相 对可分辨名称(RDN)加上跟随的信息模型中其父对象的可分辨名称(DN)。如果VM对象(表 示VM)是信息模型中VMM对象(表示VMM)之子,则VM在VMM之间的迁移将更改VM对象之 父,并且因此也更改VM对象的对象名称。对象名称的更改违反信息模型的基本要求之一, 因为如果对象在运行时期间更改其名称,则系统管理将不能跟踪对象的状态。如果配置成
8映射在特定EE (表示VM中执行的OS)上的相关实体(例如,集群成员关系节点)进行名称更改,则系统管理将也需要进行配置更改,这比它所需要的更具破坏性得多。
[0021]本发明的实施例提供用于支持平台管理(PLM)信息模型中虚拟化的方法和系统。 根据本发明的实施例,带有虚拟化支持的信息模型包括执行环境(EE)类,如PlmVMM类、 PlmVM类和PlmOS类。作为PLM域之子的VM对象(PlmVM类的实例)具有在对应VM迁移时不更改的名称。VM对象也具有运行时属性,该属性指示对应VM当前在运行时在何处被主管。在一个实施例中,运行时属性识别当前在管理VM的VMM。表示管理VMM的VMM对象包含允许系统管理确定哪个硬件元件(HE)在主管管理VMM的信息。因此,在HE与VM之间的映射能够在任何给定时间被确定,而不考虑VM迁移。哪个HE主管哪些VM的信息有助于可用性管理(例如,如在AvaiIabiIity Forum: Overview (SAI-Overview-B. 05. 03, 2010年2月)中所述的可用性管理框架(AMF)),因为它允许评估HE故障或终止的影响。例如,如果冗余软件实体由相同件的硬件来主管,则任何硬件故障可禁用所有软件实体。因此,信息模型能够用于评定虚拟机系统的易损性并且针对硬件故障来保护软件实体。
[0022]如在本发明的某些实施例中使用的带有虚拟化支持的信息模型允许在PlmVMM 类、PlmVM类和PlmOS类的对象之间相对于其属性、关系和管理操作进行区分。例如,在一个实施例中,迁移操作只适用于VM对象并且不适用于其它EE对象。VM要迁移时,VM要迁移到的目标VMM能够基于配置偏好来确定,或者可选的是,能够是由迁移操作指定的特定目标VMM。作为另一示例,OS实例不处理其它EE对象的生命周期,而VMM能够自行终止或者被要求终止其主管的VM之一。能够使用PlmOS类作为示例进一步解释功 能分离。PlmOS类具有独立OS的功能性,并且无其它功能性。相应地,PlmOS类能够主管应用,但不管理在VM 中封装的其它OS实例(像VMM将做的一样)。因此,不能将PlmVM实例作为子而附连到PlmOS 实例,不能要求PlmOS实例将PlmVM实例迁移到他处或者PlmOS实例自行迁移。这些操作均不受支持。PlmOS实例只能自行停止和重新启动。此功能分离实行信息模型的正确结构化,并且允许系统管理应用正确操作。由于此功能分离,如果给定OS (例如,Solaris)能够执行所有以下操作:管理其它OS实例,主管应用等,则此OS需要被映射到多个EE对象,每个支持的功能性一个对象。例如,Solaris分割区0将同时映射到PlmVMM实例、PlmVM实例和PlmOS实例中。其它Solaris分割区可映射到PlmVM实例和PlmOS实例。虽然PLM实现需要知道这些映射,但系统管理只需要知道如果它具有PlmOS实例,则它只能够开始、停止和重新引导OS (由PlmOS实例表示)。如果PlmVM实例也存在,则PlmOS实例能够由PlmVM 实例强制停止而不影响其它VM。因此,功能分离正确地表示可用管理操作,并且去除相对于哪些特定OS、VM或VMM在系统下运行的猜测工作。
[0023]除上面解释的功能分离外,带有虚拟化支持的信息模型也提供语义分离。信息模型允许为不同EE类之间类似的父子关系使用不同语义。即,统一建模语言(UML)图中合成关系的解释取决于父对象类。例如,如果VMM和多个VM处于合成关系,则这意味着VMM主管所有VM,并且VM能够在系统中同时存在。然而,如果VM和OS的集合处于类似的合成关系,则OS是能够在VM上引导的备选OS。此外,HE和OS (或VMM)的集合也能够处于类似的合成关系,这意味着OS (或VMM)的集合是能够在HE上引导的备选OS (或VMM)。
[0024]图2示出虚拟机系统200的一实施例,其中部署了平台管理(PLM)服务模块250 以管理虚拟机系统200的平台实体。虚拟机系统200包括多个服务器计算机215,每个服务
9CN 103502938 A



5/11 页
器计算机主管一个或多个虚拟机(VM) 230。每个VM 230运行可以相互相同或不同的客户 操作系统(OS) 240。计算机系统100也包括VM监视器(VMM) 225 (也称为超级监视者), 监视器虚拟化用于VM 230的底层硬件平台(例如,服务器计算机215的处理器、存储器、I/ 0等)。
[0025]在一个实施例中,虚拟机系统200具有网络260的接入权。网络260可以是私有 网络(例如,局域网(LAN)、宽域网(WAN)、内部网等)或公共网络(例如,因特网)。
[0026]在图2的实施例中,主管VM 230的服务器计算机215之一也主管PLM服务模块 250和可用性管理模块251。在一备选实施例,PLM服务模块250和可用性管理模块251可 位于不主管任何VM 230的一个或多个服务器计算机215。在仍有的另一实施例中,PLM服 务模块250和可用性管理模块251可位于不同服务器计算机215上。此外,在图2的实施 例中,PLM服务模块250是主机OS 220的一部分。在一备选实施例中,PLM服务模块250可 以是在一个或多个VM 230上运行的一个或多个客户OS 240的一部分。在一些实施例中, PLM服务模块250和可用性管理模块251可分布于多个实体。
[0027]根据本发明的一实施例,PLM服务模块250维护信息模型280。信息模型280包括 多个对象,这些对象定义平台实体的配置,并且描述平台实体的运行时状态。平台实体可以 是硬件元件(HE)(例如,服务器计算机215)或执行环境(EE)(例如,客户OS 240、主机OS 220、VM 230 或 VMM 225)。
[0028]在一个实施例中,初始配置可由系统管理员创建和存储为信息模型280。在任何平 台实体被完全引导并且变得完全运转之前,可创建初始配置(例如,一些平台实体可被部分 引导以便PLM服务模块250启动和执行操作)。稍后在虚拟机系统200的启动时间,PLM服 务模块250读取信息模型280的初始配置。基于初始配置,PLM服务模块250引导虚拟机 系统200的适当平台实体(VMM 225,VM 23-和OS 220与240),并且更新信息模型280以包 括运行时关联。运行时关联指示哪些VMM 225在管理哪些VM 230。从信息模型280中,可 用性管理模块251能够在运行时期间的任何给定点识别哪些VM 240和在这些VM 230上运 行的软件(例如,OS 240)由相同HE来主管,并且因此易受该HE的硬件故障的损害。
[0029]图3是用于虚拟机系统的信息模型的类图的统一建模语言(UML)表不的一实施 例。信息模型扩展标准EE类(例如,SaPlmEE类350)以包括专用EE类,如PlmVMM类360、 PlmVM类370和PlmOS类380。HE对象、VMM对象、VM对象和OS对象分别是SaPlmHE类355、 PlmVMM类360、PlmVM类370和PlmOS类380的实例。HE对象、VMM对象、VM对象和OS对 象中的每个对象是虚拟机系统中分别表示HE、VMM、VM和OS的“平台实体对象”。这些对象 形成父子关系的树,树的根是域对象(类SaPlmDomain 300的实例)。(图2的)PLM服务模 块250从初始配置中读取HE对象、VMM对象、VM对象和OS对象。PLM服务模块250通过硬 件平台接口(HPI,如 SferFice A vai Iabi Ii ty Forum: Overview (SAI-Overview-B. 05. 03, 2010年2月)中所述的)发现的硬件映射HE对象,基于此,它通过适当的运行时属性更新信 息模型。PLM服务模块250随后如VMM对象、VM对象和OS对象所述启动EE实体,或者验 证自动启动的EE实体它们符合信息模型。如果PLM服务模块250检测到某个部分与信息 模型不同,则它将尝试纠正差别(例如,通过重新引导或其它纠正措施)。如果PLM服务模块 250检测到某个部分不起作用,则它将尝试隔离故障实体,并且更新信息模型以反映当前运 行时状态(例如,如果有任何备选OS,则PLM服务模块250可引导备选OS替代故障OS以便
10CN 103502938 A



6/11 页
运行例如诊断)。
[0030]在一个实施例中,VM对象能够归类到迁移使能的类型和静态类型中。迁移使能的 类型和VM对象(“迁移使能的VM对象”)表示可从一个VMM迁移到另一 VMM的VM。静态类型 的VM对象(“静态VM对象”)表示不能迁移的VM。VM对象是否为迁移使能的取决于树中的 哪个对象是该VM对象之父。在一个实施例中,定义了(由链接335示出)迁移使能的平台实 体对象(例如,迁移使能的VM对象)之父是域对象。也定义了(由链接330示出)静态VM对 象之父是VMM对象。除非另有指定,否则术语“子”指是其“父”的直接后代的对象;也就是 说,子与父对象之间不存在其它对象。树中对象之间父子关系存储在系统的初始配置中,并 且通过对象的可分辨名称(DN)表明。在虚拟机系统启动时间,在迁移使能的VM对象与VMM 对象之间创建运行时关联(由链接320示出),指示哪个VMM当前在管理迁移使能的VM对象 表示的VM。运行时关联也能够为静态VM对象创建以显示其管理VMM。因此,信息模型不但 表示基于DN的树结构,而且表示其它关联;并且因此这些一起形成了图。运行时关联能够 在运行时期间的任何给定点进行更新。在一个实施例中,运行时关联能够记录在每个VM对 象的currHostVMMs属性371中,这指示哪个VMM当前在管理VM对象表示的VM。在一些实 施例中,此运行时关联能够定义为双向关联,花前月下将在VMM对象中示为阵列属性(其每 个元件表示与被管理VM之一的关联),由此明确显示由VMM管理的VM。
[0031]在一个实施例中,从SaPlmHE 类 355、PlmVMM 类 360、PlmVM 类 370 和 PlmOS 类 380 创建的每个对象能够通过对象名称识别,对象名称也是对象的可分辨名称(DN)。对象名称 包括对象的相对可分辨名称(RDN)和对象之父的DN。迁移使能的VM对象(或通常的任何 平台实体对象)需要驻留在其迁移的范围的根部。例如,此类平台实体可表示能够在机箱 (chassis)内四处移动但不能移到机箱外的热交换板。因此,机箱将是这些板而不是机箱内 的插槽之父。由于此类平台实体对象是域对象(或迁移范围对象)之子,因此,其对象名称不 随着迁移而更改。另一方面,由于静态VM是VMM对象之子,因此,静态VM对象的对象名称 包括其父VMM对象的DN。如果静态VM对象表示的VM迁移到不同的VMM,则静诚VM对象的 对象名称将更改。因此,在本发明的一些实施例中不允许此类迁移。
[0032]父子关系也能够在其它类(S卩,SaPlmHE类355、PlmVMM类360和PlmOS类380)的 对象之间定义。在一个实施例中,SaPlmDomain类300的域对象能够是任何HE对象(属于 SaPlmHE类355)和EE对象(属于SaPlmEE类350)之父。EE对象能够是VMM对象、VM对象 和OS对象中的任何一项。除域对象外,某些实施例允许仅HE对象作为VMM对象之父,以及 仅VMM对象作为VM对象之父。此外,除域对象外,HE对象或VM对象可作为OS对象之父。
[0033]图3的实施例还将标准SaPlmEE 350 - SaPlmEE 350关联定义成以下两种关联:
(I)在VMM与VM之间,能够(由链接330)指定同时在VMM中运行的对等VM;及(2)在VM与 OS之间,也能够(由链接340)指定用于VM的备选OS。
[0034]图3的实施例另外还将标准SaPlmHE 355 - SaPlmEE 350关联改进成以下两种关 联:(1)在HE与VMM之间,能够(由链接310)指定用于HE的备选VMM;及⑵在HE与OS之 间,也能够(由链接345)指定用于HE的备选OS。
[0035]在一个实施例中,能够在给定HE上引导的这些备选VMM和OS每个指派有引导等 级。VMM的引导等级指定在给定HE上VMM的引导顺序,并且OS的引导等级指定在给定VM (如果OS要在VM上运行)或给定HE (如果OS要直接在HE上运行)上OS的引导顺序。引
11CN 103502938 A



7/11 页
导等级是在配置时间指派的配置属性(用于VMM对象的bootRank属性363和用于OS对象 的bootRank属性381)。在一个实施例中,能够在给定HE上引导的备选VMM被排序(例如, 引导等级=“1”、“2”、“3”等),并且这些引导等级形成单个有序列表。PLM服务模块250选 择在用于给定HE的备选VMM中具有最高引导等级(例如,“ I ”,它具有最低bootRank值,并 且在有序列表中排在第一)的VMM。如果带有最高引导等级的VMM出现故障,则PLM服务模 块250将尝试从下一最高引导等级VMM (例如,“2”,它在有序列表中被排序紧邻于第一)引 导,并且自动运行诊断。类似地,能够在给定VM或给定HE上备选OS也被排序,并且这些引 导等级形成单一有序列表。PLM服务|旲块250能够选择在备选OS中具有最闻引导等级的
OS。如果带有最高引导等级的OS出现故障,则PLM服务模块250将尝试从下一最高引导等 级OS引导并且自动运行诊断。
[0036]在一个实施例中,每个VMM对象能够配置成包括maxNumVMs属性362,该属性定义 由VMM对象表示的VMM的容量(即,能够由VMM主管的最大数量的VM)。在自动处理VM迁 移时,出现了容量的问题。VMM由于其自己和/或其主管HE的容量限制而不可主管无限数 量的VM。将大量VM迁移到一个VMM可导致VMM的资源耗尽,并且带来其出现故障的风险。 因此,在多个VM需要被迁移时(例如,由于硬件故障,因此,所有主管的VM需要被移动),重 要的是并非所有VM迁移到相同VMM。maxNumVMs属性362定义VMM能够管理的最大数量的 VM0在一个实施例中,最大数量的VM包括可迁移的那些VM和不可迁移的那些VM。通过控制 maxNumVMs属性362,PLM服务模块250能够控制系统中VM的分布。降低或增大maxNumVMs 属性360的值反映了强加负载更改,并且允许VM的分布自动更改。控制VM的分布能够有益 于例如电源管理,其中,(及其VMM)支持小的工作负载,并且能够关闭以腾出硬件装置。
[0037]在一个实施例中,每个VMM对象也包括等级(rank)属性361,该属性定义在系统中 所有VMM之间对应VMM的等级。在PLM服务模块250选择VM要迁移到的目的VMM时,此等 级属性361能够在自动迁移中使用。在一个实施例中,VM将迁移到最高等级VMM (例如,由 具有等于“ I ”的等级属性361的VMM对象表示的VMM),直至此VMM充满其容量(maxNumVMs 属性362所定义)。如果最高等级VMM已充满其容量,则VM能够迁移到下一最高等级VMM, 直至该VMM的容量也充满。
[0038]图4是示出根据本发明的实施例,用于使用带有虚拟化支持的信息模型管理虚拟 机系统的平台实体的方法400的流程图。方法400可由图2的虚拟机系统200执行,图2 的每个服务器计算机215可具有图10的计算机系统1000中示出的硬件,计算机系统可包 括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指 令)或其组合。
[0039]参照图4,在一个实施例中,在虚拟机系统200基于虚拟机系统的信息模型引导每 个HE上的VMM之一、一个或多个VM及在每个VM上的OS之一时,方法400在虚拟机系统启 动时间开始。虚拟机系统的信息模型包括对象图,所述对象图通过所述图的对象之间的父 子关系来表示HE、VMM、VM与OS之间配置的关系。可分辨名称(DN)被存储在所述图对象的 每个对象中,并且作为图中另一对象之子的那些对象包括其父对象的DN,由此识别图的对 象的父子关系。对象图包括:1)表示虚拟机系统的域对象、2)表示HE并且是域对象之子的 HE对象、3)各自表示VMM之一并且各自是HE对象之一之子的VMM对象、4)各自表示VM之 一的VM对象及5)各自表示OS之一并且各自是VM对象之一之子或域对象之子的OS对象。
12CN 103502938 A



8/11 页
一个或多个VM对象的集合属于迁移使能的类型,并且表示可在VMM之间迁移的那些VM。迁 移使能的类型的VM对象是域对象之子,而不是VMM对象之子,使得其DN不随着在VMM之间 的迁移而更改(框410)。
[0040]在引导(框410)时,虚拟机系统200还为VM对象的集合表示的每个VM确定指示 哪个VMM当前要管理该VM的当前管理关系(框420),以及更新VM对象的集合的每个VM对 象以将确定的当前管理关系反映为运行时关联(框425)。
[0041]在本发明的一个实施例中,虚拟机系统200 (例如,可用性管理模块251)能够基于 运行时关联识别哪些在主管哪些迁移使能的VM,并且在包括在静态VM中运行时关联的 实施例中,基于运行时关联识别哪些HE在主管哪些静态VM。因此,虚拟机系统200 (例如, 可用性管理模块251)能够确定哪些VM (迁移使能的和静态的)由相同HE来主管,并且因 此易于受相同的硬件故障的损害(框430)。在本发明的备选实施例中,虚拟机系统200 (例如,可用性管理模块251)只关注哪些迁移使能的VM在由相同HE来主管,并且因此易于 受相同的硬件故障的损害(框430)。
[0042]图5示出根据本发明的一个实施例的带有虚拟化支持的信息模型的示例初始配 置。在此示例中,VMM对象表示VMM (VMMU VMM2和VMM3),HE对象表示HE (HEl和HE2), VM对象表示VM (VMl和VM2),以及OS对象表示OS (0S1、0S2和0S3)。为了讨论的简明, 这些对象每个具有相对可分辨名称(RDN),该名称也用于指该对象表示的平台实体。例如, “0S1”是OS对象540的RDN,并且也用于指OS对象540表示的OS。在引导或激活虚拟机系 统中的任何平台实体之前,创建初始配置。
[0043]在此初始配置中,VMMl配置成在HE I上被主管。VMM2和VMM3是配置成在HE2上主 管的备选VMM,但在任何给定时间只能主管其中之一。HE2应主管VMM2还是VMM3能够在虚 拟机系统启动时间从表示VMM2和VMM3的VMM对象的bootRank属性值确定。两个VM(VM1 和VM2)是迁移使能的,因为它们对应的VM对象配置成是PLM域的域对象510之子。VMl配 置成引导OSl,并且VM2配置成引导0S2或0S3。VM2应弓I导0S2还是0S3能够在虚拟机系 统启动时间从表示0S2和0S3的OS对象的bootRank属性值确定。在配置中,VMl和VM2与 任何VMM无关联。HE对象的运行时属性(saPlmHEPresenceState)显示无HE在活动状态, 并且因此,无EE (S卩,VMM、VM、OS)在此点能够被实例化。对象在对象表示的平台实体被引 导时被实例化。
[0044]在此救命列中,在初始配置中的每个对象能够通过对象名称识别,对象名称也是 对象的DN。如上参照图3所述,对象的DN是对象的RDN加上跟随的其父对象的DN。例如,OS 对象540的DN是DN = 0S1. VMl. PLM,这是其RDN “0S1 ”加上跟随的其父的DN “VM1. PLM”。 父的DN (例如,“VM1. PLM")指示该对象的血统(世系)。域对象510能够通过DN = PLM来 识别。具有J1E2的RDN并且是域对象510之子的HE对象550能够通过DN = HE2. PLM来识 别。具有VMM3的RDN并且是HE对象550之子的VMM对象520能够通过DN = VMM3. HE2. PLM来识别。具有VMl的RDN并且是域对象510之子的VM对象530能够通过DN = VMl. PLM 来识别。由于VM对象530是域对象510之子,并且VM对象属于迁移使能的类型,并且表示 可迁移的VM。
[0045]图6是示出根据本发明的实施例的基于带有虚拟化支持的信息模型启动虚拟机 系统的方法的流程图。方法600可由图2的PLM服务器模块250执行,该模块由图10的
13CN 103502938 A



9/11 页
计算机系统1000执行,计算机系统可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码 等)、软件(例如,在处理装置上运行的指令)或其组合。
[0046]参照图6,在一个实施例中,方法600在PLM服务模块250接收启动虚拟机系统的 请求(例如,来自系统管理)时开始(框610)。PLM服务模块250的响应是激活HE (框620), 并且促使每个基于VMM的引导等级和初始配置来引导VMM (框630)。例如,HEl引导 VMMl,因为HEl只有一个配置的VMM。HE2使用两个配置的VMM (VMM2和VMM3)的bootRank 属性确定要引导哪个VMM。由于VMM2具有比VMM3更高的引导等级(S卩,bootRank属性的更 低值),因此,选择在J1E2上引导VMM2。
[0047]随后,PLM服务模块250确定在已引导的VMM上VM的分布(框640 ),例如,在VMM2 上的VMl和在VMMl上的VM2。确定可基于每个VMM的容量或受其限制(例如,VMM对象的 maxNumVMs属性)。PLM服务模块250随后促使VMM根据确定的分布引导其VM(框650)。随 后,每个VM基于OS的引导等级和初始配置来引导OS (框660);例如,VMl引导0S1,因为 VMl只有一个配置的OS。VM2引导0S2而不是0S3,因为0S2具有比0S3更高的引导等级 (SP,bootRank属性的更低值)。在一种情况中,引导0S2的尝试失败。因此,VM2转而引导 0S3。在VMM、VM和OS的引导后,PLM服务模块250更新信息模型以反映对应对象的当前状 态。具体而言,在管理VMM的VMM对象与VMl和VM2的迁移使能的类型VM对象之间形成运 行时关联。在一个实施例中,运行时关联由VMl和VM2的运行时属性“currHostVMM”提供, 该属性分别被赋予“VMM2”和“VMM1 ”的值。
[0048]在一个实施例中,框630-660的操作是图4的框410中所示操作的一部分,并且包 括在图4的框410中未描述的另外细节。在一个实施例中,在框630-660的操作后,方法 600继续到图4的框430。
[0049]图7示出根据本发明的一个实施例的在虚拟机系统启动后具有图5的初始配置的 信息模型的示例。在此信息模型中,HEl和HE2均在活动存在状态。VMMl和VMM已被实例 化(在VMMl和VMM2分别在HEl和HE2上已引导时),而VMM3保持未实例化。VMl和VM2均 被实例化,指示VMl由VMM2管理,并且VM2由VMMl管理。VM对象的实例化不更改其父关 联,也不更改其对象名称(如从对象520-550的DN能够看到的)。OSl和0S3已被实例化,指 示OSl在VMl上运行,并且0S3在VM2上运行。0S2被禁用并且保持未实例化。
[0050]图7的信息模型允许系统管理了解VM如何与不同VMM及其主管HE相关联。信息 模型指示即使之一出现故障,另一 HE还能够提供所需服务。因此,在OSl和0S3上运行 的冗余实体针对硬件故障而受到保护。
[0051]图8是示出根据本发明的一个实施例的基于带有虚拟化支持的信息模型迁移VM 的方法800的流程图。方法800可由图2的PLM服务器模块250执行,该模块使用当前信 息模型(例如,如果此迁移是自虚拟机系统启动以来的第一次,则这将是图7的信息模块)并 且由图10的计算机系统1000执行,计算机系统可包括硬件(例如,电路、专用逻辑、可编程 逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或其组合。
[0052]参照图8,在一个实施例中,方法800在PLM服务模块250接收将VMl从VMM2迁 移到不同VMM的触发时开始(框810)。触发VM的迁移有多种原因。例如,触发可在系统中 有更轻负载时被接收,并且负载能够集中在更少的VMM和HE上,使得其它VMM和HE能够被 关闭以便节能。在系统中的负载增大到高于阈值并且过载变成问题时,可再次迁移VM。此
14CN 103502938 A



10/11 页
时,能够先将一个或多个开启,并且随后能够将VM迁移到那些HE。VM迁移也能够由于 维护而被启动:例如,管理员(或等效者)可能想关闭一些以便能够更换它们。在一些系 统中,迁移能够由故障转移造成(例如,在一个出现故障,并且在故障上运行的VM被 迁移到另一 时)。在一个实施例中,能够基于VMM等级做出关闭哪个HE的选择。在图7 的示例中,由于VMMl是优选的(具有比VMM3更高的等级),因此,其主机HEl保持在活动状 态,并且HE2要被关闭。关闭HE2意味着VMM2将随HE2 —起关闭。因此,VMl需要迁移到 VMMl以允许OSl继续在VMl内运行。同时,VM2及其0S3也保持在VMMl上运行。
[0053]在一备选实施例中,能够基于HE对象的等级做出关闭哪个HE的选择。在此备选 实施例中,每个HE对象具有指示在系统中所有HE之间其等级的等级属性。可基于HE的硬 件故障指派等级(例如,功耗、可靠性等)。
[0054]在一个实施例中,PLM服务模块250基于VMM对象的等级属性自动选择优选VMM (框820)。例如,优选VMM可以是尚未超过其maxNumVMs容量的所有实例化的VMM中最高等 级的VMM。在一备选实施例中,触发可指示VMl应迁移到的目标VMM。一旦目标VMM(例如, VMMl)被确定,PLM服务模块250便命令VMl从其当前VMM2迁移到目标VMM (框830)。在 迁移后,假设VMM2未管理需要或能够迁移的任何其它VM,则基于图7的启动信息模型,停止 VMM2 (框840),并且停用(inactivate) HE2 (其主管VMM2)(框850)。在VMM2当前仍在管 理其它VM的备选实施例中,VMl的迁移不造成VMM2停止和HE2被停用。PLM服务50随后 更新信息模型以显示如图9所示迁移后的状态(框860)。
[0055]图9示出根据本发明的一个实施例的在VM迁移后信息模型的示例。在此信息模 型中,HEl保持在活动存在状态,而HE2已变成不活动状态。VMMl保持实例化,但VMM2和 VMM3均未被实例化。VMl和VM2均由VMMl主管。OSl在VMl中被实例化,并且0S3保持在 VM2中被实例化。
[0056]应注意的是,VMl的迁移不更改其父关联,并且因此VM对象530的对象名称 (’VM1.PLM’)保持与迁移前相同。信息模型中的其它对象其对象名称均没有任何更改。由 于OSl和0S3均由HEl主管,因此,HEl变成单点故障。因此,在OSl和0S3上运行的冗余 软件实体不再安全,因为它们没有针对HEl的硬件故障受到保护。在发现冗余软件实体由 相同HE主管时,不同实施例可执行不同动作。例如,此信息可向管理员显示以决定它们是 否要再次迁移VM以避免单点故障。管理员可能需要权衡什么更昂贵:通过关闭HE能够节 省的功率或故障能够造成的损坏。作为另一示例,图2的可用性管理模块251可自动决定 重新分发备用指派以避免单点故障,例如,通过自动选择不同VMM作为用于在运行冗余软 件实体的VM的迁移目的地。在一个实施例中,迁移能够从在PLM级使用管理操作的更高级 (例如,外部“电源管理器”模块或服务)触发。此更高级服务能够使用信息模型中的等级来 指定适当的VMM作为迁移目的地。如本发明的实施例提供的类之间的功能分离允许写入此 类服务。
[0057]图10示出计算机系统1000的示范形式的机器的图示,该系统内可执行用于促使 机器执行本文中讨论的任何一种或多种方法的指令集。计算机系统1000可以是服务器计 算机或任何机器,机器能够(按顺序或以其它方式)执行指定要由该机器采取的动作的指令 集。此外,虽然只示出单个机器,但术语“机器”也应视为包括单独或联合执行指令集(或多 个指令集)以执行本文中所述的任何一个或多个方法的任何机器(例如,计算机)的汇集。在
15CN 103502938 A



li/ii 页
一个实施例中,计算机系统1000表示图2的服务器计算机215之一。在一个实施例中,图 2的虚拟机系统200中的每个服务器计算机215能够由计算机系统1000表示,但一些计算 机系统1000可不执行图2的PLM服务模块250的功能,并且因此可不存储PLM逻辑1022。
[0058]示范计算机系统1000包括耦合到诸如以下所示计算机可读存储媒体的处理装 置1002 :主存储器1004 (例如,只读存储器(ROM)、闪存存储器、诸如同步DRAM (SDRAM)或 Rambus DRAM (RDRAM)等动态随机存取存储器(DRAM)等)、静态存储器1006 (例如,闪存存 储器、静态随机存取存储器(SRAM)等)及副存储器1018 (例如,数据存储装置),这些存储器 经总线1030相互进行通信。计算机可读存储媒体也可包括任何类型的盘(包括软盘、光盘、 CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EPROM、EEPR0M、磁盘 存储媒体、光存储媒体、闪存存储器装置或适合用于存储电子指令的任何类型的媒体。
[0059]处理装置1002表示一个或多个通用处理装置,如微处理器、中央处理单元(CPU)、 多核系统或诸如此类。更具体地说,处理装置1002可以是复杂指令集计算(CISC)微处理 器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其它指令集的处 理器或实现指令集的组合的处理器。处理装置1002也可以是一个或多个专用处理装置,如 专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或诸 如此类。在一个实施例中,处理装置1002适用于执行PLM逻辑1022以便执行图2的PLM 服务模块250的操作和步骤。在另一实施例中,计算机系统1000的处理装置1002适用于 执行图2的虚拟机系统200的操作和步骤。
[0060]计算机系统1000可还包括网络接口装置1008。计算机系统1000也可包括视频显 示单元1010 (例如,液晶显示器(IXD)或阴极射线管(CRT))、字母数字输入装置1012 (例 如,键盘)、光标控制装置1014 (例如,鼠标)和信号生成装置1016 (例如,扬声器)。
[0061]在一个实施例中,PLM逻辑1022可存储在副存储器1018和/或静态存储器1066 的非暂时性计算机可读存储媒体中。PLM逻辑1022也可在其由计算机系统1000执行期间 完全或至少部分驻留在主存储器1004内和/或处理装置1002内。
[0062]在一个实施例中,图2的信息模型280也可存储在一个或多个计算机系统1000的 处理装置1002、主存储器1004、静态存储器1006和副存储器1018任何一项中的非暂时性 计算机可读存储媒体中。信息模型280和PLM逻辑1022可存储在相同计算机系统1000中 或者在不同计算机系统1000上。
[0063]在一个实施例中,用于实现图2的可用性管理模块251的逻辑也可存储在一个或 多个计算机系统1000的处理装置1002、主存储器1004、静态存储器1006和副存储器1018 任何一项中的非暂时性计算机可读存储媒体中。用于实现可用性管理模块251的逻辑和 PLM逻辑1022可存储在相同计算机系统1000中或者在不同计算机系统1000上。
[0064]术语“计算机可读存储媒体”应用于包括存储一个或多个指令集的单个媒体或多 个媒体(例如,集中或分布式数据库和/或相关联缓存和服务器)。
[0065]要理解,上述描述旨在是说明性的而不是限制性的。在阅读和理解上述描述后,本 领域的技术人员将明白许多其它实施例。虽然本发明已参照特定示范实施例进行描述,但将 认识到,本发明不限于所述实施例,而是能够通过随附权利要求的精神和范围内的修改和变 化来实践。相应地,要在说明性意义中而不是限制性意义中来看待说明书和附图。因此,本发 明的范围应参照所附权利要求以及此类权利要求被授权的等同物的完全范围来确定。
16
【权利要求】
1.一种在虚拟机系统中为了针对硬件元件(HE)的故障进行保护而实现的方法,所述 HE主管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS),所述VMM的每个VMM管理所述 VM中的一个或多个,并且所述VM的每个VM运行所述OS之一,所述方法包括以下步骤:-基于所述虚拟机系统的信息模型,引导所述的每个HE上的所述VMM之一、所述VM 的一个或多个以及所述VM的每个VM上的所述OS之一,其中所述信息模型包括对象图,所述对象图通过所述图的对象之间的父子关系来表示所述HE、VMM、VM和OS之间配置的关系, 其中可分辨名称(DN)被存储在所述图的对象的每个对象中,并且所述对象中作为所述图中另一对象之子的那些对象包括其父对象的DN,由此识别所述图的对象的父子关系,其中所述对象图包括:-表示所述虚拟机系统的域对象,-表示所述并且是所述域对象之子的HE对象,-各自表示所述VMM之一并且各自是所述HE对象之一之子的VMM对象,-各自表示所述VM之一的VM对象,其中所述VM对象的一个或多个VM对象的集合属于迁移使能的类型并且表示所述VM中可在所述VMM之间迁移的那些VM,以及其中所述迁移使能的类型的VM对象是所述域对象之子而不是所述VMM对象之子,使得它们的DN不随着在所述VMM之间的迁移而更改,以及-各自表示所述OS之一并且各自是所述VM对象之一之子或所述域对象之子的OS对象,-其中引导的所述步骤包括以下步骤:-为VM对象的所述集合表示的VM中的每个来确定指示所述VMM的哪个当前要管理该VM的当前管理关系;以及-更新VM对象的所述集合的每个VM对象以将所确定的当前管理关系反映为运行时关联;以及-基于所述运行时关联,识别所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受该相同HE的硬件故障的损害。
2.如权利要求1所述的方法,其中引导的所述步骤还包括以下步骤:-对于所述HE中的给定一个HE,引导作为表示该给定HE的HE对象之子的VMM对象所表不的VMM中最闻引导等级的Iv VMM。
3.如权利要求1所述的方法,其中引导的所述步骤还包括以下步骤:-对于所述中的给定一个HE,引导作为表示该给定HE的HE对象之子的OS对象所表不的OS中最闻引导等级的一个OS。
4.如权利要求1所述的方法,其中引导的所述步骤还包括以下步骤:-对于所述VM中的给定一个VM,引导作为表示该给定VM的VM对象之子的OS对象所表不的OS中最闻引导等级的一个OS。
5.如权利要求1所述的方法,其中确定的所述步骤还包括以下步骤:-为VM对象的所述集合表示的VM中的每个来确定所述VMM中的哪个VMM当前要管理该VM而不超过所述VMM的每个VMM能够管理的VM的最大数量。
6.如权利要求1所述的方法,还包括以下步骤:-接收将所述VM中的第一 VM从所述HE中的第一 HE迁移到所述HE中的不同一个HE的触发,所述第一 VM由属于所述迁移使能的类型的VM对象的所述集合中的第一 VM对象来表示;以及-基于所述VMM的等级,选择所述VMM中使所述第一 VM迁移到的优选的一个VMM,所述优选VMM由所述HE中的第二 HE主管。
7.如权利要求6所述的方法,其中更新的所述步骤还包括以下步骤:-更新所述第一 VM对象的运行时关联以指示所述第一 VM已迁移到所述第二 HE主管的所述优选VMM,其中所述第一 VM对象在任何迁移之前和之后都通过相同DN来识别。
8.一种适用于针对虚拟机系统中硬件元件(HE)的故障而进行保护的计算机系统,所述HE主管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS),所述VMM的每个VMM管理所述VM中的一个或多个,并且所述VM的每个VM运行所述OS之一,所述计算机系统包括:-处理器,耦合到非暂时性计算机可读存储媒体,所述非暂时性计算机可读存储媒体在其中已经存储了平台管理(PLM)服务模块,所述模块适用于:-促使所述虚拟机系统基于信息模型,引导所述的每个HE上的所述VMM之一、 所述VM的一个或多个以及所述VM的每个VM上的所述OS之一,其中所述信息模型包括对象图,所述对象图通过所述图的对象之间的父子关系来表示所述HE、VMM、VM和OS之间配置的关系,其中可分辨名称(DN)被存储在所述图的对象的每个对象中,并且所述对象中作为所述图中另一对象之子的那些对象包括其父对象的DN,由此识别所述图的对象的父子关系,其中所述对象图包括:-表示所述虚拟机系统的域对象,-表示所述并且是所述域对象之子的HE对象,-各自表示所述VMM之一并且各自是所述HE对象之一之子的VMM对象, -各自表示所述VM之一的VM对象,其中所述VM对象中的一个或多个VM对象的集合属于迁移使能的类型并且表示所述VM中可在所述VMM之间迁移的那些VM,以及其中所述迁移使能的类型的VM对象是所述域对象之子而不是所述VMM对象之子,使得它们的 DN不随着在所述VMM之间的迁移而更改,以及-各自表示所述OS之一并且各自是所述VM对象之一之子或所述域对象之子的OS对象;-为VM对象的所述集合所表示的VM中的每个来确定指示所述VMM中的哪个当前要管理该VM的当前管理关系;以及-更新VM对象的所述集合的每个VM对象以将所确定的当前管理关系反映为运行时关联,-其中所述信息模型允许可用性管理模炔基于所述运行时关联,识别所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受该相同HE的硬件故障的损害。
9.如权利要求8所述的计算机系统,其中所述PLM服务模块还适用于:-对于所述HE中的给定一个HE,引导作为表示该给定HE的HE对象之子的VMM对象所表不的VMM中最闻引导等级的Iv VMM。
10.如权利要求8所述的计算机系统,其中所述PLM服务模块还适用于:-对于所述中的给定一个HE,引导作为表示该给定HE的HE对象之子的OS对象表示的OS中最高引导等级的一个OS。
11.如权利要求8所述的计算机系统,其中所述PLM服务模块还适用于:-对于所述VM中的给定一个VM,引导作为表示该给定VM的VM对象之子的OS对象表示的OS中最高引导等级的一个OS。
12.如权利要求8所述的计算机系统,其中所述PLM服务模块还适用于:-为VM对象的所述集合表示的VM中的每个来确定所述VMM中的哪个VMM当前要管理该VM而不超过所述VMM的每个能够管理的VM的最大数量。
13.如权利要求8所述的计算机系统,其中所述PLM服务模块还适用于:-接收将所述VM中的第一 VM从所述HE中的第一 HE迁移到所述HE中的不同一个HE 的触发,所述第一 VM由属于所述迁移使能的类型的VM对象的所述集合中的第一 VM对象来表示;以及-基于所述VMM的等级,选择所述VMM中使所述第一 VM迁移到的优选的一个VMM,所述优选的VMM由所述HE中的第二 HE主管。
14.如权利要求13所述的计算机系统,其中所述PLM服务模块还适用于:-更新所述第一 VM对象的运行时关联以指示所述第一 VM已迁移到所述第二 HE主管的所述优选VMM,其中所述第一 VM对象在任何迁移之前和之后都通过相同DN来识别。
15.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由计算机系统执行时促使所述计算机系统执行用于针对硬件元件01E)的故障而进行保护的虚拟机系统的方法,所述HE主管虚拟机监视器(VMM)、虚拟机(VM)和操作系统(OS),所述VMM的每个VMM 管理所述VM中的一个或多个,并且所述VM中的每个VM运行所述OS之一,所述方法包括以下步骤:-基于所述虚拟机系统的信息模型,引导所述的每个HE上的所述VMM之一、所述VM 的一个或多个VM以及所述VM的每个VM上的所述OS之一,其中所述信息模型包括对象图, 所述对象图通过所述图的对象之间的父子关系来表示所述ffi、VMM、VM和OS之间配置的关系,其中可分辨名称(DN)被存储在所述图的对象的每个对象中,并且所述对象中作为所述图中另一对象之子的那些对象包括其父对象的DN,由此识别所述图的对象的父子关系,其中所述对象图包括:-表示所述虚拟机系统的域对象,-表示所述并且是所述域对象之子的HE对象,-各自表示所述VMM之一并且各自是所述HE对象之一之子的VMM对象,-各自表示所述VM之一的VM对象,其中所述VM对象中一个或多个VM对象的集合属于迁移使能的类型并且表示所述VM中可在所述VMM之间迁移的那些VM,以及其中所述迁移使能的类型的VM对象是所述域对象之子而不是所述VMM对象之子,使得它们的DN不随着在所述VMM之间的迁移而更改,以及-各自表示所述OS之一并且各自是所述VM对象之一之子或所述域对象之子的OS对象,-其中引导的所述步骤包括以下步骤:-为VM对象的所述集合表示的VM中的每个来确定指示所述VMM中的哪个当前要管理该VM的当前管理关系;以及-更新VM对象的所述集合的每个VM对象以将所确定的当前管理关系反映为运行时关联;-基于所述运行时关联,识别所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受该相同HE的硬件故障的损害。
16.如权利要求15所述的非暂时性计算机可读存储媒体,其中引导的所述步骤还包括以下步骤:-对于所述HE中的给定一个HE,引导作为表示该给定HE的HE对象之子的VMM对象表不的VMM中最闻引导等级的Iv VMM。
17.如权利要求15所述的非暂时性计算机可读存储媒体,其中引导的所述步骤还包括以下步骤:-对于所述中的给定一个HE,引导作为表示该给定HE的HE对象之子的OS对象表示的OS中最高引导等级的一个OS。
18.如权利要求15所述的非暂时性计算机可读存储媒体,其中引导的所述步骤还包括以下步骤:-对于所述VM中的给定一个VM,引导作为表示该给定VM的VM对象之子的OS对象表示的OS中最高引导等级的一个OS。
19.如权利要求15所述的非暂时性计算机可读存储媒体,其中确定的所述步骤还包括以下步骤:-为VM对象的所述集合表示的VM中的每个来确定所述VMM中的哪个VMM当前要管理该VM而不超过所述VMM的每个能够管理的VM的最大数量。
20.如权利要求15所述的非暂时性计算机可读存储媒体,其中所述方法还包括以下步骤:-接收将所述VM中的第一 VM从所述HE中的第一 HE迁移到所述HE中的不同一个HE 的触发,所述第一 VM由属于所述迁移使能的类型的VM对象的所述集合中的第一 VM对象来表示;以及-基于所述VMM的等级,选择所述VMM中使所述第一 VM迁移到的优选的一个VMM,所述优选的VMM由所述HE中的第二 HE主管。
21.如权利要求20所述的非暂时性计算机可读存储媒体,其中更新的所述步骤还包括以下步骤:-更新所述第一 VM对象的运行时关联以指示所述第一 VM已迁移到所述第二 HE主管的所述优选的VMM,其中所述第一 VM对象在任何迁移之前和之后都通过相同DN来识别。
【文档编号】G06F9/455GK103502938SQ201280022348
【公开日】2014年1月8日 申请日期:2012年3月6日 优先权日:2011年3月10日
【发明者】M.特勒 申请人:瑞典爱立信有限公司

最新回复(0)