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

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

2019-02-26    來源:多智時代

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

1 引言

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

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

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

2.1原理及局限性

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

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

圖1 基于共享存儲的虛擬機遷移

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

2.2設(shè)計思路

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

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

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

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

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

圖2 Push階段遷移流程

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

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

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

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

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

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

圖3 停機拷貝階段遷移流程

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

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

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

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

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

圖4 Pull階段遷移流程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 結(jié)束語

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

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

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

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

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

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

下一篇:10個最具變革性的云計算影響