胡榮輝,王瑞通
(南京郵電大學 計算機學院,江蘇 南京 210003)
云環(huán)境下虛擬機集群遷移策略研究
胡榮輝,王瑞通
(南京郵電大學 計算機學院,江蘇 南京 210003)
針對因目前數(shù)據(jù)中心資源利用率偏低以及負載不平衡而導致數(shù)據(jù)中心能耗浪費嚴重的問題,提出了一種基于雙門限與資源需求相關性匹配的虛擬機遷移算法。該算法采用雙門限值方式觸發(fā)虛擬機遷移策略,通過雙門限觸發(fā)的策略減少虛擬機遷移次數(shù),從而避免系統(tǒng)頻繁的虛擬機遷移。根據(jù)各虛擬機的資源利用率、帶寬內(nèi)存比以及與服務器資源的相關性進行待遷移虛擬機的選擇,使得數(shù)據(jù)中心在降低遷移開銷以及保證服務質(zhì)量的同時,能夠釋放更多的服務器資源,并能通過遷移數(shù)量以及資源匹配程度確定待遷移服務器。仿真結(jié)果表明,提出的算法能有效降低虛擬機遷移成本,提高系統(tǒng)資源利用率,并在降低SLA違約方面有一定的改善,也避免了因多數(shù)虛擬機遷移到同一臺服務器所形成的群聚效應。
數(shù)據(jù)中心;虛擬機遷移;資源匹配;相關性
云計算是通過互聯(lián)網(wǎng)技術將龐大的計算、存儲資源整合成一個計算資源池,從而使資源利用率達到最大化,并通過網(wǎng)絡將計算資源以服務的形式提供給用戶,使得用戶可以避免在硬件設備上消耗太多的人力和物力。虛擬化技術是云計算的基石,通過虛擬化技術可以整合平臺下的計算以及存儲等物理資源。云計算下的虛擬化技術主要有服務器虛擬化、存儲虛擬化、桌面虛擬化和應用虛擬化[1]。
虛擬化技術通過虛擬機提供服務,虛擬機是獨立、安全和高效的計算單元并且映射到相應的物理服務器
上。虛擬化技術通過物理機和虛擬機之間映射的重定向?qū)崿F(xiàn)虛擬機在多個物理機之間的動態(tài)遷移,動態(tài)地實現(xiàn)整個系統(tǒng)的負載均衡[2]以及資源利用率的提高。
虛擬機遷移是指將虛擬機從一臺物理服務器遷移到另外一臺物理服務器,并在目的服務器上恢復之前虛擬機的運行,其主要目的是實現(xiàn)虛擬機和宿主物理服務器之間的重映射,提高系統(tǒng)資源的利用率以及降低系統(tǒng)開銷,從而提高系統(tǒng)的可靠性。
現(xiàn)階段的虛擬機遷移研究主要集中在兩個方面:降低虛擬機遷移中內(nèi)存頁遷移以及帶寬占用等問題,著重于遷移自身的算法優(yōu)化;考慮虛擬機遷移機制或者遷移策略,研究重點在于虛擬機遷移時機的選擇、服務器中選擇需要進行遷移的虛擬機、系統(tǒng)中待遷入的服務器選擇等問題[3]。在虛擬機進行遷移策略選擇方面,文獻[4]采用一種預先進行內(nèi)存拷貝的方式,減少了系統(tǒng)中遷移所需要資源帶來的占用問題。文獻[5]分析了幾種不同虛擬網(wǎng)絡進行遷移的性能,并提出了一種新的策略以保證虛擬機遷移過程中不會出現(xiàn)丟包問題。文獻[6]根據(jù)虛擬機當前的資源利用狀況,在進行虛擬機遷移時,通過遠程連接方式,將虛擬機的內(nèi)存頁進行遷移,降低了虛擬機的遷移能耗。
除了在虛擬機遷移算法層的研究,也有一些文獻針對虛擬機遷移策略進行了一些探索。文獻[3]采用最大相關性選擇算法(RRVMS)以及多資源相關匹配主機選擇算法(RMRHS)進行遷移。文獻[7]提出當系統(tǒng)中服務器的資源利用率不小于某一個極限閾值時,就進行虛擬機遷移策略。文獻[2]根據(jù)歷史資源使用率,通過預測算法來預測下一個時刻資源使用狀況并做出遷移判斷。文獻[8]提出了最大資源需求優(yōu)先遷移算法,對資源需求較大的虛擬機最有機會被選中遷移。在文獻[9]中,當虛擬機資源超載時,利用動態(tài)伸縮算法為其分配資源,當沒有額外的資源時,虛擬機遷移策略才會被觸發(fā)。文獻[10]考慮了虛擬機之間通信的帶寬問題,將需求帶寬較大的虛擬機集中遷移到相同的服務器上,實現(xiàn)資源利用最大化,避免了資源浪費,從而降低系統(tǒng)能耗。
針對虛擬機遷移策略,為了提高資源利用率、服務質(zhì)量以及負載均衡[11],當服務器提供的服務質(zhì)量下降或者某一資源使用率超過閾值時,就會觸發(fā)虛擬機遷移機制,將虛擬機遷移到相應負載較低的服務器上。
虛擬機遷移策略主要分為三個階段[12]:虛擬機遷移的時機;遷移虛擬機的選擇;目的服務器選擇。
第一個問題是選擇問題。遷移時機的把握在虛擬機遷移策略中處于重要的地位,無論遷移的策略怎么制定,必將會帶來額外的系統(tǒng)能耗開銷以及服務質(zhì)量的下降,如果沒有在合適的時機進行遷移,將會增大系統(tǒng)的負載、降低服務質(zhì)量。因此,在設定遷移時機時,需要考慮系統(tǒng)負載、服務質(zhì)量等方面,通過設置閾值上限來提高系統(tǒng)負載。
第二個問題是針對服務器如何選擇虛擬機進行遷移。當服務器的利用率低于閾值時[13],不需要考慮遷移虛擬機的選擇,因為需要將服務器上所有虛擬機進行遷移,而當服務器利用率超過一個閾值時,就需要考慮在服務商選擇哪一臺虛擬機進行遷移,并且需要考慮在遷移過程中能夠保證服務質(zhì)量。
第三個問題是遷移的目的服務器的選擇問題,即在選擇完遷移的虛擬機后,需要考慮找到合適的服務器來放置以保證其服務質(zhì)量和系統(tǒng)的負載均衡[14]。
為此,提出了在虛擬機資源需求動態(tài)變化下引起的虛擬機遷移策略。該策略保證了系統(tǒng)良好的資源利用率以及較高的服務質(zhì)量。因為虛擬機的頻繁遷移會導致系統(tǒng)能耗的增加,服務質(zhì)量的降低。為了避免單閾值導致的頻繁遷移,提出了雙門限觸發(fā)策略,通過雙閾值限制降低虛擬機遷移次數(shù),避免峰值觸發(fā)不必要的遷移。此外,針對遷移虛擬機的選擇,通過三種不同的屬性加權獲取最佳遷移虛擬機,而針對目的服務器的選取,則考慮了當前服務器已承載的遷移服務,并通過資源相關性匹配方案,解決虛擬機資源需求與服務器提供需求之間的最佳映射。實驗結(jié)果表明,基于雙閾值觸發(fā)的虛擬機遷移策略能夠有效提高系統(tǒng)的服務質(zhì)量,并降低虛擬機的遷移次數(shù),從而降低系統(tǒng)能耗。
2.1遷移時機算法設計
虛擬機遷移時機策略結(jié)合了預測機制,對服務器的遷移閾值不設置單一屬性值,而是設置多個閾值。該策略中設置兩個虛擬機的閾值,如式(1)所示:
M1=Uc×Rcmax+Ub×Rbmax+Um×Rmmax
(1)
其中,M1是第一級的閾值,當服務器的資源利用率超過第一級的閾值時,將會觸發(fā)服務器遷移時間選擇策略。
如式(2)所示,在可預測的時間Toff內(nèi),如果服務器的閾值達到了第二級的閾值M2,將會觸發(fā)下一階段的遷移策略,從而有效減少服務器的遷移次數(shù),降低系統(tǒng)遷移成本。其中閾值包括服務器的三個主要屬性:CPU、內(nèi)存以及帶寬的利用率和進行加權處理得出的值;第二閾值由三個屬性加其可接受變化的進行加權得到,通過加權操作,可以根據(jù)當前系統(tǒng)的資源分配對虛擬機遷移的門限進行合理設定,從而實現(xiàn)動態(tài)遷移。
M2=Uc×(Rcmax+Rcoff)+Ub×(Rbmax+
Rboff)+Um×(Rmmax+Rmoff)
(2)
其中,Rcmax、Rmmax和Rbmax分別為CPU、內(nèi)存和帶寬的利用上限;Rcoff、Rmoff和Rboff分別為CPU、內(nèi)存和帶寬的可接受變化范圍;Uc、Ub和Um分別為CPU、帶寬和內(nèi)存的權重值。
2.2遷移虛擬機選擇算法設計
當虛擬機被觸發(fā)遷移時,如果此時有多個虛擬機運行在服務器上,需要在該服務器上選擇合適的虛擬機進行遷移,使得服務器可以釋放所需的資源,又可以實現(xiàn)最小的遷移代價,因此對待遷移服務器下的虛擬機進行參數(shù)量化,從而方便進行比較,其步驟如下:
(1)計算服務器下的虛擬機與服務器的相關度。
當服務器和虛擬機之間的相關度很高時,虛擬機的資源需求對服務器的依賴程度也就很高,而如果虛擬機和服務器的相關度很低,遷移該虛擬機對服務器的影響也就會降低,這樣可以達到保證服務質(zhì)量的目的。當服務器無法提供服務時,采用式(3)計算虛擬機和服務器之間的相關系數(shù),并按照該系數(shù)進行排序。
(3)
其中,xi為虛擬機在啟動至i時刻的資源利用率;yi為服務器在啟動至i時刻的資源利用率。
(2)虛擬機當前內(nèi)存和可用帶寬比。
虛擬機遷移的核心是虛擬機內(nèi)存頁的遷移,和服務器相關的因素則是帶寬,因此,當需要遷移虛擬機時,需要考慮遷移開銷最小化。除了考慮上述虛擬機和服務器的相關性外,還需要綜合考慮內(nèi)存和帶寬資源的使用率,因為待遷移的虛擬機的內(nèi)存帶寬比越大,遷移的時間就越長,那么對遷移虛擬機的性能損耗就越大,更會增加系統(tǒng)開銷。如式(4)所示,優(yōu)先考慮選擇遷移內(nèi)存帶寬比較小的虛擬機。
(4)
其中,Mm為服務器的可用內(nèi)存;Bb為服務器的可用帶寬;Mj為虛擬機j的內(nèi)存。
(3)虛擬機資源利用率加權處理。
當服務器被觸發(fā)遷移時,應考慮到服務器各種資源之間的權重比,對虛擬機的使用資源進行加權處理。比如因為帶寬因素導致的虛擬機遷移,在考慮虛擬機遷移時,對帶寬因素的權重就應該比其他的資源因素高,如式(5)所示,構建一個最佳遷移虛擬機模型:
V={rc,rb,rn}
(5)
其中,rc,rb,rn是當前服務器剩余資源的一半。
如式(6)所示,結(jié)合了虛擬機三種資源利用率之間的權重,將服務器的資源值進行量化,尋找接近最佳狀態(tài)的待遷移虛擬機。
(6)
其中,a=Wc(ac-rc),b=Wb(ab-rb),n=Wn(an-rn)分別表示服務器上虛擬機資源的權重值,基于此可以根據(jù)服務器上資源利用率之間的變化動態(tài)分配對應資源的權重。
如式(7)所示,結(jié)合上述三種策略量化結(jié)果,根據(jù)計算結(jié)果將服務器上的虛擬機進行排序,并按照該排列的優(yōu)先級進行遷移虛擬機的選擇。
(7)
2.3遷移目的服務器算法設計
(1)該服務器承載的遷移次數(shù)。
在選擇目的服務器時,需要考慮服務器承載的最大遷移數(shù)量,如果一個服務器同時承載多個虛擬機遷移任務,那么它被接著選中目的服務器的概率應該呈快速下降的趨勢,使其不會影響到系統(tǒng)的負載均衡并減少資源負擔及性能損耗。
(2)計算每個服務器的資源權重值。
在得到需要遷移的虛擬機后,需要根據(jù)候選的服務器選出和待遷移虛擬機資源相關系數(shù)最小的服務器,對服務器的資源進行加權處理,每個服務器上的資源利用率都和待遷移虛擬機的被遷移時資源權重相關,相關資源利用率高的服務器將有更大的權重值。如式(8)所示,將各個資源利用率相加:
(8)
其中,Ai為第i種資源的權重;ri為第i種資源的相關系數(shù)。
(3)將待選服務器按式(9)得出服務器和虛擬機之間的距離,按照該值進行排序,距離最短的服務器將是需要遷移的目的服務器。
(9)
為了評估該策略的性能,采用墨爾本大學網(wǎng)格實驗室和Gridbus項目推出的CloudSim仿真平臺進行測試。建立一個包含多個服務器和虛擬機的數(shù)據(jù)中心,服務器的CPU、內(nèi)存以及帶寬參數(shù)保持一致,虛擬機的資源配置參數(shù)有多種不同的規(guī)格。
通過以下幾個指標來比較判斷算法的性能。
(1)虛擬機遷移次數(shù)。實驗中,通過不斷增加虛擬機個數(shù),獲取在指定時間內(nèi)的虛擬機遷移次數(shù),以此來判斷系統(tǒng)是否發(fā)生虛擬機的頻繁遷移。
(2)功耗。實驗中,同樣通過不斷增加虛擬機個數(shù)來判斷系統(tǒng)的能耗變化,并以此來判斷系統(tǒng)中服務器的開啟數(shù)量,當系統(tǒng)的能耗變小時,說明系統(tǒng)的資源利用率變高。
(3)服務器資源的SLA(Service Level Agreement)。SLA是服務器在一定開銷下為用戶提供保障服務的可靠性及性能,該指標可以衡量系統(tǒng)在不同數(shù)量虛擬機請求下提供的服務質(zhì)量,其違約率越低說明系統(tǒng)提供的服務質(zhì)量越高。
如圖1所示,隨著虛擬機數(shù)目的增加,雙門限策略主導的虛擬機遷移次數(shù)明顯少于由瞬間觸發(fā)主導的虛擬機遷移策略,這是因為使用了雙門限觸發(fā)機制,可以有效避免一部分因為瞬時峰值導致的虛擬機遷移,從而達到了降低虛擬機遷移次數(shù)的效果,減少了因為虛擬機遷移導致的系統(tǒng)額外開銷。
圖1 不同遷移機制對遷移次數(shù)的影響
組合算法結(jié)合了RRVMS的優(yōu)點,仿真結(jié)果如圖2所示。
圖2 不同算法下的系統(tǒng)功耗比較
從圖2中可見,隨著虛擬機數(shù)目的增加,改進算法系統(tǒng)功耗相比于BFD-SA以及RRVMS+RMRHS算法降低顯著,并且不會出現(xiàn)劇烈波動的情況。說明在虛擬機遷移時,考慮到虛擬機和服務器之間的相關性以及虛擬機帶寬與內(nèi)存比,在選擇服務器時,考慮到待遷入的服務器已承載的虛擬機遷移次數(shù)和服務器和虛擬機之間的相關性,可以有效降低虛擬機的功耗。功耗的增加來源于開啟服務器的增加,在虛擬機遷移時,考慮到資源利用率以及資源之間的匹配度,可以減緩服務器上資源需求量的增加,減少服務器的資源浪費。
圖3 不同算法下的SLA性能比較
從圖3可見,隨著虛擬機數(shù)目的增加,改進算法可以有效地保證SLA的違背率,即系統(tǒng)提供的服務質(zhì)量能夠達到很好的效果。表明該算法通過對資源進行相關性匹配與權重分析以及考慮服務器已承載的遷移數(shù)目,在保證能耗降低的同時,保證系統(tǒng)的服務質(zhì)量。
為解決云環(huán)境下虛擬機頻繁遷移導致系統(tǒng)服務質(zhì)量降低、能耗增加的問題,提出了一種基于雙門限的虛擬機遷移算法。實驗結(jié)果表明,該算法提高了系統(tǒng)資源利用率,降低了遷移開銷,達到了降低功耗的目的。在下一步的研究中,將考慮把當前的虛擬機遷移策略移植到具體平臺上,實現(xiàn)系統(tǒng)能耗和系統(tǒng)穩(wěn)定性相結(jié)合,進一步優(yōu)化虛擬機集群。
[1] 韓德志,李楠楠,畢 坤.云環(huán)境下的虛擬化技術探析[J].華中科技大學學報:自然科學版,2012(S1):262-265.
[2] 劉媛媛,高慶一,陳 陽.虛擬計算環(huán)境下虛擬機資源負載均衡方法[J].計算機工程,2010,36(16):30-32.
[3] 劉 鎏,虞紅芳,鄭少平.面向業(yè)務動態(tài)變化的虛擬機遷移技術研究[J].計算機應用研究,2016,33(2):534-539.
[4] Aroa C,Fraser K,Hand S,et al.Live migration of virtual machines[C]//Proceedings of the 2nd conference on symposium on networked system design and implementation-volume 2.Boston,USA:USENIX,2005:273-286.
[5] Pisa P,Fernandes N C,Carvalho H E T,et al.OpenFlow and Xen based virtual network migration[M]//Communication:wireless in developing countries and network of the future.Berlin:Springer,2010:170-181.
[6] 彭近堯.基于能效的數(shù)據(jù)中心資源整合機制[D].成都:電子科技大學,2013.
[7] 錢育蓉,于 炯,王衛(wèi)源,等.云計算環(huán)境下軟硬件節(jié)能和負載均衡策略[J].計算機應用,2013,33(12):3326-3330.
[8] 劉進軍,陳桂林,胡成祥.基于負載特征的虛擬機遷移調(diào)度策略[J].計算機工程,2011,37(17):276-278.
[9] Achar R, Thilagam P S, Soans N,et al.Load balancing in cloud based on love migration of virtual machines[C]//Annual IEEE India conference.India:IEEE,2013.
[10] Shrivastava V,Zerfos P,Lee K W,et al.Application-aware virtual machine migration in data centers[C]//Proceedings of IEEE INFOCOM.[s.l.]:IEEE,2011:66-70.
[11] 王慶波,何 樂,趙 陽.虛擬化與云計算[M].北京:電子工業(yè)出版社,2010.
[12] Isci C,Liu Jiuxing,Abali B,et al.Improving server utilization using fast virtual machine migration[J].IBM Journal of Research and Development,2011,55(6):365-376.
[13] 周文煜,陳華平,楊壽保,等.基于虛擬機遷移的虛擬機集群資源調(diào)度[J].華中科技大學學報:自然科學版,2011,39:130-133.
[14] 趙廣才,張雪萍.云計算技術分析及其展望[J].電子設計工程,2011,19(22):4-7.
StudyonVirtualClusterMigrationStrategyinCloudEnvironment
HU Rong-hui,WANG Rui-tong
(College of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
In allusion of problem of wasted energy consumption in the data center caused by its low resource utilization and imbalanced load,a virtual machine migration algorithm based on dual threshold and resource demand for relevance matching is proposed,which adopts two-threshold method to trigger the virtual machine migration strategy and avoids frequent VM migration by reducing the number of virtual machine migrations by the double-threshold triggered strategy.According to the resource utilization,bandwidth memory ratio and the relevance with server resource for each virtual machine,the data center has reduced the migration cost and guarantee the quality of service,which it can release more server resources and can determine the server to be migrated by the quantity of migration and the degree of resource matching meanwhile.The simulation results show that it has effectively reduced cost of virtual machine migration and promoted system resource utilization,with certain improvement in reducing the SLA breach,avoiding most virtual machine migration to the cluster effect formed by the same server.
data center;virtual machine migration;resource matching;relevance
2016-11-13
2017-03-02 < class="emphasis_bold">網(wǎng)絡出版時間
時間:2017-07-19
教育部專項研究項目(2013116)
胡榮輝(1992-),男,碩士研究生,研究方向為大數(shù)據(jù)、虛擬機遷移。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170719.1110.046.html
TP301.6
A
1673-629X(2017)11-0033-04
10.3969/j.issn.1673-629X.2017.11.007