国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      平臺管理(plm)信息模型中的虛擬化支持的制作方法

      文檔序號:6495169閱讀:538來源:國知局
      平臺管理(plm)信息模型中的虛擬化支持的制作方法
      【專利摘要】本文描述了使用帶有虛擬化支持的信息模型,在虛擬機(jī)器系統(tǒng)中針對硬件元件(HE)的故障進(jìn)行保護(hù)的方法和系統(tǒng)?;谛畔⒛P停龇椒ㄒ龑?dǎo)虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS)。信息模型包括對象圖,所述對象圖通過所述圖的對象之間的父子關(guān)系來表示硬件元件(HE)、VMM、VM和OS之間配置的關(guān)系。所述對象圖包括:域?qū)ο?、HE對象、VMM對象、VM對象和OS對象。遷移使能的類型的VM對象表示VM中可在VMM之間遷移的那些VM?;谶w移使能的類型的VM對象和VMM對象之間的運(yùn)行時關(guān)聯(lián),所述方法識別哪些遷移使能的VM由相同HE主管并且因此易于受該相同HE的硬件故障的損害。
      【專利說明】CN 103502938 A



      i/ll 頁
      平臺管理(PLM)信息模型中的虛擬化支持
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明的實(shí)施例涉及計(jì)算機(jī)系統(tǒng),并且更具體地說,涉及由服務(wù)可用性(SA)論壇 開發(fā)的平臺管理(PLM)服務(wù)。
      【背景技術(shù)】
      [0002]服務(wù)可用性(SA)論壇已開發(fā)標(biāo)準(zhǔn)接口以使得能夠使用現(xiàn)成的平臺、中間件和服 務(wù)應(yīng)用,輸送高度可用的運(yùn)營商級系統(tǒng)。標(biāo)準(zhǔn)的實(shí)現(xiàn)允許軟件開發(fā)商集中于應(yīng)用代碼和提 供任務(wù)關(guān)鍵型服務(wù)以及最小化對定制的高可用性編程的需要。
      [0003]圖I是由SA論壇高可用(HA)系統(tǒng)定義的概念體系結(jié)構(gòu)棧。SA論壇已開發(fā)應(yīng)用接 口規(guī)范(AIS) 120以提供在HA應(yīng)用110與HA中間件130之間的標(biāo)準(zhǔn)化接口,由此使它們 相互獨(dú)立。HA應(yīng)用110和HA中間件130在操作系統(tǒng)140上運(yùn)行并且由硬件平臺150主管 (host)。服務(wù)連續(xù)性僅通過棧中所有組件的協(xié)作才實(shí)現(xiàn)。SA論壇開發(fā)的標(biāo)準(zhǔn)的描述能夠在 Service Availability Forum: Overview. (SAI-Overview-B. 05. 03,2010 年 2 月)中被找 到。
      [0004]SA論壇也具有作為AIS 120 一部分的標(biāo)準(zhǔn)化平臺管理。平臺管理(PLM)服務(wù)125 管理HA系統(tǒng)中的平臺實(shí)體。在5ferFic<9 Availability Forum: AIS Platform Management Service (SAI-AIS-PLM-A. 01. 02,2009 年 11 月)中描述了用于 PLM 服務(wù) 125 的規(guī)范。平 臺實(shí)體包括硬件元件01E)和系統(tǒng)軟件實(shí)體。這些系統(tǒng)軟件實(shí)體稱為“執(zhí)行環(huán)境(EE) ”,它 們包括操作系統(tǒng)(OS)、虛擬機(jī)(VM)和虛擬機(jī)監(jiān)視器(VMM)(也稱為超級監(jiān)視者)。平臺實(shí) 體在信息模型中表示為被管理對象,它們被組織成樹狀結(jié)構(gòu)。信息模型的樹狀結(jié)構(gòu)暗示表 示的實(shí)體的命名和在它們之間的相關(guān)性。
      [0005]信息模型用作系統(tǒng)管理與平臺實(shí)體之間的管理接口。通過信息模型,信息管理能 夠配置平臺實(shí)體,并獲得配置的平臺的運(yùn)行時狀態(tài)。系統(tǒng)管理也能夠發(fā)布在被管理對象上 的管理操作以執(zhí)行表示的平臺實(shí)體的管理控制。

      【發(fā)明內(nèi)容】

      [0006]一種方法在虛擬機(jī)系統(tǒng)中被實(shí)現(xiàn)以針對硬件元件(HE)的故障進(jìn)行保護(hù)。HE要主 管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS)。每個VMM管理一個或多個VM,并且 每個VM運(yùn)行OS之一。該方法包括以下步驟:基于虛擬機(jī)系統(tǒng)的信息模型,引導(dǎo)每個HE上 的VMM之一、一個或多個VM及每個VM上的OS之一。信息模型包括對象圖,所述對象圖通 過該圖的對象之間的父子關(guān)系來表示ffi、VMM、VM和OS之間配置的關(guān)系??煞直婷Q(DN) 被存儲在所述圖對象的每個對象中,并且所述對象中作為圖中另一對象之子的那些對象包 括其父對象的DN,由此識別所述圖的對象的父子關(guān)系。所述對象圖包括:表示虛擬機(jī)系統(tǒng) 的域?qū)ο?、表示并且是域?qū)ο笾拥腍E對象、各自表示VMM之一并且各自是HE對象之 一之子的VMM對象、各自表示VM之一的VM對象及各自表示OS之一并且各自是VM對象之 一之子或域?qū)ο笾拥腛S對象。一個或多個VM對象的集合屬于遷移使能的類型并且表示
      6CN 103502938 A



      2/11 頁
      所述VM中可在VMM之間遷移的那些VM,以及遷移使能的類型的VM對象是域?qū)ο笾佣?是VMM對象之子,使得它們的DN不隨著在VMM之間的遷移而更改。引導(dǎo)的步驟包括以下步 驟:為VM對象的所述集合表示的每個VM確定指示哪個VMM當(dāng)前要管理該VM的當(dāng)前管理關(guān) 系;以及更新VM對象的所述集合的每個VM對象以將確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān) 聯(lián)。該方法還包括以下步驟:基于運(yùn)行時關(guān)聯(lián),識別VM的所述集合的哪些VM由HE中的相 同主管并且因此易于受該相同HE的硬件故障的損害。
      [0007]—種計(jì)算機(jī)系統(tǒng)適用于針對虛擬機(jī)系統(tǒng)中硬件元件(HE)的故障進(jìn)行保護(hù)。HE要 主管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS)。每個VMM管理一個或多個VM,并 且每個VM運(yùn)行OS之一。該計(jì)算機(jī)系統(tǒng)包括:處理器,耦合到非暫時性計(jì)算機(jī)可讀存儲媒體, 所述非暫時性計(jì)算機(jī)可讀存儲媒體在其中已經(jīng)存儲了平臺管理(PLM)服務(wù)模塊,所述模塊 適用于:促使虛擬機(jī)系統(tǒng)基于信息模型,引導(dǎo)每個上的VMM之一、一個或多個VM及每個 VM上的OS之一。信息模型包括對象圖,所述對象圖通過在所述圖的對象之間的父子關(guān)系來 表在HE、VMM、VM和OS之間配置的關(guān)系??煞直婷Q(DN)被存儲在所述圖對象的每個對象 中,并且所述對象中作為圖中另一對象之子的那些對象包括其父對象的DN,由此識別所述 圖的對象的父子關(guān)系。所述對象圖包括:表示虛擬機(jī)系統(tǒng)的域?qū)ο?、表示HE并且是域?qū)ο?之子的對象、各自表示VMM之一并且各自是HE對象之一之子的VMM對象、各自表示VM 之一的VM對象及各自表示OS之一并且各自是VM對象之一之子或域?qū)ο笾拥腛S對象。 一個或多個VM對象的集合屬于遷移使能的類型并且表示所述VM中可在VMM之間遷移的那 些VM,以及遷移使能的類型的VM對象是域?qū)ο笾佣皇荲MM對象之子,使得它們的DN不 隨著在VMM之間的遷移而更改。PLM服務(wù)模塊還適用于:為VM對象的所述集合表示的每個 VM確定指示哪個VMM當(dāng)前要管理該VM的當(dāng)前管理關(guān)系;以及更新VM對象的所述集合的每 個VM對象以將確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān)聯(lián)。信息模型允許可用性管理模塊基 于運(yùn)行時關(guān)聯(lián),識別VM的所述集合的哪些VM由HE中的相同HE主管并且因此易于受該相 同HE的硬件故障的損害。
      [0008]一種非暫時性計(jì)算機(jī)可讀存儲媒體包括指令,所述指令在由計(jì)算機(jī)系統(tǒng)執(zhí)行時促 使計(jì)算機(jī)系統(tǒng)執(zhí)行用于針對硬件元件01E)的故障進(jìn)行保護(hù)的虛擬機(jī)系統(tǒng)的方法。要主 管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS)。每個VMM管理一個或多個VM,并且 每個VM運(yùn)行OS之一。所述方法包括以下步驟:基于虛擬機(jī)系統(tǒng)的信息模型,引導(dǎo)每個HE 上的VMM之一、一個或多個VM及在每個VM上的OS之一。信息模型包括對象圖,所述對象 圖通過所述圖的對象之間的父子關(guān)系來表示HE、VMM、VM和OS之間配置的關(guān)系??煞直婷?稱(DN)被存儲在所述圖對象的每個對象中,并且所述對象中作為所述圖中另一對象之子 的那些對象包括其父對象的DN,由此識別所述圖的對象的父子關(guān)系。所述對象圖包括:表 示虛擬機(jī)系統(tǒng)的域?qū)ο蟆⒈硎綡E并且是域?qū)ο笾拥腍E對象、各自表示VMM之一并且各自 是HE對象之一之子的VMM對象、各自表示VM之一的VM對象及各自表示OS之一并且各自 是VM對象之一之子或域?qū)ο笾拥腛S對象。一個或多個VM對象的集合屬于遷移使能的 類型并且表示所述VM中可在VMM之間遷移的那些VM,以及遷移使能的類型的VM對象是域 對象之子而不是VMM對象之子,使得它們的DN不隨著在VMM之間的遷移而更改。引導(dǎo)的步 驟包括以下步驟:為VM對象的所述集合表示的每個VM確定指示哪個VMM當(dāng)前要管理該VM 的當(dāng)前管理關(guān)系;以及更新VM對象的所述集合的每個VM對象以將確定的當(dāng)前管理關(guān)系反
      7CN 103502938 A



      3/11 頁
      映為運(yùn)行時關(guān)聯(lián)。該方法還包括以下步驟:基于運(yùn)行時關(guān)聯(lián),識別VM的所述集合的哪些VM 由中的相同HE主管并且因此易于受該相同HE的硬件故障的損害。
      【專利附圖】

      【附圖說明】
      [0009]本發(fā)明通過示例且非限制的方式示出,并且在結(jié)合圖形考慮時參照以下詳細(xì)描述 能夠被更全面地理解,其中:
      圖I是根據(jù)現(xiàn)有技術(shù)使用平臺管理(PLM)服務(wù)的高可用(HA)系統(tǒng)的示意圖;
      圖2示出其中可實(shí)現(xiàn)本發(fā)明的實(shí)施例的虛擬機(jī)系統(tǒng)。
      [0010]圖3是根據(jù)本發(fā)明的實(shí)施例的表示帶有虛擬化支持的信息模型的統(tǒng)一建模語言 (UML)類圖。
      [0011]圖4是示出根據(jù)本發(fā)明的一個實(shí)施例的使用帶有虛擬化支持的信息模型的方法 的流程圖。
      [0012]圖5是根據(jù)本發(fā)明的實(shí)施例的帶有虛擬化支持的信息模型的初始PLM配置的示意 圖。
      [0013]圖6是示出根據(jù)本發(fā)明的實(shí)施例的基于帶有虛擬化支持的信息模型啟動虛擬機(jī) 系統(tǒng)的方法的流程圖。
      [0014]圖7是根據(jù)本發(fā)明的實(shí)施例的在虛擬機(jī)系統(tǒng)啟動時帶有虛擬化支持的信息模型 的示意圖。
      [0015]圖8是示出根據(jù)本發(fā)明的實(shí)施例的基于帶有虛擬化支持的信息模型遷移虛擬機(jī) (VM)的方法的流程圖。
      [0016]圖9是根據(jù)本發(fā)明的實(shí)施例的在VM遷移后帶有虛擬化支持的信息模型的示意圖。
      [0017]圖10示出根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的示范形式的機(jī)器的圖示。
      【具體實(shí)施方式】
      [0018]在下面的描述中,陳述了許多特定細(xì)節(jié)。然而,要理解的是,實(shí)踐本發(fā)明的實(shí)施例 可無需這些特定細(xì)節(jié)。在其它情況下,公知的電路、結(jié)構(gòu)和技術(shù)未詳細(xì)顯示以免混淆對此描 述的理解。然而,本領(lǐng)域的技術(shù)人員將領(lǐng)會到,可無需此類特定細(xì)節(jié)而實(shí)踐本發(fā)明。通過包 括的描述,本領(lǐng)域技術(shù)人員將能夠在不進(jìn)行不當(dāng)實(shí)驗(yàn)的情況下實(shí)現(xiàn)適當(dāng)?shù)墓δ苄浴?br> [0019]SA論壇開發(fā)的PLM規(guī)范未明確定義信息模型能夠如何用于表示虛擬機(jī)系統(tǒng) 中的平臺實(shí)體。在高可用虛擬機(jī)系統(tǒng)中,VM遷移經(jīng)常用作在冗余節(jié)點(diǎn)之間的故障轉(zhuǎn)移 (failover)或轉(zhuǎn)換機(jī)制,并且備選操作系統(tǒng)經(jīng)常用于回退情況或運(yùn)行診斷。當(dāng)前信息模型 未定義如何處理VM遷移,并且不允許表示在給定硬件元件或給定虛擬機(jī)上可引導(dǎo)的備選 操作系統(tǒng)。
      [0020]此外,根據(jù)PLM規(guī)范,通過遵循目錄輕量級目錄訪問協(xié)議(LDAP)命名慣例(如RFC 4510中指定的)的對象名稱識別信息模型中的每個對象。也就是說,對象的名稱是對象的相 對可分辨名稱(RDN)加上跟隨的信息模型中其父對象的可分辨名稱(DN)。如果VM對象(表 示VM)是信息模型中VMM對象(表示VMM)之子,則VM在VMM之間的遷移將更改VM對象之 父,并且因此也更改VM對象的對象名稱。對象名稱的更改違反信息模型的基本要求之一, 因?yàn)槿绻麑ο笤谶\(yùn)行時期間更改其名稱,則系統(tǒng)管理將不能跟蹤對象的狀態(tài)。如果配置成
      8映射在特定EE (表示VM中執(zhí)行的OS)上的相關(guān)實(shí)體(例如,集群成員關(guān)系節(jié)點(diǎn))進(jìn)行名稱更改,則系統(tǒng)管理將也需要進(jìn)行配置更改,這比它所需要的更具破壞性得多。
      [0021]本發(fā)明的實(shí)施例提供用于支持平臺管理(PLM)信息模型中虛擬化的方法和系統(tǒng)。 根據(jù)本發(fā)明的實(shí)施例,帶有虛擬化支持的信息模型包括執(zhí)行環(huán)境(EE)類,如PlmVMM類、 PlmVM類和PlmOS類。作為PLM域之子的VM對象(PlmVM類的實(shí)例)具有在對應(yīng)VM遷移時不更改的名稱。VM對象也具有運(yùn)行時屬性,該屬性指示對應(yīng)VM當(dāng)前在運(yùn)行時在何處被主管。在一個實(shí)施例中,運(yùn)行時屬性識別當(dāng)前在管理VM的VMM。表示管理VMM的VMM對象包含允許系統(tǒng)管理確定哪個硬件元件(HE)在主管管理VMM的信息。因此,在HE與VM之間的映射能夠在任何給定時間被確定,而不考慮VM遷移。哪個HE主管哪些VM的信息有助于可用性管理(例如,如在AvaiIabiIity Forum: Overview (SAI-Overview-B. 05. 03, 2010年2月)中所述的可用性管理框架(AMF)),因?yàn)樗试S評估HE故障或終止的影響。例如,如果冗余軟件實(shí)體由相同件的硬件來主管,則任何硬件故障可禁用所有軟件實(shí)體。因此,信息模型能夠用于評定虛擬機(jī)系統(tǒng)的易損性并且針對硬件故障來保護(hù)軟件實(shí)體。
      [0022]如在本發(fā)明的某些實(shí)施例中使用的帶有虛擬化支持的信息模型允許在PlmVMM 類、PlmVM類和PlmOS類的對象之間相對于其屬性、關(guān)系和管理操作進(jìn)行區(qū)分。例如,在一個實(shí)施例中,遷移操作只適用于VM對象并且不適用于其它EE對象。VM要遷移時,VM要遷移到的目標(biāo)VMM能夠基于配置偏好來確定,或者可選的是,能夠是由遷移操作指定的特定目標(biāo)VMM。作為另一示例,OS實(shí)例不處理其它EE對象的生命周期,而VMM能夠自行終止或者被要求終止其主管的VM之一。能夠使用PlmOS類作為示例進(jìn)一步解釋功 能分離。PlmOS類具有獨(dú)立OS的功能性,并且無其它功能性。相應(yīng)地,PlmOS類能夠主管應(yīng)用,但不管理在VM 中封裝的其它OS實(shí)例(像VMM將做的一樣)。因此,不能將PlmVM實(shí)例作為子而附連到PlmOS 實(shí)例,不能要求PlmOS實(shí)例將PlmVM實(shí)例遷移到他處或者PlmOS實(shí)例自行遷移。這些操作均不受支持。PlmOS實(shí)例只能自行停止和重新啟動。此功能分離實(shí)行信息模型的正確結(jié)構(gòu)化,并且允許系統(tǒng)管理應(yīng)用正確操作。由于此功能分離,如果給定OS (例如,Solaris)能夠執(zhí)行所有以下操作:管理其它OS實(shí)例,主管應(yīng)用等,則此OS需要被映射到多個EE對象,每個支持的功能性一個對象。例如,Solaris分割區(qū)0將同時映射到PlmVMM實(shí)例、PlmVM實(shí)例和PlmOS實(shí)例中。其它Solaris分割區(qū)可映射到PlmVM實(shí)例和PlmOS實(shí)例。雖然PLM實(shí)現(xiàn)需要知道這些映射,但系統(tǒng)管理只需要知道如果它具有PlmOS實(shí)例,則它只能夠開始、停止和重新引導(dǎo)OS (由PlmOS實(shí)例表示)。如果PlmVM實(shí)例也存在,則PlmOS實(shí)例能夠由PlmVM 實(shí)例強(qiáng)制停止而不影響其它VM。因此,功能分離正確地表示可用管理操作,并且去除相對于哪些特定OS、VM或VMM在系統(tǒng)下運(yùn)行的猜測工作。
      [0023]除上面解釋的功能分離外,帶有虛擬化支持的信息模型也提供語義分離。信息模型允許為不同EE類之間類似的父子關(guān)系使用不同語義。即,統(tǒng)一建模語言(UML)圖中合成關(guān)系的解釋取決于父對象類。例如,如果VMM和多個VM處于合成關(guān)系,則這意味著VMM主管所有VM,并且VM能夠在系統(tǒng)中同時存在。然而,如果VM和OS的集合處于類似的合成關(guān)系,則OS是能夠在VM上引導(dǎo)的備選OS。此外,HE和OS (或VMM)的集合也能夠處于類似的合成關(guān)系,這意味著OS (或VMM)的集合是能夠在HE上引導(dǎo)的備選OS (或VMM)。
      [0024]圖2示出虛擬機(jī)系統(tǒng)200的一實(shí)施例,其中部署了平臺管理(PLM)服務(wù)模塊250 以管理虛擬機(jī)系統(tǒng)200的平臺實(shí)體。虛擬機(jī)系統(tǒng)200包括多個服務(wù)器計(jì)算機(jī)215,每個服務(wù)
      9CN 103502938 A



      5/11 頁
      器計(jì)算機(jī)主管一個或多個虛擬機(jī)(VM) 230。每個VM 230運(yùn)行可以相互相同或不同的客戶 操作系統(tǒng)(OS) 240。計(jì)算機(jī)系統(tǒng)100也包括VM監(jiān)視器(VMM) 225 (也稱為超級監(jiān)視者), 監(jiān)視器虛擬化用于VM 230的底層硬件平臺(例如,服務(wù)器計(jì)算機(jī)215的處理器、存儲器、I/ 0等)。
      [0025]在一個實(shí)施例中,虛擬機(jī)系統(tǒng)200具有網(wǎng)絡(luò)260的接入權(quán)。網(wǎng)絡(luò)260可以是私有 網(wǎng)絡(luò)(例如,局域網(wǎng)(LAN)、寬域網(wǎng)(WAN)、內(nèi)部網(wǎng)等)或公共網(wǎng)絡(luò)(例如,因特網(wǎng))。
      [0026]在圖2的實(shí)施例中,主管VM 230的服務(wù)器計(jì)算機(jī)215之一也主管PLM服務(wù)模塊 250和可用性管理模塊251。在一備選實(shí)施例,PLM服務(wù)模塊250和可用性管理模塊251可 位于不主管任何VM 230的一個或多個服務(wù)器計(jì)算機(jī)215。在仍有的另一實(shí)施例中,PLM服 務(wù)模塊250和可用性管理模塊251可位于不同服務(wù)器計(jì)算機(jī)215上。此外,在圖2的實(shí)施 例中,PLM服務(wù)模塊250是主機(jī)OS 220的一部分。在一備選實(shí)施例中,PLM服務(wù)模塊250可 以是在一個或多個VM 230上運(yùn)行的一個或多個客戶OS 240的一部分。在一些實(shí)施例中, PLM服務(wù)模塊250和可用性管理模塊251可分布于多個實(shí)體。
      [0027]根據(jù)本發(fā)明的一實(shí)施例,PLM服務(wù)模塊250維護(hù)信息模型280。信息模型280包括 多個對象,這些對象定義平臺實(shí)體的配置,并且描述平臺實(shí)體的運(yùn)行時狀態(tài)。平臺實(shí)體可以 是硬件元件(HE)(例如,服務(wù)器計(jì)算機(jī)215)或執(zhí)行環(huán)境(EE)(例如,客戶OS 240、主機(jī)OS 220、VM 230 或 VMM 225)。
      [0028]在一個實(shí)施例中,初始配置可由系統(tǒng)管理員創(chuàng)建和存儲為信息模型280。在任何平 臺實(shí)體被完全引導(dǎo)并且變得完全運(yùn)轉(zhuǎn)之前,可創(chuàng)建初始配置(例如,一些平臺實(shí)體可被部分 引導(dǎo)以便PLM服務(wù)模塊250啟動和執(zhí)行操作)。稍后在虛擬機(jī)系統(tǒng)200的啟動時間,PLM服 務(wù)模塊250讀取信息模型280的初始配置。基于初始配置,PLM服務(wù)模塊250引導(dǎo)虛擬機(jī) 系統(tǒng)200的適當(dāng)平臺實(shí)體(VMM 225,VM 23-和OS 220與240),并且更新信息模型280以包 括運(yùn)行時關(guān)聯(lián)。運(yùn)行時關(guān)聯(lián)指示哪些VMM 225在管理哪些VM 230。從信息模型280中,可 用性管理模塊251能夠在運(yùn)行時期間的任何給定點(diǎn)識別哪些VM 240和在這些VM 230上運(yùn) 行的軟件(例如,OS 240)由相同HE來主管,并且因此易受該HE的硬件故障的損害。
      [0029]圖3是用于虛擬機(jī)系統(tǒng)的信息模型的類圖的統(tǒng)一建模語言(UML)表不的一實(shí)施 例。信息模型擴(kuò)展標(biāo)準(zhǔn)EE類(例如,SaPlmEE類350)以包括專用EE類,如PlmVMM類360、 PlmVM類370和PlmOS類380。HE對象、VMM對象、VM對象和OS對象分別是SaPlmHE類355、 PlmVMM類360、PlmVM類370和PlmOS類380的實(shí)例。HE對象、VMM對象、VM對象和OS對 象中的每個對象是虛擬機(jī)系統(tǒng)中分別表示HE、VMM、VM和OS的“平臺實(shí)體對象”。這些對象 形成父子關(guān)系的樹,樹的根是域?qū)ο?類SaPlmDomain 300的實(shí)例)。(圖2的)PLM服務(wù)模 塊250從初始配置中讀取HE對象、VMM對象、VM對象和OS對象。PLM服務(wù)模塊250通過硬 件平臺接口(HPI,如 SferFice A vai Iabi Ii ty Forum: Overview (SAI-Overview-B. 05. 03, 2010年2月)中所述的)發(fā)現(xiàn)的硬件映射HE對象,基于此,它通過適當(dāng)?shù)倪\(yùn)行時屬性更新信 息模型。PLM服務(wù)模塊250隨后如VMM對象、VM對象和OS對象所述啟動EE實(shí)體,或者驗(yàn) 證自動啟動的EE實(shí)體它們符合信息模型。如果PLM服務(wù)模塊250檢測到某個部分與信息 模型不同,則它將嘗試糾正差別(例如,通過重新引導(dǎo)或其它糾正措施)。如果PLM服務(wù)模塊 250檢測到某個部分不起作用,則它將嘗試隔離故障實(shí)體,并且更新信息模型以反映當(dāng)前運(yùn) 行時狀態(tài)(例如,如果有任何備選OS,則PLM服務(wù)模塊250可引導(dǎo)備選OS替代故障OS以便
      10CN 103502938 A



      6/11 頁
      運(yùn)行例如診斷)。
      [0030]在一個實(shí)施例中,VM對象能夠歸類到遷移使能的類型和靜態(tài)類型中。遷移使能的 類型和VM對象(“遷移使能的VM對象”)表示可從一個VMM遷移到另一 VMM的VM。靜態(tài)類型 的VM對象(“靜態(tài)VM對象”)表示不能遷移的VM。VM對象是否為遷移使能的取決于樹中的 哪個對象是該VM對象之父。在一個實(shí)施例中,定義了(由鏈接335示出)遷移使能的平臺實(shí) 體對象(例如,遷移使能的VM對象)之父是域?qū)ο?。也定義了(由鏈接330示出)靜態(tài)VM對 象之父是VMM對象。除非另有指定,否則術(shù)語“子”指是其“父”的直接后代的對象;也就是 說,子與父對象之間不存在其它對象。樹中對象之間父子關(guān)系存儲在系統(tǒng)的初始配置中,并 且通過對象的可分辨名稱(DN)表明。在虛擬機(jī)系統(tǒng)啟動時間,在遷移使能的VM對象與VMM 對象之間創(chuàng)建運(yùn)行時關(guān)聯(lián)(由鏈接320示出),指示哪個VMM當(dāng)前在管理遷移使能的VM對象 表示的VM。運(yùn)行時關(guān)聯(lián)也能夠?yàn)殪o態(tài)VM對象創(chuàng)建以顯示其管理VMM。因此,信息模型不但 表示基于DN的樹結(jié)構(gòu),而且表示其它關(guān)聯(lián);并且因此這些一起形成了圖。運(yùn)行時關(guān)聯(lián)能夠 在運(yùn)行時期間的任何給定點(diǎn)進(jìn)行更新。在一個實(shí)施例中,運(yùn)行時關(guān)聯(lián)能夠記錄在每個VM對 象的currHostVMMs屬性371中,這指示哪個VMM當(dāng)前在管理VM對象表示的VM。在一些實(shí) 施例中,此運(yùn)行時關(guān)聯(lián)能夠定義為雙向關(guān)聯(lián),花前月下將在VMM對象中示為陣列屬性(其每 個元件表示與被管理VM之一的關(guān)聯(lián)),由此明確顯示由VMM管理的VM。
      [0031]在一個實(shí)施例中,從SaPlmHE 類 355、PlmVMM 類 360、PlmVM 類 370 和 PlmOS 類 380 創(chuàng)建的每個對象能夠通過對象名稱識別,對象名稱也是對象的可分辨名稱(DN)。對象名稱 包括對象的相對可分辨名稱(RDN)和對象之父的DN。遷移使能的VM對象(或通常的任何 平臺實(shí)體對象)需要駐留在其遷移的范圍的根部。例如,此類平臺實(shí)體可表示能夠在機(jī)箱 (chassis)內(nèi)四處移動但不能移到機(jī)箱外的熱交換板。因此,機(jī)箱將是這些板而不是機(jī)箱內(nèi) 的插槽之父。由于此類平臺實(shí)體對象是域?qū)ο?或遷移范圍對象)之子,因此,其對象名稱不 隨著遷移而更改。另一方面,由于靜態(tài)VM是VMM對象之子,因此,靜態(tài)VM對象的對象名稱 包括其父VMM對象的DN。如果靜態(tài)VM對象表示的VM遷移到不同的VMM,則靜誠VM對象的 對象名稱將更改。因此,在本發(fā)明的一些實(shí)施例中不允許此類遷移。
      [0032]父子關(guān)系也能夠在其它類(S卩,SaPlmHE類355、PlmVMM類360和PlmOS類380)的 對象之間定義。在一個實(shí)施例中,SaPlmDomain類300的域?qū)ο竽軌蚴侨魏蜨E對象(屬于 SaPlmHE類355)和EE對象(屬于SaPlmEE類350)之父。EE對象能夠是VMM對象、VM對象 和OS對象中的任何一項(xiàng)。除域?qū)ο笸?,某些?shí)施例允許僅HE對象作為VMM對象之父,以及 僅VMM對象作為VM對象之父。此外,除域?qū)ο笸?,HE對象或VM對象可作為OS對象之父。
      [0033]圖3的實(shí)施例還將標(biāo)準(zhǔn)SaPlmEE 350 - SaPlmEE 350關(guān)聯(lián)定義成以下兩種關(guān)聯(lián):
      (I)在VMM與VM之間,能夠(由鏈接330)指定同時在VMM中運(yùn)行的對等VM;及(2)在VM與 OS之間,也能夠(由鏈接340)指定用于VM的備選OS。
      [0034]圖3的實(shí)施例另外還將標(biāo)準(zhǔn)SaPlmHE 355 - SaPlmEE 350關(guān)聯(lián)改進(jìn)成以下兩種關(guān) 聯(lián):(1)在HE與VMM之間,能夠(由鏈接310)指定用于HE的備選VMM;及⑵在HE與OS之 間,也能夠(由鏈接345)指定用于HE的備選OS。
      [0035]在一個實(shí)施例中,能夠在給定HE上引導(dǎo)的這些備選VMM和OS每個指派有引導(dǎo)等 級。VMM的引導(dǎo)等級指定在給定HE上VMM的引導(dǎo)順序,并且OS的引導(dǎo)等級指定在給定VM (如果OS要在VM上運(yùn)行)或給定HE (如果OS要直接在HE上運(yùn)行)上OS的引導(dǎo)順序。引
      11CN 103502938 A



      7/11 頁
      導(dǎo)等級是在配置時間指派的配置屬性(用于VMM對象的bootRank屬性363和用于OS對象 的bootRank屬性381)。在一個實(shí)施例中,能夠在給定HE上引導(dǎo)的備選VMM被排序(例如, 引導(dǎo)等級=“1”、“2”、“3”等),并且這些引導(dǎo)等級形成單個有序列表。PLM服務(wù)模塊250選 擇在用于給定HE的備選VMM中具有最高引導(dǎo)等級(例如,“ I ”,它具有最低bootRank值,并 且在有序列表中排在第一)的VMM。如果帶有最高引導(dǎo)等級的VMM出現(xiàn)故障,則PLM服務(wù)模 塊250將嘗試從下一最高引導(dǎo)等級VMM (例如,“2”,它在有序列表中被排序緊鄰于第一)引 導(dǎo),并且自動運(yùn)行診斷。類似地,能夠在給定VM或給定HE上備選OS也被排序,并且這些引 導(dǎo)等級形成單一有序列表。PLM服務(wù)|旲塊250能夠選擇在備選OS中具有最聞引導(dǎo)等級的
      OS。如果帶有最高引導(dǎo)等級的OS出現(xiàn)故障,則PLM服務(wù)模塊250將嘗試從下一最高引導(dǎo)等 級OS引導(dǎo)并且自動運(yùn)行診斷。
      [0036]在一個實(shí)施例中,每個VMM對象能夠配置成包括maxNumVMs屬性362,該屬性定義 由VMM對象表示的VMM的容量(即,能夠由VMM主管的最大數(shù)量的VM)。在自動處理VM遷 移時,出現(xiàn)了容量的問題。VMM由于其自己和/或其主管HE的容量限制而不可主管無限數(shù) 量的VM。將大量VM遷移到一個VMM可導(dǎo)致VMM的資源耗盡,并且?guī)砥涑霈F(xiàn)故障的風(fēng)險。 因此,在多個VM需要被遷移時(例如,由于硬件故障,因此,所有主管的VM需要被移動),重 要的是并非所有VM遷移到相同VMM。maxNumVMs屬性362定義VMM能夠管理的最大數(shù)量的 VM0在一個實(shí)施例中,最大數(shù)量的VM包括可遷移的那些VM和不可遷移的那些VM。通過控制 maxNumVMs屬性362,PLM服務(wù)模塊250能夠控制系統(tǒng)中VM的分布。降低或增大maxNumVMs 屬性360的值反映了強(qiáng)加負(fù)載更改,并且允許VM的分布自動更改??刂芕M的分布能夠有益 于例如電源管理,其中,(及其VMM)支持小的工作負(fù)載,并且能夠關(guān)閉以騰出硬件裝置。
      [0037]在一個實(shí)施例中,每個VMM對象也包括等級(rank)屬性361,該屬性定義在系統(tǒng)中 所有VMM之間對應(yīng)VMM的等級。在PLM服務(wù)模塊250選擇VM要遷移到的目的VMM時,此等 級屬性361能夠在自動遷移中使用。在一個實(shí)施例中,VM將遷移到最高等級VMM (例如,由 具有等于“ I ”的等級屬性361的VMM對象表示的VMM),直至此VMM充滿其容量(maxNumVMs 屬性362所定義)。如果最高等級VMM已充滿其容量,則VM能夠遷移到下一最高等級VMM, 直至該VMM的容量也充滿。
      [0038]圖4是示出根據(jù)本發(fā)明的實(shí)施例,用于使用帶有虛擬化支持的信息模型管理虛擬 機(jī)系統(tǒng)的平臺實(shí)體的方法400的流程圖。方法400可由圖2的虛擬機(jī)系統(tǒng)200執(zhí)行,圖2 的每個服務(wù)器計(jì)算機(jī)215可具有圖10的計(jì)算機(jī)系統(tǒng)1000中示出的硬件,計(jì)算機(jī)系統(tǒng)可包 括硬件(例如,電路、專用邏輯、可編程邏輯、微代碼等)、軟件(例如,在處理裝置上運(yùn)行的指 令)或其組合。
      [0039]參照圖4,在一個實(shí)施例中,在虛擬機(jī)系統(tǒng)200基于虛擬機(jī)系統(tǒng)的信息模型引導(dǎo)每 個HE上的VMM之一、一個或多個VM及在每個VM上的OS之一時,方法400在虛擬機(jī)系統(tǒng)啟 動時間開始。虛擬機(jī)系統(tǒng)的信息模型包括對象圖,所述對象圖通過所述圖的對象之間的父 子關(guān)系來表示HE、VMM、VM與OS之間配置的關(guān)系??煞直婷Q(DN)被存儲在所述圖對象的 每個對象中,并且作為圖中另一對象之子的那些對象包括其父對象的DN,由此識別圖的對 象的父子關(guān)系。對象圖包括:1)表示虛擬機(jī)系統(tǒng)的域?qū)ο蟆?)表示HE并且是域?qū)ο笾拥?HE對象、3)各自表示VMM之一并且各自是HE對象之一之子的VMM對象、4)各自表示VM之 一的VM對象及5)各自表示OS之一并且各自是VM對象之一之子或域?qū)ο笾拥腛S對象。
      12CN 103502938 A



      8/11 頁
      一個或多個VM對象的集合屬于遷移使能的類型,并且表示可在VMM之間遷移的那些VM。遷 移使能的類型的VM對象是域?qū)ο笾?,而不是VMM對象之子,使得其DN不隨著在VMM之間 的遷移而更改(框410)。
      [0040]在引導(dǎo)(框410)時,虛擬機(jī)系統(tǒng)200還為VM對象的集合表示的每個VM確定指示 哪個VMM當(dāng)前要管理該VM的當(dāng)前管理關(guān)系(框420),以及更新VM對象的集合的每個VM對 象以將確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān)聯(lián)(框425)。
      [0041]在本發(fā)明的一個實(shí)施例中,虛擬機(jī)系統(tǒng)200 (例如,可用性管理模塊251)能夠基于 運(yùn)行時關(guān)聯(lián)識別哪些在主管哪些遷移使能的VM,并且在包括在靜態(tài)VM中運(yùn)行時關(guān)聯(lián)的 實(shí)施例中,基于運(yùn)行時關(guān)聯(lián)識別哪些HE在主管哪些靜態(tài)VM。因此,虛擬機(jī)系統(tǒng)200 (例如, 可用性管理模塊251)能夠確定哪些VM (遷移使能的和靜態(tài)的)由相同HE來主管,并且因 此易于受相同的硬件故障的損害(框430)。在本發(fā)明的備選實(shí)施例中,虛擬機(jī)系統(tǒng)200 (例如,可用性管理模塊251)只關(guān)注哪些遷移使能的VM在由相同HE來主管,并且因此易于 受相同的硬件故障的損害(框430)。
      [0042]圖5示出根據(jù)本發(fā)明的一個實(shí)施例的帶有虛擬化支持的信息模型的示例初始配 置。在此示例中,VMM對象表示VMM (VMMU VMM2和VMM3),HE對象表示HE (HEl和HE2), VM對象表示VM (VMl和VM2),以及OS對象表示OS (0S1、0S2和0S3)。為了討論的簡明, 這些對象每個具有相對可分辨名稱(RDN),該名稱也用于指該對象表示的平臺實(shí)體。例如, “0S1”是OS對象540的RDN,并且也用于指OS對象540表示的OS。在引導(dǎo)或激活虛擬機(jī)系 統(tǒng)中的任何平臺實(shí)體之前,創(chuàng)建初始配置。
      [0043]在此初始配置中,VMMl配置成在HE I上被主管。VMM2和VMM3是配置成在HE2上主 管的備選VMM,但在任何給定時間只能主管其中之一。HE2應(yīng)主管VMM2還是VMM3能夠在虛 擬機(jī)系統(tǒng)啟動時間從表示VMM2和VMM3的VMM對象的bootRank屬性值確定。兩個VM(VM1 和VM2)是遷移使能的,因?yàn)樗鼈儗?yīng)的VM對象配置成是PLM域的域?qū)ο?10之子。VMl配 置成引導(dǎo)OSl,并且VM2配置成引導(dǎo)0S2或0S3。VM2應(yīng)弓I導(dǎo)0S2還是0S3能夠在虛擬機(jī)系 統(tǒng)啟動時間從表示0S2和0S3的OS對象的bootRank屬性值確定。在配置中,VMl和VM2與 任何VMM無關(guān)聯(lián)。HE對象的運(yùn)行時屬性(saPlmHEPresenceState)顯示無HE在活動狀態(tài), 并且因此,無EE (S卩,VMM、VM、OS)在此點(diǎn)能夠被實(shí)例化。對象在對象表示的平臺實(shí)體被引 導(dǎo)時被實(shí)例化。
      [0044]在此救命列中,在初始配置中的每個對象能夠通過對象名稱識別,對象名稱也是 對象的DN。如上參照圖3所述,對象的DN是對象的RDN加上跟隨的其父對象的DN。例如,OS 對象540的DN是DN = 0S1. VMl. PLM,這是其RDN “0S1 ”加上跟隨的其父的DN “VM1. PLM”。 父的DN (例如,“VM1. PLM")指示該對象的血統(tǒng)(世系)。域?qū)ο?10能夠通過DN = PLM來 識別。具有J1E2的RDN并且是域?qū)ο?10之子的HE對象550能夠通過DN = HE2. PLM來識 別。具有VMM3的RDN并且是HE對象550之子的VMM對象520能夠通過DN = VMM3. HE2. PLM來識別。具有VMl的RDN并且是域?qū)ο?10之子的VM對象530能夠通過DN = VMl. PLM 來識別。由于VM對象530是域?qū)ο?10之子,并且VM對象屬于遷移使能的類型,并且表示 可遷移的VM。
      [0045]圖6是示出根據(jù)本發(fā)明的實(shí)施例的基于帶有虛擬化支持的信息模型啟動虛擬機(jī) 系統(tǒng)的方法的流程圖。方法600可由圖2的PLM服務(wù)器模塊250執(zhí)行,該模塊由圖10的
      13CN 103502938 A



      9/11 頁
      計(jì)算機(jī)系統(tǒng)1000執(zhí)行,計(jì)算機(jī)系統(tǒng)可包括硬件(例如,電路、專用邏輯、可編程邏輯、微代碼 等)、軟件(例如,在處理裝置上運(yùn)行的指令)或其組合。
      [0046]參照圖6,在一個實(shí)施例中,方法600在PLM服務(wù)模塊250接收啟動虛擬機(jī)系統(tǒng)的 請求(例如,來自系統(tǒng)管理)時開始(框610)。PLM服務(wù)模塊250的響應(yīng)是激活HE (框620), 并且促使每個基于VMM的引導(dǎo)等級和初始配置來引導(dǎo)VMM (框630)。例如,HEl引導(dǎo) VMMl,因?yàn)镠El只有一個配置的VMM。HE2使用兩個配置的VMM (VMM2和VMM3)的bootRank 屬性確定要引導(dǎo)哪個VMM。由于VMM2具有比VMM3更高的引導(dǎo)等級(S卩,bootRank屬性的更 低值),因此,選擇在J1E2上引導(dǎo)VMM2。
      [0047]隨后,PLM服務(wù)模塊250確定在已引導(dǎo)的VMM上VM的分布(框640 ),例如,在VMM2 上的VMl和在VMMl上的VM2。確定可基于每個VMM的容量或受其限制(例如,VMM對象的 maxNumVMs屬性)。PLM服務(wù)模塊250隨后促使VMM根據(jù)確定的分布引導(dǎo)其VM(框650)。隨 后,每個VM基于OS的引導(dǎo)等級和初始配置來引導(dǎo)OS (框660);例如,VMl引導(dǎo)0S1,因?yàn)?VMl只有一個配置的OS。VM2引導(dǎo)0S2而不是0S3,因?yàn)?S2具有比0S3更高的引導(dǎo)等級 (SP,bootRank屬性的更低值)。在一種情況中,引導(dǎo)0S2的嘗試失敗。因此,VM2轉(zhuǎn)而引導(dǎo) 0S3。在VMM、VM和OS的引導(dǎo)后,PLM服務(wù)模塊250更新信息模型以反映對應(yīng)對象的當(dāng)前狀 態(tài)。具體而言,在管理VMM的VMM對象與VMl和VM2的遷移使能的類型VM對象之間形成運(yùn) 行時關(guān)聯(lián)。在一個實(shí)施例中,運(yùn)行時關(guān)聯(lián)由VMl和VM2的運(yùn)行時屬性“currHostVMM”提供, 該屬性分別被賦予“VMM2”和“VMM1 ”的值。
      [0048]在一個實(shí)施例中,框630-660的操作是圖4的框410中所示操作的一部分,并且包 括在圖4的框410中未描述的另外細(xì)節(jié)。在一個實(shí)施例中,在框630-660的操作后,方法 600繼續(xù)到圖4的框430。
      [0049]圖7示出根據(jù)本發(fā)明的一個實(shí)施例的在虛擬機(jī)系統(tǒng)啟動后具有圖5的初始配置的 信息模型的示例。在此信息模型中,HEl和HE2均在活動存在狀態(tài)。VMMl和VMM已被實(shí)例 化(在VMMl和VMM2分別在HEl和HE2上已引導(dǎo)時),而VMM3保持未實(shí)例化。VMl和VM2均 被實(shí)例化,指示VMl由VMM2管理,并且VM2由VMMl管理。VM對象的實(shí)例化不更改其父關(guān) 聯(lián),也不更改其對象名稱(如從對象520-550的DN能夠看到的)。OSl和0S3已被實(shí)例化,指 示OSl在VMl上運(yùn)行,并且0S3在VM2上運(yùn)行。0S2被禁用并且保持未實(shí)例化。
      [0050]圖7的信息模型允許系統(tǒng)管理了解VM如何與不同VMM及其主管HE相關(guān)聯(lián)。信息 模型指示即使之一出現(xiàn)故障,另一 HE還能夠提供所需服務(wù)。因此,在OSl和0S3上運(yùn)行 的冗余實(shí)體針對硬件故障而受到保護(hù)。
      [0051]圖8是示出根據(jù)本發(fā)明的一個實(shí)施例的基于帶有虛擬化支持的信息模型遷移VM 的方法800的流程圖。方法800可由圖2的PLM服務(wù)器模塊250執(zhí)行,該模塊使用當(dāng)前信 息模型(例如,如果此遷移是自虛擬機(jī)系統(tǒng)啟動以來的第一次,則這將是圖7的信息模塊)并 且由圖10的計(jì)算機(jī)系統(tǒng)1000執(zhí)行,計(jì)算機(jī)系統(tǒng)可包括硬件(例如,電路、專用邏輯、可編程 邏輯、微代碼等)、軟件(例如,在處理裝置上運(yùn)行的指令)或其組合。
      [0052]參照圖8,在一個實(shí)施例中,方法800在PLM服務(wù)模塊250接收將VMl從VMM2遷 移到不同VMM的觸發(fā)時開始(框810)。觸發(fā)VM的遷移有多種原因。例如,觸發(fā)可在系統(tǒng)中 有更輕負(fù)載時被接收,并且負(fù)載能夠集中在更少的VMM和HE上,使得其它VMM和HE能夠被 關(guān)閉以便節(jié)能。在系統(tǒng)中的負(fù)載增大到高于閾值并且過載變成問題時,可再次遷移VM。此
      14CN 103502938 A



      10/11 頁
      時,能夠先將一個或多個開啟,并且隨后能夠?qū)M遷移到那些HE。VM遷移也能夠由于 維護(hù)而被啟動:例如,管理員(或等效者)可能想關(guān)閉一些以便能夠更換它們。在一些系 統(tǒng)中,遷移能夠由故障轉(zhuǎn)移造成(例如,在一個出現(xiàn)故障,并且在故障上運(yùn)行的VM被 遷移到另一 時)。在一個實(shí)施例中,能夠基于VMM等級做出關(guān)閉哪個HE的選擇。在圖7 的示例中,由于VMMl是優(yōu)選的(具有比VMM3更高的等級),因此,其主機(jī)HEl保持在活動狀 態(tài),并且HE2要被關(guān)閉。關(guān)閉HE2意味著VMM2將隨HE2 —起關(guān)閉。因此,VMl需要遷移到 VMMl以允許OSl繼續(xù)在VMl內(nèi)運(yùn)行。同時,VM2及其0S3也保持在VMMl上運(yùn)行。
      [0053]在一備選實(shí)施例中,能夠基于HE對象的等級做出關(guān)閉哪個HE的選擇。在此備選 實(shí)施例中,每個HE對象具有指示在系統(tǒng)中所有HE之間其等級的等級屬性。可基于HE的硬 件故障指派等級(例如,功耗、可靠性等)。
      [0054]在一個實(shí)施例中,PLM服務(wù)模塊250基于VMM對象的等級屬性自動選擇優(yōu)選VMM (框820)。例如,優(yōu)選VMM可以是尚未超過其maxNumVMs容量的所有實(shí)例化的VMM中最高等 級的VMM。在一備選實(shí)施例中,觸發(fā)可指示VMl應(yīng)遷移到的目標(biāo)VMM。一旦目標(biāo)VMM(例如, VMMl)被確定,PLM服務(wù)模塊250便命令VMl從其當(dāng)前VMM2遷移到目標(biāo)VMM (框830)。在 遷移后,假設(shè)VMM2未管理需要或能夠遷移的任何其它VM,則基于圖7的啟動信息模型,停止 VMM2 (框840),并且停用(inactivate) HE2 (其主管VMM2)(框850)。在VMM2當(dāng)前仍在管 理其它VM的備選實(shí)施例中,VMl的遷移不造成VMM2停止和HE2被停用。PLM服務(wù)50隨后 更新信息模型以顯示如圖9所示遷移后的狀態(tài)(框860)。
      [0055]圖9示出根據(jù)本發(fā)明的一個實(shí)施例的在VM遷移后信息模型的示例。在此信息模 型中,HEl保持在活動存在狀態(tài),而HE2已變成不活動狀態(tài)。VMMl保持實(shí)例化,但VMM2和 VMM3均未被實(shí)例化。VMl和VM2均由VMMl主管。OSl在VMl中被實(shí)例化,并且0S3保持在 VM2中被實(shí)例化。
      [0056]應(yīng)注意的是,VMl的遷移不更改其父關(guān)聯(lián),并且因此VM對象530的對象名稱 (’VM1.PLM’)保持與遷移前相同。信息模型中的其它對象其對象名稱均沒有任何更改。由 于OSl和0S3均由HEl主管,因此,HEl變成單點(diǎn)故障。因此,在OSl和0S3上運(yùn)行的冗余 軟件實(shí)體不再安全,因?yàn)樗鼈儧]有針對HEl的硬件故障受到保護(hù)。在發(fā)現(xiàn)冗余軟件實(shí)體由 相同HE主管時,不同實(shí)施例可執(zhí)行不同動作。例如,此信息可向管理員顯示以決定它們是 否要再次遷移VM以避免單點(diǎn)故障。管理員可能需要權(quán)衡什么更昂貴:通過關(guān)閉HE能夠節(jié) 省的功率或故障能夠造成的損壞。作為另一示例,圖2的可用性管理模塊251可自動決定 重新分發(fā)備用指派以避免單點(diǎn)故障,例如,通過自動選擇不同VMM作為用于在運(yùn)行冗余軟 件實(shí)體的VM的遷移目的地。在一個實(shí)施例中,遷移能夠從在PLM級使用管理操作的更高級 (例如,外部“電源管理器”模塊或服務(wù))觸發(fā)。此更高級服務(wù)能夠使用信息模型中的等級來 指定適當(dāng)?shù)腣MM作為遷移目的地。如本發(fā)明的實(shí)施例提供的類之間的功能分離允許寫入此 類服務(wù)。
      [0057]圖10示出計(jì)算機(jī)系統(tǒng)1000的示范形式的機(jī)器的圖示,該系統(tǒng)內(nèi)可執(zhí)行用于促使 機(jī)器執(zhí)行本文中討論的任何一種或多種方法的指令集。計(jì)算機(jī)系統(tǒng)1000可以是服務(wù)器計(jì) 算機(jī)或任何機(jī)器,機(jī)器能夠(按順序或以其它方式)執(zhí)行指定要由該機(jī)器采取的動作的指令 集。此外,雖然只示出單個機(jī)器,但術(shù)語“機(jī)器”也應(yīng)視為包括單獨(dú)或聯(lián)合執(zhí)行指令集(或多 個指令集)以執(zhí)行本文中所述的任何一個或多個方法的任何機(jī)器(例如,計(jì)算機(jī))的匯集。在
      15CN 103502938 A



      li/ii 頁
      一個實(shí)施例中,計(jì)算機(jī)系統(tǒng)1000表示圖2的服務(wù)器計(jì)算機(jī)215之一。在一個實(shí)施例中,圖 2的虛擬機(jī)系統(tǒng)200中的每個服務(wù)器計(jì)算機(jī)215能夠由計(jì)算機(jī)系統(tǒng)1000表示,但一些計(jì)算 機(jī)系統(tǒng)1000可不執(zhí)行圖2的PLM服務(wù)模塊250的功能,并且因此可不存儲PLM邏輯1022。
      [0058]示范計(jì)算機(jī)系統(tǒng)1000包括耦合到諸如以下所示計(jì)算機(jī)可讀存儲媒體的處理裝 置1002 :主存儲器1004 (例如,只讀存儲器(ROM)、閃存存儲器、諸如同步DRAM (SDRAM)或 Rambus DRAM (RDRAM)等動態(tài)隨機(jī)存取存儲器(DRAM)等)、靜態(tài)存儲器1006 (例如,閃存存 儲器、靜態(tài)隨機(jī)存取存儲器(SRAM)等)及副存儲器1018 (例如,數(shù)據(jù)存儲裝置),這些存儲器 經(jīng)總線1030相互進(jìn)行通信。計(jì)算機(jī)可讀存儲媒體也可包括任何類型的盤(包括軟盤、光盤、 CD-ROM和磁光盤)、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、EPROM、EPROM、EEPR0M、磁盤 存儲媒體、光存儲媒體、閃存存儲器裝置或適合用于存儲電子指令的任何類型的媒體。
      [0059]處理裝置1002表示一個或多個通用處理裝置,如微處理器、中央處理單元(CPU)、 多核系統(tǒng)或諸如此類。更具體地說,處理裝置1002可以是復(fù)雜指令集計(jì)算(CISC)微處理 器、精簡指令集計(jì)算(RISC)微處理器、超長指令字(VLIW)微處理器、實(shí)現(xiàn)其它指令集的處 理器或?qū)崿F(xiàn)指令集的組合的處理器。處理裝置1002也可以是一個或多個專用處理裝置,如 專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)、網(wǎng)絡(luò)處理器或諸 如此類。在一個實(shí)施例中,處理裝置1002適用于執(zhí)行PLM邏輯1022以便執(zhí)行圖2的PLM 服務(wù)模塊250的操作和步驟。在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)1000的處理裝置1002適用于 執(zhí)行圖2的虛擬機(jī)系統(tǒng)200的操作和步驟。
      [0060]計(jì)算機(jī)系統(tǒng)1000可還包括網(wǎng)絡(luò)接口裝置1008。計(jì)算機(jī)系統(tǒng)1000也可包括視頻顯 示單元1010 (例如,液晶顯示器(IXD)或陰極射線管(CRT))、字母數(shù)字輸入裝置1012 (例 如,鍵盤)、光標(biāo)控制裝置1014 (例如,鼠標(biāo))和信號生成裝置1016 (例如,揚(yáng)聲器)。
      [0061]在一個實(shí)施例中,PLM邏輯1022可存儲在副存儲器1018和/或靜態(tài)存儲器1066 的非暫時性計(jì)算機(jī)可讀存儲媒體中。PLM邏輯1022也可在其由計(jì)算機(jī)系統(tǒng)1000執(zhí)行期間 完全或至少部分駐留在主存儲器1004內(nèi)和/或處理裝置1002內(nèi)。
      [0062]在一個實(shí)施例中,圖2的信息模型280也可存儲在一個或多個計(jì)算機(jī)系統(tǒng)1000的 處理裝置1002、主存儲器1004、靜態(tài)存儲器1006和副存儲器1018任何一項(xiàng)中的非暫時性 計(jì)算機(jī)可讀存儲媒體中。信息模型280和PLM邏輯1022可存儲在相同計(jì)算機(jī)系統(tǒng)1000中 或者在不同計(jì)算機(jī)系統(tǒng)1000上。
      [0063]在一個實(shí)施例中,用于實(shí)現(xiàn)圖2的可用性管理模塊251的邏輯也可存儲在一個或 多個計(jì)算機(jī)系統(tǒng)1000的處理裝置1002、主存儲器1004、靜態(tài)存儲器1006和副存儲器1018 任何一項(xiàng)中的非暫時性計(jì)算機(jī)可讀存儲媒體中。用于實(shí)現(xiàn)可用性管理模塊251的邏輯和 PLM邏輯1022可存儲在相同計(jì)算機(jī)系統(tǒng)1000中或者在不同計(jì)算機(jī)系統(tǒng)1000上。
      [0064]術(shù)語“計(jì)算機(jī)可讀存儲媒體”應(yīng)用于包括存儲一個或多個指令集的單個媒體或多 個媒體(例如,集中或分布式數(shù)據(jù)庫和/或相關(guān)聯(lián)緩存和服務(wù)器)。
      [0065]要理解,上述描述旨在是說明性的而不是限制性的。在閱讀和理解上述描述后,本 領(lǐng)域的技術(shù)人員將明白許多其它實(shí)施例。雖然本發(fā)明已參照特定示范實(shí)施例進(jìn)行描述,但將 認(rèn)識到,本發(fā)明不限于所述實(shí)施例,而是能夠通過隨附權(quán)利要求的精神和范圍內(nèi)的修改和變 化來實(shí)踐。相應(yīng)地,要在說明性意義中而不是限制性意義中來看待說明書和附圖。因此,本發(fā) 明的范圍應(yīng)參照所附權(quán)利要求以及此類權(quán)利要求被授權(quán)的等同物的完全范圍來確定。
      16
      【權(quán)利要求】
      1.一種在虛擬機(jī)系統(tǒng)中為了針對硬件元件(HE)的故障進(jìn)行保護(hù)而實(shí)現(xiàn)的方法,所述 HE主管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS),所述VMM的每個VMM管理所述 VM中的一個或多個,并且所述VM的每個VM運(yùn)行所述OS之一,所述方法包括以下步驟:-基于所述虛擬機(jī)系統(tǒng)的信息模型,引導(dǎo)所述的每個HE上的所述VMM之一、所述VM 的一個或多個以及所述VM的每個VM上的所述OS之一,其中所述信息模型包括對象圖,所述對象圖通過所述圖的對象之間的父子關(guān)系來表示所述HE、VMM、VM和OS之間配置的關(guān)系, 其中可分辨名稱(DN)被存儲在所述圖的對象的每個對象中,并且所述對象中作為所述圖中另一對象之子的那些對象包括其父對象的DN,由此識別所述圖的對象的父子關(guān)系,其中所述對象圖包括:-表示所述虛擬機(jī)系統(tǒng)的域?qū)ο螅?表示所述并且是所述域?qū)ο笾拥腍E對象,-各自表示所述VMM之一并且各自是所述HE對象之一之子的VMM對象,-各自表示所述VM之一的VM對象,其中所述VM對象的一個或多個VM對象的集合屬于遷移使能的類型并且表示所述VM中可在所述VMM之間遷移的那些VM,以及其中所述遷移使能的類型的VM對象是所述域?qū)ο笾佣皇撬鯲MM對象之子,使得它們的DN不隨著在所述VMM之間的遷移而更改,以及-各自表示所述OS之一并且各自是所述VM對象之一之子或所述域?qū)ο笾拥腛S對象,-其中引導(dǎo)的所述步驟包括以下步驟:-為VM對象的所述集合表示的VM中的每個來確定指示所述VMM的哪個當(dāng)前要管理該VM的當(dāng)前管理關(guān)系;以及-更新VM對象的所述集合的每個VM對象以將所確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān)聯(lián);以及-基于所述運(yùn)行時關(guān)聯(lián),識別所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受該相同HE的硬件故障的損害。
      2.如權(quán)利要求1所述的方法,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述HE中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的VMM對象所表不的VMM中最聞引導(dǎo)等級的Iv VMM。
      3.如權(quán)利要求1所述的方法,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的OS對象所表不的OS中最聞引導(dǎo)等級的一個OS。
      4.如權(quán)利要求1所述的方法,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述VM中的給定一個VM,引導(dǎo)作為表示該給定VM的VM對象之子的OS對象所表不的OS中最聞引導(dǎo)等級的一個OS。
      5.如權(quán)利要求1所述的方法,其中確定的所述步驟還包括以下步驟:-為VM對象的所述集合表示的VM中的每個來確定所述VMM中的哪個VMM當(dāng)前要管理該VM而不超過所述VMM的每個VMM能夠管理的VM的最大數(shù)量。
      6.如權(quán)利要求1所述的方法,還包括以下步驟:-接收將所述VM中的第一 VM從所述HE中的第一 HE遷移到所述HE中的不同一個HE的觸發(fā),所述第一 VM由屬于所述遷移使能的類型的VM對象的所述集合中的第一 VM對象來表示;以及-基于所述VMM的等級,選擇所述VMM中使所述第一 VM遷移到的優(yōu)選的一個VMM,所述優(yōu)選VMM由所述HE中的第二 HE主管。
      7.如權(quán)利要求6所述的方法,其中更新的所述步驟還包括以下步驟:-更新所述第一 VM對象的運(yùn)行時關(guān)聯(lián)以指示所述第一 VM已遷移到所述第二 HE主管的所述優(yōu)選VMM,其中所述第一 VM對象在任何遷移之前和之后都通過相同DN來識別。
      8.一種適用于針對虛擬機(jī)系統(tǒng)中硬件元件(HE)的故障而進(jìn)行保護(hù)的計(jì)算機(jī)系統(tǒng),所述HE主管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS),所述VMM的每個VMM管理所述VM中的一個或多個,并且所述VM的每個VM運(yùn)行所述OS之一,所述計(jì)算機(jī)系統(tǒng)包括:-處理器,耦合到非暫時性計(jì)算機(jī)可讀存儲媒體,所述非暫時性計(jì)算機(jī)可讀存儲媒體在其中已經(jīng)存儲了平臺管理(PLM)服務(wù)模塊,所述模塊適用于:-促使所述虛擬機(jī)系統(tǒng)基于信息模型,引導(dǎo)所述的每個HE上的所述VMM之一、 所述VM的一個或多個以及所述VM的每個VM上的所述OS之一,其中所述信息模型包括對象圖,所述對象圖通過所述圖的對象之間的父子關(guān)系來表示所述HE、VMM、VM和OS之間配置的關(guān)系,其中可分辨名稱(DN)被存儲在所述圖的對象的每個對象中,并且所述對象中作為所述圖中另一對象之子的那些對象包括其父對象的DN,由此識別所述圖的對象的父子關(guān)系,其中所述對象圖包括:-表示所述虛擬機(jī)系統(tǒng)的域?qū)ο螅?表示所述并且是所述域?qū)ο笾拥腍E對象,-各自表示所述VMM之一并且各自是所述HE對象之一之子的VMM對象, -各自表示所述VM之一的VM對象,其中所述VM對象中的一個或多個VM對象的集合屬于遷移使能的類型并且表示所述VM中可在所述VMM之間遷移的那些VM,以及其中所述遷移使能的類型的VM對象是所述域?qū)ο笾佣皇撬鯲MM對象之子,使得它們的 DN不隨著在所述VMM之間的遷移而更改,以及-各自表示所述OS之一并且各自是所述VM對象之一之子或所述域?qū)ο笾拥腛S對象;-為VM對象的所述集合所表示的VM中的每個來確定指示所述VMM中的哪個當(dāng)前要管理該VM的當(dāng)前管理關(guān)系;以及-更新VM對象的所述集合的每個VM對象以將所確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān)聯(lián),-其中所述信息模型允許可用性管理模炔基于所述運(yùn)行時關(guān)聯(lián),識別所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受該相同HE的硬件故障的損害。
      9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-對于所述HE中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的VMM對象所表不的VMM中最聞引導(dǎo)等級的Iv VMM。
      10.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-對于所述中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的OS對象表示的OS中最高引導(dǎo)等級的一個OS。
      11.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-對于所述VM中的給定一個VM,引導(dǎo)作為表示該給定VM的VM對象之子的OS對象表示的OS中最高引導(dǎo)等級的一個OS。
      12.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-為VM對象的所述集合表示的VM中的每個來確定所述VMM中的哪個VMM當(dāng)前要管理該VM而不超過所述VMM的每個能夠管理的VM的最大數(shù)量。
      13.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-接收將所述VM中的第一 VM從所述HE中的第一 HE遷移到所述HE中的不同一個HE 的觸發(fā),所述第一 VM由屬于所述遷移使能的類型的VM對象的所述集合中的第一 VM對象來表示;以及-基于所述VMM的等級,選擇所述VMM中使所述第一 VM遷移到的優(yōu)選的一個VMM,所述優(yōu)選的VMM由所述HE中的第二 HE主管。
      14.如權(quán)利要求13所述的計(jì)算機(jī)系統(tǒng),其中所述PLM服務(wù)模塊還適用于:-更新所述第一 VM對象的運(yùn)行時關(guān)聯(lián)以指示所述第一 VM已遷移到所述第二 HE主管的所述優(yōu)選VMM,其中所述第一 VM對象在任何遷移之前和之后都通過相同DN來識別。
      15.一種包括指令的非暫時性計(jì)算機(jī)可讀存儲媒體,所述指令在由計(jì)算機(jī)系統(tǒng)執(zhí)行時促使所述計(jì)算機(jī)系統(tǒng)執(zhí)行用于針對硬件元件01E)的故障而進(jìn)行保護(hù)的虛擬機(jī)系統(tǒng)的方法,所述HE主管虛擬機(jī)監(jiān)視器(VMM)、虛擬機(jī)(VM)和操作系統(tǒng)(OS),所述VMM的每個VMM 管理所述VM中的一個或多個,并且所述VM中的每個VM運(yùn)行所述OS之一,所述方法包括以下步驟:-基于所述虛擬機(jī)系統(tǒng)的信息模型,引導(dǎo)所述的每個HE上的所述VMM之一、所述VM 的一個或多個VM以及所述VM的每個VM上的所述OS之一,其中所述信息模型包括對象圖, 所述對象圖通過所述圖的對象之間的父子關(guān)系來表示所述ffi、VMM、VM和OS之間配置的關(guān)系,其中可分辨名稱(DN)被存儲在所述圖的對象的每個對象中,并且所述對象中作為所述圖中另一對象之子的那些對象包括其父對象的DN,由此識別所述圖的對象的父子關(guān)系,其中所述對象圖包括:-表示所述虛擬機(jī)系統(tǒng)的域?qū)ο螅?表示所述并且是所述域?qū)ο笾拥腍E對象,-各自表示所述VMM之一并且各自是所述HE對象之一之子的VMM對象,-各自表示所述VM之一的VM對象,其中所述VM對象中一個或多個VM對象的集合屬于遷移使能的類型并且表示所述VM中可在所述VMM之間遷移的那些VM,以及其中所述遷移使能的類型的VM對象是所述域?qū)ο笾佣皇撬鯲MM對象之子,使得它們的DN不隨著在所述VMM之間的遷移而更改,以及-各自表示所述OS之一并且各自是所述VM對象之一之子或所述域?qū)ο笾拥腛S對象,-其中引導(dǎo)的所述步驟包括以下步驟:-為VM對象的所述集合表示的VM中的每個來確定指示所述VMM中的哪個當(dāng)前要管理該VM的當(dāng)前管理關(guān)系;以及-更新VM對象的所述集合的每個VM對象以將所確定的當(dāng)前管理關(guān)系反映為運(yùn)行時關(guān)聯(lián);-基于所述運(yùn)行時關(guān)聯(lián),識別所述VM的所述集合的哪些VM由所述HE中的相同HE主管并且因此易于受該相同HE的硬件故障的損害。
      16.如權(quán)利要求15所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述HE中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的VMM對象表不的VMM中最聞引導(dǎo)等級的Iv VMM。
      17.如權(quán)利要求15所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述中的給定一個HE,引導(dǎo)作為表示該給定HE的HE對象之子的OS對象表示的OS中最高引導(dǎo)等級的一個OS。
      18.如權(quán)利要求15所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中引導(dǎo)的所述步驟還包括以下步驟:-對于所述VM中的給定一個VM,引導(dǎo)作為表示該給定VM的VM對象之子的OS對象表示的OS中最高引導(dǎo)等級的一個OS。
      19.如權(quán)利要求15所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中確定的所述步驟還包括以下步驟:-為VM對象的所述集合表示的VM中的每個來確定所述VMM中的哪個VMM當(dāng)前要管理該VM而不超過所述VMM的每個能夠管理的VM的最大數(shù)量。
      20.如權(quán)利要求15所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中所述方法還包括以下步驟:-接收將所述VM中的第一 VM從所述HE中的第一 HE遷移到所述HE中的不同一個HE 的觸發(fā),所述第一 VM由屬于所述遷移使能的類型的VM對象的所述集合中的第一 VM對象來表示;以及-基于所述VMM的等級,選擇所述VMM中使所述第一 VM遷移到的優(yōu)選的一個VMM,所述優(yōu)選的VMM由所述HE中的第二 HE主管。
      21.如權(quán)利要求20所述的非暫時性計(jì)算機(jī)可讀存儲媒體,其中更新的所述步驟還包括以下步驟:-更新所述第一 VM對象的運(yùn)行時關(guān)聯(lián)以指示所述第一 VM已遷移到所述第二 HE主管的所述優(yōu)選的VMM,其中所述第一 VM對象在任何遷移之前和之后都通過相同DN來識別。
      【文檔編號】G06F9/455GK103502938SQ201280022348
      【公開日】2014年1月8日 申請日期:2012年3月6日 優(yōu)先權(quán)日:2011年3月10日
      【發(fā)明者】M.特勒 申請人:瑞典愛立信有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1