遷移虛擬的制造方法
【專利摘要】公開了用于遷移虛擬機(jī)的示例方法、裝置和制品。所公開的示例方法包括:經(jīng)由處理器識別要從第一主機(jī)遷移到第二主機(jī)的第一虛擬機(jī)以改善第一虛擬機(jī)的性能;確定在第一虛擬機(jī)被遷移的情況下與第一虛擬機(jī)相關(guān)聯(lián)的頻率閾值不會被超過;確定用于第一虛擬機(jī)的可靠性評級;以及基于頻率閾值和可靠性評級將第一虛擬機(jī)遷移到第二主機(jī)。
【專利說明】遷移虛擬機(jī)
【背景技術(shù)】
[0001]許多計(jì)算過程被虛擬化以使得能夠在多個(gè)用戶之間有效地分割遠(yuǎn)程主機(jī)資源。主機(jī)的資源被分割到各個(gè)系統(tǒng)和/或基于過程的虛擬機(jī)中。一些虛擬機(jī)可以被靜態(tài)地預(yù)配置為服務(wù)于組織(例如,商業(yè)、公司、政府實(shí)體、學(xué)校等等),而其他虛擬機(jī)可以被動態(tài)地預(yù)配置為服務(wù)于個(gè)體用戶。時(shí)常地,虛擬機(jī)不得不在不同的主機(jī)之間遷移。例如,當(dāng)主機(jī)接近于容量進(jìn)行操作時(shí)、當(dāng)主機(jī)經(jīng)歷操作問題時(shí)或當(dāng)主機(jī)需要被去激活用于服務(wù)時(shí),可以遷移虛擬機(jī)。在這些示例中,遷移的虛擬機(jī)的操作員試圖減少虛擬機(jī)對于用戶來說脫機(jī)和/或不可用的時(shí)間。
【專利附圖】
【附圖說明】
[0002]圖1是用于遷移虛擬機(jī)的按照本公開的教導(dǎo)構(gòu)造的示例系統(tǒng)和/或示例虛擬機(jī)管理器的示意圖。
[0003]圖2示出圖1的示例虛擬機(jī)管理器。
[0004]圖3-7示出由圖1和2的示例虛擬機(jī)管理器用來確定要遷移哪些虛擬機(jī)的示例表格。
[0005]圖8A、8B、9和10是表示示例機(jī)器可訪問指令的流程圖,其可以被執(zhí)行以實(shí)施圖1和2的示例虛擬機(jī)管理器和/或系統(tǒng)。
[0006]圖11是不例處理器平臺的不意圖,其可以被用來和/或編程為執(zhí)行圖8A、8B、9和10的示例過程和/或示例機(jī)器可訪問指令,以實(shí)施任何或所有在此描述的示例系統(tǒng)、方法、裝置和/或制品。
【具體實(shí)施方式】
[0007]虛擬機(jī)是在虛擬環(huán)境中在主機(jī)上操作且僅對指定用戶來說可訪問的應(yīng)用的實(shí)例。許多虛擬機(jī)被實(shí)施在相對于用戶遠(yuǎn)程和/或中心定位的主機(jī)(例如,服務(wù)器、刀片式服務(wù)器、服務(wù)器機(jī)柜、處理器、計(jì)算機(jī)、微處理器等等)上。虛擬機(jī)的遠(yuǎn)程使得客戶端和/或顧客能夠租用和/或購買在至少一個(gè)主機(jī)間分配的處理容量和/或帶寬,而不是購買和/或租用物理設(shè)備。在這些實(shí)例中,虛擬機(jī)被實(shí)例化為使用一個(gè)或多個(gè)主機(jī)的所分配的分割來針對客戶端和/或顧客進(jìn)行操作。這些虛擬機(jī)還使得客戶端和/或顧客能夠存取數(shù)據(jù)和/或使用來自任何位置和/或來自任何設(shè)備(例如,云計(jì)算)的專有過程。
[0008]數(shù)據(jù)中心操作員頻繁地出于包括例如緩解性能問題、改善容量分配和/或支持維護(hù)任務(wù)的種種理由來在主機(jī)之間遷移虛擬機(jī)。遷移虛擬機(jī)的一些已知方法包括通過提高遷移虛擬機(jī)的速度來減小虛擬機(jī)的停工時(shí)間的過程。其他已知方法包括使用由客戶端和/或顧客指定的描述哪些服務(wù)器和/或物理位置能夠托管虛擬機(jī)的規(guī)則集。在另外其他已知方法中,基于數(shù)據(jù)中心操作員作出的人工選擇來遷移虛擬機(jī)。
[0009]虛擬機(jī)的遷移可能招致安全風(fēng)險(xiǎn)。例如,虛擬機(jī)遷移可能受對用于遷移虛擬機(jī)的部件(例如交換機(jī)、服務(wù)器、處理器等等)的聯(lián)網(wǎng)和/或處理資源的惡意的競爭所干擾。在其他示例中,虛擬機(jī)遷移提供對例如包括敏感應(yīng)用數(shù)據(jù)(例如用戶標(biāo)識、口令)、應(yīng)用狀態(tài)、操作系統(tǒng)內(nèi)核存儲器等等的虛擬機(jī)狀態(tài)的訪問。這些潛在安全風(fēng)險(xiǎn)可能阻止一些顧客和/或客戶端想要遷移它們的虛擬機(jī)。
[0010]另外,不同的虛擬機(jī)可能具有不同的遷移成本。例如,一些虛擬機(jī)可能利用更多存儲器,從而要求消耗相對更多的帶寬的相對更長的遷移時(shí)間。一些虛擬機(jī)可能已經(jīng)頻繁地更新存儲器,這使得完成遷移處理更困難,這是因?yàn)椴坏貌桓l繁地傳送存儲器狀態(tài)。在另外其他示例中,一些虛擬機(jī)可能要求專門的預(yù)配置來容納唯一的應(yīng)用,從而增加在新的主機(jī)上遷移和預(yù)配置虛擬機(jī)的時(shí)間。在許多已知方法中,當(dāng)確定要遷移哪些虛擬機(jī)時(shí),數(shù)據(jù)中心操作員不量化這些成本。
[0011]此外,擁有和/或租用虛擬機(jī)的顧客和/或客戶端可能想要限制遷移虛擬機(jī)的頻率以減小對商業(yè)業(yè)務(wù)的影響。例如,租用虛擬機(jī)的客戶端可能不想要每周將對面向顧客的店面應(yīng)用進(jìn)行操作的虛擬機(jī)遷移超過三次,以減小該店面對顧客來說不可用的時(shí)間量。另夕卜,顧客和/或客戶端可能想要指定可以在什么時(shí)間和/或在哪些天遷移虛擬機(jī)。盡管一些已知方法考慮顧客和/或客戶端偏好,但這些已知方法僅僅考慮遷移與一個(gè)客戶端和/或顧客相關(guān)聯(lián)的虛擬機(jī)的影響。
[0012]這里公開的示例系統(tǒng)、方法、裝置和制品通過基于虛擬機(jī)性能、主機(jī)容量、已知安全偏好、遷移成本的量化和/或遷移風(fēng)險(xiǎn)的估計(jì)的組合確定在主機(jī)之間遷移不同數(shù)量的虛擬機(jī)的影響,來解決至少一些這些問題。這里公開的示例系統(tǒng)、方法、裝置和制品使得虛擬機(jī)的顧客和/或客戶端能夠指定數(shù)據(jù)中心操作員用于確定應(yīng)該遷移哪些虛擬機(jī)的安全標(biāo)準(zhǔn)、性能閾值和/或頻率閾值。這使得顧客和/或客戶端能夠?qū)λ鼈兊奶摂M機(jī)的任何遷移不會有害地影響托管的運(yùn)營商和/或服務(wù)有把握。
[0013]這里公開的示例系統(tǒng)、方法、裝置和制品還對于數(shù)據(jù)中心操作員提供關(guān)于能夠基于主機(jī)的容量條件和/或虛擬機(jī)的測量的性能來遷移哪些虛擬機(jī)的指導(dǎo)。示例數(shù)據(jù)中心操作員使用這里公開的示例系統(tǒng)、方法、裝置和制品以確定需要虛擬機(jī)的多少次遷移來完成主機(jī)間的某些容量節(jié)約以及/或者克服至少一些托管的虛擬機(jī)間的性能問題。例如,作為確定通過一個(gè)遷移可以改善一個(gè)虛擬機(jī)的性能的代替,這里公開的示例系統(tǒng)、方法、裝置和制品協(xié)調(diào)多個(gè)虛擬機(jī)的遷移以改善主機(jī)間的容量,同時(shí)維持和/或改善虛擬機(jī)間的性能。
[0014]另外,這里公開的示例系統(tǒng)、方法、裝置和制品將操作類似應(yīng)用的虛擬機(jī)遷移到具有具體地為這些應(yīng)用配置的硬件、固件、軟件和/或其他的資源的主機(jī),從而改善虛擬機(jī)的性能,同時(shí)改善主機(jī)間的效率。用這樣的方式,能夠通過在具有類似的應(yīng)用、服務(wù)和/或操作系統(tǒng)的主機(jī)上整合虛擬機(jī)來改善主機(jī)上的容量,以便每個(gè)主機(jī)不必被配置為操作不同類型的應(yīng)用、服務(wù)和/或操作系統(tǒng)。此外,整合類似類型的虛擬機(jī)幫助改善數(shù)據(jù)中心的邏輯和/或操作。
[0015]這里公開的示例系統(tǒng)、方法、裝置和制品還僅僅通過基于由客戶端和/或顧客指定的條件遷移虛擬機(jī)來幫助數(shù)據(jù)中心維持客戶端和/或顧客間的滿意。例如,在許多已知數(shù)據(jù)中心中,基于由來自顧客和/或客戶端的業(yè)務(wù)的增加所引起的主機(jī)的容量限制來遷移虛擬機(jī)。然而,遷移頻繁使用的虛擬機(jī)可能在虛擬機(jī)被最經(jīng)常使用期間引起服務(wù)中斷,并且可能將虛擬機(jī)暴露到安全風(fēng)險(xiǎn)。這里公開的示例系統(tǒng)、方法、裝置和制品使得這些顧客和/或客戶端能夠指定輕微的性能下降是可接受的,而不是在遷移期間暫時(shí)從服務(wù)中移除虛擬機(jī)并且將虛擬機(jī)暴露到可能的安全威脅。
[0016]盡管結(jié)合在包括例如服務(wù)器的主機(jī)間遷移虛擬機(jī)而描述這里公開的示例系統(tǒng)、方法、裝置和制品,但這里公開的示例系統(tǒng)、方法、裝置和制品可以在處理器、網(wǎng)絡(luò)交換機(jī)、控制器、存儲器、數(shù)據(jù)庫、計(jì)算機(jī)等等間遷移虛擬機(jī)。此外,盡管結(jié)合針對組織而預(yù)配置的遷移虛擬機(jī)而描述這里公開的示例系統(tǒng)、方法、裝置和制品,但可以對于網(wǎng)絡(luò)提供商、服務(wù)提供商、云計(jì)算運(yùn)營商、政府機(jī)構(gòu)、個(gè)體用戶等等來實(shí)施這里公開的示例系統(tǒng)、方法、裝置和制品O
[0017]圖1示出用于遷移虛擬機(jī)的、根據(jù)本公開的教導(dǎo)構(gòu)造的示例系統(tǒng)100。示例系統(tǒng)包括虛擬機(jī)用戶102,其可以包括政府、企業(yè)、公司、預(yù)訂服務(wù)的個(gè)體用戶等等。示例虛擬機(jī)用戶102包括使得用戶能夠與由例如數(shù)據(jù)中心106托管的應(yīng)用和/或數(shù)據(jù)對接的工作站104(例如,計(jì)算機(jī)和/或處理器)。示例工作站104經(jīng)由任何有線和/或無線通信介質(zhì)(例如因特網(wǎng)、局域網(wǎng)等等)通信地耦合到數(shù)據(jù)中心106??梢酝ㄟ^例如包括個(gè)人計(jì)算機(jī)、服務(wù)器、膝上計(jì)算機(jī)、智能電話、智能平板電腦等等的任何類型的計(jì)算設(shè)備來實(shí)施示例工作站104。
[0018]在所圖示的示例中,數(shù)據(jù)中心106包括主機(jī)108、110和112。示例主機(jī)108-112包括能夠操作虛擬機(jī)114-124的任何類型的服務(wù)器、刀片式服務(wù)器、處理器、計(jì)算機(jī)、存儲器、數(shù)據(jù)庫、控制器和/或網(wǎng)絡(luò)交換機(jī)。在一些示例中,數(shù)據(jù)中心106位于單個(gè)物理位置中。替換地,數(shù)據(jù)中心106可以表示主機(jī)108-112在地理上地彼此分離的不同的物理位置。在其他的示例中,數(shù)據(jù)中心106能夠包括附加的主機(jī)、較少的主機(jī)、附加的虛擬機(jī),和/或較少的虛擬機(jī)。
[0019]圖1的示例數(shù)據(jù)中心106由數(shù)據(jù)中心操作員126管理。示例數(shù)據(jù)中心操作員126基于例如由客戶端管理員128提供的信息針對虛擬機(jī)114-124來預(yù)配置主機(jī)108-112。示例數(shù)據(jù)中心操作員126還將工作站104之間的通信路由和/或交換到在各個(gè)主機(jī)108-112上操作的虛擬機(jī)114-124。數(shù)據(jù)中心操作員126可以使用任何路由器、交換機(jī)和/或服務(wù)器,用于路由數(shù)據(jù)中心106內(nèi)的通信。示例數(shù)據(jù)中心操作員126還維持識別哪個(gè)虛擬機(jī)114-124位于哪個(gè)主機(jī)108-112上的表格。
[0020]示例客戶端管理員128包括任何顧客和/或客戶端,其從數(shù)據(jù)中心106請求一個(gè)或多個(gè)虛擬機(jī)114-124來托管例如應(yīng)用、數(shù)據(jù)、服務(wù)等等。示例客戶端管理員128可以與包括例如虛擬機(jī)用戶102的組織相關(guān)聯(lián)。例如,客戶端管理員128可以包括公司的因特網(wǎng)技術(shù)(IT)部門,并且虛擬機(jī)用戶102是公司的雇員和/或承包人。在其他示例中,客戶端管理員128可以包括服務(wù)提供商,并且虛擬機(jī)用戶102預(yù)訂訪問虛擬機(jī)。例如,客戶端管理員128租用虛擬機(jī)114。在該示例中,虛擬機(jī)用戶102預(yù)訂客戶端管理員128來訪問由虛擬機(jī)114托管的應(yīng)用和/或數(shù)據(jù)。在其他示例中,客戶端管理員128可以包括具有由虛擬機(jī)114托管的在線店面的公司。在這些其他示例中,虛擬機(jī)用戶102訪問由虛擬機(jī)114托管的網(wǎng)頁以購買由客戶端管理員128提供的服務(wù)和/或商品。
[0021]客戶端管理員128提供用于托管虛擬機(jī)的需求,包括帶寬的量、與虛擬機(jī)相關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)地址、用于虛擬機(jī)的地理偏好、由虛擬機(jī)支持的操作系統(tǒng)類型、要由虛擬機(jī)操作的應(yīng)用、要對于虛擬機(jī)可用的存儲器、數(shù)據(jù)貯存容量等等。另外,示例客戶端管理員128能夠指定用于虛擬機(jī)的最小性能閾值、要與虛擬機(jī)相關(guān)聯(lián)的安全風(fēng)險(xiǎn)等級和/或用于虛擬機(jī)的所允許的遷移頻率。此外,示例客戶端管理員128可以提供包括計(jì)費(fèi)信息的邏輯信息。[0022]為了處理來自示例客戶端管理員128的請求和/或管理數(shù)據(jù)中心106內(nèi)的示例虛擬機(jī)114-124,示例系統(tǒng)100包括虛擬機(jī)管理器130。示例虛擬機(jī)管理器130基于由示例客戶端管理員128提供的信息來預(yù)配置主機(jī)108-112。虛擬機(jī)管理器130通過針對虛擬機(jī)114-124從主機(jī)108-112當(dāng)中分配處理和/或存儲器容量以及/或者配置主機(jī)108-112上的硬件、固件、軟件和/或任何其他的資源以操作虛擬機(jī)114-124,來預(yù)配置主機(jī)108-112。示例虛擬機(jī)管理器130還更新數(shù)據(jù)中心106內(nèi)的路由表,因此來自例如工作站104的通信被路由到適當(dāng)?shù)奶摂M機(jī)114-124。
[0023]在所圖示的示例中,虛擬機(jī)管理器130被示出為在數(shù)據(jù)中心106外。在該示例中,可以由與數(shù)據(jù)中心106分離的實(shí)體操作示例虛擬機(jī)管理器130。在這些示例中,虛擬機(jī)管理器130還可以在不同的數(shù)據(jù)中心中所包括的主機(jī)間遷移虛擬機(jī)。替換地,可以由相同的實(shí)體操作和/或管理虛擬機(jī)管理器130和數(shù)據(jù)中心106。在這些替換示例中,虛擬機(jī)管理器130可以被包括在數(shù)據(jù)中心106內(nèi)。
[0024]圖1的示例虛擬機(jī)管理器130使用由例如客戶端管理員128提供的預(yù)配置和/或管理信息,以確定能夠在主機(jī)108-112間遷移虛擬機(jī)114-124中的哪個(gè)或哪些。用這樣的方式,示例虛擬機(jī)管理器130協(xié)調(diào)示例數(shù)據(jù)中心106內(nèi)的虛擬機(jī)114-124的操作。示例虛擬機(jī)管理器130包括確定主機(jī)108-112的容量且測量由虛擬機(jī)114-124提供的性能(例如服務(wù)質(zhì)量(QoS))的監(jiān)視器。示例虛擬機(jī)管理器130通過將主機(jī)108-112的所測量的容量與已知的容量約束相比較以及將虛擬機(jī)114-124的所測量的性能與客戶端指定的性能閾值相比較,來確定是否存在任何容量和/或性能問題。
[0025]如果容量接近和/或超過容量限制以及/或者性能接近和/或超過閾值,則所圖示的示例的示例虛擬機(jī)管理器130確定遷移虛擬機(jī)114-124。為了確定要遷移哪些虛擬機(jī)114-124,示例虛擬機(jī)管理器130確定由于移動每一個(gè)虛擬機(jī)114-124所引起的對容量和/或性能的影響。例如,虛擬機(jī)管理器130最初基于遷移虛擬機(jī)114來確定對主機(jī)108-112的容量的影響。示例虛擬機(jī)管理器130還通過將虛擬機(jī)114遷移到主機(jī)110和112的任何一個(gè)來確定對性能的影響。在一些示例中,可以僅當(dāng)遷移虛擬機(jī)的影響小于影響閾值時(shí)才遷移虛擬機(jī)114。
[0026]另外,示例虛擬機(jī)管理器130確定用于遷移每一個(gè)虛擬機(jī)114-124的安全風(fēng)險(xiǎn)??梢杂衫缈蛻舳斯芾韱T128指定安全風(fēng)險(xiǎn)。在圖1的示例中,虛擬機(jī)管理器130可以確定虛擬機(jī)114和124中的任一個(gè)應(yīng)該被遷移到主機(jī)110。虛擬機(jī)管理器130然后確定虛擬機(jī)114具有相對低的安全風(fēng)險(xiǎn)(例如小于第一閾值安全風(fēng)險(xiǎn)的安全風(fēng)險(xiǎn)),而虛擬機(jī)124具有相對高的安全風(fēng)險(xiǎn)(例如大于第一安全風(fēng)險(xiǎn)和/或第二安全風(fēng)險(xiǎn)的安全風(fēng)險(xiǎn))。在一些示例中,虛擬機(jī)管理器130通過查找由虛擬機(jī)114、124的相應(yīng)的客戶端、所有者、出租人和/或用戶寄予虛擬機(jī)114、124的相應(yīng)安全等級和/或安全值來確定虛擬機(jī)114、124的安全風(fēng)險(xiǎn)??梢粤硗獾鼗蛱鎿Q地使用用于確定與虛擬機(jī)相關(guān)聯(lián)的安全風(fēng)險(xiǎn)的任何其他的過去的、現(xiàn)在的和/或?qū)淼姆椒??;诎踩L(fēng)險(xiǎn),虛擬機(jī)管理器130確定具有相對低的安全風(fēng)險(xiǎn)的虛擬機(jī)114應(yīng)該被遷移到主機(jī)110。在例如主機(jī)112的容量被顯著地超過的一些實(shí)例中,虛擬機(jī)管理器130可以確定遷移虛擬機(jī)124以減小主機(jī)上的容量比安全風(fēng)險(xiǎn)重要。在其他示例中,虛擬機(jī)管理器130可以最初確定虛擬機(jī)114-124中的哪些與相對較高的安全風(fēng)險(xiǎn)相關(guān)聯(lián)并僅僅識別低安全風(fēng)險(xiǎn)的虛擬機(jī)來遷移。[0027]除確定安全風(fēng)險(xiǎn)之外,圖1的示例虛擬機(jī)管理器130確定虛擬機(jī)114-124的遷移頻率和/或可靠性評級??梢岳缬煽蛻舳斯芾韱T128指定遷移頻率和/或可靠性評級。替換地,可以基于先前觀察的遷移虛擬機(jī)的困難來確定可靠性評級。在一些實(shí)例中,虛擬機(jī)管理器130可以使用遷移頻率和/或可靠性評級以列出應(yīng)該遷移哪些虛擬機(jī)114-124。在其他實(shí)例中,容量和/或性能問題的嚴(yán)重度可能使虛擬機(jī)管理器130不管允許的遷移頻率和/或可靠性評級而遷移虛擬機(jī)114-124。
[0028]在遷移虛擬機(jī)114-124之前,示例虛擬機(jī)管理器130確定將被遷移的任何識別的虛擬機(jī)是否將超過指定的(例如允許的)遷移頻率。例如,虛擬機(jī)管理器130可能確定具有每24小時(shí)時(shí)間段兩個(gè)移動的遷移頻率的虛擬機(jī)114在過去的一天中已經(jīng)被遷移兩次。在該示例中,虛擬機(jī)管理器130可以確定虛擬機(jī)114當(dāng)前不可用于遷移并且選擇虛擬機(jī)116-124中的另一個(gè)來進(jìn)行遷移。替換地,示例虛擬機(jī)管理器130可以最初在確定應(yīng)該遷移哪些虛擬機(jī)以解決容量/性能問題之前基于當(dāng)前遷移頻率來濾出要遷移哪些虛擬機(jī)1140-124。
[0029]圖1的示例虛擬機(jī)管理器130使用可靠性評級來確定遷移哪些虛擬機(jī)114-124??煽啃栽u級描述遷移虛擬機(jī)的困難,包括例如預(yù)配置時(shí)間、遷移時(shí)間、運(yùn)營商監(jiān)督、預(yù)配置驗(yàn)證過程和/或應(yīng)用或服務(wù)復(fù)雜性。在一些實(shí)例中,可靠性評級可以基于一天中的時(shí)間和/或接收虛擬機(jī)的主機(jī)的配置。例如,如果對于UNIX操作環(huán)境配置了主機(jī)108和110并且主機(jī)112具有Windows操作環(huán)境,則虛擬機(jī)管理器130可以確定與將虛擬機(jī)114遷移到主機(jī)112相比,將虛擬機(jī)114遷移到主機(jī)110具有相對較好的可靠性評級。
[0030]所圖示的示例的示例虛擬機(jī)管理器130在基于安全風(fēng)險(xiǎn)、遷移頻率和/或可靠性評級識別不應(yīng)該遷移哪些虛擬機(jī)之后遷移虛擬機(jī)114-124。在一些實(shí)例中,示例虛擬機(jī)管理器130可以確定虛擬機(jī)114能夠被遷移到主機(jī)110。在這些實(shí)例中,示例虛擬機(jī)管理器130然后從與遷移虛擬機(jī)114同時(shí)和/或在遷移虛擬機(jī)114之后遷移任何其他虛擬機(jī)116-124迭代地確定任何附加容量節(jié)約和/或性能改善。因此,在一些示例中,虛擬機(jī)管理器130基于同時(shí)遷移虛擬機(jī)的群組和/或集合來確定總?cè)萘抗?jié)約和總性能改善。
[0031]圖2示出圖1的示例虛擬機(jī)管理器130的圖。為了與圖1的示例客戶端管理員128對接,示例虛擬機(jī)管理器130包括客戶端接口 202。示例客戶端接口 202提供例如客戶端管理員128用來指定用于虛擬機(jī)114-124的預(yù)配置和/或遷移信息的應(yīng)用編程接口(API)。例如,客戶端管理員128經(jīng)由由客戶端接口 202管理的網(wǎng)頁中的數(shù)據(jù)字段來提供信息。替換地,客戶端接口 202可以包括與客戶端管理員128通信的人員(例如電話接線員)。
[0032]圖2的示例客戶端接口 202將預(yù)配置和/或遷移信息存儲到虛擬機(jī)數(shù)據(jù)庫204。示例虛擬機(jī)數(shù)據(jù)庫204還存儲虛擬機(jī)114-124的位置和/或到達(dá)虛擬機(jī)114-124的路由信息。示例虛擬機(jī)數(shù)據(jù)庫204進(jìn)一步存儲指定圖1的虛擬機(jī)用戶102能夠訪問哪些虛擬機(jī)114-124的許可信息。許可信息還可以指定哪些用戶102具有對由虛擬機(jī)114-124提供的服務(wù)和/或數(shù)據(jù)的讀訪問、寫訪問和/或預(yù)訂訪問。虛擬機(jī)數(shù)據(jù)庫204可以例如由下述來實(shí)施:存儲盤磁盤陣列、磁帶驅(qū)動器、易失的和/或非易失性存儲器、光盤(CD)、數(shù)字化通用磁盤(DVD )、軟盤、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、可編程序只讀存儲器(PR0M)、電子可編程序只讀存儲器(EPR0M)、電子可擦編程只讀存儲器(EEPR0M)、光盤存儲器、光存儲設(shè)備、磁盤存儲器、磁存儲設(shè)備、高速緩存和/或其中在任何持續(xù)時(shí)間存儲數(shù)據(jù)的其他存儲介質(zhì)。[0033]所圖示的示例的示例客戶端接口 202使得例如客戶端管理員128能夠訪問虛擬機(jī)數(shù)據(jù)庫204內(nèi)的相關(guān)聯(lián)的信息。例如,客戶端管理員128使用客戶端接口 202來修改虛擬機(jī)的安全風(fēng)險(xiǎn)、遷移頻率閾值、性能閾值和可靠性評級。在其他實(shí)例中,客戶端管理員128經(jīng)由客戶端接口 202來指定允許遷移虛擬機(jī)的一天中的時(shí)間和/或一周中的天。
[0034]為了確定要遷移虛擬機(jī)114-124中的哪個(gè)或哪些,圖2的示例虛擬機(jī)管理器130包括遷移處理器206 (例如整合分析引擎)。示例遷移處理器206分析主機(jī)108-112的容量測量和虛擬機(jī)114-124的性能測量來確定要遷移哪些虛擬機(jī)。示例遷移處理器206接收來自性能監(jiān)視器208的虛擬機(jī)性能信息和來自容量監(jiān)視器210的容量信息。
[0035]圖2的示例性能監(jiān)視器208測量虛擬機(jī)114-124的性能度量。示例性能監(jiān)視器208測量例如虛擬機(jī)114-124每時(shí)間段的存儲器利用率、帶寬使用率和/或中央處理單元操作。示例性能監(jiān)視器208還可以使用包括例如服務(wù)違反的QoS度量來測量虛擬機(jī)114-124的性能。示例性能監(jiān)視器208將測量的性能數(shù)據(jù)傳送到遷移處理器206以用于分析。
[0036]不例容量監(jiān)視器210測量由每一個(gè)主機(jī)108-112利用的容量的量。不例容量監(jiān)視器210基于例如由每一個(gè)虛擬機(jī)114-124利用的主機(jī)108-112的資源量來確定容量。示例容量監(jiān)視器210將容量數(shù)據(jù)傳送到遷移處理器206以用于分析。
[0037]示例遷移處理器206使用容量和/或性能數(shù)據(jù)來確定任何性能和/或容量問題。例如,遷移處理器206確定虛擬機(jī)114以比由客戶端管理員128指定的閾值低的性能級別(例如,QoS)操作。在其他示例中,遷移處理器206可以確定主機(jī)108-112中的哪些滿負(fù)荷和/或力所不及地操作。在這兩個(gè)示例中,遷移處理器206確定能夠遷移虛擬機(jī)114-124中的哪個(gè)或哪些來減少性能和/或容量問題。
[0038]所圖示的示例的 示例遷移處理器206還使用來自相應(yīng)的監(jiān)視器208和210的容量和/或性能數(shù)據(jù),以確定遷移虛擬機(jī)114-124的性能和/或容量影響。例如,遷移處理器206可以使用數(shù)據(jù)以確定通過將一些虛擬機(jī)114-124遷移到不同的主機(jī)能夠?qū)?shù)據(jù)中心106的總?cè)萘繙p少多少(例如,將虛擬機(jī)118遷移到主機(jī)112以使得虛擬機(jī)管理器130能夠去激活主機(jī)110,從而減少能量消耗)。在其他示例中,遷移處理器206可以使用數(shù)據(jù)以確定通過遷移虛擬機(jī)114-124中的一些能夠?qū)⑻摂M機(jī)114-124的平均性能改善多少。
[0039]在一些示例中,圖2的遷移處理器206使用算法、例程和/或函數(shù)來預(yù)測和/或估計(jì)遷移虛擬機(jī)114-124的容量和/或性能改變。例如,主機(jī)110上的未使用的容量(例如為7—)用示例等式(I)表示,其中是主機(jī)HO的最大容量,并且
met/是由主機(jī)110利用的容量的量。
Aiimtu? = max_sharcSkosirm - peak_sharesJtsedtiosn.l0(1)
[0040]示例遷移處理器206使用示例等式(2)基于將虛擬機(jī)114遷移到主機(jī)110來確定容量節(jié)約5^。容量節(jié)約與將工作量H從虛擬機(jī)114移動到主機(jī)110有關(guān)。
Sv2 = AftmtiQ8 — <4 Ilosn J0(2)
[0041]示例遷移處理器206還基于遷移其他虛擬機(jī)116-124來計(jì)算容量節(jié)約和/或降低,以確定應(yīng)該遷移哪些虛擬機(jī)114-124以在主機(jī)108-112當(dāng)中最佳地利用容量。在一些實(shí)例中,示例遷移處理器206基于先前虛擬機(jī)性能的歷史跟蹤數(shù)據(jù)來預(yù)測虛擬機(jī)114-124的未來容量和/或性能。歷史跟蹤數(shù)據(jù)例如存儲在虛擬機(jī)數(shù)據(jù)庫204中。
[0042]圖2的示例遷移處理器206還基于安全等級、可靠性評級和/或遷移頻率閾值來確定能夠遷移哪些識別的虛擬機(jī)114-124。為了確定虛擬機(jī)114-124中的每一個(gè)的安全等級和/或級別,示例遷移處理器206訪問安全管理器212。示例遷移處理器206給安全管理器212提供虛擬機(jī)114-124的標(biāo)識符。示例安全管理器212使用標(biāo)識符來從虛擬機(jī)數(shù)據(jù)庫204中檢索對應(yīng)的安全等級。示例安全管理器212然后將虛擬機(jī)114-124的安全等級傳送到遷移處理器206,來確定限制虛擬機(jī)114-124中的哪些被遷移。
[0043]為了確定用于虛擬機(jī)114-124的遷移頻率閾值,示例遷移處理器206訪問遷移許可管理器214。示例遷移許可管理器214使用虛擬機(jī)114-124的標(biāo)識符來檢索用于每一個(gè)虛擬機(jī)114-124的對應(yīng)的遷移頻率閾值和/或當(dāng)前的遷移頻率。遷移許可管理器214然后將閾值和/或當(dāng)前的遷移頻率傳送到遷移處理器206。示例遷移許可管理器214還跟蹤哪些虛擬機(jī)114-124被遷移并更新對應(yīng)的當(dāng)前遷移頻率來反映最近的遷移。此外,遷移許可管理器214針對每個(gè)時(shí)間段更新用于虛擬機(jī)114-124中的每一個(gè)的當(dāng)前遷移頻率。
[0044]為了確定用于虛擬機(jī)114-124的可靠性指標(biāo),圖2的示例遷移處理器206訪問遷移復(fù)雜度管理器216。示例遷移復(fù)雜度管理器216使用虛擬機(jī)的標(biāo)識符來從虛擬機(jī)數(shù)據(jù)庫204中檢索對應(yīng)的可靠性評級。示例遷移復(fù)雜度管理器216將可靠性評級傳送到遷移處理器 206。
[0045]每當(dāng)對應(yīng)的虛擬機(jī)114-124被遷移時(shí),所圖示的示例的示例遷移復(fù)雜度管理器216還創(chuàng)建和/或修改可靠性評級。例如,遷移復(fù)雜度管理器216可以監(jiān)視在主機(jī)110上遷移和預(yù)配置虛擬機(jī)114的時(shí)間量,并更新可靠性評級以反映所監(jiān)視的時(shí)間。示例遷移復(fù)雜度管理器216還可以針對一天中的不同時(shí)間或一周中的不同天創(chuàng)建每一個(gè)虛擬機(jī)114-124的可靠性評級。用這樣的方式,示例遷移處理器206可以在可靠性評級相對較高(例如,用于遷移虛擬機(jī)的較低的預(yù)期的困難)時(shí)使用該天/時(shí)間信息來調(diào)度虛擬機(jī)遷移。
[0046]在其他示例中,遷移復(fù)雜度管理器216可以基于完成虛擬機(jī)遷移所需要的資源的數(shù)量和/或量來修改存儲在虛擬機(jī)數(shù)據(jù)庫204中的可靠性評級。例如,用于遷移的較大的存儲器大小和/或更多的監(jiān)督可能引起遷移復(fù)雜度管理器216計(jì)算較低的可靠性評級。在其他示例中,遷移復(fù)雜度管理器216可以與性能監(jiān)視器208對接,以基于新遷移的虛擬機(jī)的初始QoS來計(jì)算可靠性評級。
[0047]在接收到安全等級、可靠性評級和/或遷移頻率信息后,示例遷移處理器206選擇要遷移哪些虛擬機(jī)114-124。示例遷移處理器206通過確定是否有任何信息限制任何虛擬機(jī)被遷移來選擇要遷移的虛擬機(jī)。例如,可以由遷移處理器206從計(jì)劃的遷移中移除具有相對較高的安全等級、相對較低的可靠性評級和/或超過允許的遷移頻率的頻率遷移的虛擬機(jī)。遷移處理器206然后使用用于對應(yīng)虛擬機(jī)的容量和/或性能影響計(jì)算來遷移剩余的虛擬機(jī)。
[0048]替換地,示例遷移處理器206可以針對被識別以被遷移的虛擬機(jī)114-124中的每一個(gè)計(jì)算遷移分?jǐn)?shù)。遷移分?jǐn)?shù)對應(yīng)于安全等級、可靠性評級、遷移頻率、性能影響和/或容量節(jié)約的平均值、加權(quán)平均值、求和等等。例如,遷移處理器206可以基于高可靠性(例如,值3)、低安全等級(例如,值3)、低當(dāng)前遷移數(shù)量(例如,值2)、適度的性能改善(例如,值2)和低容量節(jié)約(例如,值I)來針對移動到主機(jī)110的虛擬機(jī)114計(jì)算遷移分?jǐn)?shù)。在該示例中,遷移分?jǐn)?shù)是值的求和(例如,值9)。遷移處理器206然后確定在所計(jì)算的值大于預(yù)定門限值‘5’的情況下是否能夠遷移虛擬機(jī)114。在該實(shí)例中,遷移處理器206確定能夠?qū)⑻摂M機(jī)114遷移到主機(jī)110。
[0049]在這些替換示例中,圖2的遷移處理器206為遷移到每一個(gè)主機(jī)108-112的每一個(gè)虛擬機(jī)114-124計(jì)算遷移分?jǐn)?shù),并且使用例程(例如最優(yōu)化算法)來確定虛擬機(jī)遷移的哪個(gè)組合生成用于數(shù)據(jù)中心106的最高總遷移分?jǐn)?shù)。在這些示例中,性能和/或容量考慮可能比使遷移處理器206遷移相對更危險(xiǎn)的虛擬機(jī)的其他因素重要。例如,如果存在顯著的容量問題,則顯著的容量節(jié)約(例如,值5)可以提供充足的加權(quán)以不管用于其他的因素的其他值而遷移虛擬機(jī)。在這些其他示例中,遷移處理器206可以從遷移考慮中移除例如具有高安全等級或高于指定的閾值的遷移頻率的任何虛擬機(jī)114-124。
[0050]在確定要遷移虛擬機(jī)114-124中的哪個(gè)或哪些和主機(jī)108-112中的哪個(gè)或哪些將接收虛擬機(jī)114-124之后,圖2的示例遷移處理器206將遷移指令發(fā)送到主機(jī)接口 218。示例主機(jī)接口 218在主機(jī)108-112間協(xié)調(diào)虛擬機(jī)114-124的遷移。例如,主機(jī)接口 218將指令發(fā)送到主機(jī)110來分配資源以使虛擬機(jī)114操作。指令可以包括在主機(jī)110內(nèi)被配置為操作虛擬機(jī)114所需的要分配的資源的量和/或任何支持軟件和/或固件。
[0051]在該示例中,圖2的主機(jī)接口 218將指令發(fā)送到主機(jī)108以開始將虛擬機(jī)114的存儲器和/或數(shù)據(jù)狀態(tài)傳遞到主機(jī)110的新分配的部分。示例主機(jī)接口 218然后可以協(xié)調(diào)使虛擬機(jī)114在主機(jī)108上暫停,將最后的存儲器和/或數(shù)據(jù)狀態(tài)傳遞到主機(jī)110并且開始主機(jī)110上的虛擬機(jī)114的操作。示例主機(jī)接口 218還可以更新數(shù)據(jù)中心106內(nèi)的路由和/或轉(zhuǎn)發(fā)表格,以反映虛擬機(jī)114到主機(jī)110的遷移。此外,示例主機(jī)接口 218可以利用遷移的虛擬機(jī)114的新的位置來更新虛擬機(jī)數(shù)據(jù)庫204,并通知遷移復(fù)雜度管理器216來更新虛擬機(jī)114的當(dāng)前遷移頻率。
[0052]在其中圖2的示例主機(jī)接口 218要同時(shí)遷移多個(gè)虛擬機(jī)114-124的示例中,示例主機(jī)接口 218確定虛擬機(jī)114-124要被遷移的順序,以便在遷移期間不超過主機(jī)108-112的容量。在一些實(shí)例中,主機(jī)接口 218將一個(gè)或多個(gè)虛擬機(jī)遷移到暫時(shí)位置以促進(jìn)多次遷移。例如,為了將虛擬機(jī)116遷移到主機(jī)112并將虛擬機(jī)124遷移到主機(jī)108,示例主機(jī)接口 218首先將虛擬機(jī)116遷移到主機(jī)110,以創(chuàng)建供虛擬機(jī)124遷移到主機(jī)108的空間。主機(jī)接口 218然后將虛擬機(jī)116遷移到主機(jī)112。
[0053]盡管已經(jīng)在圖1和2中圖示了實(shí)施示例虛擬遷移管理器130的示例方式,但可以以任何其他方式組合、劃分、重新布置、省略、剔除和/或?qū)嵤﹫D2中圖示的一個(gè)或多個(gè)元件、處理和/或設(shè)備。此外,可以由硬件、軟件、固件以及/或者硬件、軟件和/或固件的任何組合來實(shí)施圖2的示例客戶端接口 202、示例虛擬機(jī)數(shù)據(jù)庫204、示例遷移處理器206、示例性能監(jiān)視器208、示例容量監(jiān)視器210、示例安全管理器212、示例遷移許可管理器214、示例遷移復(fù)雜度管理器216、示例主機(jī)接口 218和/或更一般地示例虛擬機(jī)管理器130。因此,能夠由一個(gè)或多個(gè)電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯設(shè)備(PLD)和/或現(xiàn)場可編程邏輯設(shè)備(FPLD)等等來實(shí)施示例客戶端接口 202、示例虛擬機(jī)數(shù)據(jù)庫204、示例遷移處理器206、示例性能監(jiān)視器208、示例容量監(jiān)視器210、示例安全管理器212、示例遷移許可管理器214、示例遷移復(fù)雜度管理器216、示例主機(jī)接口 218和/或更一般地示例虛擬機(jī)管理器130中的任一個(gè)或全部。當(dāng)所附裝置或系統(tǒng)權(quán)利要求中的任一項(xiàng)被理解為覆蓋完全地軟件和/或固件實(shí)現(xiàn)時(shí),據(jù)此明確地將示例客戶端接口 202、示例虛擬機(jī)數(shù)據(jù)庫204、示例遷移處理器206、示例性能監(jiān)視器208、示例容量監(jiān)視器210、示例安全管理器212、示例遷移許可管理器214、示例遷移復(fù)雜度管理器216和/或示例主機(jī)接口 218定義為包括存儲軟件和/或固件的諸如存儲器、DVD、CD、藍(lán)光盤等等的計(jì)算機(jī)可讀介質(zhì)。更進(jìn)一步,圖2的虛擬機(jī)管理器130可以包括除圖2中圖示的那些之外或者替代其的一個(gè)或多個(gè)元件、處理和/或設(shè)備,并且/或者可以包括任何或所有所圖示的元件、處理和設(shè)備中的一個(gè)以上。
[0054]圖3-7示出由圖1和2的示例遷移處理器206用來確定要在主機(jī)108-112間遷移明_虛擬機(jī)114-124的示例表格。圖3的示例表格302示出虛擬機(jī)114-120在主機(jī)108-112間的分配。在該示例中,沒有預(yù)配置圖1的虛擬機(jī)122和124。
[0055]示例表格302示出主機(jī)108具有10 GHz的總?cè)萘坎⑶抑鳈C(jī)110和112每個(gè)具有
6GHz的總?cè)萘?。示例表?02還示出主機(jī)108包括虛擬機(jī)114和116、主機(jī)110包括虛擬機(jī)118,并且主機(jī)包括虛擬機(jī)120。示例表格302還指示了:主機(jī)108具有5GHz的可用容量(例如資源),主機(jī)110沒有可用容量,并且主機(jī)112具有IGHz的可用容量。在其他示例中,表格302可以包括指定在主機(jī)108-112上所使用的和/或可用的存儲器的量或替換地在主機(jī)108-112上所使用的和/或可用的處理器空間的量的信息。
[0056]圖2的示例遷移處理器206從虛擬機(jī)數(shù)據(jù)庫204中檢索示例表格302以確定虛擬機(jī)114-120的當(dāng)前配置。示例遷移處理器206還使用表格302來識別由例如監(jiān)視器208和210檢測到的容量和/或性能問題。例如,遷移處理器206確定虛擬機(jī)114-120應(yīng)該在主機(jī)108-112間重新布置以改善主機(jī)110上的容量。
[0057]示例表格304示出由示例遷移處理器206對將虛擬機(jī)118 (例如VM BI)遷移到主機(jī)108的效果計(jì)算的性能。表格304中的‘I’值指示主機(jī)108將需要IGHz的附加容量來容納虛擬機(jī)118的遷移(例如,虛擬機(jī)114-118的總?cè)萘繉⑹荌IGHz)?!甀’值還指示由于主機(jī)108處容量的缺乏虛擬機(jī)118將遭受有害的性能。表格304中的‘X’值指示遷移處理器206未計(jì)算將虛擬機(jī)114-118遷移到主機(jī)108-112的效果。
[0058]圖3的示例表格304示出指示將不需要附加容量來將虛擬機(jī)120 (例如VM A3)遷移到主機(jī)108的‘0’值。示例遷移處理器206使用該信息來確定虛擬機(jī)120是要被遷移到主機(jī)108的候選者。示例遷移處理器206繼續(xù)分析遷移虛擬機(jī)114-120中的每一個(gè)的容量和/或性能影響,直到每一個(gè)‘X’被替換為數(shù)值,如表格306中所示。示例遷移處理器206還計(jì)算遷移虛擬機(jī)114-120的不同的組合的性能和/或容量影響。在一些實(shí)例中,不同的組合可以對應(yīng)于示例表格306中的值的所計(jì)算出的組合。示例遷移處理器206然后確定遷移的哪些組合導(dǎo)致容量和/或性能改善。
[0059]在其他示例中,遷移處理器206利用用于確定性能和/或容量影響的其他的方法。例如,遷移處理器206可以基于工作量的重要性使用QoS違反和/或加權(quán)的性能來計(jì)算性能。在其他示例中,遷移處理器206根據(jù)虛擬機(jī)性能來確定容量影響。
[0060]圖4示出用于虛擬機(jī)114-120的示例安全等級信息的表格402。示例遷移處理器206經(jīng)由安全管理器212從虛擬機(jī)數(shù)據(jù)庫204中檢索安全等級信息。表格402中的安全等級是遷移處理器206用來確定能夠遷移虛擬機(jī)114-120中的哪個(gè)或哪些的可能安全信息的示例。在其他示例中,表格402包括基于數(shù)值尺度的安全等級。
[0061]在圖4的示例表格402中,‘低’安全等級對應(yīng)于在虛擬機(jī)被損害和/或中斷的情況下將對商業(yè)具有相對較低影響的遷移?!汀燃壱部梢詫?yīng)于0%的風(fēng)險(xiǎn)影響以及允許的遷移策略?!械取踩燃墝?yīng)于在虛擬機(jī)在遷移期間被損害和/或中斷的情況下對商業(yè)的中等影響。‘中等’等級也可以對應(yīng)于25%風(fēng)險(xiǎn)影響以及允許的遷移策略。此外,‘高’安全等級對應(yīng)于在虛擬機(jī)在遷移期間被損害和/或中斷的情況下對商業(yè)的相對嚴(yán)重的影響?!摺踩燃墝?yīng)于拒絕和/或限制的遷移策略。
[0062]示例風(fēng)險(xiǎn)影響指示低于哪些條件可接受遷移處理器206遷移虛擬機(jī)。在該示例中,25%的風(fēng)險(xiǎn)影響指示在用于托管虛擬機(jī)116的有效成本和/或資源量減少了 25%的情況下能夠遷移該虛擬機(jī)116。換句話說,如果容量改善25%或性能改善25%,則能夠遷移虛擬機(jī) 116。
[0063]示例遷移處理器206使用示例表格402中的安全等級來確定因‘高’安全等級而不能遷移虛擬機(jī)118和120。遷移處理器206然后基于‘中等’和‘低’安全等級來確定是否要遷移虛擬機(jī)114和116。在一些示例中,在如圖3中所描述的確定性能和/或容量影響之前,遷移處理器206可以使用表格402來最初確定不能遷移哪些虛擬機(jī)。
[0064]圖5示出包括用于示例虛擬機(jī)114-120的許可的遷移頻率和當(dāng)前遷移頻率的示例表格502。圖1的客戶端管理員128指定許可的遷移頻率并且遷移許可管理器214確定虛擬機(jī)114-120在時(shí)間段期間已經(jīng)被遷移的次數(shù)。遷移頻率指示虛擬機(jī)已經(jīng)被遷移的平均次數(shù)。例如,虛擬機(jī)120具有每48小時(shí)一次的平均遷移頻率,指示虛擬機(jī)120每兩天被遷移一次。在其他示例中,當(dāng)前遷移頻率可以對應(yīng)于在直接前一時(shí)間段中虛擬機(jī)已經(jīng)被遷移的次數(shù)。例如,虛擬機(jī)120的當(dāng)如遷移頻率在過去二小時(shí)可能是零次。許可的遷移頻率可能基于一天中的時(shí)間和/或一周中的天而改變。
[0065]示例遷移處理器206使用示例表格502來確定可以遷移虛擬機(jī)114-120中的哪個(gè)或哪些。使用圖4的表格402中的信息,在該示例中,遷移處理器206僅僅必須確定是否允許虛擬機(jī)114和116遷移,這是因?yàn)樘摂M機(jī)118和120與‘高’安全等級相關(guān)聯(lián)。在所圖示的示例中,遷移處理器206確定允許每小時(shí)一次地遷移虛擬機(jī)114并且虛擬機(jī)114目前在過去的小時(shí)內(nèi)沒有被遷移。另外,遷移處理器206確定允許虛擬機(jī)116每兩個(gè)小時(shí)遷移一次,并且虛擬機(jī)116在過去四個(gè)小時(shí)中僅僅被遷移一次。結(jié)果,遷移處理器206確定可以基于表格502內(nèi)的數(shù)據(jù)來遷移虛擬機(jī)114和116。
[0066]圖6示出包括可靠性評級信息的示例表格602。由示例遷移復(fù)雜度管理器216基于觀察和/或預(yù)期的用于虛擬機(jī)的遷移困難來確定可靠性評級。在其他示例中,客戶端管理員128指定可靠性評級。示例表格602將可靠性評級示出為具有與相對容易遷移的虛擬機(jī)相對應(yīng)的較高的值的數(shù)值。在其他示例中,表格602可以包括附加信息,該附加信息包括平均遷移時(shí)間、平均遷移帶寬、平均遷移數(shù)據(jù),和/或虛擬機(jī)114-120的特定遷移問題。表格602中的示例可靠性評級可以基于用于虛擬機(jī)遷移的一天中的時(shí)間和/或一周中的天而改變。
[0067]示例遷移處理器206使用示例表格602來確定能夠遷移虛擬機(jī)114-120中的哪個(gè)或哪些?;诮Y(jié)合圖4和5的確定,示例遷移處理器206僅僅必須確定虛擬機(jī)114和116是否能夠被遷移。在該示例中,虛擬機(jī)114具有‘3’的可靠性評級,并且虛擬機(jī)116具有‘2’的可靠性評級。示例遷移處理器206可以基于相對較高的可靠性評級來確定虛擬機(jī)114和116兩者可以被遷移。[0068]圖1示出在示例遷移處理器206將虛擬機(jī)114遷移到主機(jī)112之后包括主機(jī)108-112的容量利用的示例表格702。在該示例中,主機(jī)108具有6GHz的可用容量、主機(jī)110具有IGHz的可用容量,并且主機(jī)110具有零可用容量。在所圖示的示例中,遷移處理器206確定將虛擬機(jī)114遷移到主機(jī)112,這是因?yàn)樵谥鳈C(jī)112上一起操作虛擬機(jī)114和120的性能影響產(chǎn)生資源的部分共享利用。換句話說,虛擬機(jī)114和120具有主機(jī)112的大約IGHz的重疊分配。
[0069]示例表格704基于虛擬機(jī)108-112的計(jì)劃的遷移示出主機(jī)108-112的修正的性能和容量影響。示例遷移處理器206結(jié)合表格402、502和602中的信息來使用該性能和/或容量影響,以確定能夠遷移虛擬機(jī)114-120中的哪個(gè)或哪些,以進(jìn)一步改善性能和/或容量。因此,示例遷移處理器206能夠基于結(jié)合圖3-7描述的示例方法來迭代地確定要遷移的虛擬機(jī)。
[0070]在其他實(shí)例中,遷移處理器206可以在遷移虛擬機(jī)114之后在某預(yù)定時(shí)間確定表格704中示出的性能和/或容量影響。替換地,示例遷移處理器206基于檢測的性能和/或容量問題來確定要遷移哪些虛擬機(jī)114-120。用這樣的方式,示例遷移處理器206周期性地確定虛擬機(jī)114-120是否應(yīng)該被遷移以補(bǔ)償在一天中的不同時(shí)間和/或一周中的不同天期間的不同使用率(例如峰值使用率)。
[0071]在圖8A、8B、9和10中示出表示用于實(shí)施圖1和2的虛擬機(jī)管理器130的示例機(jī)器可讀指令的流程圖。在該示例中,機(jī)器可讀指令包括由諸如在以下結(jié)合圖11討論的示例處理器平臺Pioo中示出的處理器P105的處理器所執(zhí)行的程序。程序可以體現(xiàn)在存儲在諸如與處理器P105相關(guān)聯(lián)的CD、軟盤、硬盤、DVD、藍(lán)光盤或存儲器之類的計(jì)算機(jī)可讀介質(zhì)上的軟件中,但是全部程序和/或其部分能夠替換地由處理器P105之外的設(shè)備執(zhí)行和/或體現(xiàn)在固件或?qū)S糜布?。此外,雖然參考圖8A、8B、9和10中圖示的流程圖描述了示例程序,但可以替換地使用實(shí)施示例虛擬機(jī)管理器130的許多其他方法。例如,可以改變框的執(zhí)行順序,和/或可以改變、剔除或組合所描述的框中的一些。
[0072]如上所提及的,可以使用在諸如硬盤驅(qū)動器、閃速存儲器、ROM、⑶、DVD、藍(lán)光盤、高速緩存、RAM和/或其中在任何持續(xù)時(shí)間存儲信息(例如,在擴(kuò)展的時(shí)間段、永久地存儲簡短的實(shí)例,用于暫時(shí)地緩沖和/或用于高速緩存信息)的任何其他存儲介質(zhì)之類的有形計(jì)算機(jī)可讀介質(zhì)上所存儲的編碼指令(例如,計(jì)算機(jī)可讀指令)來實(shí)施圖8A、8B、9和10的示例機(jī)器可讀指令。如這里所使用的,術(shù)語有形計(jì)算機(jī)可讀介質(zhì)明確地被定義為包括任何類型的計(jì)算機(jī)可讀貯存器并且排除傳播信號。另外地或替換地,可以使用在諸如硬盤驅(qū)動器、閃速存儲器、只讀存儲器、高密度磁盤、數(shù)字通用磁盤、高速緩存、隨機(jī)存取存儲器和/或其中在任何持續(xù)時(shí)間存儲信息(例如,在擴(kuò)展的時(shí)間段、永久地存儲簡短的實(shí)例,用于暫時(shí)地緩沖和/或用于高速緩存信息)的任何其他存儲介質(zhì)之類的非瞬變計(jì)算機(jī)可讀介質(zhì)上所存儲的編碼指令(例如,計(jì)算機(jī)可讀指令)來實(shí)施圖8A、8B、9和10的示例處理。如這里所使用的,術(shù)語非瞬變計(jì)算機(jī)可讀介質(zhì)明確地被定義為包括任何類型的計(jì)算機(jī)可讀介質(zhì)并且排除傳播信號。
[0073]圖8A和SB的示例機(jī)器可讀指令800開始于圖2的示例監(jiān)視器208和210測量或監(jiān)視主機(jī)上的虛擬機(jī)的主機(jī)容量和/或性能(框802)。示例遷移處理器206然后根據(jù)測量的數(shù)據(jù)確定是否存在性能和/或容量問題(框804)。如果不存在問題,則示例遷移處理器206確定是否存在性能和/或容量利用改善機(jī)會(框806)。示例遷移處理器206通過如結(jié)合圖3所描述的那樣確定將一個(gè)或多個(gè)虛擬機(jī)遷移到其他主機(jī)的容量和/或性能影響來確定是否存在改善的任何機(jī)會。
[0074]如果遷移處理器206確定不存在改善容量和/或性能的機(jī)會,則示例監(jiān)視器208和210繼續(xù)測量和記錄主機(jī)容量和/或虛擬機(jī)性能(框802)。如果存在更好利用的機(jī)會和/或存在至少一個(gè)容量和/或性能問題,則示例遷移處理器206計(jì)算遷移每個(gè)虛擬機(jī)的性能影響(框808)。示例遷移處理器206還計(jì)算遷移每個(gè)虛擬機(jī)的主機(jī)容量改變(框810)?;谒_定的性能影響和/或容量改變,示例遷移處理器206確定應(yīng)該遷移哪些虛擬機(jī)(框812)。
[0075]示例遷移處理器206接下來訪問安全管理器212以確定安全等級是否指示不應(yīng)該遷移一個(gè)或多個(gè)虛擬機(jī)(框814)。對于具有防止虛擬機(jī)遷移的安全等級的每個(gè)虛擬機(jī),示例遷移處理器206從要被遷移的虛擬機(jī)的群組和/或集合中移除該虛擬機(jī)(框816)。示例遷移處理器206然后訪問遷移許可管理器214以確定遷移頻率是否指示不應(yīng)該遷移相應(yīng)的虛擬機(jī)(框818)。如果遷移頻率限制虛擬機(jī)被遷移,則示例遷移處理器206從遷移考慮中移除該虛擬機(jī)(框816)。示例遷移處理器206接下來訪問遷移復(fù)雜度管理器216以確定可靠性評級是否指示不應(yīng)該遷移相應(yīng)的虛擬機(jī)(框820)。如果可靠性評級限制虛擬機(jī)被遷移,則示例遷移處理器206從遷移考慮中移除該虛擬機(jī)(框816)。
[0076]示例遷移處理器206然后將剩余的虛擬機(jī)遷移到對應(yīng)的主機(jī)(框822)。在一些示例中,遷移處理器206可以在確定哪些虛擬機(jī)不能被遷移之后確定應(yīng)該遷移哪些虛擬機(jī)。在另外其他示例中,遷移處理器206使用安全等級、遷移頻率、可靠性評級、性能改善和/或容量節(jié)約的平均值和/或加權(quán)分?jǐn)?shù)來確定要遷移哪些虛擬機(jī)。在遷移虛擬機(jī)之后,示例監(jiān)視器208和210返回到監(jiān)視主機(jī)容量和/或虛擬機(jī)性能(框802)。
[0077]圖9的示例機(jī)器可讀指令900開始于圖2的示例監(jiān)視器208和210測量主機(jī)上的虛擬機(jī)的主機(jī)容量和/或性能(框902)。示例遷移處理器206然后根據(jù)測量的數(shù)據(jù)確定是否存在性能和/或容量問題(框904)。如果不存在問題,則示例遷移處理器206確定是否存在性能和/或容量利用改善機(jī)會(框906)。
[0078]如果遷移處理器206確定不存在改善容量和/或性能的機(jī)會,則示例監(jiān)視器208和210繼續(xù)測量和記錄主機(jī)容量和/或虛擬機(jī)性能(框902)。如果存在更好利用的機(jī)會和/或存在至少一個(gè)容量和/或性能問題,則示例遷移處理器206計(jì)算遷移每個(gè)虛擬機(jī)的性能影響(框908)。為了確定要遷移哪些虛擬機(jī),示例遷移處理器206經(jīng)由管理器212和216和/或監(jiān)視器208和210來計(jì)算安全等級、遷移頻率、可靠性評級、性能改善和/或容量節(jié)約的平均值和/或加權(quán)分?jǐn)?shù)(框910)。
[0079]示例遷移處理器206確定哪些虛擬機(jī)對應(yīng)于高于閾值的所計(jì)算的分?jǐn)?shù)和/或識別具有最大分?jǐn)?shù)的虛擬機(jī)以確定能夠遷移哪些虛擬機(jī)(框912)。示例遷移處理器206還確定哪些虛擬機(jī)具有防止虛擬機(jī)被遷移的安全等級、遷移頻率和/或可靠性評級(框912)。對于不能被遷移的虛擬機(jī),示例遷移處理器206從要被遷移的虛擬機(jī)當(dāng)中移除該虛擬機(jī)(框914)。示例遷移處理器206然后經(jīng)由主機(jī)接口 218來遷移具有高于預(yù)定義閾值的分?jǐn)?shù)的剩余虛擬機(jī)(框912)。在遷移虛擬機(jī)之后,示例監(jiān)視器208和210返回到監(jiān)視主機(jī)容量和/或虛擬機(jī)性能(框902)。[0080]圖10的示例機(jī)器可讀指令1000開始于示例遷移處理器206識別要從第一主機(jī)遷移到第二主機(jī)的虛擬機(jī)以改善該虛擬機(jī)的性能(框1002)。示例遷移處理器206然后經(jīng)由安全管理器212確定存在與遷移虛擬機(jī)相關(guān)聯(lián)的低安全風(fēng)險(xiǎn)(框1004)。示例遷移處理器206接下來經(jīng)由遷移許可管理器214確定在虛擬機(jī)被遷移的情況下與虛擬機(jī)相關(guān)聯(lián)的頻率閾值不會被超過(框1006)。如果遷移復(fù)雜度管理器216確定與虛擬機(jī)相關(guān)聯(lián)的可靠性評級低于可靠性閾值,則示例遷移處理器206然后將虛擬機(jī)遷移到第二主機(jī)(框1008)。示例機(jī)器可讀指令1000然后終止。
[0081]圖11是可被用來和/或被編程為執(zhí)行圖8A、8B、9和10的示例機(jī)器可讀指令800、900和/或1000的示例處理器平臺PlOO的示意圖。一個(gè)或多個(gè)通用處理器、處理器核、微控制器等等可以用于實(shí)施處理器平臺P100。
[0082]圖11的處理器平臺PlOO包括至少一個(gè)可編程處理器P105。處理器P105可以實(shí)施例如圖2的示例客戶端接口 202、示例虛擬機(jī)數(shù)據(jù)庫204、示例遷移處理器206、示例性能監(jiān)視器208、示例容量監(jiān)視器210、示例安全管理器212、示例遷移許可管理器214、示例遷移復(fù)雜度管理器216、示例主機(jī)接口 218和/或更一般地示例虛擬機(jī)管理器130。例如,遷移處理器206識別要從第一服務(wù)器遷移到第二服務(wù)器的第一虛擬機(jī)以改善第一虛擬機(jī)的性能,并在與第一虛擬機(jī)相關(guān)聯(lián)的可靠性評級低于可靠性閾值的情況下將第一虛擬機(jī)遷移到第二主機(jī)。另外,安全管理器212確定是否存在與遷移第一虛擬機(jī)相關(guān)聯(lián)的低安全風(fēng)險(xiǎn)。此夕卜,遷移許可管理器214確定在第一虛擬機(jī)被遷移的情況下與第一虛擬機(jī)相關(guān)聯(lián)的頻率閾值不會被超過。
[0083]處理器P105執(zhí)行存在于處理器P105的主存儲器中的(例如,RAM P115和/或ROMP120內(nèi)的)和/或存儲在有形計(jì)算機(jī)可讀存儲介質(zhì)P150中的編碼指令PllO和/或Pl 12。處理器P105可以是任何類型的處理單元,諸如處理器核、處理器和/或微控制器。除了其他之外,處理器P105可以執(zhí)行圖8A、8B、9和/或10的示例交互和/或示例機(jī)器可訪問指令800、900和/或1000,來遷移虛擬機(jī),如這里所描述的。因此,編碼指令P110、P112可以包括圖8A、8B、9和/或10的指令800,900和/或1000。
[0084]處理器P105經(jīng)由總線P125與主存儲器(包括ROM P120和/或RAM P115)通信。RAM P115可以由動態(tài)隨機(jī)存取存儲器(DRAM)、同步動態(tài)隨機(jī)存取存儲器(SDRAM)和/或任何其他類型的RAM設(shè)備來實(shí)施,并且ROM可以由閃速存儲器和/或任何其他期望類型的存儲器設(shè)備來實(shí)施。有形計(jì)算機(jī)可讀的存儲器P150可以是與處理器P105相關(guān)聯(lián)的任何類型的有形計(jì)算機(jī)可讀介質(zhì),諸如例如高密度磁盤(CD)、CD-ROM、軟盤、硬盤、數(shù)字通用磁盤(DVD),和/或存儲器??梢杂纱鎯刂破鱽砜刂茖Υ鎯ζ鱌l 15、存儲器P12和/或有形計(jì)算機(jī)介質(zhì)P150的訪問。在一些示例中,編碼指令PllO是安裝包的一部分,并且存儲器是安裝包能夠從其下載的存儲器(例如服務(wù)器)或諸如CD、DVD或閃盤驅(qū)動器之類的便攜式介質(zhì)。在一些示例中,編碼指令是RAM P115、R0M P120和/或計(jì)算機(jī)可讀存儲器P150中的安裝的軟件的一部分。
[0085]處理器平臺PlOO還包括接口電路P130。諸如外部存儲器接口、串行端口、通用輸入/輸出等等的任何類型的接口標(biāo)準(zhǔn)可以實(shí)施接口電路P130。一個(gè)或多個(gè)輸入設(shè)備P135和一個(gè)或多個(gè)輸出設(shè)備P140連接到接口電路P130。
[0086]雖然以上描述的示例系統(tǒng)、方法、裝置和制品包括在硬件上執(zhí)行的軟件和/或固件等其他部件,但應(yīng)當(dāng)注意到,這些示例僅僅是說明性的并且不應(yīng)該被認(rèn)為進(jìn)行限制。例如,預(yù)期到,硬件、軟件和固件部件的任何一種或所有能夠被專門地體現(xiàn)為硬件、專門地體現(xiàn)為軟件或體現(xiàn)為硬件和軟件的任何組合。因此,盡管有在以上描述的示例系統(tǒng)、方法、裝置和制品,但這里提供的示例不是實(shí)施這樣的系統(tǒng)、方法、裝置和制品的僅有方式。例如,盡管已經(jīng)結(jié)合虛擬機(jī)描述了示例系統(tǒng)、方法、裝置和制品,但示例系統(tǒng)、方法、裝置和/或制品可以操作在托管虛擬機(jī)的任何結(jié)構(gòu)內(nèi)。
[0087]雖然這里已經(jīng)描述了某些示例系統(tǒng)、方法、裝置和制品,但是該專利的覆蓋的范圍不限于此。相反,該專利覆蓋在字面上或在等同的原則下清楚地屬于該專利的權(quán)利要求的范圍的所有系統(tǒng)、方法、裝置和制品。
【權(quán)利要求】
1.一種用于遷移虛擬機(jī)的方法,包括: 經(jīng)由處理器識別要從第一主機(jī)遷移到第二主機(jī)的第一虛擬機(jī)以改善第一虛擬機(jī)的性倉泛; 確定在第一虛擬機(jī)被遷移的情況下與第一虛擬機(jī)相關(guān)聯(lián)的頻率閾值不會被超過; 確定用于第一虛擬機(jī)的可靠性評級;以及 基于頻率閾值和可靠性評級將第一虛擬機(jī)遷移到第二主機(jī)。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括確定與遷移第一虛擬機(jī)相關(guān)聯(lián)的第一安全風(fēng)險(xiǎn),其中遷移第一虛擬機(jī)基于該安全風(fēng)險(xiǎn)小于安全閾值。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括確定第二虛擬機(jī)具有大于第一安全風(fēng)險(xiǎn)且大于安全閾值的第二安全風(fēng)險(xiǎn),其中識別第一虛擬機(jī)發(fā)生在確定第二安全風(fēng)險(xiǎn)大于安全閾值之后。
4.根據(jù)權(quán)利要求1所述的方法,其中第一安全風(fēng)險(xiǎn)表示在第一虛擬機(jī)在遷移期間被中斷的情況下對與第一虛擬機(jī)相關(guān)聯(lián)的商業(yè)的小于第一影響閾值的影響。
5.根據(jù)權(quán)利要求1所述的方法,其中確定頻率閾值包括確定在時(shí)間段期間第一虛擬機(jī)已經(jīng)被遷移的先前次數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中可靠性評級包括基于所觀察到的先前遷移第一虛擬機(jī)的困難遷移第一虛擬機(jī)的預(yù)期困難。
7.根據(jù)權(quán)利要求1所述的方法,其中可靠性評級包括與在第一虛擬機(jī)上操作的應(yīng)用相關(guān)聯(lián)的復(fù)雜度。
8.根據(jù)權(quán)利要求1所述的方法,其中確定可靠性評級包括基于一天中的時(shí)間來確定可靠性評級。
9.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括確定第二主機(jī)的容量,并且其中遷移包括基于確定的容量進(jìn)行遷移。
10.一種用于遷移虛擬機(jī)的系統(tǒng),包括: 安全管理器,用于確定與將第一虛擬機(jī)從第一服務(wù)器遷移到第二服務(wù)器相關(guān)聯(lián)的安全風(fēng)險(xiǎn); 遷移許可管理器,用于確定與第一虛擬機(jī)相關(guān)聯(lián)的頻率閾值;和 遷移處理器,用于:
識別第一虛擬機(jī);以及
基于與第一虛擬機(jī)相關(guān)聯(lián)的可靠性評級同可靠性閾值的比較、基于安全風(fēng)險(xiǎn)低于第一閾值并且基于遷移不使頻率閾值被超過,來將第一虛擬機(jī)遷移到第二主機(jī)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),進(jìn)一步包括: 性能監(jiān)視器,用于確定在第一主機(jī)上操作的第一虛擬機(jī)的性能;和 容量監(jiān)視器,用于確定第二主機(jī)具有用于第一虛擬機(jī)的容量。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中第一服務(wù)器和第二服務(wù)器物理地分離。
13.根據(jù)權(quán)利要求10所述的系統(tǒng),進(jìn)一步包括:遷移復(fù)雜度管理器,其用于基于所觀察到的先前遷移第一虛擬機(jī)的困難和遷移第一虛擬機(jī)的一天中的時(shí)間來確定第一虛擬機(jī)的可靠性評級。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中遷移處理器用于基于與遷移第一虛擬機(jī)相關(guān)聯(lián)的安全風(fēng)險(xiǎn)或基于通過遷移第一虛擬機(jī)是否將超過頻率閾值來遷移第二虛擬機(jī)而不是第一虛擬機(jī)。
15.一種存儲機(jī)器可讀指令的有形制品,該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器至少: 識別要從第一主機(jī)遷移到具有可用容量的第二主機(jī)的第一虛擬機(jī),以減小第一主機(jī)的容量; 確定在第一虛擬機(jī)被遷移的情況下與第一虛擬機(jī)相關(guān)聯(lián)的頻率閾值不會被超過; 針對第一虛擬機(jī)將被遷移的一天中的時(shí)間確定第一虛擬機(jī)的可靠性評級;以及 基于安全風(fēng)險(xiǎn)、頻率閾值和可靠性評級將第一虛擬機(jī)遷移到第二主機(jī)。
16.根據(jù)權(quán)利要求15所述的有形制品,其中該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器確定通過將第一虛擬機(jī)遷移到第二主機(jī)將改善第一虛擬機(jī)的性能。
17.根據(jù)權(quán)利要求16所述的有形制品,其中該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器通過將虛擬機(jī)進(jìn)行操作所需要的第一主機(jī)的資源的第一數(shù)量與在第一主機(jī)處對虛擬機(jī)來說可用的資源的第二數(shù)量相比較來確定第一虛擬機(jī)的性能。
18.根據(jù)權(quán)利要求15所述的有形制品,其中該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器在下述情況下識別要從第一主機(jī)遷移到第二主機(jī)的第二虛擬機(jī): 存在與遷移第一虛擬機(jī)相關(guān)聯(lián)的安全風(fēng)險(xiǎn)大于至少第一閾值;或 通過遷移第一虛擬機(jī)將超過頻率閾值。
19.根據(jù)權(quán)利要求15所述的有形制品,其中該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器基于所觀察到的先前遷移第一虛擬機(jī)的困難來確定第一虛擬機(jī)的可靠性評級。
20.根據(jù)權(quán)利要求15所述的有形制品,其中該機(jī)器可讀指令在被執(zhí)行時(shí)使機(jī)器在將第一虛擬機(jī)遷移到第二主機(jī)之后識別要被遷移到第三主機(jī)的第二主機(jī)處的第二虛擬機(jī)以改善第二虛擬機(jī)的偏好。
【文檔編號】G06F9/455GK103827823SQ201180073768
【公開日】2014年5月28日 申請日期:2011年7月29日 優(yōu)先權(quán)日:2011年7月29日
【發(fā)明者】S.M.P.希瓦, J.羅利亞, R.R.文卡特什, M.伊斯蘭 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)