專利名稱:一種面向云計算虛擬機遷移的決策方法及控制模塊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向云計算虛擬機遷移的決策方法及控制模塊,該方法應用于云計算網(wǎng)絡系統(tǒng)中虛擬機遷移,屬于計算機科學與技術(shù)領(lǐng)域。
背景技術(shù):
云計算(cloud computing)是近幾年國際上興起的技術(shù)方向,也是目前信息技術(shù)領(lǐng)域的研究熱點。云計算是一種全新的、基于互聯(lián)網(wǎng)的計算方式。通過這種方式,整個系統(tǒng)的硬件資源被虛擬化成一個統(tǒng)一的虛擬資源池,然后借助虛擬化管理平臺把系統(tǒng)中所有的資源按照實際需求或其他策略分配給用戶。由于云計算實現(xiàn)了計算機資源的統(tǒng)一管理,用戶不再參與底層硬件資源、系統(tǒng)平臺甚至是應用軟件的搭建、管理和維護,而只需關(guān)注自身產(chǎn)品的實際需求,這樣就大大降低了企業(yè)的運行維護成本。面對其巨大商機,國內(nèi)外信息產(chǎn)業(yè)巨頭如IBM、Amazon、Microsoft、Google、華為、中國移動、百度等都已發(fā)布自己的云計算
·Tno虛擬機遷移技術(shù)是云計算中一項關(guān)鍵技術(shù),通過它可以將虛擬機及其服務從一個物理節(jié)點(源計算機)完整地遷移到另一個物理節(jié)點(目的計算機)。借助虛擬機遷移技術(shù),云計算系統(tǒng)實現(xiàn)了系統(tǒng)在線維護和升級、資源動態(tài)管理、系統(tǒng)故障容忍以及動態(tài)負載均衡,從而提高了系統(tǒng)資源和能源使用效率,并提高了系統(tǒng)安全性能。按虛擬機遷移過程觸發(fā)因素,虛擬機遷移可分為CPU觸發(fā)、內(nèi)存觸發(fā)、網(wǎng)絡帶寬觸發(fā)以及外存儲觸發(fā)四類;按遷移過程中是否中斷對用戶請求響應并提供服務,虛擬機遷移可分為靜態(tài)遷移和動態(tài)遷移兩類。靜態(tài)遷移是一種停機遷移,即在遷移觸發(fā)后被遷移的虛擬機立即停止執(zhí)行并拒絕響應新的服務,直到虛擬機遷移完成;而動態(tài)遷移則為系統(tǒng)在不中斷對外提供服務或在不被用戶感知的前提下完成虛擬機遷移。目前,主流的虛擬化軟件提供商都已提出了自己的虛擬機在線遷移技術(shù),如VMware公司的VMotion和Xen公司的Live Migration 等。現(xiàn)有的遷移機制一般是通過虛擬機控制器管理整個遷移過程,主要以主機CPU利用率作為節(jié)點啟動遷移的依據(jù),而其遷移目的節(jié)點的選擇策略通常是基于隨機選擇或基于最小帶寬占用,導致現(xiàn)有的遷移策略普遍缺乏對系統(tǒng)資源敏感性和資源分析的全面性。另夕卜,采用現(xiàn)有的遷移策略進行虛擬機遷移容易導致瞬間負載峰值觸發(fā)不必要的虛擬機遷移,或引發(fā)由群聚效應引起的遷移服務沖突,甚至因遷移目的節(jié)點選擇不合理而觸發(fā)二次遷移。針對云計算系統(tǒng)中虛擬機遷移具有遷移數(shù)據(jù)傳輸量大、耗時長等特點,本專利提出了一種面向云計算虛擬機遷移的決策方法及控制模塊,其中包含遷移觸發(fā)模塊、虛擬主機選擇模塊以及目的節(jié)點選擇模塊。該方法可有效避免觸發(fā)不必要的虛擬機遷移,降低虛擬機遷移引起的系統(tǒng)負載,解決因大量虛擬機遷移引發(fā)的群聚沖突問題,并很好地平衡了系統(tǒng)負載,最終實現(xiàn)對云計算網(wǎng)絡中虛擬機遷移的決策和控制
發(fā)明內(nèi)容
依據(jù)當前的技術(shù)背景和條件,并針對云計算網(wǎng)絡和虛擬計算資源管理與調(diào)度的特點和要求,本發(fā)明提出一種面向云計算虛擬機遷移的決策方法及控制模塊。本發(fā)明采用的技術(shù)方案如下本發(fā)明是一種面向云計算虛擬機遷移的決策方法及控制模塊,它主要由遷移觸發(fā)模塊,虛擬主機選擇模塊和目的節(jié)點選擇模塊三部分組成。圖I顯示了上述3個組成部分及其相互關(guān)系。其中,每部分的功能如下遷移觸發(fā)模塊,該模塊是云計算環(huán)境中虛擬機遷移控制功能模塊的一個組件,它的功能為實時監(jiān)測物理節(jié)點(服務器)及其虛擬機的資源使用情況,并結(jié)合負載預測技術(shù)判定源節(jié)點是否需要啟動虛擬機遷移過程,避免觸發(fā)不必要的虛擬機遷移。虛擬主機選擇模塊,該模塊是云計算環(huán)境中虛擬機遷移控制功能模塊的一個組件,它的功能為根據(jù)在源節(jié)點(服務器)上運行的各個虛擬機資源分配與使用情況選擇最終被遷移的虛擬主機,把虛擬機遷移代價降到最低,節(jié)約系統(tǒng)資源。
·
目的節(jié)點選擇模塊,該模塊是云計算環(huán)境中虛擬機遷移控制功能模塊的一個組件,它的功能為根據(jù)其他節(jié)點(除源節(jié)點外)的資源使用情況選擇虛擬機遷移的目的節(jié)點,避免群聚效應引發(fā)服務沖突,并幫助系統(tǒng)實現(xiàn)負載均衡。在云計算系統(tǒng)環(huán)境中,虛擬機遷移控制模塊可以采用分布式部署,也可以采用集中式部署。采用分布式是將遷移控制模塊部署在每一個網(wǎng)絡節(jié)點,節(jié)點通過廣播的形式發(fā)布自己的負載情況以及遷移請求;而采用集中式則是將遷移控制模塊只部署在系統(tǒng)的管理主機(Administrator),管理主機集中統(tǒng)計網(wǎng)絡中所有節(jié)點及在其上運行的虛擬機資源分配與利用情況,并統(tǒng)一管理網(wǎng)絡中所有虛擬機遷移請求。為方便管理,在云計算系統(tǒng)中一般采用集中式部署。在本專利中如未加詳細說明,遷移控制模塊默認采用集中式部署方式。如圖2流程圖所示,在云計算環(huán)境中完成虛擬機遷移可分為如下5個步驟a、源節(jié)點(服務器)啟動遷移觸發(fā)模塊,b、遷移觸發(fā)模塊啟動虛擬機遷移程序,C、虛擬主機選擇模塊選擇需要遷移的虛擬主機,d、目的節(jié)點選擇模塊選擇虛擬機遷移的目的節(jié)點,e、系統(tǒng)建立網(wǎng)絡連接,完成虛擬機遷移。(一 )源節(jié)點(服務器)啟動遷移觸發(fā)模塊。當節(jié)點負載長時間超過負載閾值會造成服務響應變慢或網(wǎng)絡堵塞,甚至導致虛擬機死機或源節(jié)點(服務器)崩潰。在本專利中遷移觸發(fā)模塊根據(jù)節(jié)點的具體資源配置與所提供的服務為每一個節(jié)點的CPU、內(nèi)存、外存儲器以及帶寬分別設(shè)置負載閾值。當節(jié)點負載超過規(guī)定的閾值,源節(jié)點(服務器)啟動遷移觸發(fā)模塊并記錄觸發(fā)類型。( 二)遷移觸發(fā)模塊啟動虛擬機遷移程序。遷移觸發(fā)模塊以周期T持續(xù)監(jiān)聽節(jié)點負載,在連續(xù)的N個監(jiān)測周期內(nèi),源節(jié)點負載如滿足以下三個條件a、負載均值超過設(shè)置的閾值,b、至少有η (O < η彡N)次監(jiān)測值超過閾值,C、利用負載預測技術(shù)得到源節(jié)點(服務器)在未來N個周期的負載同樣滿足前兩個條件,則遷移觸發(fā)模塊在源節(jié)點上啟動虛擬機遷移程序。如上述三個條件不能同時滿足,則遷移觸發(fā)模塊繼續(xù)偵聽。其中,η和N越小,觸發(fā)條件越寬松,導致無效遷移的可能性越大;反之,η和N越大,觸發(fā)條件越嚴格,引發(fā)系統(tǒng)性能下降甚至是因負載過重引發(fā)系統(tǒng)崩潰的可能性越大(三)虛擬主機選擇模塊選擇需要遷移的虛擬主機。虛擬主機選擇模塊選需遷移的虛擬主機主要考慮如下兩方面a、所遷移的虛擬主機占用的計算資源必須大于節(jié)點負載超過負載閾值部分,即遷移后的節(jié)點負載可重新回到負載閾值以內(nèi);b、遷移時間、宕機時間(down time)需盡可能短,遷移完成所需的數(shù)據(jù)傳輸量盡可能少。根據(jù)遷移觸發(fā)類型、虛擬機提供服務的類型以及遷移對系統(tǒng)負載與服務請求影響,本策略對虛擬機所占用的計算機資源(CPU,內(nèi)存,外存儲,網(wǎng)絡帶寬)賦予遷移代價加權(quán)系數(shù)Ovtvhyhb),其中hjhm+hjhb=I。其具體步驟如下(I)虛擬主機選擇模塊檢測節(jié)點上所有虛擬機{VM|VM1,VM2,…}實際使用的計算機資源,其中將虛擬機VMi (VMi G VM)的資源(CPU,內(nèi)存,外存儲,網(wǎng)絡帶寬)占用量記為(VMic, VMim, VMis, VMib)。(2)虛擬主機選擇模塊根據(jù)源節(jié)點(服務器)超出閾值的負載大小和觸發(fā)類型,篩選出所有在遷出后能使源節(jié)點(服務器)負載恢復到閾值以內(nèi)的虛擬機。(3)虛擬主機選擇模塊計算所有被篩選出虛擬機的遷移代價加權(quán)值H。VMi的遷移代價加權(quán)值 Hi = VMic*hc+VMim*hm+VMis*hs+VMib*hb。
·
(4)選取H值最小的虛擬機作為遷移的虛擬主機。(四)目的節(jié)點選擇模塊選擇虛擬機遷移的目的節(jié)點。在接受到虛擬主機選擇模塊提供的虛擬主機相關(guān)信息后,目的節(jié)點選擇模塊根據(jù)虛擬主機對計算資源的需求選擇遷移目的節(jié)點。選擇目的節(jié)點主要從如下兩方面考慮a、目的節(jié)點所有資源中的空閑資源部分必須達到所遷移虛擬主機對資源的需求??臻e資源是指目的節(jié)點負載閾值減去已使用的資源量后的資源剩余量。其中,已使用的資源量與步驟(ニ)中獲取源節(jié)點(服務器)負載的計算方法相似,通過先統(tǒng)計并預測M個周期的系統(tǒng)負載值然后求平均值得到。b、在滿足條件的節(jié)點集合中,綜合負載越低的節(jié)點接收虛擬機遷移可能性越大,同時應避免多個遷移服務群聚效應引發(fā)的服務沖突。基于以上考慮,本專利對滿足條件的節(jié)點(服務器)資源(cpu,內(nèi)存,外存儲,網(wǎng)絡帶寬)賦予相應的權(quán)重值(d。,dm,ds,db),其中WdJdb =
Io其具體步驟如下(I)目的節(jié)點選擇模塊通過類似于步驟(ニ)中先觀察后預測的負載監(jiān)測技術(shù)獲取所有節(jié)點{DN|DN1,DN2, }的空閑資源大小,并將節(jié)點DNi (DNi G DN)的資源(CPU,內(nèi)存,外存儲,網(wǎng)絡帶寬)占用量記為(DNic, DNim, DNis, DNib)。(2)根據(jù)目的節(jié)點的空余資源量必須大于被遷移虛擬主機所需資源量的原則,目的節(jié)點選擇模塊篩選出所有可以接受虛擬主機的節(jié)點(服務器)。(3)目的節(jié)點選擇模塊計算被篩選出的節(jié)點(服務器)優(yōu)先作為虛擬機遷移目的節(jié)點的加權(quán)值D,其中DNi作為目的節(jié)點的加權(quán)值Di = DNi-c^+DNiJct+DNijc^+DNiddb。(4)目的節(jié)點選擇模塊計算每個節(jié)點可能成為目的節(jié)點的加權(quán)概率值Pi =Di/ E Di,通過概率選擇方式從被篩選出的節(jié)點集合中選擇ー個節(jié)點作為目的節(jié)點。其中,Di值越大的節(jié)點被選為目的節(jié)點的可能性越大。(5)在虛擬機遷移程序執(zhí)行過程中,目的節(jié)點選擇模塊將鎖定源節(jié)點和目的節(jié)點,將這兩個節(jié)點作為其他虛擬機遷移程序的遷移目的節(jié)點加權(quán)值D被強制置為0,直到本次虛擬機遷移程序執(zhí)行結(jié)束。(五)源節(jié)點(服務器)和目的節(jié)點建立網(wǎng)絡連接并完成虛擬機遷移。
圖I面向云計算虛擬機遷移的決策方法及控制模塊示意2面向云計算虛擬機遷移的流程3面向云計算虛擬機遷移的決策方法及控制模塊實例圖
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例附圖對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例也僅僅是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為了具體說明面向云計算的虛擬機遷移決策方法和控制模塊,這里給出了ー個如圖3的實施例。在該實施例中,系統(tǒng)由ー個采用集中式部署的虛擬機遷移控制模塊·和四臺服務器組成,分別為源節(jié)點、節(jié)點I、節(jié)點2、節(jié)點3(IP分別為10. 108. 36. 100、10. 108. 36. 101、10. 108. 36. 102、10. 108. 36. 103)。源服務器系統(tǒng)為雙核 x86 系統(tǒng),CPU 主頻為2. 4GHz, CPU負載閾值為68%,在源服務器上運行有三個虛擬機(VM1,VM2,VM3)。第一歩,如圖3 (a)所示,在b時刻源服務器CPU負載超過設(shè)置的閾值68%,遷移觸發(fā)模塊被觸發(fā)啟動并記錄下觸發(fā)類型為CPU觸發(fā)。第二步,如圖3(a)所示,遷移觸發(fā)模塊以0. 5s為周期連續(xù)監(jiān)測20個周期。遷移觸發(fā)模塊監(jiān)測得到源服務器的CPU負載均值為83% (大于閾值68%并超出15% )且其中多于10次負載值大于負載閾值;另外,通過負載預測技術(shù),在未來20個周期內(nèi)源節(jié)點CPU負載也滿足以上兩個條件,遷移觸發(fā)模塊啟動虛擬機遷移程序并觸發(fā)虛擬主機選擇模塊。第三步,如圖3(b)所示,虛擬主機選擇模塊監(jiān)測到三個虛擬機計算資源(CPU,內(nèi)存,外存儲,網(wǎng)絡帶寬)使用情況分別為(14 % *4. 8GHz, 2. 0G, 2. 5T,I. 2GB/s)、(25 % *4. 8GHz,2. 5G,3. 5T,I. 5GB/s)、(30 % *4. 8GHz,3. 0G,3. 7T,I. 6GB/s),其中 VM2和VM3的CPU負載均值大于15%,滿足作為虛擬主機的初歩條件。設(shè)遷移代價加權(quán)系數(shù)(h。,hm,hs,hb)為(0. 1,0.3,0.4,0.2),可有虛擬機VM2的遷移代價加權(quán)值H2 = 25%*4. 8*0. 1+2. 5*0. 3+3. 5*0. 4+1. 5*0. 2 = 2. 57,同理有虛擬機 VM3 的遷移代價加權(quán)值 H3 =
2.84 ;最終,虛擬主機選擇模塊選擇VM2為被遷移的虛擬主機,同時觸發(fā)并把VM2的相關(guān)信息告知目的節(jié)點選擇模塊。第四步,如圖3(c)所示,目的節(jié)點選擇模塊提取其他所有節(jié)點資源空余信息,分別為節(jié)點 I (I. OGHz, 2. 0G, 4T, 2. OGB/s)、節(jié)點 2 (2. OGHz, 3. 0G, 4. 3T, 2. 5GB/s)、節(jié)點3 (2. 5GHz, 3. 5G,5. 0T, 2. 5G B/s),根據(jù)虛擬主機選擇模塊提供的VM2相關(guān)信息,由于節(jié)點I的CPU和內(nèi)存剩余值都不能滿足VM2的需求,初步篩選出節(jié)點2與節(jié)點3為備選目的節(jié)點,并設(shè)置(d。,dm,ds,db)為(0.3,0.3,0.2,0.2);目的節(jié)點選擇模塊根據(jù)權(quán)值計算策略得到節(jié)點 2 作為目的節(jié)點的加權(quán)值 D 為 D2 = 2. 0*0. 3+3. 0*0. 3+4. 3*0. 2+2. 5*0. 2 = 2. 86,同理,D3 = 3. 3。根據(jù)加權(quán)概率值pi = Di/ E Di的得到P2 = 45%、p3 = 55%,目的節(jié)點選擇模塊根據(jù)概率選擇策略最終選擇節(jié)點3為目的服務器。最后,如圖3(d)所示,源服務器(10. 108. 36. 100)與節(jié)點3(10. 108. 36. 102)間建
立網(wǎng)絡連接,進行相應的計算機資源遷移并完成整個虛擬機遷移過程。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)?!?br>
權(quán)利要求
1.一種面向云計算虛擬機遷移的決策方法及控制模塊,其特征在于該方法由遷移觸發(fā)模塊,虛擬主機選擇模塊和目的節(jié)點選擇模塊三部分組成。其中,遷移觸發(fā)模塊判斷系統(tǒng)是否需要觸發(fā)虛擬機遷移;虛擬機選擇模塊決定源節(jié)點上的哪個虛擬主機需要遷移;目的節(jié)點選擇模塊決定遷移的目的節(jié)點(服務器)。
2.根據(jù)權(quán)利要求I所述的遷移觸發(fā)模塊,其特征在于該模塊通過設(shè)置系統(tǒng)負載閾值,并利用負載預測技術(shù)判定源節(jié)點(服務器)是否需要觸發(fā)虛擬機遷移程序,使系統(tǒng)有效避免瞬間負載峰值觸發(fā)不必要的虛擬機遷移。
3.根據(jù)權(quán)利要求I所述的遷移主機選擇模塊,其特征在于該模塊首先篩選出所有遷移后能使源節(jié)點(服務器)低于負載閾值運行的虛擬機,然后計算虛擬機的遷移代價加權(quán)值,最后選擇加權(quán)值最小的虛擬機作為遷移主機;該模塊使虛擬機遷移代價降到最低,節(jié)約系 統(tǒng)資源。
4.根據(jù)權(quán)利要求I所述的目的節(jié)點選擇模塊,其特征在于該模塊通過使用加權(quán)概率算法選擇目的節(jié)點,對目標節(jié)點的資源進行全面的分析,有效解決了因大量虛擬機遷移引發(fā)的群聚沖突問題,并很好地實現(xiàn)負載均衡,使資源得到公平合理的應用。
全文摘要
本發(fā)明提出了一種面向云計算虛擬機遷移的決策方法及控制模塊。該方法由遷移觸發(fā)模塊,虛擬主機選擇模塊和目的節(jié)點選擇模塊三部分組成。首先,通過遷移觸發(fā)模塊設(shè)置系統(tǒng)負載閾值,并利用負載預測技術(shù),使系統(tǒng)有效避免瞬間負載峰值觸發(fā)不必要的虛擬機遷移;然后,虛擬主機選擇模塊根據(jù)遷移代價最小策略選擇所要遷移的虛擬主機,把虛擬機遷移代價降到最低,節(jié)約系統(tǒng)資源;最后,目的節(jié)點選擇模塊提出基于加權(quán)概率選擇算法的目的節(jié)點選擇策略,有效解決了因大量虛擬機遷移引發(fā)的群聚沖突問題。最終,該方法能夠很好地實現(xiàn)負載均衡,使資源得到公平合理的應用。
文檔編號G06F9/455GK102790793SQ20121014211
公開日2012年11月21日 申請日期2012年5月8日 優(yōu)先權(quán)日2012年5月8日
發(fā)明者孫松林, 鄒超, 陸月明 申請人:北京郵電大學