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

基于COW雙寫的虛擬機磁盤全量遷移關鍵技術

2020-01-08 02:22:44王科丁倩梅余萬
現代信息科技 2020年15期

王科 丁倩梅 余萬

摘 ?要:虛擬機熱遷移技術是指可以把一個虛擬機從一臺物理服務器遷移到另一臺物理服務器上,整個過程虛擬機內部業務不中斷,虛擬機熱遷移大多是基于共享存儲進行遷移,磁盤未使用熱遷移技術。提出主要解決磁盤熱遷移優化的算法及方案,主要適用于將虛擬機從一個存儲載體以全量的形式熱遷移至另一個存儲載體,亦適用含有內存遷移的虛擬機整機遷移。通過算法將實現虛擬機的快速部署、快速動態分配等各種應用場景,達到節能降耗、負載均衡的目的。

關鍵詞:COW;全量遷移;整機遷移

中圖分類號:TP302;TP309.3 ? ? 文獻標識碼:A 文章編號:2096-4706(2020)15-0104-04

Abstract:Virtual machine hot migration technology refers to that a virtual machine can be migrated from one physical server to another. The internal business of virtual machine is not interrupted in the whole process. Virtual machine hot migration is mostly based on shared storage,and the disk does not use hot migration technology. This paper puts forward the algorithm and scheme to solve the hot migration optimization of disk. It is mainly suitable for the hot migration of virtual machine from one storage carrier to another in the form of full quantity,and also suitable for the whole virtual machine migration with memory migration. Through the algorithm,various application scenarios such as rapid deployment and dynamic allocation of virtual machine will be realized to achieve the purpose of energy saving,consumption reduction and load balancing.

Keywords:COW;full disk migration;whole machine migration

0 ?引 ?言

近年來,虛擬化技術已經成為云數據中心大規模推廣部署的核心技術。通過虛擬化技術將海量的底層基礎計算、存儲、網絡資源等實例化一臺獨立的虛擬機器,而虛擬機遷移是數據中心的常見業務場景,虛擬機的遷移技術實現了虛擬機從一臺物理機到另外一臺物理機的遷移,使數據中心的資源配置更加靈活。一般虛擬機遷移技術分為冷遷移,即停機遷移;熱遷移,即在線不停機遷移[1]。實際運用中常用到熱遷移,虛擬機熱遷移是虛擬化技術的重要組成部分,也是實現云計算中基礎設施和服務的重要基礎。筆者在日常教學科研中關注到國內外對虛擬機遷移技術的研究中磁盤部分許多采用增量快照的方案,這樣效率高,耗時少,但存在一定的使用場景限制和速率瓶頸。而基于COW(Copy On Write,寫時復制)雙寫(遷移過程中產生的動態數據同時寫入源主機與目的主機)的虛擬機磁盤全量或整機遷移技術[2],在保證高效率、低耗時的情況下,主要針對優化虛擬機多磁盤全量遷移和整機遷移過程中存在可靠性、遷移速度、物理機額外開銷等問題,適用于全量備份場景。

筆者在高校云計算平臺的教學過程中,結合之前工作經驗,因多次涉及各類遷移,發現非共享存儲遷移很慢,通過教學實驗測試得出通過熱遷移可以極大地減少停機遷移的時間成本、服務成本開銷,保障服務的連續性,提高了云數據中心資源的配置能力。經研究遷移原理后編寫DEMO驗證,并通過本文進行記錄。

1 ?Xen預拷貝算法改進思路

1.1 ?改進可能存在的數據多次傳輸

通常磁盤遷移下的預拷貝算法,首先是將所有的數據塊先拷貝至目的主機,然后由Bitmap記錄臟數據塊并進行迭代傳輸[3]。存在這樣一種情況:涉及到內存遷移的情況時,內存遷移迭代的是每次傳送在上次迭代中修改了的頁,簡稱“臟頁”。對于一些修改比較頻繁的臟頁,臟數據塊產生時,其對應的數據塊在第一次還未被拷貝至目的主機,若按照預拷貝算法[4],這個數據塊位置的數據將被拷貝兩次,也有可能在傳輸過程中多次被遷移,從而使整個傳輸過程傳送的效率非常低。這些臟頁又被稱為“工作集”,工作集如果在傳輸中反復地被傳送,會增加總遷移時間,所以需要一種策略去測定工作集,避免重復的傳送造成的不必要消耗。

因此需要引入一個傳輸策略來控制數據的傳輸。提出引入傳輸水線(Transfer Level)對此種情況進行優化。水線是一個讀進程鎖,通過算法,將其用于記錄傳輸靜態數據塊位置,位于水線之后的數據[5],無論Write_Read_thread怎么改動,其臟數據都不會被傳送至目的虛擬機[6],而位于水線之前的數據在被Write_Read_thread改動后會立即被傳輸過去,如圖1所示。其中aaa、ddd為內存對應位置原始數據;bbb、ccc為讀寫現場正寫入的數據;S_dyn_thread源主機發送動態變化數據的線程;D_dyn_data目標主機接受動態變化數據的線程;S_static_thread源主機逐個發送動態靜態數據的線程;D_static_data為目標主機接受靜態數據的線程;TCP_SOCKET為tcp傳輸SCOKET。

而其中水線的移動需要一個移動策略,來控制水線什么時候移動,以及每次移動位置實現什么功能。保證傳輸的優化效率達到最高。但制定此策略前需要對動態數據的寫入情況進行一個位置的判定,這里我們在開始傳輸前結合Linux虛擬機的Ext4文件系統VHD的寫入規則對新數據的位置進行判斷[7]。

我們將磁盤大小的5%預留作為不被傳輸的區塊,且這5%的區塊是大量新數據即將寫入的區塊,如圖2所示。

當水線(圖2中虛線)移動到預留區塊(圖2中虛線箭頭中間區域)首部時,水線直接跳過預留區塊至其尾部,然后再正常移動。在水線移動到圖中實線位置時,按照水線之前的數據(不包括預留區塊中的數據)在被Write_Read_thread改動后會被立即傳輸至目的虛擬機,位于水線之后的數據,無論Write_Read_thread怎么改動,其臟數據都不會被傳送的方法進行傳輸。當磁盤全量遷移完成進入雙寫階段,即水線位于傳輸隊列尾部時,水線回移到預留區塊的首部,此時解除預留區塊不被傳輸的屬性,恢復正常的傳輸,水線正常移動,水線之前的臟數據保持雙寫,而水線之后至預留區塊尾部之間的數據保持不被傳輸,水線正常移動至預留區塊尾部時,若此刻水線之后還有相應預留區塊,則水線移到此預留區塊的首部重復上述過程。若此刻水線之后不存在相應的預留區塊,則水線移到傳輸隊列尾部,此時保持水線之前數據的雙寫,等待內存遷移。

1.2 ?目的主機可能存在的數據多次寫入

磁盤遷移下的預拷貝算法[8],第一步是將所有的數據塊先拷貝至目的主機,然后記錄臟數據塊并進行迭代傳輸。存在這樣一種情況:不在同一個傳輸周期內同一數據塊位置變臟的時候,該數據塊位置的數據將多次被傳輸至目的主機,目的主機將多次寫入。對于磁盤遷移的情況,將多次產生磁盤I/O。提出在目的主機引入緩存對此種情況進行優化,如圖3所示。

2 ?整體實現方案

2.1 ?總體方案設計

方案中遷移前資源檢查、其他設備的遷移等方案保持與現有系統一致,改進方案只針對磁盤遷移相關模塊。提出的改進方案支持一個虛擬機多個磁盤的全量遷移,亦支持一個虛擬機多個磁盤全量整機遷移(含內存遷移)。實現流程如圖4所示[9]。

(1)源端Xen向Mg_agent模塊下發磁盤遷移命令(含遷移相關信息);

(2)源端Mg_agent從Xenstore中讀取源磁盤信息;

(3)源端Mg_agent向各個對應的Tapdisk2進程發送信號;

(4)源端Tapdisk2開始磁盤全量遷移流程,在磁盤Block寫入處打開動態數據判斷及動態數據傳輸流程;

(5)目的端Mg_agent收到源端發送的靜態數據、動態數據;

(6)目的端收到的動態數據采用Bitmap記錄,并緩存,達到閾值再寫入磁盤;

(7)目的端收到靜態數據后判斷動態數據的Bitmap是否有臟位(解決臨界數據可能出現的傳輸到達先后問題),決定是否寫入目的磁盤。

2.2 ?引入Mg_agent進行多磁盤遷移的控制

2.2.1 ?對于不同主機多個磁盤全量遷移的情況

由引入的Mg_agent模塊進行協調,其同時啟動磁盤全量遷移,先完成數據傳輸的磁盤保持雙寫狀態,等待其他磁盤完成,之后完成的磁盤也保持雙寫,等待剩余磁盤的數據傳輸。[10]流程如圖5所示。

2.2.2 ?對于不同主機多個磁盤全量整機遷移(含內存遷移)的情況

在Xen模塊中sleep_vm()前觸發引入的Mg_agent模塊進行磁盤全量整機遷移(含內存遷移),即,當磁盤全量遷移完成進入雙寫階段后開始內存遷移[11]。流程如圖6所示。

2.2.3 ?對于在同一臺主機,不同存儲設備之間磁盤全量遷移的情況

Mg_agent模塊不用將靜態數據與緩存的動態數據通過TCP_SOCKET發送至目的主機,而是直接寫入目的存儲設備[12],即,將發送至網絡替換為寫入目的存儲設備。流程如圖7所示。

3 ?方案測試和分析

3.1 ?實驗目的

通過本方案[13]的優化算法及措施,在Xen平臺上實現虛擬機的熱遷移,在10 GB磁盤、20 GB磁盤、50 GB磁盤、100 GB磁盤大小并分別在1 GB、2 GB、3 GB、5 GB動態數據寫入量的情況下測出數據包優化前的實際傳輸量以及優化后的傳輸量。

3.2 ?實驗數據分析

從表1可知,優化方案基于以下兩個方向進行優化:一是磁盤大小;二是遷移期間數據寫入量。當磁盤大小一致時,數據寫入量越大,優化方案優化效率越低,反之越高,甚至優化后寫入數據傳輸量可以為零。當寫入數據大小一致時,磁盤越大,優化方案優化效率越高,甚至磁盤在足夠大的情況下優化后可以實現寫入數據的傳輸為零。

4 ?結 ?論

本文通過對現有動態遷移機制的研究和分析,將傳輸水線思想引入拷貝策略當中,在一定程度上減少了實際遷移磁盤Block的數量和遷移時間。下一步將繼續研究通過預測磁盤Block的改變概率,分批次對文中提及的靜態數據進行拷貝,進一步降低重復拷貝的可能性,進而更進一步優化傳輸。

參考文獻:

[1] 高翔.基于Xen的虛擬機動態遷移算法優化 [D].哈爾濱:哈爾濱工業大學,2010.

[2] 劉鎏,虞紅芳,鄭少平.面向業務動態變化的虛擬機遷移技術研究 [J].計算機應用研究,2016,33(2):534-539.

[3] 劉詩海,孫宇清,石維琪,等.面向可擴展集群環境的快速虛擬機遷移方法 [J].東南大學學報(自然科學版),2011,41(3):468-472.

[4] 鄭婷婷,武延軍,賀也平.云計算環境下的虛擬機快速克隆技術 [J].計算機工程與應用,2011,47(13):63-67.

[5] 常德成,徐高潮.虛擬機動態遷移方法 [J].計算機應用研究,2013,30(4):971-976.

[6] 周晨.云計算中面向能耗的虛擬機遷移研究 [D].南京:南京郵電大學,2016.

[7] 劉海坤.虛擬機在線遷移性能優化關鍵技術研究 [D].武漢:華中科技大學,2012.

[8] CLARK C,FRASER K,HAND S,et al. Live migration of virtual machines [C]//NSDI05:Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation. Berkeley,CA,United States:USENIX Association,2005:273-286.

[9] CHAGANTI P. Xen Virtualization:A fast and practical guide to supporting multiple operating systems with the Xen hypervisor [M].Birmingham,UK:Packt Publishing,2007.

[10] 周煜,盧正添,易固武,等.一種基于過濾驅動的寫時拷貝快照方法 [J].四川大學學報(自然科學版),2010,47(3):478-482.

[11] LIU H K,JIN H,LIAO X F,et al. Live migration of virtual machine based on full system trace and replay [C]//HPDC09:Proceedings of the 18th ACM international symposium on High performance distributed computing,New York,NY,United States:ACM,2009.

[12] 陳彬,肖儂,蔡志平,等.基于優化的COW虛擬塊設備的虛擬機按需部署機制 [J].計算機學報,2009,32(10):1915-1926.

[13] 何玫峻,金連文,李磊.基于混合遷移的OpenStack虛擬機在線遷移改進方案 [J].系統工程理論與實踐,2014,34(s1):216-220.

作者簡介:王科(1985—),男,漢族,四川成都人,講師,碩士研究生,研究方向:云計算、大數據。

主站蜘蛛池模板: 亚洲人成网站日本片| 人妻一区二区三区无码精品一区| 伊在人亞洲香蕉精品區| 欧美日本二区| 国产精品xxx| 久久婷婷色综合老司机| av一区二区人妻无码| 国产综合亚洲欧洲区精品无码| 亚洲天堂免费| 国产主播喷水| 色综合久久88| 成人毛片免费在线观看| 亚洲AV人人澡人人双人| 9966国产精品视频| 成人免费一区二区三区| 国产人成在线观看| 亚洲无码日韩一区| 国产99视频精品免费视频7| 欧美人在线一区二区三区| 国产一级在线观看www色| 亚洲第一黄片大全| 欧美第二区| 亚洲AV无码久久精品色欲| 亚洲欧美极品| 国产午夜一级毛片| 2019年国产精品自拍不卡| 一区二区欧美日韩高清免费 | 老汉色老汉首页a亚洲| 99久久无色码中文字幕| 国产黄色爱视频| 亚洲无码高清免费视频亚洲| 国产乱肥老妇精品视频| a级毛片毛片免费观看久潮| 99视频国产精品| 亚洲a级在线观看| 青青草国产免费国产| 免费观看亚洲人成网站| 韩日无码在线不卡| 97久久免费视频| 国产免费a级片| 激情乱人伦| 亚洲中字无码AV电影在线观看| 亚洲色图另类| 99国产精品一区二区| 亚洲黄色高清| 高清国产在线| 福利国产微拍广场一区视频在线| 国产特一级毛片| 亚洲精品中文字幕午夜| 国产精品视频猛进猛出| 久久中文字幕2021精品| 国产三级毛片| 五月丁香伊人啪啪手机免费观看| 国产丝袜91| 亚洲人精品亚洲人成在线| 青青草原偷拍视频| 亚洲国产成人自拍| 呦系列视频一区二区三区| 在线观看视频99| 人妻精品全国免费视频| 操国产美女| www.日韩三级| 国产欧美日韩va| 青青久久91| 在线观看的黄网| 亚洲成人高清无码| 久久无码av三级| 亚洲美女久久| 国产成人综合网| 日本不卡在线播放| 国产又爽又黄无遮挡免费观看| 午夜视频在线观看区二区| 久久久久夜色精品波多野结衣| 国产高清在线丝袜精品一区| 中美日韩在线网免费毛片视频| 国产成人无码久久久久毛片| 九色91在线视频| 欧美亚洲第一页| 亚洲区一区| 日韩经典精品无码一区二区| 久久久久国产一级毛片高清板| 国产在线拍偷自揄拍精品|