創(chuàng)建虛擬資源包的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種創(chuàng)建虛擬資源包的方法和設(shè)備。所述方法包括:捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù),所述機(jī)器包括物理機(jī)和虛擬機(jī)中的至少一個(gè);基于所捕捉的元數(shù)據(jù),生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義;將所述至少一個(gè)機(jī)器的盤映像文件、所捕捉的元數(shù)據(jù)和所生成的約束定義打包以生成虛擬資源包。通過所述方法和設(shè)備,可以實(shí)現(xiàn)虛擬資源包的自動創(chuàng)建,減少了用戶的手動操作,使得不易出錯(cuò)。
【專利說明】創(chuàng)建虛擬資源包的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬化的領(lǐng)域,更具體地涉及一種創(chuàng)建虛擬資源包(例如開放虛擬化格式(OVF)包)的方法和設(shè)備。
【背景技術(shù)】
[0002]在計(jì)算機(jī)領(lǐng)域,已經(jīng)廣泛使用了虛擬化技術(shù)。通過這種技術(shù),可以在物理機(jī)上模擬具有完整的計(jì)算機(jī)系統(tǒng)功能的一個(gè)或多個(gè)虛擬機(jī)。每個(gè)虛擬機(jī)可以基于不同的虛擬化平臺,例如來自VMware.R.公司的虛擬化平臺或來自微軟公司的虛擬化平臺等等。為了便于虛擬機(jī)的開發(fā)和部署,提出了虛擬裝置(virtual appliance)。虛擬裝置是一種預(yù)先構(gòu)建的軟件方案,其包括作為一個(gè)單元而被打包、維護(hù)、更新和管理的一個(gè)或多個(gè)虛擬機(jī)。
[0003]為了將虛擬裝置標(biāo)準(zhǔn)化,分布式管理任務(wù)組(DMTF)提出了開放虛擬化格式(OVF)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)用于以開放、安全、可遷移、高效和可擴(kuò)展的格式封裝和分發(fā)虛擬裝置(相應(yīng)地,在虛擬裝置中的各個(gè)虛擬機(jī)上運(yùn)行的軟件),從而簡化跨多種虛擬化平臺的虛擬裝置的安裝和部署。通過封裝虛擬裝置而創(chuàng)建的OVF包典型地包括:1個(gè)OVF描述符文件(.0vf),即“0VF信封”,其描述虛擬裝置的組成部分和各個(gè)組成部分的需求等;0到I個(gè)OVF清單文件(.mf),其包含OVF包中各文件的SHA-1摘要,用于確保OVF包的完整性;0到I個(gè)OVF證書文件(.cert),其用于通過對清單文件進(jìn)行簽名來對OVF包進(jìn)行簽名,以確保OVF包的真實(shí)性;以及O到多個(gè)虛擬機(jī)的盤映像文件。
[0004]傳統(tǒng)上,創(chuàng)建OVF包的過程是手動執(zhí)行的,其需要用戶運(yùn)行作為應(yīng)用程序部署在通用計(jì)算機(jī)上的OVF創(chuàng)建工具。這種手動過程需要專業(yè)知識并且易于出錯(cuò)。具體地,常常需要由具有關(guān)于OVF和被遷移到虛擬機(jī)上的物理系統(tǒng)二者的專業(yè)知識的系統(tǒng)管理員來執(zhí)行OVF包的創(chuàng)建,然而,即便是這種有經(jīng)驗(yàn)的系統(tǒng)管理員,在手動創(chuàng)建OVF包時(shí),也可能會因?yàn)橐馔獾剌斎氩徽_的參數(shù)而導(dǎo)致OVF包存在缺陷,使得最終部署的虛擬機(jī)也可能出現(xiàn)問題。
[0005]為了減少手動操作,提出了一些OVF包創(chuàng)建方法,這些方法使用OVF包創(chuàng)建工具,通過例如圖形化的向?qū)硪龑?dǎo)用戶進(jìn)行OVF包的創(chuàng)建。盡管這些方法朝著OVF包的自動創(chuàng)建邁出了一步,但是其仍然需要很多手動操作,因此仍然易于出錯(cuò)。此外,在創(chuàng)建OVF包時(shí),現(xiàn)有方法不能收集包括物理機(jī)和虛擬機(jī)的現(xiàn)有的運(yùn)行時(shí)環(huán)境的拓?fù)湫畔ⅲ⑶乙搽y以在所創(chuàng)建的OVF包中包含描述各個(gè)虛擬機(jī)的配置約束的內(nèi)容。
【發(fā)明內(nèi)容】
[0006]鑒于以上問題而提出了本發(fā)明。本發(fā)明的目的是提供一種創(chuàng)建虛擬資源包的方法和設(shè)備,其能夠自動地創(chuàng)建虛擬資源包,例如OVF包,從而減少用戶的手動操作,使得該創(chuàng)建過程更加自動化,并且不易發(fā)生錯(cuò)誤。
[0007]根據(jù)本發(fā)明的一個(gè)方面,提供了一種創(chuàng)建虛擬資源包的方法,包括:捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù),所述機(jī)器包括物理機(jī)和虛擬機(jī)中的至少一個(gè);基于所捕捉的元數(shù)據(jù),生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義;將所述至少一個(gè)機(jī)器的盤映像文件、所捕捉的元數(shù)據(jù)和所生成的約束定義打包以生成虛擬資源包。
[0008]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種創(chuàng)建虛擬資源包的設(shè)備,包括:捕捉裝置,被配置為捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù),所述機(jī)器包括物理機(jī)和虛擬機(jī)中的至少一個(gè);生成裝置,被配置為基于所捕捉的元數(shù)據(jù),生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義;以及打包裝置,被配置為將所述至少一個(gè)機(jī)器的盤映像文件、所捕捉的元數(shù)據(jù)和所生成的約束定義打包以生成虛擬資源包。
[0009]根據(jù)本發(fā)明上述方面的方法和設(shè)備可以通過捕捉與物理機(jī)和/或虛擬機(jī)有關(guān)的元數(shù)據(jù),收集包括物理機(jī)和/或虛擬機(jī)的現(xiàn)有的運(yùn)行時(shí)環(huán)境的拓?fù)湫畔?。此外,通過基于所收集的元數(shù)據(jù)自動地生成描述配置約束的約束定義,所述方法和設(shè)備可以容易地生成包含配置約束的虛擬資源包,使得當(dāng)根據(jù)該虛擬資源包部署虛擬機(jī)時(shí),所部署的虛擬機(jī)自動滿足各種約束。而且,根據(jù)本發(fā)明上述方面的方法和設(shè)備可以實(shí)現(xiàn)虛擬資源包(例如OVF包)的自動創(chuàng)建,減少了用戶的手動操作,這不僅減輕了用戶的負(fù)擔(dān),還不易出錯(cuò)。
【專利附圖】
【附圖說明】
[0010]通過結(jié)合附圖對本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號通常代表相同部件。
[0011]圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。
[0012]圖2是示出根據(jù)本發(fā)明實(shí)施例的創(chuàng)建虛擬資源包的方法的流程圖。
[0013]圖3示出了通過API讀取安裝在虛擬機(jī)上的Windows操作系統(tǒng)的安全配置信息的示例。
[0014]圖4示出了生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義的操作的詳細(xì)流程圖。
[0015]圖5是示出根據(jù)本發(fā)明實(shí)施例的創(chuàng)建虛擬資源包的設(shè)備的結(jié)構(gòu)的框圖。
[0016]圖6是示出圖5所示的捕捉裝置的結(jié)構(gòu)的框圖。
[0017]圖7是示出圖5所示的生成裝置的結(jié)構(gòu)的框圖。
【具體實(shí)施方式】
[0018]下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0019]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。[0020]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、設(shè)備或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、設(shè)備或者器件使用或者與其結(jié)合使用。
[0021]計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、設(shè)備或者器件使用或者與其結(jié)合使用的程序。
[0022]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、電線、光纜、RF等等,或者上述的任意合適的組合。
[0023]可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如”C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0024]下面將參照本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備的處理器,從而生產(chǎn)出一種機(jī)器,這些計(jì)算機(jī)程序指令通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備執(zhí)行,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的設(shè)備。
[0025]也可以把這些計(jì)算機(jī)程序指令存儲在能使得計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令設(shè)備(instructionmeans)的制造品(manufacture)。
[0026]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。
[0027]圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。圖1顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。
[0028]如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。
[0029]總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0030]計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。
[0031]系統(tǒng)存儲器28可以包括易失性存儲器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲器(RAM)30和/或高速緩存存儲器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖1未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖1中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個(gè)驅(qū)動器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
[0032]具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0033]計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14 (例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
[0034]現(xiàn)在參看圖2,其示出了根據(jù)本發(fā)明實(shí)施例的創(chuàng)建虛擬資源包的方法的流程圖。在這里,為了便于描述,以O(shè)VF包作為虛擬資源包的示例,然而,本發(fā)明不限于于此,而是也可以適用于創(chuàng)建其它類型的虛擬資源包。
[0035]如圖2所示,在步驟S201中,捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù)。所述機(jī)器可以是物理機(jī)和虛擬機(jī)中的至少一個(gè)。也就是說,所述至少一個(gè)機(jī)器可以全是虛擬機(jī)、全是物理機(jī)、或者可以是虛擬機(jī)和物理機(jī)的組合。可以將所捕捉的與每個(gè)機(jī)器有關(guān)的元數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)文件以便存儲這些元數(shù)據(jù)。例如,可以將所捕捉的與各個(gè)機(jī)器有關(guān)的元數(shù)據(jù)分別轉(zhuǎn)換為可擴(kuò)展標(biāo)記語言(XML)格式的數(shù)據(jù)文件,并且存儲這些數(shù)據(jù)文件。數(shù)據(jù)文件的格式不限于XML格式,也可以將所捕捉的元數(shù)據(jù)轉(zhuǎn)換為任何其它適當(dāng)格式的數(shù)據(jù)文件。
[0036]當(dāng)所述機(jī)器為虛擬機(jī)時(shí),可以捕捉該虛擬機(jī)的資源信息、操作系統(tǒng)信息以及軟件信息中的一個(gè)或多個(gè),作為與該機(jī)器有關(guān)的元數(shù)據(jù)。當(dāng)所述機(jī)器為物理機(jī)時(shí),可以捕捉該機(jī)器的操作系統(tǒng)信息以及軟件信息中的一個(gè)或多個(gè),作為與該機(jī)器有關(guān)的元數(shù)據(jù)。根據(jù)需要,也可以捕捉所述機(jī)器的其他信息,作為與該機(jī)器有關(guān)的元數(shù)據(jù)。
[0037]虛擬機(jī)的資源信息是指與虛擬機(jī)具有的資源有關(guān)的信息。例如,該資源信息可以包括與虛擬機(jī)的CPU有關(guān)的信息(例如CPU的工作頻率等)、與虛擬機(jī)的存儲器有關(guān)的信息(例如存儲器大小等)、與虛擬機(jī)的盤空間有關(guān)的信息(例如盤空間大小等)、與虛擬機(jī)的網(wǎng)絡(luò)有關(guān)的信息(例如虛擬機(jī)使用的IP地址和網(wǎng)絡(luò)端口等)、以及與虛擬機(jī)的其他資源有關(guān)的信息中的至少一個(gè)??梢酝ㄟ^讀取該虛擬機(jī)的相關(guān)配置文件或者采用本領(lǐng)域公知的其他方式來捕捉所述資源信息。
[0038]虛擬機(jī)的操作系統(tǒng)信息是指與該虛擬機(jī)的操作系統(tǒng)有關(guān)的信息。例如,該操作系統(tǒng)信息可以包括操作系統(tǒng)的版本信息、安全配置信息(例如密碼長度、密碼有效期等)、用戶賬戶信息、以及其他與操作系統(tǒng)有關(guān)的信息中的至少一個(gè)。由于操作系統(tǒng)的各種信息被保存一個(gè)或多個(gè)配置文件中,因此可以通過讀取操作系統(tǒng)的配置文件來捕捉所述操作系統(tǒng)信息。例如,可以通過操作系統(tǒng)提供的應(yīng)用編程接口(API)讀取所述配置文件,來捕捉操作系統(tǒng)信息。圖3示出了通過API讀取安裝在虛擬機(jī)上的Windows操作系統(tǒng)的安全配置信息的示例。如圖3所示,可以使用該操作系統(tǒng)提供的API讀取其“本地安全策略”配置文件,從而捕捉Windows操作系統(tǒng)的安全配置信息,在該配置文件中定義了該操作系統(tǒng)的賬戶策略、本地策略、防火墻設(shè)置等,其中賬戶策略包括密碼策略和賬戶鎖定策略。在該示例中,通過讀取該 配置文件中的配置信息,可以捕捉到以下安全配置信息:最大密碼壽命(maxPasswordAge)為90天,最小密碼壽命(maxPasswordAge)為I天,最小密碼長度CminPasswordLength)為 8 個(gè)字符、賬戶鎖定閾值(LockPolicy threshold)為 O 等等。如上文所述,可以將所捕捉的元數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)文件。下面的代碼段I示出了該數(shù)據(jù)文件的一部分,其記錄了在圖3的示例中捕捉的操作系統(tǒng)的安全配置信息。
[0039][代碼段I]
[0040]
<Metadata>
<OSConstraints>
<AccountPolicies>
<PasswordPolicy maxPasswordAge="90" minPasswordAge="l"
minPasswordLength="8" />
<LockPo!icy t!neshold="0" />
[0041]
</AccouniPolicies>
</OSConstraints>
</Metadata>[0042]應(yīng)當(dāng)注意,所述操作系統(tǒng)可以是預(yù)定義的操作系統(tǒng),例如來自微軟公司的Windows操作系統(tǒng),也可以是用戶定制的操作系統(tǒng),例如用戶定制的某種Linux操作系統(tǒng)。對于預(yù)定義的操作系統(tǒng),由于該操作系統(tǒng)的配置方式是已知的,因此可以基于對該操作系統(tǒng)的已有知識找到并讀取該操作系統(tǒng)的配置文件,從而捕捉操作系統(tǒng)信息。對于用戶定制的操作系統(tǒng),可以按照用戶設(shè)定的規(guī)則找到并讀取該操作系統(tǒng)的配置文件,從而捕捉操作系統(tǒng)信息??商鎿Q地,也可以使用本領(lǐng)域公知的其他手段來捕捉所述操作系統(tǒng)信息。
[0043]虛擬機(jī)的軟件信息是指與安裝在該虛擬機(jī)上的軟件有關(guān)的信息。所述軟件可以是單機(jī)軟件,也可以是分布在共處一地或彼此遠(yuǎn)離的多個(gè)機(jī)器上的分布式軟件。所述軟件信息例如可以包括該軟件的版本信息、與安裝該軟件的虛擬化平臺有關(guān)的信息、表示該軟件的拓?fù)浣Y(jié)構(gòu)的拓?fù)湫畔?、與該軟件調(diào)用的對象/資源(例如端口或數(shù)據(jù)資源)有關(guān)的信息中的至少一個(gè),也可以是其他類型的軟件信息。
[0044]可以根據(jù)軟件的配置文件獲取所述軟件信息。例如,可以通過讀取所述配置文件來直接獲取軟件的版本信息、與安裝該軟件的虛擬化平臺有關(guān)的信息等。此外,可以通過分析軟件的配置文件來確定軟件的拓?fù)浣Y(jié)構(gòu),從而獲取軟件的拓?fù)湫畔?。繼而,可以通過分析該軟件的拓?fù)浣Y(jié)構(gòu),獲取與軟件調(diào)用的對象/資源有關(guān)的信息等。例如,對于在虛擬機(jī)上安裝的國際商業(yè)機(jī)器公司的服務(wù)器軟件WebSphere Application Server,可以通過分析該軟件的配置文件,確定該軟件的拓?fù)浣Y(jié)構(gòu),繼而獲取與該軟件在運(yùn)行時(shí)要調(diào)用的對象(節(jié)點(diǎn))和/或資源有關(guān)的信息等。下面的代碼段2示出了在服務(wù)器軟件WebSphereApplication Server的示例中,記錄了所捕捉的軟件信息的數(shù)據(jù)文件的一部分。如代碼段2所示,通過讀取和分析該軟件的配置文件,可以獲取與該軟件的組件“部署管理器(DMGR)”有關(guān)的信息、與該軟件要調(diào)用的節(jié)點(diǎn)“定制節(jié)點(diǎn)(Custom Node)”有關(guān)的信息、與該軟件的組件“Lombardi”有關(guān)的信息、與該軟件要調(diào)用的數(shù)據(jù)庫“DB”有關(guān)的信息等。
[0045][代碼段2]
[0046]
【權(quán)利要求】
1.一種創(chuàng)建虛擬資源包的方法,包括: 捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù),所述機(jī)器包括物理機(jī)和虛擬機(jī)中的至少一個(gè); 基于所捕捉的元數(shù)據(jù),生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義; 將所述至少一個(gè)機(jī)器的盤映像文件、所捕捉的元數(shù)據(jù)和所生成的約束定義打包以生成虛擬資源包。
2.如權(quán)利要求1所述的方法,其中,在至少一個(gè)機(jī)器是物理機(jī)的情況下,所述捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù)包括: 捕捉與物理機(jī)的操作系統(tǒng)有關(guān)的信息、以及與安裝在物理機(jī)上的軟件有關(guān)的信息中的至少一個(gè),作為所述元數(shù)據(jù)。
3.如權(quán)利要求1或2所述 的方法,其中,在至少一個(gè)機(jī)器是虛擬機(jī)的情況下,所述捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù)包括: 捕捉與虛擬機(jī)的資源有關(guān)的信息、與虛擬機(jī)的操作系統(tǒng)有關(guān)的信息、以及與安裝在虛擬機(jī)上的軟件有關(guān)的信息中的至少一個(gè),作為所述元數(shù)據(jù)。
4.如權(quán)利要求2或3所述的方法,其中,與軟件有關(guān)的信息包括軟件的拓?fù)湫畔ⅰ?br>
5.如權(quán)利要求1所述的方法,還包括:將所捕捉的與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)文件。
6.如權(quán)利要求5所述的方法,其中,所述基于所捕捉的元數(shù)據(jù)生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義包括: 將至少一個(gè)所述數(shù)據(jù)文件聚合為上下文模型文件;以及 基于該上下文模型文件生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義。
7.如權(quán)利要求6所述的方法,其中,所述至少一個(gè)機(jī)器的配置約束包括所述至少一個(gè)機(jī)器的操作系統(tǒng)的配置約束、軟件的配置約束和觸發(fā)動作約束中的至少一個(gè)。
8.一種創(chuàng)建虛擬資源包的設(shè)備,包括: 捕捉裝置,被配置為捕捉與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù),所述機(jī)器包括物理機(jī)和虛擬機(jī)中的至少一個(gè); 生成裝置,被配置為基于所捕捉的元數(shù)據(jù),生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義;以及 打包裝置,被配置為將所述至少一個(gè)機(jī)器的盤映像文件、所捕捉的元數(shù)據(jù)和所生成的約束定義打包以生成虛擬資源包。
9.如權(quán)利要求8所述的設(shè)備,其中,所述捕捉裝置包括物理機(jī)元數(shù)據(jù)捕捉單元,其被配置為捕捉與物理機(jī)的操作系統(tǒng)有關(guān)的信息、以及與安裝在物理機(jī)上的軟件有關(guān)的信息中的至少一個(gè),作為所述元數(shù)據(jù)。
10.如權(quán)利要求8或9所述的設(shè)備,其中,所述捕捉裝置包括虛擬機(jī)元數(shù)據(jù)捕捉單元,其被配置為捕捉與虛擬機(jī)的資源有關(guān)的信息、與虛擬機(jī)的操作系統(tǒng)有關(guān)的信息、以及與安裝在虛擬機(jī)上的軟件有關(guān)的信息中的至少一個(gè),作為所述元數(shù)據(jù)。
11.如權(quán)利要求9或10所述的設(shè)備,其中,與軟件有關(guān)的信息包括軟件的拓?fù)湫畔ⅰ?br>
12.如權(quán)利要求8所述的設(shè)備,其中,所述捕捉裝置包括轉(zhuǎn)換單元,其被配置為將所捕捉的與至少一個(gè)機(jī)器有關(guān)的元數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)文件。
13.如權(quán)利要求12所述的設(shè)備,其中,所述生成裝置包括:聚合單元,被配置為將至少一個(gè)所述數(shù)據(jù)文件聚合為上下文模型文件;以及約束定義生成單元,被配置為基于該上下文模型文件生成描述所述至少一個(gè)機(jī)器的配置約束的約束定義。
14.如權(quán)利要求13所述的設(shè)備,其中,所述至少一個(gè)機(jī)器的配置約束包括所述至少一個(gè)機(jī)器的操作系統(tǒng)的配置約束、軟件的配置約束和觸發(fā)動作約束中的至少一個(gè)。
【文檔編號】G06F9/455GK103970581SQ201310027488
【公開日】2014年8月6日 申請日期:2013年1月24日 優(yōu)先權(quán)日:2013年1月24日
【發(fā)明者】王夕寧, 黃彥軍, 唐威鋒, 柏越 申請人:國際商業(yè)機(jī)器公司