專利名稱:用于離線虛擬環(huán)境中的或與之相關的改進的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及用于離線虛擬環(huán)境中的或與之相關的改進的方法和系統(tǒng),尤其涉及對 離線虛擬環(huán)境的兼容性管理。
背景技術:
現(xiàn)今市場上存在許多軟件虛擬化產(chǎn)品。軟件虛擬化產(chǎn)品通常提供宿主軟件(例如 控制程序),其針對所謂的“客體軟件Iij建仿真的計算機環(huán)境,經(jīng)常稱為虛擬機??腕w軟件 經(jīng)常是如同被安裝在單機的硬件平臺上一樣運行的完整的操作系統(tǒng)。許多不同的虛擬客體 機可以在單個物理宿主機上仿真并且在需要時,每個虛擬機可以被激活、掛起、關閉、克隆 或移動。這些活動中某些活動的影響可能對組織的IT架構產(chǎn)生不利的影響。例如,如果虛 擬機鏡像被掛起或關閉,則虛擬機的內存表示將從宿主機卸載。虛擬機的內容存儲在宿主 計算機的文件系統(tǒng)的一組文件中。該內容可以包括虛擬資源和設置,例如CPU、存儲器設置、 設備、硬盤內容等。在由虛擬機軟件提供商(例如VMWare)所實現(xiàn)的虛擬機鏡像的例子中,通??梢?發(fā)現(xiàn)如下的內容-. nvram文件,其包括資源設置,例如CPU、存儲器、虛擬設備等;-一個或多個.vmdk文件,每個用于仿真的硬驅動器設置,例如文件系統(tǒng)的設置; 以及-具有虛擬機定制設置的.vmx文件。因此,一旦虛擬機鏡像被完全關閉,則可以通過管理上述的一組文件來對其進行 合適的管理。管理可以包括版本控制、歸檔、克隆、供應等。文件包括涉及操作系統(tǒng)的所有 信息、所有安裝的軟件和相關的設置以及涉及虛擬機的任何其他合適的信息或數(shù)據(jù)。隨后,如果虛擬機被恢復并且與網(wǎng)絡上的其他物理和虛擬機重新連接,則它們可 能包括潛在的有害內容。例如,安全性暴露、病毒、未許可軟件、已經(jīng)改變了文件使得它們不 符合網(wǎng)絡的當前IT要求的事件,等等。因此,確定虛擬機鏡像是“好的”還是“壞的”非常 重要。另外,重要的是確定虛擬機鏡像是否包括合適等級的反病毒軟件、防火墻和安全性設 置、許可兼容性工具以及指示虛擬機將符合網(wǎng)絡的任何其他合適元素。為了能夠執(zhí)行這個, 虛擬機可能消耗來自虛擬機環(huán)境的可觀的資源,并且如果在測試或驗證時發(fā)現(xiàn)不兼容,則 可能觸發(fā)不期望的非兼容事件或安全性問題。在過去,典型的場景是在封閉的虛擬環(huán)境中恢復和測試虛擬機。這是耗時的并且 甚至在決定是否值得修復或更新虛擬機而非創(chuàng)建新的虛擬機鏡像前要付出努力。事實上虛 擬機在網(wǎng)絡中環(huán)境恢復和測試對于安全性和兼容性的等級產(chǎn)生負面影響,尤其是在關于網(wǎng) 絡的任何安全性審查期間。此外,在某些情況下,用于演示目的的虛擬機或商業(yè)虛擬應用可 以從因特網(wǎng)找到和下載。這些機器已進行了配置并且可能不符合所涉及的網(wǎng)絡以及公司安 全性規(guī)則。由于正在出現(xiàn)越來越多的這種類型的應用,因此越來越頻繁地碰到上述涉及安 全性和兼容性的問題。
US 2006/0136720公開了一種虛擬機掃描系統(tǒng),其工作在利用來自原始虛擬機的 克隆操作或對運行的虛擬機的快照而創(chuàng)建的活躍虛擬機上。由于虛擬機是活躍的,因此系 統(tǒng)并不解決這樣的問題,即與當虛擬機在休眠后,將該虛擬機帶回到在線時產(chǎn)生的與兼容 性和安全性問題相關聯(lián)的問題。與離線虛擬機服務工具執(zhí)行概覽有關的網(wǎng)頁http://technet.microsoft.com/ en-uS/library/CC501231. aspx公開了離線虛擬機服務工具以及在各種商業(yè)場景中如何對 其進行使用。盡管其公開了對主要涉及提供一種方式來自動化更新虛擬機的處理的一些問 題的一些解決方案,但其并不解決與將休眠的虛擬機“恢復”回到網(wǎng)絡相關聯(lián)的所有問題。類似地,McAfee公開了離線狀態(tài)中虛擬機的安全性管理的特征http //www. mcafee. com/us/about/press/corporate/2008/20080227_181010_q. html。再次,該文檔解 決了某些問題,但其并沒有解決與將休眠的虛擬機“恢復”回到網(wǎng)絡相關聯(lián)的所有問題。
發(fā)明內容
本發(fā)明的目的是緩解與現(xiàn)有技術系統(tǒng)和方法相關的一些問題。本發(fā)明的進一步目的是提供一種方法和系統(tǒng)來執(zhí)行關于離線虛擬機鏡像的兼容 性評估,以便避免將“壞的”虛擬機鏡像帶入到?jīng)]有必需的安全性和兼容性等級的網(wǎng)絡中。本發(fā)明涉及如獨立權利要求中所限定的方法和系統(tǒng)。更具體地,本發(fā)明公開了一種在將虛擬機鏡像潛在地引入到網(wǎng)絡中的處理期間確 定虛擬機鏡像的兼容性的方法,該方法包括識別一個或多個虛擬機鏡像;控制所述或每 個虛擬機鏡像使得其不能連接到網(wǎng)絡;執(zhí)行一個或多個測試以便確定所述或每個虛擬機鏡 像是否符合一個或多個預定的要求;如果虛擬機符合所述一個或多個預定的要求,則將所 述虛擬機鏡像引入到網(wǎng)絡。本發(fā)明進一步公開了一種在將虛擬機鏡像潛在地引入到網(wǎng)絡中的處理期間確定 虛擬機鏡像的兼容性的裝置,該裝置包括第一模塊,用于識別一個或多個虛擬機鏡像;控 制模塊,用于控制所述虛擬機鏡像使得其不能連接到網(wǎng)絡;測試模塊,用于執(zhí)行一個或多個 測試以便確定所述或每個虛擬機鏡像是否符合一個或多個預定的要求;其中如果虛擬機符 合所述一個或多個預定的要求,則將所述虛擬機鏡像引入到網(wǎng)絡。本發(fā)明的其他方面可以在所附從屬權利要求中看到。
現(xiàn)在將通過示例來參考附圖,其中圖1是舉例的根據(jù)本發(fā)明的一個實施方式的系統(tǒng)的框圖。圖2是舉例的示出根據(jù)本發(fā)明的一個實施方式的第一組方法步驟的框圖。圖3是舉例的示出根據(jù)本發(fā)明的一個實施方式的第二組方法步驟的框圖。
具體實施例方式首先參考圖1,現(xiàn)在將描述根據(jù)本發(fā)明的一個系統(tǒng)。在第一實施方式中,該系統(tǒng)包 括宿主100。宿主支持虛擬機層102,該虛擬機層102包括模塊104,用于在將虛擬機置于在 線之前對其進行分析并嘗試對其進行修復。此外,虛擬機儲存庫106通過因特網(wǎng)108(或任何其他合適的連接)連接到宿主。虛擬機儲存庫將虛擬機下載到位于宿主100上的虛擬機 層102上。所示出的虛擬機VM1、VM2和VM3分別為110、112和114?,F(xiàn)在將描述下載虛擬 機的方式。為了實現(xiàn)執(zhí)行對離線虛擬機鏡像的有效的兼容性評估的方法和系統(tǒng),該方法依賴 于特定的排序并且使用特定的虛擬化提供商可幫助的API和命令。這可以通過快速地濾除 非兼容的虛擬機鏡像并且在可能時阻止它們進入在線來實現(xiàn)。本方法依賴于虛擬化技術提供用于檢查虛擬文件系統(tǒng)離線的API或命令的能力。 步驟一是初始步驟,其是可選的并且依賴于虛擬化提供商對于任何無動力虛擬機的文件系 統(tǒng)(例如,VMware vmdk文件)的檢查能力。如圖2中所示,這包括以下子步驟-連接到本地宿主,200;-定位所有登記的虛擬機鏡像,202(例如,通過找到具有.vmx驗證的文件的文件 夾);-對于每個虛擬機,執(zhí)行虛擬文件系統(tǒng)的離線掃描,步驟204。換句話說,識別和掃 描包含在上述每個文件夾中的所有.vmdk文件。如果在離線掃描中沒有碰到問題006),則方法前進到步驟2,208,將在下面對其 進行更為詳細的描述。如果碰到問題210,則阻止虛擬機鏡像進入在線012)。如果需要, 在步驟214,虛擬機可以接著被修復并且處理在步驟216處停止。上述的步驟1可以足以檢測在任何的虛擬機內是否存在任何不期望的軟件。例 如,如果檢測到病毒簽名,則可以停止將虛擬機帶入到在線的選項。另外,如果在該階段識 別到不期望的軟件,則可以避免需要執(zhí)行任何進一步的分析并且由此減少進一步的調查工作。如果在步驟1期間沒有識別出任何問題,則執(zhí)行步驟2。現(xiàn)在將參考圖3來描述步 驟2。在該步驟中,虛擬機鏡像將被更深入地分析,盡管其仍未暴露于產(chǎn)生環(huán)境。第二步驟 并未帶來復雜或昂貴的證明網(wǎng)絡要求。相反,通過預配置虛擬機鏡像來執(zhí)行分析,使得其不 能接入外部網(wǎng)絡并且其不能持續(xù)地嘗試修改其虛擬文件系統(tǒng)(FS)。通常,該方法需要虛擬機被加電并且需要將被用于執(zhí)行所需檢查的虛擬化API,沒 有形式上的清查;或需要許可管理代理或基礎設施。現(xiàn)在將描述圖3中示出的特定步驟。 第一步驟300定位宿主上所有登記的虛擬機鏡像。對于在此第一步驟300中所識別的每個 虛擬機鏡像,接著可以執(zhí)行隨后的步驟。隨后的步驟302需要vmx配置被設置,從而阻止網(wǎng) 絡連接性。這可以通過下面的方式來表示>> ethemetO. startConnected = “ FALSE"> ethemetO. present = “ FALSE"> ..在步驟304中,vmx配置被設置,從而FS改變將不再持續(xù)。這可以通過下面的方 式來表示>> ideO0. mode = “ independent-nonpersistent〃> ideO1. mode = “ independent-nonpersistent “
5
>
在步驟306中,自動化API被激活并且包括以下子步驟
a.對VM加電
>VixVM_Open(localhost, “ myVM. vmx",..)
b.等待VM工具準備好
>VixVM_ffaitForToolsInGuest()
C.登陸進VM
>VixVM_LoginInGuest()
d.在VM中復制兼容性感應器(例如,Sw/fs/注冊表掃描器)
>VixVM_CopyFiIeInGuest()
e.執(zhí)行VM內的感應器并且提取結果
>V i χ VM_RunPr ο gr am I nGu est ()
>VixVM_CopyFiIeFromGuest ()
f.對VM斷電
>VixVM_PowerOff ()
通過執(zhí)行上述子步驟,虛擬機鏡像已經(jīng)被加電,填充有合適的感應器或測試,并且針對一-系列的兼容性來進行掃描或測試。通過這種方式,虛擬機鏡像已經(jīng)保持與其余的網(wǎng)
絡環(huán)境隔離。合適的感應器、測試和兼容性將取決于虛擬機鏡像的確切屬性以及用于產(chǎn)生 虛擬化的系統(tǒng)和方法。作為執(zhí)行步驟302和304的結果,在掃描期間沒有源自于虛擬機的網(wǎng)絡活動。這 阻止了發(fā)生下面的不利影響,例如可能的網(wǎng)絡蠕蟲、不必要的許可兼容性廣播、不必要的 病毒警告廣播等。另外,如果在關閉后,虛擬機鏡像通過兼容性檢查,則對虛擬機的虛擬文 件系統(tǒng)的改變將不起作用。這樣,虛擬機保持原封不動并且不會被注入的探針和它們可能 產(chǎn)生的執(zhí)行副作用所改變??傊?,上述步驟的執(zhí)行提供了針對離線虛擬機的兼容性分析和掃描方法。虛擬機 不受處理的影響并且還阻止其在完全被激活前造成生產(chǎn)環(huán)境中的任何重大問題??梢浴凹?時”(“on the fly”)執(zhí)行的兼容性檢查的例子包括但不限于下面的病毒檢測;軟件和強 制補丁安裝;基于安裝的軟件的檢測和軟件兼容性。這也可以包括許可權利和保證,并且事 實上駐留于相同系統(tǒng)上的所有虛擬機是類似的?,F(xiàn)在返回到圖3,在API中的自動化已經(jīng)被激活后,如果合適,則在步驟308處阻止 虛擬機進入在線。在步驟310處,如果存在與虛擬機關聯(lián)的錯誤或問題,則做出關于是否修 復虛擬機的判定。如果虛擬機被修復(是,步驟312),則在步驟314處,虛擬機隨后可以被 加載進網(wǎng)絡。這可以發(fā)生在進一步重新運行圖3中的早期步驟之后,以便保證虛擬機現(xiàn)在 是“好的”。如果做出不修復虛擬機的判定或事實上虛擬機不能被修復(否,步驟316),則 處理在步驟318處停止并且虛擬機鏡像被隔離?,F(xiàn)在返回到圖1,其中對于特定的虛擬機識別出了主要問題,這可以如上述那樣進 行破壞或隔離。隔離可以發(fā)生在特定的隔離區(qū)域,其通過合適的防火墻116或其他安全性 手段來與宿主隔開。特定的隔離區(qū)域可以包括類似于宿主A的安全宿主。安全宿主118包 括虛擬機層120和修理和掃描能力122。如圖1中所示,VM3已經(jīng)從宿主A轉移到安全宿主,以便確保VM3對整個網(wǎng)絡不具有任何負面影響。安全宿主可以包括其自己的邏輯存儲 器、VPN等。稍后,在所有安全性問題和軟件兼容性問題已經(jīng)解決后,虛擬機鏡像可以安全 地進行聯(lián)網(wǎng)和更新。將理解到在系統(tǒng)中還將包括執(zhí)行方法的每個功能步驟的模塊例如,執(zhí)行各種兼 容性或安全性檢查或測試的測試模塊。其他模塊也將從它們執(zhí)行的功能而變得明顯。本發(fā)明提供了多個優(yōu)勢。優(yōu)勢之一是阻止虛擬機鏡像在網(wǎng)絡中進入在線,直到符 合了關注的所有安全性和兼容性。自動化API可以被修改以便適合虛擬機鏡像和正在使用 的虛擬化系統(tǒng)處理的環(huán)境。不需要使用耗時且昂貴的在線資源來驗證虛擬機鏡像。通過隔 離“壞的”虛擬機鏡像,可以在離線環(huán)境中花時間來修理或修復虛擬機鏡像以便避免對網(wǎng)絡 的威脅。將理解到除上述那些例子以外的例子也是存在的,其落入到本發(fā)明的范圍內。例 如,步驟可以以不同的順序以及由不同的模塊來進行。
權利要求
1.一種在將虛擬機鏡像潛在地引入到網(wǎng)絡中的處理期間確定虛擬機鏡像的兼容性的 方法,該方法包括-識別一個或多個虛擬機鏡像;-控制所述或每個虛擬機鏡像使得其不能連接到所述網(wǎng)絡;-執(zhí)行一個或多個測試以便確定所述或每個虛擬機鏡像是否符合一個或多個預定的要求;-如果虛擬機符合所述一個或多個預定的要求,則將所述虛擬機鏡像引入到所述網(wǎng)絡。
2.根據(jù)權利要求1所述的方法,進一步包括如果所述虛擬機不符合所述一個或多個要 求,則將所述虛擬機與所述網(wǎng)絡隔離。
3.根據(jù)權利要求2所述的方法,其中隔離所述虛擬機的步驟包括將所述虛擬機連接到安全宿主。
4.根據(jù)權利要求1或權利要求2所述的方法,進一步包括調查如何修復非兼容的虛擬機。
5.根據(jù)權利要求4所述的方法,進一步包括修復所述虛擬機。
6.根據(jù)權利要求5所述的方法,進一步包括再次測試已修復的虛擬機,并且如果所述 虛擬機符合所述一個或多個預定的要求,則將所述虛擬機鏡像引入到所述網(wǎng)絡。
7.根據(jù)任一前述權利要求所述的方法,其中測試步驟包括運行一個或多個自動化API。
8.一種在將虛擬機鏡像潛在地引入到網(wǎng)絡中的處理期間確定虛擬機鏡像的兼容性的 系統(tǒng),該系統(tǒng)包括適于執(zhí)行任一前述權利要求的方法步驟的一個或多個部件。
9.一種包括指令的計算機程序,當所述計算機程序在計算機系統(tǒng)上運行時,所述指令 用于執(zhí)行根據(jù)權利要求1至7的任意一項所述的方法。
10.一種部署在用于執(zhí)行根據(jù)權利要求1至7的任意一項所述的方法的數(shù)據(jù)處理系統(tǒng) 中的服務。
全文摘要
一種在將虛擬機鏡像潛在地引入到網(wǎng)絡中的處理期間確定虛擬機鏡像的兼容性的方法,該方法包括識別一個或多個虛擬機鏡像;控制所述或每個虛擬機鏡像使得其不能連接到網(wǎng)絡;執(zhí)行一個或多個測試以便確定所述或每個虛擬機鏡像是否符合一個或多個預定的要求;如果虛擬機符合所述一個或多個預定的要求,則將所述虛擬機鏡像引入到網(wǎng)絡。
文檔編號G06F21/57GK102099811SQ200980128555
公開日2011年6月15日 申請日期2009年4月20日 優(yōu)先權日2008年7月21日
發(fā)明者G·西雅諾, L·皮徹蒂 申請人:國際商業(yè)機器公司