中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

2019-02-26    來(lái)源:多智時(shí)代

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

1 引言

云計(jì)算技術(shù)的發(fā)展與應(yīng)用已經(jīng)成為現(xiàn)今研究的熱點(diǎn)。云計(jì)算是一種基于互聯(lián)網(wǎng)的大眾參與的計(jì)算模式,其計(jì)算資源包括計(jì)算能力、存儲(chǔ)能力、交互能力等。這些資源都是動(dòng)態(tài)的、被虛擬化了的,并以服務(wù)的方式提供給用戶。虛擬化已經(jīng)成為云計(jì)算等各種新型計(jì)算模式的基礎(chǔ),其所具有的綜合化、模塊化、通用性、容錯(cuò)以及高可靠性等良好特性使其在云計(jì)算中發(fā)揮著重要作用。其中的遷移技術(shù)是最引人注目和最有價(jià)值的應(yīng)用之一,所以如何在云計(jì)算環(huán)境中利用遷移技術(shù),成為了極具意義的研究問(wèn)題。

虛擬機(jī)遷移技術(shù)能夠透明地將運(yùn)行于VMM (virtualmachine monitor)上的操作系統(tǒng)在物理主機(jī)間轉(zhuǎn)移,管理員不需要了解操作系統(tǒng)本身的細(xì)節(jié),也不需要關(guān)心操作系統(tǒng)上運(yùn)行的服務(wù)狀態(tài),極大地方便了人們的管理操作。目前,主流的在線遷移工具都依賴于物理主機(jī)之間采用集中式共享外存設(shè)備?紤]到云計(jì)算環(huán)境中許多計(jì)算機(jī)系統(tǒng)各自獨(dú)立擁有本地外存,現(xiàn)有遷移技術(shù)在這種場(chǎng)合下受到限制,所以有必要實(shí)現(xiàn)一個(gè)包括外存遷移在內(nèi)的全系統(tǒng)在線遷移方案,從而拓寬現(xiàn)有遷移技術(shù)在云環(huán)境中的應(yīng)用范圍。

2 在線遷移技術(shù)背景

2.1原理及局限性

虛擬機(jī)在線遷移技術(shù)m可以在保持虛擬機(jī)運(yùn)行的同時(shí),把其從一個(gè)物理計(jì)算機(jī)遷移到另一個(gè)物理計(jì)算機(jī),并在目的主機(jī)上恢復(fù)運(yùn)行,無(wú)縫地實(shí)現(xiàn)服務(wù)整合。通過(guò)在線遷移,可以更方便地實(shí)現(xiàn)云計(jì)算環(huán)境中服務(wù)器的在線維護(hù)、在線升級(jí)、負(fù)載均衡等,并提供了一種災(zāi)難恢復(fù)的解決方案。VMW,的遷移工具VMotion在物理主機(jī)共享外存的情況下,實(shí)現(xiàn)了操作系統(tǒng)運(yùn)行狀態(tài)的遷移,主要包括內(nèi)存狀態(tài)、外設(shè)狀態(tài)、CPU寄存器狀態(tài)等。賓漢姆頓大學(xué)則在Xen基礎(chǔ)上通過(guò)在POST階段加人對(duì)內(nèi)存頁(yè)的預(yù)拷貝,加快了在線遷移的速度。這些遷移技術(shù)對(duì)磁盤的處理都比較簡(jiǎn)單,主機(jī)間通過(guò)SAN (storage area network),NAS(network-attached storage)等方式共享磁盤存儲(chǔ),而非實(shí)現(xiàn)真正的磁盤遷移,如圖1所示。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖1 基于共享存儲(chǔ)的虛擬機(jī)遷移

在云計(jì)算環(huán)境中許多計(jì)算機(jī)系統(tǒng)并沒(méi)有采用共享式外存,而是采用分散式外部存儲(chǔ)方式,現(xiàn)有遷移技術(shù)在這種場(chǎng)合下受到限制,虛擬機(jī)遷移到目的主機(jī)后不能訪問(wèn)其原有外存設(shè)備,或者需要依賴于源主機(jī)為其外存訪問(wèn)提供支持。為了使現(xiàn)有遷移技術(shù)更好地應(yīng)用于云環(huán)境中,有必要實(shí)現(xiàn)一個(gè)包括外存遷移在內(nèi)的全系統(tǒng)在線遷移方案,使得在采用分散式本地存儲(chǔ)的計(jì)算機(jī)環(huán)境下,仍然能夠利用遷移技術(shù)轉(zhuǎn)移計(jì)算環(huán)境,并且保證遷移過(guò)程中操作系統(tǒng)服務(wù)的可用性。

2.2設(shè)計(jì)思路

云環(huán)境中的全系統(tǒng)在線增量遷移主要分為三個(gè)階段:Push階段、停機(jī)拷貝階段和Pull階段。在Push階段,源VM(virtual machine)仍在運(yùn)行,其外存訪問(wèn)被VMM監(jiān)控。在內(nèi)存pre-copy之前采用與內(nèi)存遷移同樣的原理先進(jìn)行外存的pre-copy。外存pre-copy結(jié)束后,進(jìn)人Xen的內(nèi)存pre-copy階段,在此期間VM對(duì)外存的訪問(wèn)仍然被監(jiān)控記錄,作為后續(xù)階段同步剩余不一致外存狀態(tài)的依據(jù)。在停機(jī)拷貝階段,源VM被掛機(jī),傳輸剩余的內(nèi)存狀態(tài)、CPU狀態(tài)等,并將VMM所記錄的外存狀態(tài)信息發(fā)送給目的VM。在Pull階段。目的VM被激活,對(duì)于本地UO請(qǐng)求根據(jù)需要向源主機(jī)請(qǐng)求數(shù)據(jù),同時(shí)源主機(jī)主動(dòng)根據(jù)已記錄的外存狀態(tài)發(fā)送未同步完的外存數(shù)據(jù)。

[page] 3 云環(huán)境中全系統(tǒng)在線增量遷移的設(shè)計(jì)與實(shí)現(xiàn)

3.1Push階段的設(shè)計(jì)與實(shí)現(xiàn)

Push階段的遷移流程如圖2所示。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖2 Push階段遷移流程

首先,用戶通過(guò)。migrate命令向VMM發(fā)出遷移請(qǐng)求,收到請(qǐng)求后VMM通知塊設(shè)備即將開始遷移;然后,檢查內(nèi)存是否夠用,如果不夠用則先釋放部分內(nèi)存,以保證有足夠的內(nèi)存進(jìn)行遷移;接著,源主機(jī)與目的主機(jī)建立socket連接。源主機(jī)請(qǐng)求遷移。當(dāng)收到目的主機(jī)的響應(yīng)之后,調(diào)用遷移主體函數(shù)正式開始遷移。

外存pre-copy主要借鑒} Xen內(nèi)存pre-copy的方法通過(guò)一個(gè)循環(huán)體將源VM的外存數(shù)據(jù)發(fā)送至目的主機(jī),同時(shí)設(shè)置了一些相應(yīng)的循環(huán)終止條件,以避免外存遷移時(shí)間過(guò)長(zhǎng),從而影響總體遷移時(shí)間。

主機(jī)端需要監(jiān)控VM對(duì)外存的訪問(wèn)。本文采用的方法是,在設(shè)備后端初始化了一個(gè)bitmap,用于記錄外存塊的狀態(tài)變化。如果某個(gè)外存塊在循環(huán)期間被寫臟,就將相應(yīng)的標(biāo)志位置1。每輪循環(huán)首先從設(shè)備后端獲取此bitmap記錄,根據(jù)該記錄發(fā)送前一輪發(fā)送過(guò)程中被VM寫臟的外存塊。第一次遷移時(shí),由于目的主機(jī)不存在虛擬機(jī)外存的歷史狀態(tài),增量遷移的外存內(nèi)容為虛擬機(jī)全部外存數(shù)據(jù),并在此時(shí)初始化設(shè)備后端中的bitmap,開始對(duì)虛擬機(jī)外存訪問(wèn)進(jìn)行監(jiān)控。此后的每一輪pre-copy,遷移進(jìn)程從設(shè)備后端獲取此bitmap,根據(jù)bitmap確定本輪需要發(fā)送的外存臟塊,同時(shí),VMM將bitmap清零,重新開始記錄下一輪pre-copy中虛擬機(jī)的外存更新情況。外存pre-copy結(jié)束,進(jìn)人Xen的內(nèi)存pre-copy階段,這期間VM對(duì)外存的訪問(wèn)仍然被監(jiān)控并且記錄,作為后續(xù)階段同步剩余不一致外存狀態(tài)的依據(jù)。

3.2停機(jī)拷貝階段的設(shè)計(jì)與實(shí)現(xiàn)

停機(jī)拷貝階段的設(shè)計(jì)與實(shí)現(xiàn)比較簡(jiǎn)單。進(jìn)入停機(jī)階段,源VM被掛起,目的VM尚未啟動(dòng)。從最后一輪外存pre-copy至源VM被掛起的過(guò)程中,源VM外存訪問(wèn)產(chǎn)生的臟塊被設(shè)備后端記錄在bitmap中,設(shè)計(jì)流程如圖3所示。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖3 停機(jī)拷貝階段遷移流程

源主機(jī)遷移進(jìn)程從設(shè)備后端獲取監(jiān)控外存狀態(tài)的bitmap,并將其發(fā)送至目的主機(jī),目的主機(jī)啟動(dòng)后將根據(jù)該bitmap確定本地外存數(shù)據(jù)是否已經(jīng)與源VM的外存數(shù)據(jù)一致。

在這里,我們所加人的外存遷移對(duì)停機(jī)拷貝階段時(shí)間的影響,主要體現(xiàn)在將源主機(jī)設(shè)備后端所監(jiān)控記錄的bitmap發(fā)送給目的主機(jī)。但通過(guò)實(shí)驗(yàn)表明,在外存不太大的情況下,這部分所花費(fèi)的時(shí)間只有幾十毫秒,對(duì)整體遷移時(shí)間的影響很有限。

3.3Pull階段的設(shè)計(jì)與實(shí)現(xiàn)

Pull階段由源主機(jī)和目的主機(jī)的遷移進(jìn)程合作完成,包括目的VM外存訪問(wèn)按需向源主機(jī)請(qǐng)求以及源主機(jī)VM外存主動(dòng)向目的主機(jī)post-copy,其設(shè)計(jì)流程如圖4所示。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖4 Pull階段遷移流程

[page] 進(jìn)人Pull階段之后,從最后一輪外存pre-copy至源主機(jī)被掛起的過(guò)程中,由于源VM外存訪問(wèn)而被寫臟的外存數(shù)據(jù),要依次發(fā)送至目的主機(jī)。源主機(jī)向設(shè)備后端請(qǐng)求監(jiān)控外存狀態(tài)的bitmap,并根據(jù)此6itmap確定從最后一輪外存pre-copy至源VM被掛起的過(guò)程中哪些外存部分被源VM寫臟,并將臟塊發(fā)送至目的主機(jī)。當(dāng)bitmap中標(biāo)記的所有臟塊都被傳輸至目的主機(jī)后,目的主機(jī)已經(jīng)獲得了所有最新的外存數(shù)據(jù),外存遷移結(jié)束。

此處要修改目的主機(jī)的設(shè)備后端,對(duì)其中的IO操作根據(jù)不同的類型進(jìn)行不同的處理。對(duì)于目的VM訪問(wèn)的外存部分,如果bitmap指示外存塊已在本地,則直接提交該IO請(qǐng)求;如果bitmap指示本地外存未在本地,對(duì)外存的寫IO操作可以立即提交,讀IO操作則被暫存起來(lái),通過(guò)遷移進(jìn)程向目的主機(jī)請(qǐng)求數(shù)據(jù),當(dāng)數(shù)據(jù)從目的主機(jī)更新至本地后,再將暫存的IO請(qǐng)求提交給物理設(shè)備驅(qū)動(dòng),此后的處理過(guò)程由系統(tǒng)自身機(jī)制進(jìn)行管理,無(wú)需我們?cè)龠M(jìn)行干涉了。

4 性能測(cè)試及優(yōu)化

測(cè)試在云環(huán)境中的兩臺(tái)物理主機(jī)A和B之間進(jìn)行,兩物理主機(jī)均通過(guò)網(wǎng)卡連接到局域網(wǎng),VM從一臺(tái)物理主機(jī)遷移至另一臺(tái)物理主機(jī)。

通過(guò)分析設(shè)備后端代碼可知,設(shè)備后端所處理的每個(gè)磁盤塊所包含的扇區(qū)是連續(xù)的。通常文件系統(tǒng)的塊大小為4 KB,也就是8個(gè)扇區(qū)。在對(duì)2 GB外存大小的VM進(jìn)行遷移時(shí),首先以8個(gè)連續(xù)的扇區(qū)組成的磁盤塊作為bitmap中一個(gè)監(jiān)控單位,共進(jìn)行了5次遷移實(shí)驗(yàn),所得到的各階段平均時(shí)間見(jiàn)表1。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

表1 VM遷移各階段所用時(shí)間(8個(gè)連續(xù)扇區(qū))

下面分別記錄了以4個(gè)、16個(gè)、32個(gè)和64個(gè)連續(xù)扇區(qū)組成的磁盤塊作為bitmap中一個(gè)監(jiān)控單位,分別進(jìn)行5次遷移實(shí)驗(yàn)所得到的各階段平均時(shí)間見(jiàn)表2。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

表2 VM遷移各階段所用時(shí)間(4,16.32,64個(gè)連續(xù)扇區(qū))

通過(guò)以上實(shí)驗(yàn)數(shù)據(jù)可知,適當(dāng)加大bitmap的監(jiān)控單位并按此單位進(jìn)行傳輸可以減少pre-copy和Pull階段的時(shí)間,從而縮短總體遷移時(shí)間,但對(duì)停機(jī)階段時(shí)間的影響不是很大。從16個(gè)連續(xù)扇區(qū)開始,增大連續(xù)扇區(qū)的數(shù)目并沒(méi)有使pre-copy和Pull階段的時(shí)間明顯縮短,而是呈現(xiàn)出一種趨于穩(wěn)定的狀態(tài),所以可以根據(jù)實(shí)際環(huán)境的需要選擇合適的監(jiān)控及傳輸單位。pre-copy和Pull階段采用不同磁盤塊大小所用時(shí)間的趨勢(shì)如圖5和圖6所示。

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖5 pre-copy階段采用不同連續(xù)磁盤塊大小所用時(shí)間趨勢(shì)

對(duì)云計(jì)算環(huán)境中在線遷移技術(shù)的研究

圖6 Pull階段采用不同連續(xù)磁盤塊大小所用時(shí)間趨勢(shì)

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

本文闡述了云計(jì)算環(huán)境中Xen虛擬機(jī)在線遷移技術(shù)的基本概念和局限性。在此基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了包括虛擬機(jī)外存在內(nèi)的全系統(tǒng)增量遷移方案。從而消除了遷移對(duì)于物理主機(jī)之間共享存儲(chǔ)的要求,進(jìn)一步拓寬了遷移技術(shù)在云計(jì)算中的應(yīng)用范圍。通過(guò)在內(nèi)存遷移之前對(duì)外存數(shù)據(jù)進(jìn)行預(yù)拷貝以及在遷移后期按需向源主機(jī)請(qǐng)求外存數(shù)據(jù)的策略,將停機(jī)時(shí)間不斷縮小,從而保證了總體遷移時(shí)間不會(huì)因?yàn)橥獯孢w移而變得過(guò)長(zhǎng)。通過(guò)增量式的外存遷移,縮小了遷移的外存數(shù)量,進(jìn)一步縮短r總體遷移時(shí)間,改善了遷移性能。

在以后的工作中,可以通過(guò)提高外存臟塊的傳輸速度來(lái)進(jìn)一步縮短遷移時(shí)間,并且可以開發(fā)適用于不同外存類型間的遷移版本。對(duì)于可靠性Dol要求比較高的環(huán)境,還可以考慮先對(duì)源主機(jī)的外存制作一個(gè)備份,在遷移期間一旦源主機(jī)外存發(fā)生故障,立即使用備份繼續(xù)進(jìn)行遷移工作。

在不久的將來(lái),云計(jì)算一定會(huì)徹底走入我們的生活,有興趣入行未來(lái)前沿產(chǎn)業(yè)的朋友,可以收藏云計(jì)算,及時(shí)獲取人工智能、大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)的前沿資訊和基礎(chǔ)知識(shí),讓我們一起攜手,引領(lǐng)人工智能的未來(lái)!

標(biāo)簽: 大數(shù)據(jù) 代碼 服務(wù)器 互聯(lián)網(wǎng) 云計(jì)算 云計(jì)算技術(shù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:網(wǎng)絡(luò)機(jī)頂盒或借云計(jì)算春風(fēng)

下一篇:10個(gè)最具變革性的云計(jì)算影響