專利名稱:云計(jì)算虛擬機(jī)熱遷移技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明專利屬于云計(jì)算領(lǐng)域,涉及虛擬機(jī)的熱遷移系統(tǒng)。該技術(shù)可以將整個(gè)虛擬機(jī)的運(yùn)行狀態(tài)完整保存下來(lái),還可實(shí)現(xiàn)在原有硬件甚至是不同硬件上的快速恢復(fù)。整個(gè)恢復(fù)過(guò)程中虛擬機(jī)仍舊能夠平滑運(yùn)行,用戶不會(huì)察覺到任何差異。該發(fā)明提出了一種高效率的、低數(shù)據(jù)量的、靈活自主的新型熱遷移技術(shù)。
背景技術(shù):
在云計(jì)算模型中,為了滿足用戶對(duì)共享資源的動(dòng)態(tài)需求,必須對(duì)資源進(jìn)行統(tǒng)一管理以及動(dòng)態(tài)分配。虛擬化技術(shù)為云計(jì)算模型中的資源管理提供一種有效的解決辦法。通過(guò)將服務(wù)封裝在虛擬機(jī)中并映射到各臺(tái)物理服務(wù)器上,虛擬化技術(shù)能夠根據(jù)負(fù)載的變化進(jìn)行虛擬機(jī)和物理資源的重映射,從而動(dòng)態(tài)地實(shí)現(xiàn)整個(gè)系統(tǒng)的負(fù)載均衡。虛擬機(jī)和物理資源的重映射可以借助虛擬機(jī)熱遷移技術(shù)來(lái)實(shí)現(xiàn)。傳統(tǒng)的熱遷移技術(shù)面臨很多挑戰(zhàn),互聯(lián)網(wǎng)環(huán)境下的遷移面臨網(wǎng)絡(luò)環(huán)境復(fù)雜,帶寬、延時(shí)不可預(yù)測(cè)等問(wèn)題,惡劣的網(wǎng)絡(luò)環(huán)境使傳輸大量?jī)?nèi)存數(shù)據(jù)變得非常困難;廣域網(wǎng)范圍內(nèi)大數(shù)據(jù)量遷移更是成為系統(tǒng)熱遷移的瓶頸;遷移過(guò)程本身的安全性有待提高,整個(gè)遷移進(jìn)程通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn),遷移進(jìn)程控制權(quán)和遷移過(guò)程中傳輸?shù)臄?shù)據(jù)都有可能被攻擊者獲取;內(nèi)存操作具有復(fù)雜性的特點(diǎn),服務(wù)器環(huán)境下離散的內(nèi)存操作可能導(dǎo)致較長(zhǎng)的停機(jī)時(shí)間。同時(shí),目前的大部分虛擬機(jī)熱遷移都只能在源主機(jī)和目的主機(jī)共享磁盤存儲(chǔ)的情況下進(jìn)行,給熱遷移技術(shù)帶來(lái)了很大的限制。本發(fā)明專利中的基于云計(jì)算的熱遷移的設(shè)計(jì)能夠較好的解決上述存在的問(wèn)題。首先虛擬化技術(shù)的出現(xiàn)很好地解決了遷移進(jìn)程對(duì)操作環(huán)境的依賴性,明確了被遷移進(jìn)程對(duì)于系統(tǒng)狀態(tài)的依賴性。虛擬化技術(shù)中的資源虛擬和系統(tǒng)隔離特性更為整個(gè)系統(tǒng)狀態(tài)的封裝與遷移提供了便利。其次,系統(tǒng)內(nèi)存和外存的遷移都通過(guò)內(nèi)存頁(yè)面預(yù)拷貝技術(shù),在不干擾虛擬機(jī)運(yùn)行的情況下保存虛擬機(jī)運(yùn)行狀態(tài),從而達(dá)到減少停機(jī)時(shí)間的目的,提高了系統(tǒng)的可用性。本發(fā)明專利實(shí)現(xiàn)了一種高效率、低數(shù)據(jù)量的系統(tǒng)備份熱遷移方案。
發(fā)明內(nèi)容
本發(fā)明專利針對(duì)現(xiàn)有的熱遷移技術(shù)的資源消耗大,停機(jī)時(shí)間長(zhǎng)等不足,提出了一種新型的云計(jì)算領(lǐng)域的虛擬機(jī)熱遷移的方法。該方法能夠根據(jù)資源的使用情況,自主地發(fā)起遷移,能應(yīng)對(duì)惡劣網(wǎng)絡(luò)環(huán)境下的虛擬機(jī)系統(tǒng)遷移、減少系統(tǒng)資源消耗、提高了系統(tǒng)可用性、獲取較理想的系統(tǒng)停機(jī)時(shí)間。為了實(shí)現(xiàn)上述目的,本發(fā)明專利采用如下技術(shù)解決方案1.自主地發(fā)起熱遷移傳統(tǒng)的虛擬機(jī)的動(dòng)態(tài)遷移主要是由人手動(dòng)發(fā)起的,而基于云計(jì)算的熱遷移系統(tǒng)能夠?qū)崟r(shí)監(jiān)控云計(jì)算環(huán)境中資源的使用情況,自主發(fā)起動(dòng)態(tài)遷移。首先,通過(guò)系統(tǒng)中的中央控制引擎,對(duì)CPU、網(wǎng)絡(luò)帶寬和內(nèi)存資源的使用情況進(jìn)行狀態(tài)監(jiān)控和熱點(diǎn)探查,熱點(diǎn)的探查主要基于以下幾點(diǎn)虛擬機(jī)的SLA不能被滿足,例如不能獲得期望的網(wǎng)絡(luò)帶寬;物理服務(wù)器對(duì)于CPU和帶寬的使用率超過(guò)預(yù)定閥值;物理服務(wù)器頻繁發(fā)生內(nèi)存換出等。其次,發(fā)現(xiàn)熱點(diǎn)之后,利用虛擬機(jī)動(dòng)態(tài)遷移技術(shù)進(jìn)行資源的重映射,進(jìn)而消除熱點(diǎn)。2.異構(gòu)性問(wèn)題在云計(jì)算環(huán)境下,大規(guī)模的計(jì)算存儲(chǔ)資源被整合在一起,這些資源可能由不同的VMM進(jìn)行管理,而傳統(tǒng)的虛擬機(jī)的熱遷移只能在相同的虛擬機(jī)監(jiān)控器(VMM)間進(jìn)行,因此不夠方便。本發(fā)明專利中的基于云計(jì)算的熱遷移系統(tǒng)通過(guò)提出一套統(tǒng)一的遷移協(xié)議和虛擬機(jī)狀態(tài)格式,解決了遷移協(xié)議的異構(gòu)性問(wèn)題和資源抽象異構(gòu)性問(wèn)題,實(shí)現(xiàn)了在不同類型的虛擬機(jī)監(jiān)控器問(wèn)進(jìn)行虛擬機(jī)的動(dòng)態(tài)遷移,能夠大大提高動(dòng)態(tài)遷移的靈活性。并且,該系統(tǒng)能夠?qū)?dòng)態(tài)遷移的過(guò)程進(jìn)行實(shí)時(shí)控制,避免遷移過(guò)程占用過(guò)多資源,從而保證遷移過(guò)程中虛擬機(jī)的SLA。3.內(nèi)存遷移在本發(fā)明專利中,采用內(nèi)存頁(yè)面預(yù)拷貝技術(shù),遷移開始之后,源主機(jī)VM仍在運(yùn)行,目的主機(jī)VM尚未啟動(dòng)。遷移通過(guò)一個(gè)循環(huán),將源主機(jī)VM的內(nèi)存數(shù)據(jù)發(fā)送至目的主機(jī)VM。循環(huán)第一輪發(fā)送所有內(nèi)存頁(yè)數(shù)據(jù),接下來(lái)的每一輪循環(huán)發(fā)送上一輪預(yù)拷貝過(guò)程中被VM寫過(guò)的臟頁(yè)內(nèi)存dirty pages。直到時(shí)機(jī)成熟,預(yù)拷貝循環(huán)結(jié)束,進(jìn)入停機(jī)拷貝階段,源主機(jī)被掛起,不再有內(nèi)存更新。最后一輪循環(huán)中的臟頁(yè)被傳輸至目的主機(jī)VM。采用循環(huán)遷移的方式,第η次遷移的對(duì)象是第η-1次遷移之后被改變的對(duì)象。理論上隨著迭代次數(shù)的增加需要傳輸?shù)腣M狀態(tài)逐漸減少,從而在狀態(tài)足夠少的情況下進(jìn)行停機(jī)拷貝,達(dá)到減少停機(jī)時(shí)間(即遷移過(guò)程中,源主機(jī)、目的主機(jī)同時(shí)不可用的時(shí)間,是衡量虛擬機(jī)遷移性能的重要指標(biāo))的目的。
圖1虛擬機(jī)內(nèi)存遷移分階段示意2虛擬機(jī)內(nèi)存遷移的預(yù)遷移階段示意3自主發(fā)起熱遷移框架示意圖
具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。本發(fā)明實(shí)現(xiàn)的內(nèi)存遷移方案如圖1所示。圖一中詳細(xì)描述了內(nèi)存遷移的具體步驟步驟1:預(yù)遷移階段。循環(huán)遷移虛擬機(jī)的內(nèi)存頁(yè)面。步驟2 :停機(jī)拷貝階段。源主機(jī)和目的主機(jī)上的虛擬機(jī)都停止運(yùn)行,并將預(yù)遷移階段遺留的臟頁(yè)進(jìn)行拷貝。步驟3 :恢復(fù)階段。在目的主機(jī)上恢復(fù)虛擬機(jī)的運(yùn)行。圖二中詳細(xì)描述了預(yù)遷移階段的具體步驟步驟1:發(fā)送所有內(nèi)存頁(yè)數(shù)據(jù)到目的主機(jī)。且該過(guò)程中源主機(jī)上的虛擬機(jī)繼續(xù)運(yùn)行。步驟2 :進(jìn)行η次的循環(huán),且每一輪的循環(huán)都發(fā)送上一輪循環(huán)被VM寫過(guò)的臟頁(yè)內(nèi)存 dirty pages。步驟3 :在需要傳輸?shù)腣M狀態(tài)足夠小的情況下,結(jié)束預(yù)遷移階段。圖三中詳細(xì)描述了自主發(fā)起熱遷移的具體步驟步驟1:資源監(jiān)控模塊監(jiān)控系統(tǒng)中所有的物理服務(wù)器,以獲取整個(gè)系統(tǒng)中物理服務(wù)器對(duì)于CPU、內(nèi)存和網(wǎng)絡(luò)帶寬等資源的使用情況。步驟2 :資源控制模塊將資源的使用情況提供給遷移管理模塊。步驟3 :遷移管理模塊遷移管理模塊,根據(jù)資源的使用情況,找到資源使用的熱點(diǎn),并且最終確定是否發(fā)起以及如何發(fā)起熱遷移操作。
權(quán)利要求
1.一種云計(jì)算領(lǐng)域的虛擬機(jī)熱遷移方案,其特征在于 提出了一種自動(dòng)的、靈活的云計(jì)算領(lǐng)域的虛擬機(jī)熱遷移的方法。該方法能夠應(yīng)對(duì)惡劣網(wǎng)絡(luò)環(huán)境、減少系統(tǒng)資源消耗、提高了系統(tǒng)可用性、獲取較理想的系統(tǒng)停機(jī)時(shí)間。
2.如權(quán)利要求1所述的內(nèi)存遷移方案的沒(méi)計(jì),其特征在于 采用內(nèi)存頁(yè)面預(yù)拷貝技術(shù),該技術(shù)通過(guò)循環(huán)拷貝和停機(jī)拷貝兩個(gè)階段來(lái)拷貝內(nèi)存數(shù)據(jù),以達(dá)到減少停機(jī)時(shí)間的目的。
3.如權(quán)利要求1所述的中央控制引擎,其特征在于 中央控制引擎由資源監(jiān)控模塊和遷移控制模塊組成。中央控制引擎從整體上掌握云計(jì)算平臺(tái)中物理資源的使用情況,根據(jù)預(yù)設(shè)策略,按需發(fā)起虛擬機(jī)動(dòng)態(tài)遷移操作,實(shí)現(xiàn)平臺(tái)范圍內(nèi)的負(fù)載均衡。
4.如權(quán)利要求3所述的資源監(jiān)控模塊,其特征在于 資源監(jiān)控模塊獲取整個(gè)系統(tǒng)中物理服務(wù)器和虛擬機(jī)對(duì)于CPU、內(nèi)存和網(wǎng)絡(luò)帶寬等資源的使用情況,并提供給遷移管理模塊。
5.如權(quán)利要求3所述的遷移控制模塊,其特征在于 遷移管理模塊,根據(jù)資源的使用情況,找到資源使用的熱點(diǎn),并且最終確定是否發(fā)起以及如何發(fā)起熱遷移操作。
6.如權(quán)利要求5所述的資源使用的熱點(diǎn)的確定,其特征在于 確定是否為資源使用的熱點(diǎn),可基于以下幾點(diǎn)虛擬機(jī)不能獲得期望的網(wǎng)絡(luò)帶寬;物理服務(wù)器對(duì)于CPU和帶寬的使用率超過(guò)預(yù)定閥值;物理服務(wù)器頻繁發(fā)生內(nèi)存換出等。
7.如權(quán)利要求1所述的虛擬機(jī)遷移的異構(gòu)性問(wèn)題,其特征在于 提出一套統(tǒng)一完整的遷移協(xié)議,解決了虛擬機(jī)遷移的異構(gòu)性問(wèn)題,實(shí)現(xiàn)了在不同類型的虛擬機(jī)監(jiān)控器問(wèn)進(jìn)行虛擬機(jī)的動(dòng)態(tài)遷移。
全文摘要
本發(fā)明提出了一種自動(dòng)的、靈活的云計(jì)算領(lǐng)域的虛擬機(jī)熱遷移的方法,該方法能夠應(yīng)對(duì)惡劣網(wǎng)絡(luò)環(huán)境、減少系統(tǒng)資源消耗、提高了系統(tǒng)可用性、獲取較理想的系統(tǒng)停機(jī)時(shí)間。該方法的內(nèi)存遷移方案采用內(nèi)存頁(yè)面預(yù)拷貝技術(shù),以便達(dá)到減少停機(jī)時(shí)間的目的,它通過(guò)中央控制引擎實(shí)時(shí)監(jiān)控云計(jì)算環(huán)境中資源的使用情況,自主地發(fā)起熱遷移,同時(shí)它還實(shí)現(xiàn)了在不同類型的虛擬機(jī)監(jiān)控器之間進(jìn)行熱遷移的技術(shù),增加了熱遷移的靈活性。
文檔編號(hào)G06F9/48GK103064733SQ201110319879
公開日2013年4月24日 申請(qǐng)日期2011年10月20日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者向艷萍, 余盛季 申請(qǐng)人:電子科技大學(xué)