一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的制作方法【專利摘要】本發(fā)明提供一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng),該系統(tǒng)包括集群管理服務(wù)器及運(yùn)行在分布式云計算平臺的測試機(jī)上的本地對象存儲服務(wù)器、DHT-MAP映射服務(wù)器和QEMU塊驅(qū)動。該系統(tǒng)能夠?qū)崿F(xiàn)分布式跨地域的虛擬機(jī)批量、快速部署,解決傳統(tǒng)系統(tǒng)和方法部署虛擬機(jī)周期長、無法動態(tài)擴(kuò)展、可用性低的不足?!緦@f明】一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種云計算【
技術(shù)領(lǐng)域:
】的系統(tǒng),具體涉及一種虛擬機(jī)鏡像存儲分發(fā)的系統(tǒng)?!?br>背景技術(shù):
】[0002]云計算的快速發(fā)展,云基礎(chǔ)設(shè)施規(guī)模的不斷擴(kuò)大,云平臺承載業(yè)務(wù)種類日益繁多,對分布式環(huán)境下的批量、快速部署虛擬機(jī)提出了更高的要求。一方面,大量企業(yè)不斷將傳統(tǒng)業(yè)務(wù)向云平臺遷移,已有的基礎(chǔ)設(shè)施擴(kuò)容受到能耗成本等各種因素的影響,私有云部署逐漸呈現(xiàn)地理上的分布式特征;另一方面,越來越多的企業(yè)和用戶選擇將應(yīng)用和數(shù)據(jù)放置到公有云和混合云中,云提供商也大力提供公有云或混合云服務(wù),使得分布式云計算逐漸成為主流的云計算部署模式。分布式云計算發(fā)展趨勢對虛擬機(jī)的批量部署提出了較之集中部署更多的技術(shù)挑戰(zhàn),需要在滿足跨地域、分布式部署前提下,提供相比集中部署模式對等或更好的存儲和分發(fā)機(jī)制。[0003]當(dāng)面臨大量用戶的服務(wù)請求時,傳統(tǒng)的虛擬機(jī)部署策略下,往往需要一定的等待時間,這大大降低了用戶對“云”的期待。針對該問題,人們提出很多解決方法,但大多數(shù)方法集中在部署虛擬機(jī)過程中的各個環(huán)節(jié)的改進(jìn),尤其是對鏡像模板文件傳輸機(jī)制的優(yōu)化。[0004]虛擬機(jī)鏡像模板包括虛擬機(jī)上的操作系統(tǒng)和用戶需要的軟件,一個完整的鏡像文件可能有十幾G,甚至幾十G大小,虛擬機(jī)鏡像模板文件的傳輸占用了整個虛擬機(jī)部署的大量時間,尤其是在分布式部署模式下,傳輸鏡像模板文件所用的時間往往會由于廣域網(wǎng)帶寬等因素,導(dǎo)致虛擬機(jī)部署的時間難以接受。[0005]現(xiàn)有技術(shù)中,針對虛擬機(jī)部署傳輸優(yōu)化提出了不同的文件壓縮機(jī)制,最大程度上對鏡像模板文件的體積進(jìn)行優(yōu)化,減少網(wǎng)絡(luò)傳輸量。有的文獻(xiàn)提出了應(yīng)用模板預(yù)拷貝策略來減少模板文件傳輸時間。該方法是通過對用戶感興趣、部署頻率高的模板預(yù)先存儲在一個預(yù)拷貝模板庫中以供下次拷貝使用。這里,預(yù)拷貝模板庫采用與傳統(tǒng)模板庫不同的存儲方法。現(xiàn)有技術(shù)中還給出了一種通過虛擬機(jī)鏡像增量備份機(jī)制來實現(xiàn)虛擬機(jī)的快速部署方法;或參考fork函數(shù)的思想,利用父虛擬機(jī)迅速克隆出大量的子虛擬機(jī),通過并行創(chuàng)建子虛擬機(jī)的方式提高虛擬機(jī)部署效率的方法;又或利用寫時拷貝技術(shù)來創(chuàng)建虛擬磁盤和內(nèi)存狀態(tài)的快照,并進(jìn)一步采用按需分配內(nèi)存技術(shù)和多點傳送技術(shù)來請求和傳輸這些狀態(tài)信息的虛擬機(jī)快速克隆方法。[0006]現(xiàn)有技術(shù)中還提出了通過改變傳統(tǒng)方法中從一個集中存儲中心向多個宿主機(jī)分發(fā)一個超大文件的方式,引入虛擬機(jī)鏡像模板文件分布式存儲在各個模板文件存儲中心的機(jī)制,使得宿主機(jī)可以從不同的存儲中心下載虛擬機(jī)鏡像模板文件,避免了集中存儲中心在大量請求到達(dá)時成為傳輸瓶頸的問題。公開了另一種類似BT的存儲方式,通過搭建coordinator服務(wù)器對虛擬機(jī)鏡像模板文件的數(shù)據(jù)塊在多臺宿主機(jī)之間互通有無,以P2P下載方式實現(xiàn)鏡像模板文件加速傳輸,同時通過區(qū)分通用模板文件數(shù)據(jù)和用戶數(shù)據(jù),采用預(yù)拷貝和增量傳輸機(jī)制實現(xiàn)集中部署模式下的虛擬機(jī)快速部署。該方法存在的局限性在于,為了保持?jǐn)?shù)據(jù)的一致性,需要采用類似泛洪的方式,這在廣域網(wǎng)中是不可行的。還有一種聚合各宿主機(jī)的存儲空間,組成一個通用存儲池,鏡像模板文件分別存儲在存儲池中,然后采用并行傳輸方式來提高部署效率的方法。其不足之處在于,由于每種模板缺少冗余存儲,當(dāng)批量部署同一類型虛擬機(jī)時,頻繁的數(shù)據(jù)傳輸將大大增加該存儲節(jié)點的負(fù)載,尤其是在跨地理域傳輸時更加突出。[0007]因此,需要提出一種分布式云計算環(huán)境下的虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)及其方法,來實現(xiàn)分布式跨地域的虛擬機(jī)批量、快速部署,解決傳統(tǒng)系統(tǒng)和方法部署虛擬機(jī)周期長、無法動態(tài)擴(kuò)展、可用性低等不足?!?br/>發(fā)明內(nèi)容】[0008]為了克服上述現(xiàn)有技術(shù)的缺陷,本發(fā)明提供了一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)和方法。[0009]為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:[0010]一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng),其改進(jìn)之處在于:所述系統(tǒng)包括集群管理服務(wù)器及運(yùn)行在分布式云計算平臺的測試機(jī)上的本地對象存儲服務(wù)器、DHT-MAP映射服務(wù)器和QHMU塊驅(qū)動。[0011]進(jìn)一步的,所述DHT-MAP映射服務(wù)器為獲取數(shù)據(jù)塊,進(jìn)行所述數(shù)據(jù)塊的注冊、路由和查詢的模塊;[0012]所述本地對象存儲服務(wù)器與所述DHT-MAP映射服務(wù)器通信,所述對象存儲服務(wù)器用于本地存儲數(shù)據(jù)、聚合局域網(wǎng)各宿主機(jī)存儲空間、組成模板卷和快照卷的存儲池;[0013]所述QEMU塊驅(qū)動與所述本地對象存儲服務(wù)器通信,所述QEMU塊驅(qū)動用于將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象;[0014]所述集群管理服務(wù)器用于實現(xiàn)集群管理和消息傳遞,及跨集群之間的鏡像數(shù)據(jù)塊獲取。[0015]進(jìn)一步的,所述集群管理服務(wù)器根據(jù)chord算法構(gòu)成超級環(huán)狀拓?fù)洌鰧ο蟠鎯Ψ?wù)器根據(jù)chord算法構(gòu)成本地環(huán)狀拓?fù)?。[0016]進(jìn)一步的,所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作包括以下步驟:[0017]1、所述QEMU塊驅(qū)動將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象,運(yùn)用一致性哈希算法生成對象標(biāo)識,通過iSCSI協(xié)議將所述數(shù)據(jù)塊對象及其冗余副本存儲到所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng);若本地存在對象管理服務(wù)器,則本地緩存數(shù)據(jù)塊副本;[0018]I1、所述DHT-MAP映射服務(wù)器接收鏡像存儲I/O請求,根據(jù)所述對象標(biāo)識判別目的存儲節(jié)點,進(jìn)行路由定位并轉(zhuǎn)發(fā)至所述集群管理服務(wù)器,所述集群管理服務(wù)器將I/o請求轉(zhuǎn)發(fā)到目的存儲節(jié)點,所述目的存儲節(jié)點將模板卷和快照卷進(jìn)行分類存儲;[0019]所述DHT-MAP映射服務(wù)器將本地鏡像存儲信息更新到所述集群管理服務(wù)器組成的超級環(huán);[0020]II1、所述集群管理服務(wù)器接收所述DHT-MAP服務(wù)器的信息,通過chord算法將信息同步到目的集群管理服務(wù)器,所述本地集群服務(wù)器緩存?zhèn)浞菪畔?。[0021]進(jìn)一步的,所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的分發(fā)工作包括以下步驟:[0022]1、所述集群管理服務(wù)器之間周期性同步全局信息,按照熱點數(shù)據(jù)頻率高低進(jìn)行數(shù)據(jù)預(yù)取,縮短虛擬機(jī)批量部署周期;[0023]I1、擬機(jī)部署時,查詢宿主機(jī)上的模板卷緩存和快照卷緩存,若命中,本地進(jìn)行緩存;若沒有命中,需要部署虛擬機(jī)的測試機(jī)向超級節(jié)點發(fā)送鏡像啟動必須的模板卷數(shù)據(jù)塊的請求,通過iSCSI協(xié)議向所述對象管理服務(wù)器按需讀取啟動所需的數(shù)據(jù)塊,數(shù)據(jù)獲取完成后在本地進(jìn)行緩存。[0024]進(jìn)一步的,為了加快所述系統(tǒng)讀取數(shù)據(jù)塊的效率,所述系統(tǒng)采用兩級chord環(huán)拓?fù)?,集群?nèi)所有所述DHT-MAP映射服務(wù)器構(gòu)成本地環(huán)或二級環(huán),所述DHT-MAP映射服務(wù)器運(yùn)行在所有宿主機(jī)上。[0025]進(jìn)一步的,每個集群設(shè)置所述集群管理服務(wù)器,構(gòu)成超級節(jié)點,分布于各地的集群管理服務(wù)器通過一致哈希算法構(gòu)成超級環(huán)或一級環(huán);[0026]所述超級節(jié)點負(fù)責(zé)管理部分ID空間,按地域分割I(lǐng)D標(biāo)識空間,減少DHT算法曲折路由導(dǎo)致的路由或查詢時延。[0027]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:[0028]1、本發(fā)明的系統(tǒng)實現(xiàn)分布式跨地域的虛擬機(jī)批量、快速部署,解決了傳統(tǒng)系統(tǒng)和方法部署虛擬機(jī)周期長、無法動態(tài)擴(kuò)展、可用性低等問題。[0029]2、本發(fā)明的系統(tǒng)采用無中心全對稱結(jié)構(gòu),無單點故障,且存儲容量和性能可線性擴(kuò)展。[0030]3、本發(fā)明的系統(tǒng)采用分布式架構(gòu),存儲和分發(fā)系統(tǒng)采用兩級chord環(huán)拓?fù)?,加快了?shù)據(jù)塊的定位和路由效率。其中,集群內(nèi)所有DHT-MAP映射服務(wù)器構(gòu)成本地環(huán)或二級環(huán),DHT-MAP映射服務(wù)器運(yùn)行在所有宿主機(jī)上;集群間每個集群設(shè)置集群管理服務(wù)器,構(gòu)成超級節(jié)點,分布于各地的集群管理服務(wù)器通過一致哈希算法構(gòu)成超級環(huán)或一級環(huán)。為了減少DHT算法曲折路由導(dǎo)致的路由或查詢時延,每個超級節(jié)點負(fù)責(zé)管理一部分ID空間,通常按照地域進(jìn)行ID標(biāo)識空間的分割,地域范圍和ID管轄范圍盡量重合。[0031]4、本發(fā)明的系統(tǒng)采用對象存儲服務(wù)器完成鏡像數(shù)據(jù)存儲,通過將所有本地對象存儲服務(wù)器節(jié)點按照chord算法構(gòu)成本地環(huán)狀拓?fù)?,聚合局域網(wǎng)各宿主機(jī)存儲空間,組成模板卷(只讀)和快照卷(讀寫)的存儲池。本地優(yōu)先保存鏡像副本后,采用一致性哈希算法通過集群管理服務(wù)器將鏡像副本保存到目的存儲節(jié)點上。[0032]5、本發(fā)明的系統(tǒng)實現(xiàn)了數(shù)據(jù)預(yù)取、分類緩存、按需動態(tài)加載等機(jī)制,可按照熱點數(shù)據(jù)頻率高低進(jìn)行數(shù)據(jù)預(yù)取,數(shù)據(jù)獲取完成后在本地進(jìn)行緩存,緩存時按照模板卷緩存和快照卷緩存分別進(jìn)行,數(shù)據(jù)獲取時通過iSCSI協(xié)議向?qū)ο蠊芾矸?wù)器按需動態(tài)加載啟動所需的數(shù)據(jù)塊,縮短虛擬機(jī)批量部署的周期?!緦@綀D】【附圖說明】[0033]圖1為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的工作流程圖;[0034]圖2為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作過程流程圖;[0035]圖3為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的分發(fā)工作過程流程圖?!揪唧w實施方式】[0036]下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。[0037]本發(fā)明提供了一種基于DHT(distributedhashtables)算法的虛擬機(jī)鏡像存儲分發(fā)的系統(tǒng),該系統(tǒng)將采用無中心全對稱結(jié)構(gòu),無單點故障,且存儲容量和性能可先行擴(kuò)展。[0038]該系統(tǒng)包括集群管理服務(wù)器、運(yùn)行在分布式云計算平臺的測試機(jī)上的本地對象存儲服務(wù)器、運(yùn)行在分布式云計算平臺的測試機(jī)上的DHT-MAP映射服務(wù)器和運(yùn)行在分布式云計算平臺的測試機(jī)上的QEMU塊驅(qū)動。該系統(tǒng)可進(jìn)行鏡像的數(shù)據(jù)塊的存儲分發(fā)、注冊更新、路由查詢等操作,通過數(shù)據(jù)預(yù)取、增量鏡像、按需讀取、查詢優(yōu)化等措施縮短虛擬機(jī)批量部署的周期。[0039]測試機(jī):測試機(jī)為覆蓋全國各省的云服務(wù)器節(jié)點,包括宿主機(jī)和宿主機(jī)上的虛擬機(jī)。[0040]DHT-MAP映射服務(wù)器:實現(xiàn)數(shù)據(jù)塊獲取的注冊、路由和查詢,管理DHT-MAP映射服務(wù)器節(jié)點,探測本地失敗/新增節(jié)點并報告節(jié)點成員變化。[0041]本地對象存儲服務(wù)器:與所述DHT-MAP映射服務(wù)器通信,完成數(shù)據(jù)的本地存儲,聚合局域網(wǎng)各宿主機(jī)(即物理服務(wù)器)存儲空間,組成模板卷(只讀)和快照卷(讀寫)的存儲池;所有本地對象存儲服務(wù)器節(jié)點按照chord算法構(gòu)成本地環(huán)狀拓?fù)洹0042]QEMU塊驅(qū)動:與所述本地對象存儲服務(wù)器通信,所述QEMU塊驅(qū)動用于將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象;例如,固定大小為4M。[0043]集群管理服務(wù)器:管理本地DHT-MAP映射服務(wù)器節(jié)點成員和其他集群管理服務(wù)器節(jié)點成員,探測失敗/新增節(jié)點并報告節(jié)點成員變化,完成集群管理和消息傳遞,及跨集群之間的鏡像數(shù)據(jù)塊獲取,所有集群管理服務(wù)器按照chord算法構(gòu)成超級環(huán)狀拓?fù)洹0044]本發(fā)明存儲采用分布式存儲,根據(jù)分布式存儲系統(tǒng)CAP原理,一致性、可用性和分區(qū)容錯性三個需求最多能夠滿足兩個。為實現(xiàn)在出現(xiàn)網(wǎng)絡(luò)中斷情況下,分離的系統(tǒng)也能正常運(yùn)行,且要求系統(tǒng)隨時可用,鏡像存儲和分發(fā)系統(tǒng)滿足分區(qū)容錯性和可用性。[0045]本發(fā)明系統(tǒng)采用的覆蓋網(wǎng)是chord,屬于DHT算法中的一種,基本數(shù)據(jù)是對象,每個對象用一個128bits的全局ID唯一標(biāo)識。這里,對象大小固定不變,通過對象標(biāo)識進(jìn)行讀/寫/創(chuàng)建/刪除等操作。[0046]虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作包括以下步驟:[0047]1、QEMU塊驅(qū)動將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象,運(yùn)用hash算法生成對象標(biāo)識,通過iSCSI協(xié)議將所述數(shù)據(jù)塊對象及其冗余副本存儲到虛擬機(jī)鏡像存儲分發(fā)的系統(tǒng);若本地存在對象管理服務(wù)器,則本地緩存鏡像數(shù)據(jù)塊副本;[0048]11,DHT-MAP映射服務(wù)器接收鏡像存儲I/O請求,根據(jù)所述對象標(biāo)識判別目的存儲節(jié)點,進(jìn)行路由定位并轉(zhuǎn)發(fā)到所述集群管理服務(wù)器,集群管理服務(wù)器將I/o請求轉(zhuǎn)發(fā)到目的存儲節(jié)點,在目的存儲節(jié)點上,將模板卷和快照卷進(jìn)行分類存儲;同時,DHT-MAP將本地鏡像存儲信息更新到所述集群管理服務(wù)器組成的超級環(huán);[0049]II1、集群管理服務(wù)器接收所述DHT-MAP服務(wù)器的信息,通過chord算法將信息同步到目的集群管理服務(wù)器,所述本地集群服務(wù)器緩存?zhèn)浞菪畔ⅰ0050]虛擬機(jī)鏡像存儲分發(fā)的系統(tǒng)的分發(fā)工作包括以下步驟:[0051]1、集群管理服務(wù)器之間周期性同步全局信息,按照熱點數(shù)據(jù)頻率高低進(jìn)行數(shù)據(jù)預(yù)取,縮短虛擬機(jī)批量部署周期;[0052]I1、虛擬機(jī)部署時首先查詢本地宿主機(jī)上的模板卷緩存和快照卷緩存,若命中,進(jìn)行本地緩存;若沒有命中,需要部署虛擬機(jī)的測試機(jī)向超級節(jié)點發(fā)送鏡像啟動必須的模板卷數(shù)據(jù)塊的請求,通過iSCSI協(xié)議向?qū)ο蠊芾矸?wù)器按需讀取啟動所需的數(shù)據(jù)塊;數(shù)據(jù)獲取完成后在本地進(jìn)行緩存;[0053]本系統(tǒng)中,為了加快按需讀取過程中數(shù)據(jù)塊的定位和路由效率,存儲和分發(fā)系統(tǒng)采用兩級chord環(huán)拓?fù)?,集群?nèi)所有DHT-MAP映射服務(wù)器構(gòu)成本地環(huán)或二級環(huán),DHT-MAP映射服務(wù)器運(yùn)行在所有宿主機(jī)上;每個集群設(shè)置集群管理服務(wù)器,構(gòu)成超級節(jié)點,分布于各地的集群管理服務(wù)器通過一致哈希算法構(gòu)成超級環(huán)或一級環(huán)。每個超級節(jié)點負(fù)責(zé)管理一部分ID空間,通常按照地域進(jìn)行ID標(biāo)識空間的分割,地域范圍和ID管轄范圍盡量重合,減少DHT算法曲折路由導(dǎo)致的路由或查詢時延。標(biāo)識空間中,節(jié)點ID和對象ID性質(zhì)完全一樣。[0054]如圖1所示,圖1為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的工作流程圖;虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)采用兩級chord環(huán)拓?fù)?,集群?nèi)所有DHT-MAP映射服務(wù)器構(gòu)成本地環(huán)或二級環(huán),DHT-MAP映射服務(wù)器運(yùn)行在所有測試機(jī)上。[0055]每個集群設(shè)置集群管理服務(wù)器,構(gòu)成超級節(jié)點,分布于各地的集群管理服務(wù)器通過一致性哈希算法構(gòu)成超級環(huán)或一級環(huán)。[0056]每個超級節(jié)點負(fù)責(zé)管理一部分ID空間,通常按照地域進(jìn)行ID標(biāo)識空間的分割,地域范圍和ID管轄范圍盡量重合,減少DHT算法曲折路由導(dǎo)致的路由或查詢時延。標(biāo)識空間中,節(jié)點ID和對象ID性質(zhì)完全一樣。[0057]本實施例中,虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)具有線性可擴(kuò)展性,新節(jié)點加入過程如圖1所示,包括以下步驟:[0058]1、節(jié)點15應(yīng)插入節(jié)點13和節(jié)點17之間,因此,當(dāng)節(jié)點加入后,需要修改節(jié)點17的前驅(qū),由原來的13改為15,同時也需要更新節(jié)點13的后繼節(jié)點,更新過程類似;[0059]I1、節(jié)點17向集群管理服務(wù)器構(gòu)成的超級節(jié)點20報告變更;[0060]II1、超級節(jié)點20更新finger表路由條目,將節(jié)點17的前驅(qū)信息更新,并將節(jié)點11的finger表第二項以及節(jié)點13的finger表第I項由原來的17改為15;[0061]IV、超級節(jié)點向所有集群服務(wù)器通告figner路由表更新信息。[0062]如圖2所示,圖2為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作過程流程圖;本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作包括以下步驟:[0063]I,QEMU塊驅(qū)動程序?qū)⑻摂M機(jī)的模板卷和用戶卷(運(yùn)用blktrace監(jiān)控工具可區(qū)分模板卷和用戶卷)分成固定大小(本實施中,默認(rèn)大小為4M)的數(shù)據(jù)塊對象,發(fā)送至本地對象管理服務(wù)器;[0064]I1、對象管理器通過一致性哈希算法為每一個數(shù)據(jù)塊生成ID,并將相關(guān)信息隨ID信息(包括:ID、偏移量、長度、操作類型等)和數(shù)據(jù)一起發(fā)送至DHT-MAP映射服務(wù)器;[0065]II1、DHT-MAP映射服務(wù)器接收本地對象管理器的存儲I/O請求,如圖2中所示,DHT-MAP映射服務(wù)器2接收到一個ID為17的數(shù)據(jù)塊的存儲I/O請求,首先判斷是否在同一集群管理服務(wù)器超級節(jié)點3所能“看到”的ID空間內(nèi),如果在,則直接通過超級節(jié)點3跳轉(zhuǎn)發(fā)給本地環(huán)的DHT-MAP映射服務(wù)器節(jié)點上,即數(shù)據(jù)塊4和數(shù)據(jù)塊6;如果不在,則在超級環(huán)中通過chord路由方法轉(zhuǎn)發(fā)到超級節(jié)點3的finger表指向的下一跳-超級節(jié)點14,通過超級節(jié)點的finger表查找到數(shù)據(jù)塊17為超級節(jié)點20所能“看到”的ID范圍內(nèi),將數(shù)據(jù)塊轉(zhuǎn)發(fā)給超級節(jié)點20,并由后者一跳轉(zhuǎn)發(fā)給DHT-MAP映射服務(wù)器17;[0066]IV、DHT-MAP映射服務(wù)器17將存儲請求轉(zhuǎn)發(fā)給本地對象管理器,由本地對象管理器執(zhí)行在本地的寫操作,完成存儲過程。[0067]V、DHT_MAP映射服務(wù)器將本地鏡像存儲信息更新到所述集群管理服務(wù)器組成的超級環(huán);[0068]集群管理服務(wù)器接收所述DHT-MAP服務(wù)器的信息,通過chord算法將信息同步到目的集群管理服務(wù)器,所述本地集群服務(wù)器緩存?zhèn)浞菪畔?。[0069]如圖3所述,圖3為本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的分發(fā)工作過程流程圖;本實施例中虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的分發(fā)工作包括以下步驟:[0070]1、需要部署虛擬機(jī)的測試機(jī)向超級節(jié)點14發(fā)起模板卷數(shù)據(jù)塊的獲取請求,該數(shù)據(jù)塊為鏡像啟動必須的數(shù)據(jù)塊,請求中包含如下信息〈對象標(biāo)識ID,偏移量,長度,操作類型>,本實施例中,操作類型為讀取,長度為4M;[0071]I1、超級節(jié)點14接收到來自節(jié)點10的請求信息后,在超級環(huán)中按照一致性哈希算法將請求按照對象標(biāo)識ID在標(biāo)識空間中進(jìn)行路由轉(zhuǎn)發(fā),按照finger表找到離數(shù)據(jù)塊存儲節(jié)點最近的下一條節(jié)點20,并將申請轉(zhuǎn)發(fā)到超級節(jié)點20;[0072]II1、超級節(jié)點20查詢自己的finger表,發(fā)現(xiàn)節(jié)點17在自己所能“看到”的ID范圍內(nèi),則直接一跳轉(zhuǎn)發(fā)請求到節(jié)點17;[0073]IV、節(jié)點10和節(jié)點17之間通過iSCSI協(xié)議直接傳遞數(shù)據(jù),完成節(jié)點10模板卷數(shù)據(jù)的加載過程;[0074]V、節(jié)點10按照上述相同的方式從節(jié)點6獲取用戶數(shù)據(jù)加載,并最終完成虛擬機(jī)鏡像的完整分發(fā),虛擬機(jī)部署過程完成;[0075]V1、節(jié)點上采用flashcachegroup方式實現(xiàn)模板卷數(shù)據(jù)和用戶卷數(shù)據(jù)的緩存。這里用到了flashcache技術(shù),采用devicemapper架構(gòu)實現(xiàn)將多個塊設(shè)備虛擬成一個帶緩存的塊設(shè)備,用于本地數(shù)據(jù)塊緩存。[0076]最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對本發(fā)明的【具體實施方式】進(jìn)行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。【權(quán)利要求】1.一種虛擬機(jī)鏡像存儲分發(fā)系統(tǒng),其特征在于:所述系統(tǒng)包括集群管理服務(wù)器及運(yùn)行在分布式云計算平臺的測試機(jī)上的本地對象存儲服務(wù)器、DHT-MAP映射服務(wù)器和QEMU塊驅(qū)動。2.如權(quán)利要求1所述的系統(tǒng),其特征在于:所述DHT-MAP映射服務(wù)器為獲取數(shù)據(jù)塊,進(jìn)行所述數(shù)據(jù)塊的注冊、路由和查詢的模塊;所述本地對象存儲服務(wù)器與所述DHT-MAP映射服務(wù)器通信,所述對象存儲服務(wù)器用于本地存儲數(shù)據(jù)、聚合局域網(wǎng)各宿主機(jī)存儲空間、組成模板卷和快照卷的存儲池;所述QEMU塊驅(qū)動與所述本地對象存儲服務(wù)器通信,所述QEMU塊驅(qū)動用于將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象;所述集群管理服務(wù)器用于實現(xiàn)集群管理和消息傳遞,及跨集群之間的鏡像數(shù)據(jù)塊獲取。3.如權(quán)利要求2所述的系統(tǒng),其特征在于:所述集群管理服務(wù)器根據(jù)chord算法構(gòu)成超級環(huán)狀拓?fù)?,所述對象存儲服?wù)器根據(jù)chord算法構(gòu)成本地環(huán)狀拓?fù)洹?.如權(quán)利要求1所述的系統(tǒng),其特征在于:所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的存儲工作包括以下步驟:1、所述QEMU塊驅(qū)動將虛擬機(jī)鏡像分割成固定大小的數(shù)據(jù)塊對象,運(yùn)用一致性哈希算法生成對象標(biāo)識,通過iSCSI協(xié)議將所述數(shù)據(jù)塊對象及其冗余副本存儲到所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng);若本地存在對象管理服務(wù)器,則本地緩存數(shù)據(jù)塊副本;I1、所述DHT-MAP映射服務(wù)器接收鏡像存儲I/O請求,根據(jù)所述對象標(biāo)識判別目的存儲節(jié)點,進(jìn)行路由定位并轉(zhuǎn)發(fā)至所述集群管理服務(wù)器,所述集群管理服務(wù)器將I/O請求轉(zhuǎn)發(fā)到目的存儲節(jié)點,所述目的存儲節(jié)點將模板卷和快照卷進(jìn)行分類存儲;所述DHT-MAP映射服務(wù)器將本地鏡像存儲信息更新到所述集群管理服務(wù)器組成的超級環(huán);II1、所述集群管理服務(wù)器接收所述DHT-MAP服務(wù)器的信息,通過chord算法將信息同步到目的集群管理服務(wù)器,所述本地集群服務(wù)器緩存?zhèn)浞菪畔ⅰ?.如權(quán)利要求1所述的系統(tǒng),其特征在于:所述虛擬機(jī)鏡像存儲分發(fā)系統(tǒng)的分發(fā)工作包括以下步驟:1、所述集群管理服務(wù)器之間周期性同步全局信息,按照熱點數(shù)據(jù)頻率高低進(jìn)行數(shù)據(jù)預(yù)取,縮短虛擬機(jī)批量部署周期;I1、擬機(jī)部署時,查詢宿主機(jī)上的模板卷緩存和快照卷緩存,若命中,本地進(jìn)行緩存;若沒有命中,需要部署虛擬機(jī)的測試機(jī)向超級節(jié)點發(fā)送鏡像啟動必須的模板卷數(shù)據(jù)塊的請求,通過iSCSI協(xié)議向所述對象管理服務(wù)器按需讀取啟動所需的數(shù)據(jù)塊,數(shù)據(jù)獲取完成后在本地進(jìn)行緩存。6.如權(quán)利要求1所述的系統(tǒng),其特征在于:為了加快所述系統(tǒng)讀取數(shù)據(jù)塊的效率,所述系統(tǒng)采用兩級chord環(huán)拓?fù)?,集群?nèi)所有所述DHT-MAP映射服務(wù)器構(gòu)成本地環(huán)或二級環(huán),所述DHT-MAP映射服務(wù)器運(yùn)行在所有宿主機(jī)上。7.如權(quán)利要求1所述的系統(tǒng),其特征在于:每個集群設(shè)置所述集群管理服務(wù)器,構(gòu)成超級節(jié)點,分布于各地的集群管理服務(wù)器通過一致哈希算法構(gòu)成超級環(huán)或一級環(huán);所述超級節(jié)點負(fù)責(zé)管理部分ID空間,按地域分割I(lǐng)D標(biāo)識空間,減少DHT算法曲折路由導(dǎo)致的路由或查詢時延?!疚臋n編號】G06F9/455GK104050015SQ201410301202【公開日】2014年9月17日申請日期:2014年6月27日優(yōu)先權(quán)日:2014年6月27日【發(fā)明者】黃道超,劉欣然,張鴻申請人:國家計算機(jī)網(wǎng)絡(luò)與信息安全管理中心