999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于服務(wù)活躍度的虛擬機(jī)實(shí)時(shí)遷移方案的研究

2013-07-19 08:44:42張樂
關(guān)鍵詞:實(shí)驗(yàn)服務(wù)

張樂

暨南大學(xué)信息科學(xué)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,廣州 510630

基于服務(wù)活躍度的虛擬機(jī)實(shí)時(shí)遷移方案的研究

張樂

暨南大學(xué)信息科學(xué)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,廣州 510630

1 引言

虛擬機(jī)[1]是指通過虛擬機(jī)管理器在一個(gè)物理硬件資源上虛擬出來的具有完整硬件系統(tǒng)功能,運(yùn)行在一個(gè)完全隔離環(huán)境下的完整計(jì)算機(jī)系統(tǒng)。

1.1 背景

虛擬機(jī)的實(shí)時(shí)遷移[2]是在保持虛擬機(jī)服務(wù)正常運(yùn)行的同時(shí),將虛擬機(jī)從一個(gè)物理主機(jī)(源主機(jī))遷移到另外一臺(tái)物理主機(jī)(目標(biāo)主機(jī))上,并在目標(biāo)主機(jī)上恢復(fù)虛擬機(jī)的運(yùn)行。

1.2 實(shí)時(shí)遷移

虛擬機(jī)的實(shí)時(shí)遷移可以在虛擬機(jī)遷移的同時(shí)保證虛擬機(jī)的服務(wù)不受遷移的影響,方便用戶的使用,提高服務(wù)器的使用效率,因而在服務(wù)器集群方面有著廣泛的應(yīng)用。

1.2.1 原因及解決問題

虛擬機(jī)的實(shí)時(shí)遷移所帶來的變化以及其解決的問題包括了以下幾個(gè)方面:

(1)解決“剩余的依賴關(guān)系[3]”的問題,因?yàn)橛行┨摂M機(jī)必須保持其所在主機(jī)的系統(tǒng)配置以及網(wǎng)絡(luò)訪問接口等。

(2)虛擬機(jī)的內(nèi)存狀態(tài)能夠在遷移過程中保持一致并且有效,這也適用于內(nèi)核內(nèi)部狀態(tài)(如當(dāng)前活動(dòng)連接的TCP控制塊),這意味著在實(shí)際應(yīng)用中可以遷移游戲服務(wù)器、流媒體服務(wù)器,而不需要進(jìn)行客戶端的重新連接。

(3)解決了用戶和管理員之間的擔(dān)憂,用戶可以全權(quán)管理虛擬機(jī)內(nèi)運(yùn)行的軟件和服務(wù)而不需要提供任何操作系統(tǒng)級(jí)別的訪問,管理員則不需要關(guān)注虛擬機(jī)內(nèi)發(fā)生的細(xì)節(jié)。

(4)虛擬機(jī)的實(shí)時(shí)遷移對(duì)其所在的主機(jī)的維護(hù)也是很有價(jià)值的(可能虛擬機(jī)實(shí)時(shí)遷移完成后該主機(jī)就將退役)。

總之,虛擬機(jī)的實(shí)時(shí)遷移是機(jī)器集群管理員強(qiáng)有力的工具,它分離了軟硬件,并且將機(jī)器集群整合成一個(gè)單一的連貫管理域。此外,可以通過虛擬機(jī)的實(shí)時(shí)遷移來減輕其所在主機(jī)的負(fù)載,從而達(dá)到機(jī)器集群的負(fù)載均衡以及提高資源的可利用性,可以看出虛擬機(jī)的實(shí)時(shí)遷移是非常必要且有用的。

1.2.2 基本概念

虛擬機(jī)的實(shí)時(shí)遷移需要對(duì)虛擬機(jī)的所有信息進(jìn)行遷移,包括存儲(chǔ)、網(wǎng)絡(luò)以及內(nèi)存。

存儲(chǔ)遷移因?yàn)槠鋽?shù)據(jù)量極大,在遷移時(shí)會(huì)造成大量的時(shí)間和網(wǎng)絡(luò)帶寬的消耗,降低了實(shí)時(shí)遷移的效率,為了減少這種消耗,通常采用NFS[4]共享數(shù)據(jù)和文件系統(tǒng)。

網(wǎng)絡(luò)遷移[5]是指虛擬機(jī)的所有網(wǎng)絡(luò)設(shè)備,包括協(xié)議狀態(tài)以及IP地址都要進(jìn)行遷移,網(wǎng)絡(luò)遷移可以通過發(fā)送ARP重定向包,將虛擬機(jī)的IP地址與目標(biāo)主機(jī)的MAC地址綁定,綁定之后發(fā)送到虛擬機(jī)的所有包都可以直接發(fā)送到目標(biāo)主機(jī)上,從而實(shí)現(xiàn)網(wǎng)絡(luò)的無縫遷移。

內(nèi)存遷移是虛擬機(jī)中遷移最重要也是最復(fù)雜的遷移,因?yàn)閮?nèi)存頁(yè)的信息直接反應(yīng)了當(dāng)前虛擬機(jī)的運(yùn)行狀態(tài)。虛擬機(jī)實(shí)時(shí)遷移的過程中會(huì)不斷地更新內(nèi)存頁(yè)的內(nèi)容,這樣就需要重新傳輸內(nèi)存頁(yè)到目標(biāo)主機(jī)上,如果虛擬機(jī)的臟頁(yè)率高(內(nèi)存頁(yè)的內(nèi)容更新快),那么就需要多次傳輸臟頁(yè)到目標(biāo)主機(jī)上,這將會(huì)大大增大虛擬機(jī)的總遷移時(shí)間,如果臟頁(yè)率低,虛擬機(jī)過早進(jìn)入停機(jī)階段又會(huì)導(dǎo)致虛擬機(jī)服務(wù)停頓時(shí)間過長(zhǎng),所以如何選擇合適的臨界點(diǎn)進(jìn)入停機(jī)階段將直接影響虛擬機(jī)實(shí)時(shí)遷移的效率和時(shí)間。

1.3 內(nèi)存遷移

虛擬機(jī)的內(nèi)存遷移主要分為三個(gè)步驟:Push階段、Stop and Copy階段以及Pull階段。

Push階段:該階段源主機(jī)上的虛擬機(jī)持續(xù)的運(yùn)行,同時(shí)不斷地傳輸內(nèi)存頁(yè)到目標(biāo)主機(jī)上,為了保證源主機(jī)和目標(biāo)主機(jī)的一致性,源主機(jī)需要重新發(fā)送發(fā)生更新的內(nèi)存頁(yè)(即內(nèi)存臟頁(yè))。

Stop and Copy階段:該階段源主機(jī)上的虛擬機(jī)停止運(yùn)行,并在停止期間發(fā)送剩下的內(nèi)存臟頁(yè)到目標(biāo)主機(jī)上,傳輸完成之后目標(biāo)主機(jī)上的虛擬機(jī)開始運(yùn)行,這個(gè)階段的時(shí)間就是停機(jī)時(shí)間downtime[6]。

Pull階段:該階段目標(biāo)主機(jī)上的虛擬機(jī)保持運(yùn)行,如果出現(xiàn)頁(yè)錯(cuò)誤,目標(biāo)主機(jī)會(huì)向源主機(jī)請(qǐng)求重新發(fā)送出現(xiàn)錯(cuò)誤的頁(yè)。

其中,Stop and Copy階段和Pull階段相結(jié)合的遷移方案稱為Post-copy[7];Push階段和Stop and copy階段相結(jié)合的遷移方案被稱為Pre-copy。

Post-copy和Pre-copy分別適應(yīng)于不同的環(huán)境下,Post-copy為了盡量減小總遷移時(shí)間,Pre-copy為了盡量減小停機(jī)時(shí)間。

1.3.1 Post-copy

Post-copy方案分為以下四個(gè)步驟:

(1)停止源主機(jī)上虛擬機(jī)的運(yùn)作;

(2)傳輸運(yùn)行所需的內(nèi)存頁(yè)到目標(biāo)主機(jī)上;

(3)在目標(biāo)主機(jī)上恢復(fù)虛擬機(jī)的運(yùn)作;

(4)傳輸剩下的內(nèi)存頁(yè)直到所有頁(yè)傳輸完。

在Post-copy方案中,大部分的內(nèi)存頁(yè)只需要傳輸一次,因此可以很好地降低總遷移時(shí)間,但是當(dāng)虛擬機(jī)運(yùn)行所需的內(nèi)存頁(yè)較多時(shí),則會(huì)使得停機(jī)時(shí)間過長(zhǎng),虛擬機(jī)的性能會(huì)大幅下降。此外,在第二步中,停止運(yùn)作的虛擬機(jī)是不能釋放源主機(jī)的資源的,當(dāng)出現(xiàn)多個(gè)虛擬機(jī)并發(fā)遷移的時(shí)候,將會(huì)導(dǎo)致大量資源需要等待遷移結(jié)束后才能得到釋放,這也會(huì)造成源主機(jī)的硬件資源的浪費(fèi)和遷移效率的下降。

1.3.2 Pre-copy

Pre-copy方案的核心思想是先將所有內(nèi)存頁(yè)傳輸?shù)侥繕?biāo)主機(jī)上,在一輪傳輸過后,再向目標(biāo)主機(jī)傳輸上一輪傳輸中發(fā)生更新的內(nèi)存頁(yè)(后文中稱臟頁(yè)),如此迭代傳輸直到需要傳輸?shù)呐K頁(yè)數(shù)目滿足進(jìn)入停機(jī)階段的停機(jī)條件后,進(jìn)入停機(jī)階段,此時(shí)停止源主機(jī)上虛擬機(jī)的運(yùn)行,再將余下的臟頁(yè)傳輸?shù)侥繕?biāo)主機(jī)上,最后在目標(biāo)主機(jī)上恢復(fù)虛擬機(jī)的運(yùn)行。Pre-copy方案的具體算法流程如圖1所示。

圖1 Pre-copy算法流程圖

2 相關(guān)工作

在針對(duì)虛擬機(jī)動(dòng)態(tài)遷移技術(shù)優(yōu)化的研究上,大部分都是對(duì)針對(duì)Pre-copy方案的改進(jìn),目的都是更好地降低總遷移時(shí)間和停機(jī)時(shí)間。主要研究成果有如下:

(1)基于虛擬機(jī)實(shí)時(shí)遷移技術(shù)的內(nèi)存緊壓縮算法和防抖動(dòng)分層拷貝算法[8]。內(nèi)存緊壓縮算法的核心思想是通過充分利用虛擬機(jī)中的氣球驅(qū)動(dòng)程序,對(duì)遷移域進(jìn)行內(nèi)存緊壓縮,從而達(dá)到降低遷移時(shí)間和目標(biāo)域啟動(dòng)時(shí)間的目的;臟頁(yè)防抖動(dòng)分層算法則是通過對(duì)遷移中出現(xiàn)的臟頁(yè)進(jìn)行分層,并且設(shè)計(jì)了防抖動(dòng)閾值,很好地解決了遷移中的臟頁(yè)問題。

(2)基于虛擬機(jī)實(shí)時(shí)遷移技術(shù)的分層拷貝算法和臟頁(yè)減速算法[9]。分層拷貝算法是為了減少傳統(tǒng)迭代過程中重復(fù)拷貝相同臟頁(yè),通過對(duì)內(nèi)存頁(yè)重寫次數(shù)統(tǒng)計(jì)來盡量減少不必要的拷貝;臟頁(yè)減速算法則是考慮如何適量減少被遷移域的CPU占有量來降低臟頁(yè)率。通過分層算法與減速算法的協(xié)同工作,在盡可能不影響遷移域服務(wù)的前提下,減少了遷移時(shí)間。

(3)利用Writable Working Set對(duì)Pre-copy方案進(jìn)行優(yōu)化。在虛擬機(jī)正常工作的一段時(shí)間內(nèi)記錄虛擬機(jī)的內(nèi)存頁(yè)的更新次數(shù),當(dāng)虛擬機(jī)需要進(jìn)行實(shí)時(shí)遷移時(shí)統(tǒng)計(jì)出內(nèi)存頁(yè)的更新頻率,將更新頻率不高的內(nèi)存頁(yè)在第三階段傳輸,更新頻率比較高的內(nèi)存頁(yè)則在第四階段傳輸,從而達(dá)到降低總遷移時(shí)間和停機(jī)時(shí)間的目的。

表1 虛擬機(jī)的內(nèi)存分配和使用機(jī)制

3 基于服務(wù)活躍度的優(yōu)化方案

在Pre-copy方案中,源主機(jī)上的虛擬機(jī)管理器首先將待遷移的內(nèi)存頁(yè)傳輸?shù)侥繕?biāo)主機(jī)上,然后對(duì)臟頁(yè)進(jìn)行迭代傳輸。這種方案在虛擬機(jī)低負(fù)載或者無負(fù)載的情況下能夠較好地降低總遷移時(shí)間和停機(jī)時(shí)間,但是當(dāng)虛擬機(jī)高負(fù)載的情況下,Pre-copy方案在面對(duì)臟頁(yè)率很高的問題時(shí),迭代傳輸臟頁(yè)的次數(shù)將會(huì)非常多,直到遷移達(dá)到系統(tǒng)承受上限時(shí)才會(huì)進(jìn)入停機(jī)階段,這顯然會(huì)帶來較大總遷移時(shí)間和停機(jī)時(shí)間的開銷。可以看出,在Pre-copy方案中內(nèi)存頁(yè)的數(shù)量以及臟頁(yè)率對(duì)虛擬機(jī)的實(shí)時(shí)遷移有著非常重要的影響,因此對(duì)虛擬機(jī)在主機(jī)上的內(nèi)存分配和使用機(jī)制[10]進(jìn)行分析是非常有必要的。

3.1 虛擬機(jī)的內(nèi)存分配與使用

在主機(jī)上創(chuàng)建虛擬機(jī)需要分配內(nèi)存資源給虛擬機(jī),一般情況下有三個(gè)需要配置的選項(xiàng)(內(nèi)存上限、內(nèi)存預(yù)留、內(nèi)存分享),這三個(gè)選項(xiàng)的分配和使用機(jī)制如下表1所示。

3.2 停止條件

停止條件[11]就是虛擬機(jī)結(jié)束迭代傳輸內(nèi)存頁(yè)的第三階段并且進(jìn)入第四階段的判斷條件。

3.2.1 源代碼中的相關(guān)代碼

根據(jù)對(duì)實(shí)時(shí)遷移源代碼的分析,停止條件如表2和表3所示。

表2 源代碼中的停止條件

表2中,條件1.1和條件1.2需要同時(shí)滿足才算滿足第1個(gè)停止條件。

條件1.1當(dāng)前迭代輪傳輸?shù)呐K頁(yè)數(shù)量大于上一輪傳輸?shù)呐K頁(yè)數(shù)量;

條件1.2由遷移引起的網(wǎng)絡(luò)負(fù)載已經(jīng)超過了由虛擬機(jī)定義的吞吐量的闕值。

表3 涉及變量的名詞解釋

條件2迭代次數(shù)超過定義的最大次數(shù)。

條件3當(dāng)前迭代輪需要傳輸?shù)呐K頁(yè)數(shù)量和不需要傳輸?shù)呐K頁(yè)數(shù)量和小于50。

條件4總遷移的內(nèi)存頁(yè)數(shù)量大于虛擬機(jī)所有內(nèi)存頁(yè)總數(shù)量的max_factor倍數(shù)。

3.2.2 條件分析

對(duì)于停止條件2,在源代碼中,max_iters定義的初始值為29,即當(dāng)?shù)鷤鬏敵^30次時(shí),實(shí)時(shí)遷移進(jìn)入停機(jī)階段,29是一個(gè)經(jīng)驗(yàn)值。對(duì)于低負(fù)載的情況,因?yàn)槊看蔚鷤鬏數(shù)呐K頁(yè)不多,所以不需要過多的迭代輪數(shù)就可以進(jìn)入停機(jī)階段,而對(duì)于高負(fù)載的情況,因?yàn)槊看蔚鷤鬏數(shù)呐K頁(yè)數(shù)量很多,過多的迭代輪數(shù)有可能導(dǎo)致總遷移時(shí)間的增大,所以說在不考慮虛擬機(jī)負(fù)載的情況就直接使用一個(gè)確定的數(shù)值顯然是不合理的。

對(duì)于停止條件3,在源代碼中,N=50也是一個(gè)經(jīng)驗(yàn)值,即當(dāng)前迭代需要傳輸?shù)呐K頁(yè)和不需要傳輸?shù)呐K頁(yè)數(shù)量和超過50時(shí),實(shí)時(shí)遷移進(jìn)入停機(jī)階段。對(duì)于低負(fù)載的情況,50這個(gè)上限是不容易被達(dá)到的,而對(duì)于高負(fù)載的情況,50又很容易滿足,這樣就會(huì)導(dǎo)致過早進(jìn)入停機(jī)階段,從而導(dǎo)致停機(jī)階段需要傳輸過多內(nèi)存頁(yè),導(dǎo)致停機(jī)時(shí)間的增大,這同樣也是不合理的。

對(duì)于停止條件1和4,因?yàn)闂l件中都是動(dòng)態(tài)數(shù)值或者是根據(jù)虛擬機(jī)得到的數(shù)值,所以可以不做優(yōu)化的考慮。

3.2.3 結(jié)論

通過對(duì)停止條件的分析得到,Pre-copy方案中的停止條件是靜態(tài)的,對(duì)于不同負(fù)載的虛擬機(jī)實(shí)時(shí)遷移不能起到動(dòng)態(tài)的調(diào)整,這就很難控制任意負(fù)載的虛擬機(jī)實(shí)時(shí)遷移的總遷移時(shí)間和停機(jī)時(shí)間,所以就需要在虛擬機(jī)實(shí)時(shí)遷移開始前或進(jìn)行中對(duì)停止條件進(jìn)行動(dòng)態(tài)的配置,從而使得當(dāng)前的停止條件對(duì)于當(dāng)前虛擬機(jī)的實(shí)時(shí)遷移是最佳的。通過對(duì)虛擬機(jī)的當(dāng)前服務(wù)活躍度的研究來動(dòng)態(tài)配置停止條件,來達(dá)到優(yōu)化實(shí)時(shí)遷移的目的。

3.3 服務(wù)活躍度

虛擬機(jī)的負(fù)載[12]就是虛擬機(jī)上運(yùn)行的服務(wù)對(duì)虛擬機(jī)資源的利用率。內(nèi)存資源是虛擬機(jī)非常重要的資源之一,服務(wù)對(duì)內(nèi)存資源的使用主要表現(xiàn)為兩種情況。

(1)寫操作:運(yùn)行服務(wù)將新的內(nèi)容寫到內(nèi)存頁(yè)的操作,寫操作的次數(shù)越多相對(duì)應(yīng)內(nèi)存頁(yè)的更新率就會(huì)越高。

(2)讀操作:運(yùn)行服務(wù)獲取內(nèi)存頁(yè)的內(nèi)容來進(jìn)行相關(guān)處理的操作,讀操作不會(huì)對(duì)內(nèi)存頁(yè)的內(nèi)容進(jìn)行修改,但站在算法設(shè)計(jì)的角度上,讀操作會(huì)增加內(nèi)存頁(yè)的被讀取次數(shù),從而會(huì)引起程序代碼中讀次數(shù)變量的變化。因此對(duì)于算法而言,讀操作也是屬于內(nèi)存頁(yè)的更新范疇。

于是在這里認(rèn)為虛擬機(jī)的負(fù)載越高就會(huì)導(dǎo)致虛擬機(jī)內(nèi)存頁(yè)的更新越頻繁(即臟頁(yè)率高)。

定義服務(wù)對(duì)虛擬機(jī)資源的利用率(即單位時(shí)間內(nèi)虛擬機(jī)上所有用戶作出的操作數(shù))為服務(wù)活躍度,根據(jù)大量實(shí)驗(yàn)驗(yàn)證(實(shí)驗(yàn)環(huán)境為Olio[13],實(shí)驗(yàn)機(jī)制為虛擬機(jī)上不同數(shù)量的用戶同時(shí)使用虛擬機(jī)上的各種服務(wù),然后觀察虛擬機(jī)上的臟頁(yè)變化),從而得到服務(wù)活躍度與臟頁(yè)率之間的關(guān)系如下圖2所示。

圖2 服務(wù)活躍度與臟頁(yè)率之間的關(guān)系

從圖2可以看出,在系統(tǒng)承受范圍內(nèi),服務(wù)活躍度和臟頁(yè)率之間呈正比關(guān)系,這里的“系統(tǒng)承受范圍”是由實(shí)驗(yàn)主機(jī)的網(wǎng)絡(luò)帶寬和其物理內(nèi)存大小所決定的。實(shí)驗(yàn)中所使用的主機(jī)能接受的用戶數(shù)量范圍在0到150之間,當(dāng)超過150這個(gè)數(shù)量值時(shí),主機(jī)在單位時(shí)間內(nèi)能更新的內(nèi)存頁(yè)數(shù)量也就是在220到240之間,針對(duì)上述原因認(rèn)為服務(wù)活躍度越高代表了虛擬機(jī)的負(fù)載越高,從而導(dǎo)致了臟頁(yè)率的增加,所以通過研究服務(wù)活躍度來配置停止條件的方案是可行的。

3.4 優(yōu)化方案

結(jié)合上文的結(jié)論,提出根據(jù)虛擬機(jī)當(dāng)前的服務(wù)活躍度來配置實(shí)時(shí)遷移的停止條件,具體流程為:

(1)虛擬機(jī)實(shí)時(shí)遷移前,通過服務(wù)活躍度檢測(cè)器檢測(cè)到虛擬機(jī)當(dāng)前的服務(wù)活躍度SLL(Service Live Level);

(2)根據(jù)得到的SLL在SLL基準(zhǔn)庫(kù)尋找對(duì)應(yīng)的最佳停止條件的配置參數(shù)(max_iters以及N);

(3)將得到新的配置參數(shù)初始化到實(shí)時(shí)遷移程序中,啟動(dòng)實(shí)時(shí)遷移。

根據(jù)SLL來得到最佳停止條件的Pre-copy優(yōu)化系統(tǒng)模型,如圖3所示。

在這個(gè)系統(tǒng)模型中,涉及到“停止條件參數(shù)”、“SLL檢測(cè)器”以及“SLL基準(zhǔn)庫(kù)”三個(gè)概念。

(1)停止條件參數(shù):源代碼中停止條件中的靜態(tài)參數(shù)N以及max_iters,這兩個(gè)參數(shù)是根據(jù)SLL的不同而動(dòng)態(tài)變化的。

(2)SLL檢測(cè)器:檢測(cè)虛擬機(jī)實(shí)時(shí)遷移開始前的服務(wù)活躍度,在測(cè)試系統(tǒng)中,主要是利用Olio服務(wù)中所帶的用戶操作檢測(cè)器來實(shí)現(xiàn)的。

(3)SLL基準(zhǔn)庫(kù):一個(gè)存儲(chǔ)“不同區(qū)間的SLL”和“其對(duì)應(yīng)的最佳停止條件參數(shù)”的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)是通過大量的虛擬機(jī)實(shí)時(shí)遷移實(shí)驗(yàn)來得到的,數(shù)據(jù)庫(kù)的建立過程會(huì)在第4章節(jié)中進(jìn)行介紹。

4 實(shí)驗(yàn)與結(jié)果分析

為了驗(yàn)證上文提出方案的有效性,在物理主機(jī)上搭建測(cè)試環(huán)境,分別進(jìn)行靜態(tài)停止條件和基于服務(wù)活躍度的停止條件兩種情況下的虛擬機(jī)實(shí)時(shí)遷移實(shí)驗(yàn),并對(duì)總遷移時(shí)間和停機(jī)時(shí)間的結(jié)果進(jìn)行分析。

4.1 實(shí)驗(yàn)環(huán)境搭建

在實(shí)驗(yàn)中,使用NFS服務(wù)來管理源主機(jī)和目標(biāo)主機(jī)的硬存儲(chǔ)資源,采用一臺(tái)PC機(jī)來作為提供NFS服務(wù)的服務(wù)器,此外,虛擬機(jī)在兩臺(tái)相同配置的主機(jī)上進(jìn)行實(shí)時(shí)遷移,這樣可以在兩臺(tái)主機(jī)上相互遷移并連續(xù)進(jìn)行多次實(shí)驗(yàn)。

圖3 加入SLL的系統(tǒng)模型圖

用于搭建環(huán)境的服務(wù)器主機(jī)和虛擬機(jī)的配置,如表4所示。

系統(tǒng)整體架構(gòu)[14]如圖4所示。

圖4 實(shí)驗(yàn)整體架構(gòu)圖

主要配置過程如下:

(1)在源主機(jī)和目標(biāo)主機(jī)上安裝Xen[15];

(2)修改Xen的配置文件,開啟虛擬機(jī)實(shí)時(shí)遷移的端口,重啟xend服務(wù),使更改生效;

(3)激活portmap和NFS服務(wù),啟動(dòng)NFS掛載功能;

(4)源主機(jī)和目標(biāo)主機(jī)將虛擬機(jī)的鏡像掛載到自己對(duì)應(yīng)的盤符上,實(shí)現(xiàn)虛擬機(jī)鏡像的NFS共享;

(5)使用Xen create命令創(chuàng)建虛擬機(jī),修改配置文件來配置虛擬機(jī)的各種信息。

4.2 實(shí)驗(yàn)測(cè)試

實(shí)驗(yàn)測(cè)試主要分為三個(gè)部分:第一部分是建立SLL基準(zhǔn)庫(kù);第二部分是在靜態(tài)停止條件下的虛擬機(jī)實(shí)時(shí)遷移;第三部分是在基于SLL的停止條件下的虛擬機(jī)實(shí)時(shí)遷移。

4.2.1 建立SLL基準(zhǔn)庫(kù)

在基于SLL的優(yōu)化方案中,SLL基準(zhǔn)庫(kù)是非常重要的,因?yàn)檫@個(gè)數(shù)據(jù)庫(kù)的作用是幫助系統(tǒng)根據(jù)當(dāng)前虛擬機(jī)的SLL選擇最佳停止條件。

SLL基準(zhǔn)庫(kù)的建立是通過大量的重復(fù)實(shí)時(shí)遷移實(shí)驗(yàn)來獲取的,具體方法是多次實(shí)時(shí)遷移不同SLL的虛擬機(jī),通過調(diào)整停止條件參數(shù)(max_iters和N),記錄每次實(shí)時(shí)遷移的總遷移時(shí)間和停機(jī)時(shí)間,選擇總遷移時(shí)間和停機(jī)時(shí)間最短的那個(gè)停止條件參數(shù)作為對(duì)應(yīng)SLL的最佳停止條件參數(shù),實(shí)驗(yàn)初始化數(shù)據(jù)如表5所示。

表5中,max_iters的取值跨度是2,即取值順序?yàn)?,9,11,13,15,同理,N的取值跨度為200。

因?yàn)閷?shí)驗(yàn)次數(shù)特別多,所以僅列出并發(fā)用戶為25的實(shí)驗(yàn)結(jié)果,如表6所示。

表5 實(shí)驗(yàn)初始化數(shù)據(jù)

表6 并發(fā)用戶為25的實(shí)時(shí)遷移結(jié)果

表6中,總遷移時(shí)間用TT表示,停機(jī)時(shí)間用DT表示,單位是ms。

從表6的測(cè)試結(jié)果可以得到,當(dāng)并發(fā)用戶為25,SLL=4.975的時(shí)候,虛擬機(jī)的實(shí)時(shí)遷移在停止條件參數(shù)max_iters=9以及N=900時(shí),總遷移時(shí)間和停機(jī)時(shí)間的最小值分別為733 470 ms和1 107 ms。

當(dāng)并發(fā)用戶和SLL分別為其他取值的時(shí)候,其對(duì)應(yīng)的最佳停止條件參數(shù)的實(shí)驗(yàn)結(jié)果如表7所示。

表7 SLL基準(zhǔn)庫(kù)

4.2.2 靜態(tài)停止條件下的實(shí)時(shí)遷移

在靜態(tài)停止條件下,對(duì)于不同SLL的虛擬機(jī),采用多次實(shí)時(shí)遷移并取每次結(jié)果的平均值,實(shí)驗(yàn)測(cè)試結(jié)果如表8所示。

4.2.3 基于SLL的停止條件下的實(shí)時(shí)遷移

在基于SLL的停止條件下,先通過SLL檢測(cè)器檢測(cè)當(dāng)前虛擬機(jī)的SLL,然后從SLL基準(zhǔn)庫(kù)中選取最佳的停止條件并配置到遷移程序中,同樣采用多次實(shí)驗(yàn)去平均值。實(shí)驗(yàn)結(jié)果如表9所示。

表8 靜態(tài)停止條件下的實(shí)時(shí)遷移

表9 基于SLL的停止條件下的實(shí)時(shí)遷移

4.3 結(jié)果分析

從表8和表9的結(jié)果,針對(duì)不同SLL的虛擬機(jī)實(shí)時(shí)遷移,當(dāng)實(shí)時(shí)遷移分別采用靜態(tài)停止條件和基于SLL的停止條件的時(shí)候,總遷移時(shí)間TT的結(jié)果如圖5所示,停機(jī)時(shí)間DT的結(jié)果如圖6所示。

圖5 兩種停止條件下的總遷移時(shí)間

圖6 兩種停止條件下的停機(jī)時(shí)間

根據(jù)圖5和圖6的結(jié)果,得出的結(jié)論是基于SLL的虛擬機(jī)實(shí)時(shí)遷移方案可以達(dá)到降低總遷移時(shí)間和停機(jī)時(shí)間的效果,從而加快了虛擬機(jī)的實(shí)時(shí)遷移。

5 結(jié)束語(yǔ)

為了解決虛擬機(jī)在不同負(fù)載的情況下實(shí)時(shí)遷移的效率問題,提出了基于虛擬機(jī)當(dāng)前服務(wù)活躍度的實(shí)時(shí)遷移優(yōu)化方案。通過虛擬機(jī)服務(wù)活躍度來選擇最佳的停機(jī)條件并配置到相關(guān)遷移程序中,從而達(dá)到降低總遷移時(shí)間和停機(jī)時(shí)間的目的,在一定程度上優(yōu)化了虛擬機(jī)的實(shí)時(shí)遷移。

實(shí)驗(yàn)是通過Olio服務(wù)自帶的用戶操作檢測(cè)器來獲取虛擬機(jī)活躍度的,而這種方法不能很好地面對(duì)任何情況下的虛擬機(jī)。如何能夠做到隨時(shí)檢測(cè)虛擬機(jī)的服務(wù)活躍度并實(shí)時(shí)地配置最佳停止條件,將是今后的一個(gè)研究方向。

[1]Goldberg R P.Survey of virtual machine research[J].Computer,1974,7(6):34-45.

[2]Clark C,F(xiàn)raser K,Hand S,et al.Live migration of virtual machines[C]//Proceedings of the 2nd Conference on Symposium on Networked Systems Design&Implementation.[S.l.]:USENIX Association,2005:273-286.

[3]Douglis F,Ousterhout J.Transparent process migration:design alternatives and the sprite implementation[J].Software:Practice and Experience,1991,21(8):757-785.

[4]Hitz D,Lau J,Malcolm M.File system design for an NFS file serverappliance[C]//ProceedingsoftheUSENIXWinter 1994 Technical Conference,1994:235-246.

[5]溫抿雄,李沁.虛擬機(jī)遷移系統(tǒng)網(wǎng)絡(luò)連接重定向技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2009,26(5).

[6]Patterson D A.A simple way to estimate the cost of downtime[C]//Proceedingsofthe16thSystemsAdministration Conference,2002.

[7]Hines M R,Deshpande U,Gopalan K.Post-copy live migration ofvirtualmachines[J].ACMSIGOPSOperatingSystems Review,2009,43(3):14-26.

[8]李永.基于虛擬機(jī)動(dòng)態(tài)遷移技術(shù)的分析和研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2009.

[9]阮敏.Xen環(huán)境下實(shí)時(shí)遷移結(jié)構(gòu)和算法研究[D].大連:大連海事大學(xué),2009.

[10]張偉哲,張宏莉,張迪,等.云計(jì)算平臺(tái)中多虛擬機(jī)內(nèi)存協(xié)同優(yōu)化策略研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(12):2265-2277.

[11]Akoush S,Sohan R,Rice A,et al.Predicting the performance of virtual machine migration[C]//Proceedings of Modeling,Analysis and Simulation of Computer and Telecommunication Systems(MASCOTS).[S.l.]:IEEE,2010:37-46.

[12]李運(yùn)發(fā),徐向華,萬鍵.基于虛擬機(jī)負(fù)載遷移的資源調(diào)度機(jī)制[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2009(9):45-48.

[13]Breitgand D,Kutiel G,Raz D.Cost-aware live migration of services in the cloud[C]//Proceedings of the 3rd Annual Haifa Experimental Systems Conference.[S.l.]:ACM,2010.

[14]趙華茗.基于虛擬機(jī)的高可用信息服務(wù)平臺(tái)建設(shè)[J].現(xiàn)代圖書情報(bào)技術(shù),2009,25(12):18-23.

[15]Barham P,Dragovic B,F(xiàn)raser K,et al.Xen and the art of virtualization[J].ACM SIGOPS Operating Systems Review,2003,37(5):164-177.

ZHANG Le

Department of Computer Science,School of Information Science and Technology,Jinan University,Guangzhou 510630,China

The live migration of virtual machine is the migration between the different physical hosts,at the same time,ensuring the normal operations of the virtual machine service.In order to ensure the migration efficiency and the normal operation,it needs to reduce the total migration time and downtime.Post-copy and Pre-copy are both frequently used to live migration, Post-copy can reduce the total migration time,Pre-copy can reduce the downtime.This paper presents an optimization Pre-copy scheme based on service live level.According to the relationship between service and dirty page rate,selecting the appropriate stop condition,it makes the live migration enter the stop and copy phase in an appropriate critical point.This not only reduces the number of iterations of the page,but also transmits fewer pages in the stop and copy phase,so as to achieve the purpose of reducing the total migration time and downtime at the same time.

live migration;Post-copy;Pre-copy;service live level;dirty page rate;stop condition

虛擬機(jī)實(shí)時(shí)遷移是在保證虛擬機(jī)服務(wù)正常運(yùn)行的同時(shí),在不同的物理主機(jī)之間遷移,為保證遷移效率和服務(wù)正常運(yùn)行,需降低總遷移時(shí)間和停機(jī)時(shí)間。后拷貝和預(yù)拷貝是常用的兩種實(shí)時(shí)遷移方案,后拷貝能降低總遷移時(shí)間,預(yù)拷貝能降低停機(jī)時(shí)間。基于服務(wù)活躍度的預(yù)拷貝優(yōu)化方案是根據(jù)服務(wù)活躍度選擇合適的停止條件,使得虛擬機(jī)在合適的臨界點(diǎn)進(jìn)入停機(jī)階段,這不僅減少了頁(yè)的迭代次數(shù),也使停機(jī)階段傳輸更少的頁(yè),從而達(dá)到同時(shí)降低總遷移時(shí)間和停機(jī)時(shí)間的目的。

實(shí)時(shí)遷移;后拷貝;預(yù)拷貝;服務(wù)活躍度;臟頁(yè)率;停止條件

A

TP302.2

10.3778/j.issn.1002-8331.1303-0250

ZHANG Le.Scheme research of virtual machine live migration based on service live level.Computer Engineering and Applications,2013,49(19):254-259.

張樂(1988—),男,碩士,研究方向?yàn)樵朴?jì)算。E-mail:shine_paul@163.com

2013-03-18

2013-05-27

1002-8331(2013)19-0254-06

猜你喜歡
實(shí)驗(yàn)服務(wù)
記一次有趣的實(shí)驗(yàn)
微型實(shí)驗(yàn)里看“燃燒”
做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
主站蜘蛛池模板: 欧美日本激情| 日本免费a视频| 青青青视频91在线 | 国产精品入口麻豆| 免费一级毛片不卡在线播放| 亚洲国产无码有码| 国产精品视频999| 国产在线观看第二页| 欧美成人精品高清在线下载| 人妻无码AⅤ中文字| 国产精品夜夜嗨视频免费视频 | 国产电话自拍伊人| 91久久青青草原精品国产| 红杏AV在线无码| 四虎影视8848永久精品| 精品无码视频在线观看| 亚洲美女久久| 欧美成人亚洲综合精品欧美激情| 欧美区在线播放| 国产亚洲精品资源在线26u| 99视频在线免费| 国产日韩欧美中文| 亚洲综合一区国产精品| 人妻免费无码不卡视频| 超薄丝袜足j国产在线视频| 中文字幕无码中文字幕有码在线| 91精品国产自产91精品资源| 亚洲国产第一区二区香蕉| 中文字幕欧美日韩| 九色免费视频| 亚洲另类第一页| 视频国产精品丝袜第一页 | 91偷拍一区| 色综合a怡红院怡红院首页| 精品视频第一页| 全部无卡免费的毛片在线看| 欧美成人h精品网站| 日韩成人在线一区二区| 亚洲第一成年人网站| 欧美综合区自拍亚洲综合绿色| 亚洲无码四虎黄色网站| 免费无码又爽又黄又刺激网站 | 九九九精品成人免费视频7| 狠狠亚洲五月天| 91福利在线看| 99视频在线免费观看| 性欧美在线| 九色综合伊人久久富二代| 久久久久亚洲精品成人网 | 99热这里只有精品免费| 日本精品αv中文字幕| 又黄又湿又爽的视频| 日本久久免费| 亚洲高清在线天堂精品| 久久婷婷六月| 日本欧美在线观看| 午夜国产精品视频| 久久频这里精品99香蕉久网址| 国产精品美女网站| 999国内精品久久免费视频| 国产va欧美va在线观看| 91丨九色丨首页在线播放| 亚洲视频二| 伊人久久久大香线蕉综合直播| 久久99国产综合精品女同| 天天做天天爱夜夜爽毛片毛片| 亚洲制服中文字幕一区二区| 亚洲精品午夜天堂网页| 69综合网| 51国产偷自视频区视频手机观看| 97视频免费在线观看| www.国产福利| 萌白酱国产一区二区| 亚洲欧洲日产国产无码AV| 狠狠做深爱婷婷综合一区| 精品国产成人三级在线观看| 国产精品久久精品| 狂欢视频在线观看不卡| 黄色网站在线观看无码| 97国产成人无码精品久久久| 亚洲成人在线网| 国产免费久久精品99re丫丫一|