欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置的制作方法

文檔序號:6440239閱讀:241來源:國知局
專利名稱:基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及技術(shù)虛擬機遷移技術(shù),尤其涉及一種基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置。
背景技術(shù)
針對大規(guī)模計算處理平臺,為了解決其廣域分布的物理資源層的動態(tài)性和異構(gòu)性,聚合并組織各種各樣的計算資源、數(shù)據(jù)資源及軟件資源,多采用虛擬機技術(shù)來屏蔽硬件的異構(gòu)性對上層軟件的影響;同時采用虛擬機還具有隔離軟件的作用,部署在同一個物理主機上不同虛擬機里的軟件可以相互沒有影響地運行。同時,現(xiàn)有數(shù)據(jù)中心平臺中,為了統(tǒng)一管理、維護及共享的需求,虛擬機的鏡像由分布式文件系統(tǒng)管理,存放于分布式文件系統(tǒng)的一個或多個存儲設(shè)備中,虛擬機的內(nèi)存則運行于一臺服務(wù)器即主機中。虛擬機啟動后對其鏡像文件的訪問,需要通過調(diào)用分布式文件系統(tǒng)的接口來遠程請求數(shù)據(jù)。
其中,在分布式文件系統(tǒng)下,維護者可以任意添加文件服務(wù)器或修改文件位置,用戶可以在多個不同的點上訪問數(shù)據(jù);同時,分布式文件系統(tǒng)可以進行文件的垃圾回收或者重新組織文件的分布以改善系統(tǒng)的負載均衡,能根據(jù)數(shù)據(jù)量的增長提供無縫的、不停機的容量擴充。相比傳統(tǒng)文件系統(tǒng),分布式文件系統(tǒng)有良好的性能、可伸縮性、可靠性以及可用性。其中,分布式文件系統(tǒng)GFS、HDFS等均采用主機(master)、從機(slave)的設(shè)計,主機用來做集中式的文件管理,維護文件系統(tǒng)所有的元數(shù)據(jù),包括名字空間、訪問控制信息和文件到數(shù)據(jù)塊的映射信息,以及數(shù)據(jù)塊當前所在的位置;從機真正作為數(shù)據(jù)的存儲服務(wù)器,負責處理客戶端對文件的讀寫訪問。而虛擬機技術(shù)的實現(xiàn),為上層應(yīng)用程序提供了很好的透明性支持,優(yōu)化了資源利用率,提高了資源使用的靈活性和可擴展性,增強了系統(tǒng)的安全性和可用性,例如當前常見的虛擬機軟件有威睿虛擬系統(tǒng)軟件VMWare、基于內(nèi)核的虛擬機kvm 以及虛擬機監(jiān)控器xen等。此外,為了應(yīng)對硬件或軟件資源的故障、設(shè)備停機維修,或資源的負載均衡等問題,虛擬機的在線遷移技術(shù)變得非常重要。虛擬機在線遷移主要是指,當服務(wù)器或數(shù)據(jù)中心發(fā)生異常時,其工作負載可以自動轉(zhuǎn)移到正常運行的服務(wù)器上;當服務(wù)器需要維護時,可以把運行其上的虛擬機遷移到有空閑計算資源的服務(wù)器上,維護結(jié)束服務(wù)器恢復運行后把虛擬機遷移回原服務(wù)器,整個過程不會中斷,從而保持了業(yè)務(wù)連續(xù)性;在線遷移還可以支持IT管理在數(shù)據(jù)中心服務(wù)器之間實現(xiàn)負載均衡,避免出現(xiàn)部分過載情況,實現(xiàn)服務(wù)器的整合;在線遷移還可以用于實現(xiàn)災難恢復,因為虛擬機可以在不同站點間自由移動,在主本虛擬機因故障宕機后,遠程站點的副本虛擬機接管業(yè)務(wù)來實現(xiàn)容災。
目前在線遷移機制都要求宿主機之間采用存儲區(qū)域網(wǎng)絡(luò)(storage area network,SAN),網(wǎng)絡(luò)接入存儲(network-attached storage, NAS)等集中式共享外存設(shè)備, 因而在遷移時只需要考慮操作系統(tǒng)內(nèi)存執(zhí)行狀態(tài)的遷移。虛擬內(nèi)存在線遷移都采用預拷貝 (pre-copy)的策略,基本機制如下遷移開始之后,源主機的虛擬機仍在運行,目的主機的虛擬機尚未啟動。遷移通過一個循環(huán),將源主機的虛擬機的內(nèi)存數(shù)據(jù)發(fā)送至目的主機。循環(huán)第一輪發(fā)送所有內(nèi)存頁數(shù)據(jù),接下來的每一輪循環(huán)發(fā)送上一輪預拷貝過程中被源主機的虛擬機寫過的臟頁內(nèi)存(dirty pages),直到臟頁內(nèi)存減少到一定值,預拷貝循環(huán)結(jié)束,進入停機拷貝階段,源主機被掛起,不再有內(nèi)存更新。最后一輪循環(huán)中的臟頁內(nèi)存被傳輸至目的主機,虛擬機內(nèi)存遷移完成,目的主機就可以啟動虛擬機。預拷貝機制極大的減少了停機拷貝階段需要傳輸?shù)膬?nèi)存數(shù)據(jù)量,從而將停機時間大大縮小。
但是,當單位時間內(nèi)虛擬機新增長的內(nèi)存量大于當前可用的網(wǎng)絡(luò)帶寬時,虛擬機無法將該部分內(nèi)存?zhèn)鬏數(shù)侥康闹鳈C上;若該條件在一段時間內(nèi)持續(xù)發(fā)生,則虛擬機因待遷移的內(nèi)存無法收斂導致遷移失敗。在密集型的數(shù)據(jù)處理場景中,該條件由于網(wǎng)絡(luò)資源的大量占用會時常發(fā)生同一服務(wù)器上的多個虛擬機同時進行數(shù)據(jù)的讀寫操作,這導致網(wǎng)絡(luò)資源的長時間大量占用,當前可用的網(wǎng)絡(luò)帶寬過低,如果此時有虛擬機遷移的需要,則會因遷移條件無法滿足造成虛擬機的遷移無法完成。
現(xiàn)有系統(tǒng)中為解決遷移無法完成,通常采用以下方法
(1)數(shù)據(jù)傳輸與任務(wù)執(zhí)行使用不同的網(wǎng)絡(luò),使得密集的數(shù)據(jù)傳輸不會影響任務(wù)的正常執(zhí)行。這種解決方案帶來了環(huán)境建設(shè)的開銷,特別是平臺為了高可用需求而采用網(wǎng)絡(luò)冗余機制,需要額外2套網(wǎng)絡(luò)。
(2)先將虛擬機停機再遷移,這種機制無需遷移內(nèi)存,只需在目的主機配置并重新啟動該虛擬機即可。這種機制帶來了一定的宕機時間,特別是在虛擬機應(yīng)用于服務(wù)或進行數(shù)據(jù)傳輸時,無法滿足用戶需要。
綜上,現(xiàn)有虛擬機遷移時,會因網(wǎng)絡(luò)帶寬資源不足而導致遷移失敗,通過建立網(wǎng)絡(luò)進行遷移時會浪費大量網(wǎng)絡(luò)資源,成本高,通過停機遷移會造成宕機,無法滿足用戶實際需要。發(fā)明內(nèi)容
本發(fā)明提供一種基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置,可有效克服現(xiàn)有技術(shù)存在的問題。
本發(fā)明提供一種基于分布式文件系統(tǒng)的虛擬機遷移方法,包括
根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);
將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。
本發(fā)明還提供一種基于分布式文件系統(tǒng)的虛擬機裝置,包括
速度調(diào)整模塊,用于根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);
遷移模塊,用于將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。
本發(fā)明提供的基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置,可通過調(diào)整設(shè)置在源主機的本地緩存的讀寫速度,進而調(diào)整源主機可利用的帶寬資源,可有效確保虛擬機遷移所需的網(wǎng)絡(luò)寬帶資源,避免出現(xiàn)因網(wǎng)絡(luò)寬帶資源不足而導致的虛擬機遷移失敗問題,基于本發(fā)明技術(shù)方案不需要新增額外的網(wǎng)絡(luò),成本較低,且不會出現(xiàn)宕機現(xiàn)象,可有效滿足用戶的實際需要。


圖1為本發(fā)明實施例一提供的基于分布式文件系統(tǒng)的虛擬機遷移方法流程示意圖2為本發(fā)明實施例二提供的基于分布式文件系統(tǒng)的虛擬機遷移方法中對緩存的讀寫速度進行調(diào)整的流程示意圖3為本發(fā)明實施例三中對虛擬機內(nèi)存和緩存中的數(shù)據(jù)進行遷移的流程示意圖4為本發(fā)明實施例四中對虛擬機內(nèi)存和緩存中的數(shù)據(jù)進行遷移的流程示意圖5為本發(fā)明實施例五提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖6為本發(fā)明實施例六提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖7為本發(fā)明實施例七提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖8為本發(fā)明實施例八提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖。
具體實施方式
圖1為本發(fā)明實施例一提供的基于分布式文件系統(tǒng)的虛擬機遷移方法流程示意圖。本實施例可應(yīng)用于虛擬機的遷移中,當需要將運行在源主機的虛擬機遷移到目的主機時,可基于當前的遷移環(huán)境信息來調(diào)整本地緩存的讀寫速度,以節(jié)省當前環(huán)境的帶寬資源, 確保遷移成功,具體地,如圖1所示,本實施例虛擬機遷移方法可包括以下步驟
步驟101、源主機根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,該源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);
步驟102、源主機將該虛擬機的虛擬機內(nèi)存,以及源主機本地緩存中緩存的數(shù)據(jù)遷移至目的主機。
本實施例中,源主機可部署有作為虛擬機訪問分布式文件系統(tǒng)的緩存,這樣,虛擬機在向分布式文件系統(tǒng)讀寫數(shù)據(jù)時均通過緩存進行,對于最近訪問的數(shù)據(jù)或者經(jīng)常訪問的數(shù)據(jù)可存儲在緩存中,從而可節(jié)省源主機的寬帶資源利用率。
本實施例中,在對虛擬機進行遷移時,可根據(jù)當前遷移環(huán)境,例如當前網(wǎng)絡(luò)寬帶資源,以及待遷移的虛擬機的虛擬內(nèi)存的大小,來調(diào)整源主機當?shù)鼐彺娴淖x寫速度,確保源主機可使用的寬帶資源可滿足虛擬機遷移需要,避免因?qū)拵зY源不足而導致虛擬機遷移失敗。
本領(lǐng)域技術(shù)人員可以理解,虛擬機遷移時,還需要對虛擬機運行的環(huán)境參數(shù)進行遷移,由于虛擬機運行的環(huán)境參數(shù)僅需遷移一次,且數(shù)據(jù)量較小,因此,在虛擬機遷移時僅需要考慮虛擬機的虛擬內(nèi)存來調(diào)整緩存的讀寫速度即可。
綜上,本實施例提供的基于分布式文件系統(tǒng)的虛擬機遷移方法,通過對源主機本地緩存的讀寫速度進行調(diào)整,可有效確保虛擬機遷移所需的網(wǎng)絡(luò)寬帶資源,避免出現(xiàn)因網(wǎng)絡(luò)寬帶資源不足而導致的虛擬機遷移失敗問題。
圖2為本發(fā)明實施例二提供的基于分布式文件系統(tǒng)的虛擬機遷移方法中對緩存的讀寫速度進行調(diào)整的流程示意圖。如圖2所示,本實施例虛擬機遷移方法中,對源主機的本地緩存的讀寫速度進行調(diào)整具體可包括以下步驟
步驟1011、源主機獲取源主機和目的主機的遷移環(huán)境信息,遷移環(huán)境信息包括當前網(wǎng)絡(luò)傳輸速度、虛擬機遷移的持續(xù)時間以及緩存當前設(shè)定的讀寫速度;
步驟1012、源主機根據(jù)遷移環(huán)境信息,通過動態(tài)限速算法計算得到源主機與目的主機之間對所述虛擬機進行遷移所需的讀寫速度;
步驟1013、源主機根據(jù)計算得到的讀寫速度,調(diào)整源主機的本地緩存的讀寫速度, 使源主機的當前網(wǎng)絡(luò)帶寬滿足虛擬機遷移所需的網(wǎng)絡(luò)帶寬。
上述步驟1011中,所述的遷移環(huán)境信息還可包括當前的輸入輸出IO速度、主機所連網(wǎng)絡(luò)的可用帶寬等,從而可根據(jù)這些遷移環(huán)境信息得到成功遷移虛擬機時所需的網(wǎng)絡(luò)帶寬,以對緩存速度進行限制,確保源主機可具有對虛擬機進行遷移所需的網(wǎng)絡(luò)帶寬。
上述步驟1012中,計算得到源主機與目的主機之間所需的讀寫速度后,還可將該讀寫速度發(fā)送至目的主機,由目的主機來調(diào)整目的主機本地緩存的讀寫速度,使得源主機和目的主機均有足夠的網(wǎng)絡(luò)帶寬,以確保虛擬機遷移的可達性。其中,所述的動態(tài)限速算法時為了保證虛擬機遷移時有足夠的可用帶寬而實時調(diào)整緩存讀寫速率而設(shè)計的啟發(fā)式算法,該算法通過實時地探測網(wǎng)絡(luò)可用帶寬,虛擬機遷移持續(xù)時間,以及遷移雙方的讀寫速率來調(diào)整緩存的讀寫速率。
具體地,緩存的讀寫速率通過單次可讀寫的塊大小以及允許的間隔時間來控制, 如果單次讀寫的塊較小,且間隔時間長,則讀寫速率低。讀寫速率默認的初始值一般為經(jīng)驗值。若要降低讀速率,則可以將讀間隔時間設(shè)定為t,t =初始間隔時間*默認速率/目的速率。
在進行動態(tài)限速算法進行計算時,需要定期檢測當前可用帶寬,當網(wǎng)絡(luò)可用帶寬小于某個閾值(可取值為網(wǎng)絡(luò)總帶寬/該主機遷移中的虛擬機vm的數(shù)目)時,降低讀寫速率,一般降低后的速率為ν,ν =默認速率*當前帶寬/閾值;若可用帶寬大于閾值,則不作處理。
檢測虛擬機遷移持續(xù)時間,當時間大于理論值(虛擬機內(nèi)存/閾值網(wǎng)速)時,則降低讀寫速率,降低后的速率為(默認速率*理論時間/當前遷移時間);若當前時間小于理論值,則不作處理。
檢測對方緩存的讀寫速率,若對方速率降低,則按比例降低自己的速率,降低后的速率為(默認速率*對方當前速率/對方默認速率)。
最終的緩存讀寫速率為上面三種速率的加權(quán)和。
可以看出,通過動態(tài)限速算法可獲得保證虛擬機遷移所需的緩存的讀寫速率,從而可根據(jù)該讀寫速率對緩存的讀寫速度進行調(diào)整。
本實施例的源主機中部署的緩存,可作為虛擬機訪問分布式文件系統(tǒng)的存儲空間,這樣,源主機的虛擬機訪問分布式文件系統(tǒng)的存儲器中的數(shù)據(jù)時,均需要通過緩存來進行,由于緩存可存儲虛擬機經(jīng)常訪問的數(shù)據(jù)以及最近訪問的數(shù)據(jù),使得虛擬機的大部分的讀操作均可以在本地主機上完成,可有效降低虛擬機運行時的占用網(wǎng)絡(luò)帶寬資源;同時,還可通過對本地緩存的讀寫速度進行調(diào)整,以調(diào)節(jié)源主機當前占用的網(wǎng)絡(luò)帶寬資源,以便在虛擬機遷移時可為虛擬機遷移提供足夠的帶寬,確保虛擬機成功遷移。
具體地,本實施例源主機本地緩存可包括存在位圖模塊、臟位圖模塊、hash偏移表模塊、size最小堆模塊、異步寫入模塊、限速模塊和緩存文件模塊,各模塊功能分別說明如下
存在位圖模塊,用于存放存在位圖,以記錄當前訪問的數(shù)據(jù)是否已經(jīng)存在于緩沖中,主要用于虛擬機讀數(shù)據(jù)操作時。如果存在位圖對應(yīng)的bit位為1,則表明虛擬機要訪問的數(shù)據(jù)塊存在于緩存中,否則不存在。其中存在位圖對應(yīng)的數(shù)據(jù)就是存在數(shù)據(jù),表示分布式文件系統(tǒng)的存儲器中在緩存中存在的數(shù)據(jù)。
下面對緩存中的位圖與數(shù)據(jù)之間的關(guān)系進行說明,具體地,以存在位圖位列,存在位圖可用來標識要讀取的數(shù)據(jù)是否在緩存中,其中存在位圖的大小為a,a =虛擬機鏡像文件大小/4K/8,其中,(鏡像大小/4k表明了要表示鏡像頁數(shù)目需要的位數(shù)目,除8表明位圖占用的字節(jié)大小。因此存在位圖可用標識虛擬機鏡像文件的所有頁。
如果虛擬機要訪問的某一頁在緩存中,則存在位圖標識為1,則可通過哈希表來定位該數(shù)據(jù)在緩存中的位置。
同理,下面提到的臟位圖跟存在位圖的大小相同,可用來標識新寫入緩存中且尚未同步到分布式文件系統(tǒng)的存儲器中的數(shù)據(jù),其對數(shù)據(jù)的尋址亦采用哈希表的方式。其具體存儲方式與傳統(tǒng)緩存具有類似的方式,在此不再具體說明。
臟位圖模塊,用于存放臟位圖,以可標記虛擬機新寫入緩存且未同步到分布式文件系統(tǒng)的存儲設(shè)備中的數(shù)據(jù),用于虛擬機寫數(shù)據(jù)操作。如果臟位圖對應(yīng)的bit為1,則為臟數(shù)據(jù),應(yīng)該將緩存中的數(shù)據(jù)同步到分布式文件系統(tǒng)的文件中,寫入完成后將臟位圖的bit 置為0。其中臟位圖對應(yīng)的數(shù)據(jù)就是臟數(shù)據(jù),表示虛擬機寫入緩存而未同步到分布式文件系統(tǒng)時的數(shù)據(jù)。
hash偏移表模塊,用于查詢虛擬機訪問的數(shù)據(jù)段在緩存中的位置。為了提高查詢效率,引入哈希(Hash)算法,通過hash表來找到讀寫數(shù)據(jù)時的偏移值(off set),并通過遍歷該散列值對應(yīng)的鏈表,來定位數(shù)據(jù)塊在緩存中的對應(yīng)位置。
size最小堆模塊,用于實施緩存舊數(shù)據(jù)的替換算法。通過對每個數(shù)據(jù)段大小GK、8K.....64K)設(shè)置相應(yīng)的堆,并根據(jù)最近使用次數(shù)為節(jié)點值來組織最小堆,利用最小堆算法和最近最少使用(Least Recently Used, LRU)算法來替換舊數(shù)據(jù)。
異步寫入模塊,用于將緩存中的臟數(shù)據(jù)同步到分布式文件系統(tǒng)的存儲設(shè)備的鏡像文件中,以保持虛擬機內(nèi)存數(shù)據(jù)與分布式文件系統(tǒng)中鏡像文件一致。該模塊遍歷臟位圖中 bit為1的數(shù)據(jù),根據(jù)bit位定位到緩存中的數(shù)據(jù),將其寫入到存儲系統(tǒng)的文件中。
限速模塊,該模塊用來控制源主機對分布式文件系統(tǒng)的存儲設(shè)備的訪問次數(shù),從而控制源主機占用網(wǎng)絡(luò)帶寬的資源量。該模塊通過遍歷周期或限制寫入數(shù)據(jù)段的數(shù)目來限制寫入速度。
緩存文件模塊,用于通過設(shè)計文件格式,來存儲位圖信息、緩存的元信息及緩存數(shù)據(jù)段。根據(jù)統(tǒng)計,虛擬機運行時,操作的數(shù)據(jù)段大小次數(shù)略現(xiàn)正態(tài)分布,16K大小的數(shù)據(jù)最多,8K和32K的其次,因此在設(shè)計緩存文件格式時對緩存數(shù)據(jù)段進行優(yōu)化,不同大小的數(shù)據(jù)塊在緩存中的數(shù)目不同。這種設(shè)計方案可簡化對緩存數(shù)據(jù)的尋址操作,提高讀寫效率。
通過上述各模塊,使得源主機本地緩存可實現(xiàn)虛擬機訪問分布式系統(tǒng)時的緩存, 可存儲虛擬機最近訪問的數(shù)據(jù)以及經(jīng)常訪問的數(shù)據(jù),使得虛擬機讀取數(shù)據(jù)時可以直接從緩存中讀取,從而避免占用過量的網(wǎng)絡(luò)帶寬;并且可通過緩存進行異步的后臺寫入機制,可通過控制緩存的寫入分布式文件系統(tǒng)的速度,來提高主機可用的網(wǎng)絡(luò)帶寬。
本實施例中,部署在源主機中的虛擬機訪問分布式系統(tǒng)時,通過緩存來進行,其中,讀數(shù)據(jù)時,首先會查詢緩存,確認緩存中存在所需要讀得數(shù)據(jù)時,直接將緩存中的數(shù)據(jù)提供給虛擬機,否則再通過緩存從分布式文件系統(tǒng)的存儲設(shè)備中讀取數(shù)據(jù),并存儲在緩存中;寫數(shù)據(jù)時,首先將數(shù)據(jù)寫入緩存,然后由緩存在后臺將寫入的數(shù)據(jù)同步到分布式文件系統(tǒng)的存儲設(shè)備中。
本領(lǐng)域技術(shù)人員可以理解,目的主機同樣部署有緩存,以便目的主機在運行虛擬機時,同樣可利用緩存來訪問分布式文件系統(tǒng),并可對源主機緩存發(fā)送來的數(shù)據(jù)進行存儲。
圖3為本發(fā)明實施例三中對虛擬機內(nèi)存和緩存中的數(shù)據(jù)進行遷移的流程示意圖。 本實施例中,虛擬機內(nèi)存的遷移與緩存中信息的遷移是同步進行的,在遷移過程中,虛擬機還繼續(xù)在源主機運行,當虛擬機內(nèi)存遷移完成后,目的主機就可以運行虛擬機,而源主機則停止虛擬機的運行,此時源主機的緩存中的信息可能沒有完全遷移到目的主機的緩存,因此為確保在目的主機運行的虛擬機可正常訪問源主機中未同步到分布式系統(tǒng)且未遷移到目的主機的緩存中的數(shù)據(jù),本實施例遷移虛擬機內(nèi)存以及緩存中的位圖和數(shù)據(jù)時,需要確保遷移的完整性,為此,本發(fā)明實施例可對虛擬機在目的主機運行時的讀操作進行處理,以確保遷移數(shù)據(jù)的完整性。具體地,如圖3所示,本實施例虛擬機內(nèi)存和緩存中的數(shù)據(jù)遷移可包括以下步驟
步驟201、源主機向目的主機遷移虛擬機內(nèi)存,并將源主機本地緩存中的臟位圖、 存在位圖,以及緩存數(shù)據(jù)傳輸至目的主機;
步驟202、目的主機將接收的臟位圖、存在位圖以及緩存數(shù)據(jù)存儲在其本地緩存;
步驟203、虛擬機內(nèi)存遷移完成后,源主機停止虛擬機運行;
步驟204、目的主機啟動虛擬機并運行;
步驟205、目的主機讀數(shù)據(jù)時,從本地緩存中查詢,判斷本地緩存是否存在需要讀取的數(shù)據(jù),是則從本地緩存讀取數(shù)據(jù),結(jié)束,否則,執(zhí)行步驟206 ;
步驟206、查詢從目的主機接收的存在位圖和臟位圖,判斷所請求的數(shù)據(jù)是否同步到分布式文件系統(tǒng)的存儲設(shè)備中,是則執(zhí)行步驟207,否則,執(zhí)行步驟208 ;
步驟207、從分布式文件系統(tǒng)的存儲設(shè)備中讀取數(shù)據(jù),結(jié)束;
步驟208、向源主機發(fā)送數(shù)據(jù)請求信息,該數(shù)據(jù)請求信息為源主機中未同步到分布式文件系統(tǒng)中的數(shù)據(jù)信息;
步驟209、源主機接收目的主機發(fā)送的數(shù)據(jù)請求信息;
步驟210、源主機從緩存中讀取與數(shù)據(jù)請求信息對應(yīng)的數(shù)據(jù),并發(fā)送至目的主機,結(jié)束。
本實施例中,源主機本地緩存中的數(shù)據(jù)全部同步到目的主機或者全部同步到分布式文件系統(tǒng)的存儲設(shè)備后,即可發(fā)送遷移結(jié)束標志給目的主機,這樣目的主機根據(jù)該遷移結(jié)束標示就不會再向源主機請求數(shù)據(jù)。
本實施例中,源主機在虛擬機內(nèi)存遷移完成后,可根據(jù)目的主機的請求,將未同步到分布式文件系統(tǒng)中的數(shù)據(jù)傳輸至目的主機,從而可確保虛擬機遷移的完整性。
圖4為本發(fā)明實施例四中對虛擬機內(nèi)存和緩存中的數(shù)據(jù)進行遷移的流程示意圖。 本實施例中,為確保數(shù)據(jù)遷移的一致性,在目的主機已經(jīng)啟動虛擬機,防止源主機新寫入本地緩存且未同步到存儲設(shè)備中的數(shù)據(jù)覆蓋目的主機寫入相同位置的數(shù)據(jù),即防止新數(shù)據(jù)被舊數(shù)據(jù)覆蓋,在目的主機寫數(shù)據(jù)時可進行數(shù)據(jù)的一致性操作處理,具體地,如圖4所示,本實施例中對虛擬機內(nèi)存和緩存中的數(shù)據(jù)進行遷移可包括以下步驟
步驟301、源主機向目的主機遷移虛擬機內(nèi)存,并將緩存中的臟位圖、存在位圖,以及緩存數(shù)據(jù)傳輸至目的主機;
步驟302、目的主機將接收的臟位圖、存在位圖以及緩存數(shù)據(jù)存儲在其本地緩存;
步驟303、虛擬機內(nèi)存遷移完成后,源主機停止虛擬機運行;
步驟304、目的主機運行虛擬機;
步驟305、目的主機寫數(shù)據(jù)時,將數(shù)據(jù)寫入本地緩存,并將數(shù)據(jù)對應(yīng)的臟位圖發(fā)送至源主機;
步驟306、源主機接收到目的主機發(fā)送的臟位步驟307、源主機判斷本地緩存中的臟位圖是否與從目的主機接收到的臟位圖不一致,是則將源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)同步到分布式文件系統(tǒng),否則,不同步源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù);
步驟308、目的主機將新寫入本地緩存中的臟位圖與從目的主機接收過來的臟位圖進行比較,若臟位圖不一致,暫不將本地緩存中臟位圖對應(yīng)數(shù)據(jù)同步到分布式文件系統(tǒng), 直到源主機中緩存中的數(shù)據(jù)全部同步到目的主機后再同步。
本實施例中,源主機本地緩存中的數(shù)據(jù)全部同步到目的主機或者全部同步到分布式文件系統(tǒng)的存儲設(shè)備后,即可發(fā)送遷移結(jié)束標志給目的主機,這樣目的主機根據(jù)該遷移結(jié)束標示就不會再向源主機請求數(shù)據(jù)。
本實施例中,在虛擬機內(nèi)存遷移完成而源主機的緩存中的數(shù)據(jù)還未完全同步到目的主機時,對于目的主機新寫入的數(shù)據(jù),可首先通知源主機,以確定源主機中未同步到目的主機的數(shù)據(jù)是否需要同步到分布式文件系統(tǒng),避免出現(xiàn)同步到分布式文件系統(tǒng)中出現(xiàn)數(shù)據(jù)錯誤。具體地,在虛擬機遷移到目的主機后,目的主機的虛擬機開始運行,因此在目的主機的緩存中有新寫入數(shù)據(jù);同時在源主機,存在一部分虛擬機遷移完成前寫入但未同步的數(shù)據(jù)。如果這兩部分數(shù)據(jù)不處理或處理順序有誤則會導致數(shù)據(jù)不一致。特別是目的主機同步到分布式文件系統(tǒng)的存儲器后,源主機在相同的存儲位置也寫入緩存數(shù)據(jù),致使數(shù)據(jù)丟失, 本實施例通過上述步驟可有效避免數(shù)據(jù)丟失的問題。
本領(lǐng)域技術(shù)人員可以理解,上述步驟307和步驟308中,判斷臟位圖是否一致,即是對臟位圖是否相同進行判斷,臟位圖為0時表示相應(yīng)的數(shù)據(jù)已經(jīng)同步至分布式文件系統(tǒng)的存儲器中,臟位圖為1時表示相應(yīng)的數(shù)據(jù)還沒有同步到分布式文件系統(tǒng)的存儲器中,通過對臟位圖一致性判定,可避免同步到分布式文件系統(tǒng)的存儲器中數(shù)據(jù)錯誤或丟失的問題,確保虛擬機遷移過程中數(shù)據(jù)的一致性。
本領(lǐng)域技術(shù)人員可以理解,上述對圖3中進行的數(shù)據(jù)完整性操作和圖4中進行數(shù)據(jù)一致性操作也可在一個實施例中同步進行,這樣可有效確保整個虛擬機遷移過程中數(shù)據(jù)的一致性和完整性。
圖5為本發(fā)明實施例五提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖。如圖5所示,本實施例虛擬裝置包括速度調(diào)整模塊1和遷移模塊2,其中
速度調(diào)整模塊1,用于根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);
遷移模塊2,用于將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。
本實施例中,在進行虛擬機遷移時,可通過調(diào)整緩存的讀寫速度來調(diào)整源主機的帶寬資源,從而可確保虛擬機遷移所需的帶寬資源,確保虛擬機遷移成功,其具體實現(xiàn)方法可參見上述本發(fā)明方法實施例的說明,在此不再贅述。
圖6為本發(fā)明實施例六提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖。如圖6所示,本實施例中,速度調(diào)整模塊1具體可包括遷移環(huán)境信息獲取單元11、速度計算單元12和速度調(diào)整單元13,其中
遷移環(huán)境信息獲取單元11,用于獲取所述源主機和目的主機的遷移環(huán)境信息,所述遷移環(huán)境信息包括當前網(wǎng)絡(luò)傳輸速度、虛擬機遷移的持續(xù)時間以及緩存當前設(shè)定的讀寫速度;
速度計算單元12,用于根據(jù)所述遷移環(huán)境信息,通過動態(tài)限速算法計算得到所述源主機與目的主機之間對所述虛擬機進行遷移所需的讀寫速度;
速度調(diào)整單元13,用于根據(jù)計算得到的讀寫速度,調(diào)整所述源主機的本地緩存的讀寫速度,使所述源主機的當前網(wǎng)絡(luò)帶寬滿足所述虛擬機遷移所需的網(wǎng)絡(luò)帶寬。
本實施例中,可通過遷移環(huán)境信息獲取單元11、速度計算單元12和速度調(diào)整單元 13對源主機本地緩存中的讀寫速度進行調(diào)整,確保源主機可具有足夠的帶寬資源進行虛擬機的遷移操作。
圖7為本發(fā)明實施例七提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖。本實施例中,遷移模塊2具體可用于將虛擬機的虛擬內(nèi)存,以及源主機本地緩存中的臟位圖、 存在位圖和緩存數(shù)據(jù)發(fā)送至目的主機,此外,該裝置還可包括數(shù)據(jù)請求接收模塊3和數(shù)據(jù)發(fā)送模塊4,其中
數(shù)據(jù)請求接收模塊3,用于接收所述目的主機發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息為所述源主機中未同步到分布式文件系統(tǒng)中的數(shù)據(jù)信息;
數(shù)據(jù)發(fā)送模塊4,用于將與所述數(shù)據(jù)請求信息對應(yīng)的緩存數(shù)據(jù)發(fā)送至目的主機。
圖8為本發(fā)明實施例八提供的基于分布式文件系統(tǒng)的虛擬機裝置結(jié)構(gòu)示意圖。本實施例中,如圖8所示,該裝置還可包括位圖接收模塊5和數(shù)據(jù)同步模塊6,其中
位圖接收模塊5,用于所述源主機接收所述目的主機寫入目的主機的本地緩存中的臟位數(shù)據(jù)同步模塊6,用于判斷所述源主機的本地緩存中的臟位圖與所述寫入目的主機的本地緩存中的臟位圖是否不一致,是將將所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)同步到分布式文件系統(tǒng),否則,不同步所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種基于分布式文件系統(tǒng)的虛擬機遷移方法,其特征在于,包括根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù); 將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。
2.根據(jù)權(quán)利要求1所述的基于分布式文件系統(tǒng)的虛擬機遷移方法,其特征在于,所述根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度包括獲取所述源主機和目的主機的遷移環(huán)境信息,所述遷移環(huán)境信息包括當前網(wǎng)絡(luò)傳輸速度、虛擬機遷移的持續(xù)時間以及緩存當前設(shè)定的讀寫速度;根據(jù)所述遷移環(huán)境信息,通過動態(tài)限速算法計算得到所述源主機與目的主機之間對所述虛擬機進行遷移所需的讀寫速度;根據(jù)計算得到的讀寫速度,調(diào)整所述源主機的本地緩存的讀寫速度,使所述源主機的當前網(wǎng)絡(luò)帶寬滿足所述虛擬機遷移所需的網(wǎng)絡(luò)帶寬。
3.根據(jù)權(quán)利要求1所述的基于分布式文件系統(tǒng)的虛擬機遷移方法,其特征在于,所述將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機具體為將所述虛擬機的虛擬內(nèi)存,以及源主機本地緩存中的臟位圖、存在位圖和緩存數(shù)據(jù)發(fā)送至目的主機;所述虛擬機的虛擬內(nèi)存遷移完成后,還包括接收所述目的主機發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息為所述源主機中未同步到分布式文件系統(tǒng)中的數(shù)據(jù)信息;將與所述數(shù)據(jù)請求信息對應(yīng)的緩存數(shù)據(jù)發(fā)送至目的主機。
4.根據(jù)權(quán)利要求1或3所述的基于分布式文件系統(tǒng)的虛擬機遷移方法,其特征在于,還包括所述源主機接收所述目的主機寫入目的主機的本地緩存中的臟位圖; 判斷所述源主機的本地緩存中的臟位圖與所述寫入目的主機的本地緩存中的臟位圖是否不一致,是將將所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)同步到分布式文件系統(tǒng),否則,不同步所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)。
5.一種基于分布式文件系統(tǒng)的虛擬機裝置,其特征在于,包括速度調(diào)整模塊,用于根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);遷移模塊,用于將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。
6.根據(jù)權(quán)利要求5所述的基于分布式文件系統(tǒng)的虛擬機裝置,其特征在于,所述速度調(diào)整模塊包括遷移環(huán)境信息獲取單元,用于獲取所述源主機和目的主機的遷移環(huán)境信息,所述遷移環(huán)境信息包括當前網(wǎng)絡(luò)傳輸速度、虛擬機遷移的持續(xù)時間以及緩存當前設(shè)定的讀寫速度;速度計算單元,用于根據(jù)所述遷移環(huán)境信息,通過動態(tài)限速算法計算得到所述源主機與目的主機之間對所述虛擬機進行遷移所需的讀寫速度;速度調(diào)整單元,用于根據(jù)計算得到的讀寫速度,調(diào)整所述源主機的本地緩存的讀寫速度,使所述源主機的當前網(wǎng)絡(luò)帶寬滿足所述虛擬機遷移所需的網(wǎng)絡(luò)帶寬。
7.根據(jù)權(quán)利要求5所述的基于分布式文件系統(tǒng)的虛擬機裝置,其特征在于,所述遷移模塊,具體用于將所述虛擬機的虛擬內(nèi)存,以及源主機本地緩存中的臟位圖、存在位圖和緩存數(shù)據(jù)發(fā)送至目的主機;所述裝置還包括數(shù)據(jù)請求接收模塊,用于接收所述目的主機發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息為所述源主機中未同步到分布式文件系統(tǒng)中的數(shù)據(jù)信息;數(shù)據(jù)發(fā)送模塊,用于將與所述數(shù)據(jù)請求信息對應(yīng)的緩存數(shù)據(jù)發(fā)送至目的主機。
8.根據(jù)權(quán)利要求5或7所述的基于分布式文件系統(tǒng)的虛擬機裝置,其特征在于,還包括位圖接收模塊,用于所述源主機接收所述目的主機寫入目的主機的本地緩存中的臟位圖;數(shù)據(jù)同步模塊,用于判斷所述源主機的本地緩存中的臟位圖與所述寫入目的主機的本地緩存中的臟位圖是否不一致,是將將所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)同步到分布式文件系統(tǒng),否則,不同步所述源主機的本地緩存中的臟位圖對應(yīng)的數(shù)據(jù)。
全文摘要
本發(fā)明提供一種基于分布式文件系統(tǒng)的虛擬機遷移方法和裝置。該方法包括根據(jù)源主機和目的主機的遷移環(huán)境,調(diào)整源主機本地緩存的讀寫速度,所述源主機本地緩存為虛擬機部署時創(chuàng)建,用于緩存所述虛擬機訪問分布式文件系統(tǒng)的數(shù)據(jù);將所述虛擬機的虛擬內(nèi)存,以及所述源主機本地緩存中的數(shù)據(jù)遷移至目的主機。本發(fā)明技術(shù)方案可通過設(shè)置在主機的緩存,以便虛擬機通過緩存進行分布式文件系統(tǒng)的訪問,這樣在進行虛擬機遷移時,可通過緩存來控制主機的網(wǎng)絡(luò)帶寬資源占用,確保遷移虛擬機時有足夠的帶寬資源,可有效確保遷移成功。
文檔編號G06F9/455GK102521038SQ20111040208
公開日2012年6月27日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者崔磊, 懷進鵬, 李博, 李建欣, 胡春明 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
澄城县| 高阳县| 门源| 乌海市| 莱西市| 邯郸市| 改则县| 千阳县| 凌云县| 香港| 闻喜县| 胶州市| 丹凤县| 抚州市| 左贡县| 孙吴县| 兴和县| 河西区| 石门县| 临澧县| 揭阳市| 宁津县| 息烽县| 昆明市| 靖州| 湖南省| 长岛县| 大丰市| 贵南县| 洞口县| 姚安县| 获嘉县| 墨玉县| 诏安县| 黄龙县| 夏河县| 罗甸县| 竹山县| 邯郸县| 杨浦区| 临洮县|