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

一種云環境下的鏡像文件存儲系統*

2014-02-28 06:16:34王洪發
電信科學 2014年2期

王洪發

(浙江水利水電學院計算機與信息工程系 杭州310018)

1 引言

云計算的本質是按需提供服務給組織或個人[1]。云服務提供商采用的服務方式通常是以虛擬機形式動態分配計算資源給用戶使用,例如Amazon Elastic Compute Cloud、OpenStack、Eucalyptus、Nimbus和OpenNebula。然而,隨著在一個云池中的虛擬機數量增多,它會引起以下兩個問題[2,3]。

·因為虛擬機鏡像難以被共享或移動,一臺虛擬機很難在不同主機上運行。

·用戶的虛擬機鏡像和數據是不安全的,因為它們不是分開存儲,并且缺乏容災性和恢復機制。

因此,設計一個虛擬機鏡像文件存儲系統是非常必要的,更重要地是鏡像文件存儲系統能夠為用戶提供可伸縮、高性能、低成本的數據存儲池。

目前,在云計算數據中心有3種模式的鏡像存儲:本地存儲、集中共享存儲和網絡存儲。本地存儲是最便捷的,但是容量有限,并且鏡像文件不能在不同主機之間共享,使得虛擬機遷移變得很困難。集中共享存儲能提供優秀的I/O性能和容易的虛擬機遷移,例如使用光纖或Infiniband[4]連接主機和磁盤陣列,但是集中共享存儲非常昂貴并且可擴展性不好。網絡存儲是由許多廉價的存儲設備組成,它們之間通過TCP/IP以太網連接,并且使用分布式文件系統或并行文件系統。

在本文中,筆者設計并實現了一個基于Lustre[5]的分布式鏡像文件存儲系統——IFSpool(image file store pool)。開源實現的Lustre能夠提供高I/O性能和優秀的可擴展性和可靠性,并且被成功部署在商業應用環境,而筆者所做的主要工作是在主機服務器和Lustre之間添加存儲適配模塊。利用IFSpool中緊密的結合隊列和緩存機制以及通過協調數據訪問順序來提高I/O吞吐率和減輕啟動風暴。實驗結果表明IFSpool能有效地滿足鏡像文件存儲的需求。

2 鏡像文件存儲的需求

傳統上,云服務提供商提供3類服務模式[6,7]:基礎設施即服務(IaaS)、平臺即服務(PaaS)和軟件即服務(SaaS)。

在IaaS模式中,云服務提供商提供虛擬機、存儲、網絡等服務。在PaaS模式中,云服務提供商提供計算平臺和解決方案。通常包括操作系統、編程語言執行環境、數據庫和Web服務器。應用程序開發人員無需購買和管理底層硬件和軟件層,即可在云平臺上開發和運行他們的軟件解決方案。在SaaS模式中,云服務提供商提供應用軟件服務,云用戶通過網絡、虛擬桌面或移動終端訪問應用軟件。

然而,隨著在云資源池中虛擬機數量的快速增加,很多問題出現在存儲領域,如容量不足、數據安全、吞吐量限制和啟動風暴。

Meyer D等[8]提供了一個精心設計的單一存儲服務。在這個設計中,存儲虛擬機和通用虛擬機被部署在每一個應用程序節點。存儲服務遵循POSIX I/O接口,由虛擬化提供的封裝,通用虛擬機可以訪問不同的存儲服務和使用本地磁盤。對于一個小型虛擬機集群,這種存儲系統能在共享存儲設備和廉價商用本地磁盤上表現出良好的性能,然而,當虛擬機數量超過單個的存儲容量時,它甚至不能滿足正常的虛擬機I/O存取操作,此外,它不允許用戶之間合作共享。

LiaoX F等[9]設計了一個分布式的存儲系統VM Store。VM Store采用直接塊索引結構來做虛擬機快照,能顯著改善虛擬機的啟動性能,并通過動態更改存儲節點的數量,提供分布式存儲的可伸縮性I/O帶寬。VM Store還提出了一種智能對象的分區技術的數據預處理策略,這將更有效地消除重復數據,然而,實驗結果表明VM Store不適合大規模的VM鏡像存儲。

Dickens P M和Logan J[10]提出一種新的數據再分配模型,采用“多對多”通信模型能夠有效地減少OST(對象存儲目標)存儲資源的競爭訪問,缺點是降低了I/O并行性。

Casale G等[11]提出一種簡單性能模型來預測虛擬化應用程序的存儲I/O性能整合的影響,并且還定義了對吞吐量、響應時間和混合的讀/寫請求的簡單線性預測模型,但是預測模型的信息來源僅僅基于個人虛擬機隔離實驗的信息收集。

為了減輕啟動風暴問題,一些虛擬機系統部署在SAN或其他昂貴的存儲陣列上,例如VMFS[12]。然而,隨著用戶的增多,即使使用先進的存儲系統降低啟動風暴的發生率,系統升級還是變得很困難而且代價也很高。

因此,有必要建立一個專有的鏡像文件存儲系統。設計這樣一個鏡像文件存儲系統需要考慮3個基本問題。

(1)高I/O吞吐量和高可擴展性

在共享存儲中,虛擬機共享同一個物理存儲池。當虛擬機總訪問負載變得更高時,對I/O訪問的競爭量將影響虛擬機的性能。在這種情況下,鏡像文件存儲必須有高的I/O吞吐量。此外,為存儲和管理成千上萬的虛擬機鏡像,鏡像存儲池可以在不打斷任何操作的前提下通過添加新的存儲設備增加容量。

(2)啟動優化

在云計算環境中,每個虛擬機將從數據中心主機或共享存儲本地文件系統中讀取引導信息。在參考文獻[9]中,提到在應用程序節點上啟動一個虛擬機至少需要10 Mbit/s的I/O帶寬,在企業中成百上千臺虛擬機并發啟動所需要的總帶寬將超過存儲服務器能力的幾倍。

在大多數情況下,虛擬機被部署在企業環境中為企業員工提供相同的使用環境。員工將在上班開始時啟動虛擬機并在下班時關閉虛擬機。因此,虛擬機啟動或關閉很大程度上是并發操作。為了解決這個問題,結合隊列和緩存機制,并通過協調數據訪問順序提高I/O吞吐率和減輕啟動風暴,進一步通過使用固態硬盤(SSD)作為緩存隊列的存儲介質來提高讀寫性能。

(3)容災備份

在云計算環境中,失效是一種常見的事。2010年1月,Ruby-on-Rails應用程序托管公司在Amazon EC2托管的22臺虛擬機出現故障。據報道由于這次路由器故障所引起的中斷影響了托管在該公司的44 000個應用程序的使用[13]。因此,對于存儲和管理成千上萬的虛擬機鏡像的存儲系統,容災備份是一個重要的考慮因素,包括訪問控制、災難恢復工具和冗余的數據存儲。所以,分布式存儲系統是一個合適的選擇。

3 IFSpool設計和實現

本節將描述專有鏡像文件存儲系統IFSpool的設計和實現,并給出對提高I/O吞吐量和減輕啟動風暴的重要改進內容。

3.1 IFSpool的架構

圖1展示了IFSpool的高層體系結構。每個部件的詳細討論如下。

圖1 IFSpool體系結構

鏡像服務器是客戶端與Lustre之間的通信橋梁。鏡像服務器提供虛擬機鏡像的發現、登記和交付服務。在本文中,采用OpenStack Glance[14]作為IFSpool的鏡像服務器。Glance允許上傳多種格式的私有和公有的鏡像,包括VHD(Hyper-V)、VDI、qcow2(Qemu/KVM)和VMDK(VMware)。

Lustre[5]是一個構建在廉價商用機器上的存儲系統。如圖2所示,元數據服務器(MDS)存儲著每個文件的布局、大小和位置,客戶端從MDS獲得文件布局,對象存儲服務器(OSS)為一個或多個本地對象存儲目標(OST)提供文件I/O服務和網絡請求處理,OST把文件數據作為數據對象存儲在一個或多個OSS上,單個Lustre文件系統通常有多個OSS和OST,為了優化性能,每個文件被分為幾個子文件并存儲到不同的OST。在Lustre中一個來自客戶端的數據訪問請求將被分解成幾個更小的子請求,然后存儲服務器并行訪問子請求的數據。

圖2 Lustre的體系架構

3.2 存儲適配器設計

存儲適配器是IFSpool的主要部件,在IFSpool中,客戶端也有相對應的部件:元數據客戶端(MDC)、對象存儲客戶端(OSC)和邏輯對象卷(LOV)。MDC是一個客戶端接口模塊,可以通過它訪問MDS。

OSC和OST的關系是一對一的。一組OSC被包裝成一個LOV,如圖3所示。

圖3 Lustre文件系統的文件打開、讀取、寫入過程

當一個客戶端創建、打開或讀取一個鏡像文件時,它首先獲取存儲在MDS的元數據信息。在MDS返回鏡像文件的位置后,客戶端會直接向相關的OST設備發出I/O訪問請求。例如,在讀取文件之前,客戶端將通過MDC向MDS發出查詢請求。MDS告訴客戶端從設備讀取文件。然后客戶端直接訪問設備。

假設有4個虛擬機,為了簡單起見,假設每個虛擬機鏡像存儲在4個OST設備上。圖4顯示了這些虛擬機存儲在4個不同的OST上的布局。

圖4 OST的鏡像文件視圖

假設在某個特定時間這4個虛擬機同時讀取鏡像文件,這樣虛擬機將會同時與每個OST通信,因此會產生相當大的通信開銷,而隨著虛擬機數量的增加,性能會大幅下降。主要因為虛擬機的隨機磁盤訪問,而且虛擬機本身也不執行一系列連續的磁盤I/O操作,這將導致隨機、無序磁盤查找操作,從而產生額外的磁盤開銷和降低了文件訪問的并行操作效率。

存儲適配器的基本原理是對于每個OST維護一個緩存隊列,稱為OST隊列。這些緩存隊列存儲于存儲適配器服務器上并且維護一個全局散列表,其中散列鍵也稱為OST_ID(每個OST在Lustre集群里有一個對應的身份證號碼)。因為適配器服務器的存儲介質是SSD,所以緩存隊列擁有高速的讀寫速度。

在IFSpool中,鏡像文件是以條帶方式存儲在幾個OST上,并且在OST上一個文件的所有數據被視為一個對象,該對象使用128 bit的標識作為對象ID。與傳統的UNIX文件系統不同,MDS的索引節點并不指向數據塊,相反它指向一個或多個與對象相關的文件,所以客戶端可以通過對象ID并行地讀寫文件,換句話說,客戶機可以通過對象ID直接和OST交換數據。

假設這4個虛擬機同時與這4個OST交換數據。存儲適配器首先從虛擬機接收所有數據,然后依據對象ID分派這些數據到相應的OST隊列。當已使用空間達到一個閾值時,OST隊列中的數據將按序被寫回到相應的OST,同樣。當從OST上讀取數據時,對象首先被分派到相應的OST隊列中,然后每個虛擬機依據OST_ID從OST隊列取回對象。圖5顯示了存儲適配器模型。

存儲適配器的優點是通過結合隊列和緩存機制將隨機訪問變成順序訪問。存儲適配器的緩存機制實現是不同于傳統的緩存機制,具體地說,存儲適配器沒有使用替換算法,相反適配器采用有一個閾值來決定什么時候回寫數據。對于一個寫操作,緩存的功能是將隨機寫入變成順序寫入,并且把小的數據塊合并成大的數據塊。對于讀操作,依據對象ID將相同的請求合并到一個特定的OST上,讀操作的I/O吞吐量可以有效地改善,并且可以以大數據塊形式順序讀取這些數據到相應的OST隊列上。

存儲適配器算法描述如下。

Queue(i)表示存儲OST_ID為i的數據對象的隊列,隊列的范圍從0到n-1,n是OST的最大數。存儲適配器使用時間片輪轉方法為每個隊列提供服務。Read_object(p,ost)表示從ost中讀取對象p。Insert_object(p,i)表示將數據對象p加入隊列i中。Dispatch_object(p,i)表示將隊列i中的數據對象p發送到本地驅動程序。

Begin

Writing:on arrival of data object p

Queue(i)=hash(object p);

if(there is nothis object exist in this queue)

{if(no free buffers left Queue(i))

{Queue(i)=must_queue;return-1;}

else{Insert_objcet(p,i);return 1;}}

圖5 存儲適配器模型

return 0;

Reading:on arrival of several object requests

m_Object_ID=merge requests by Object ID;

Read_objcet(m_Objcet_ID,OST_ID);

wait for VMs read.

Dispatch:

While(true)do{

if((threshold value==ture)||(Queue(i)==must))

{if(Queue(i)is not empty)

{get a data object from OST_queue;

Dispatch(p,i);}

else if(there is enough slice left to wait for one requests)

{do{wait for data object p;

Dispatch(p,i);}

While(time slice for Queue(i)is enough)}

else{get next queue for service;}}

End

4 實驗結果

4.1 實驗環境

計算服務器采用兩臺聯想Think Server TS430 S1280服務 器,Intel Xeon E3-1200 8核處理器,32 GB內存,兩塊BroadcomNetXtremeⅡ57091Gbit/s以太網卡,6TBSAS6硬盤。

鏡像服務器配備一臺戴爾電腦,Intel Xeon E7550 4核處理器,8 GB內存,380 GB SATA硬盤。

Lustre集群由4臺戴爾電腦組成。每臺電腦配置Intel Xeon E7550 4核處理器、4 GB內存、2塊500 GB SATA西部數據硬盤。

存儲適配服務器配備一臺戴爾電腦、一塊OCZ Vertex3 60 GB的SSD、一塊Highpoint RocketRAID 4320 RAID控制器。

4.2 實驗分析

圖6和圖7分別顯示了在使用HDFS、MooseFS、Lustre和IFSpool作為鏡像存儲池時指定數量的虛擬機平均隨機讀寫速率。從圖6和圖7看到IFSpool具有更好的I/O吞吐量。Lustre和IFSpool結果進一步確認存儲適配器提高了讀寫速率,這證實了存儲適配器能夠提高并行數據訪問速度和降低通信開銷。

圖6 平均讀取速率比較

圖7 平均寫入速率比較

筆者還測試了不同記錄大小的I/O性能。在測試環境中有30個虛擬機同時針對IFSpool作隨機讀寫操作。從圖8和圖9看到存儲適配器能提高讀寫速率,尤其是小的記錄,這也證實了存儲適配器能提高數據訪問速度并行度和有效地減少通信開銷。

在圖10和圖11中,比較了同時啟動或關閉特定數量虛擬機所消耗的時間。在實驗中,每臺虛擬機配置2個VCPU、1 024 MB內存、20 GB磁盤映像和Windows XP,所有虛擬機都是VHD格式,并且都運行在同一臺主機服務器上。當登錄界面出現時,虛擬機啟動完成;當電源關閉時,虛擬機關閉完成。

圖8 不同大小記錄的寫入速率比較

圖9 不同大小記錄的讀取速率比較

圖10 多臺虛擬機同時啟動的時間消耗

圖11 多臺虛擬機同時關閉的時間消耗

從圖10和圖11可以看到當啟動或關閉多臺虛擬機時,IFSpool能比本地磁盤消耗更少的時間,這是由于IFSpool存在并行訪問和緩存機制。

5 結束語

鏡像文件存儲是云計算的關鍵部分。如果實現一個高容量、高可伸縮性和高吞吐量的鏡像文件存儲系統,可以很容易地在不同主機或不同數據中心之間遷移虛擬機以達到負載平衡和節省電能,同時可以通過高I/O吞吐量和高容量存儲池來解決啟動風暴。在本文中,筆者設計并實現一個基于Lustre的存儲系統IFSpool,它可以在無須中斷數據訪問的前提下,通過添加存儲設備來增加存儲容量和I/O帶寬。IFSpool結合隊列和緩存機制,并通過協調數據訪問順序提高I/O吞吐率和減輕啟動風暴。實驗結果也表明IFSpool是有效的鏡像文件存儲系統。

此外,當有成千上萬的用戶時,數據中心會存在大量的冗余數據。未來的工作,將在IFSpool中增加對重復數據刪除的支持。

1 Foster I,Zhao Y,Raicu I,et al.Cloud computing and grid computing 360-degree compared.Proceedings of IEEE Grid Computing Environments Workshop,Austin,TX,USA,2008:1~10

2 Wood T,Shenoy P,Venkataramaniand A,et al.Black-box and gray-box strategies for virtual machine migration.Proceedings of the 4th USENIX Conference on Networked Systems Design&Implementation,Cambridge,MA,2007:1~14

3 Shafer J.I/O virtualization bottlenecks in cloud computing today.Proceedings of the 2nd Conference on I/O Virtualization,USENIX Association Berkeley,CA,USA,2010

4 Hansen J G,Jul E.Lithium:virtual machine storage for the cloud.Proceedings of the 1st ACM Symposium on Cloud Computing,New York,NY,USA,2010:15~26

5 Wang F,Oral S,Shipman G,et al.Understanding Lustre file system internals.Technical Report ORNL/TM-2009/117,Oak Ridge National Lab,National Center for Computational Sciences,2009

6 Mell P,Grance T.NIST definition of cloud computing.National Institute of Standards and Technology,2011

7 Buyya R,Broberg J,Goscinski A.Cloud Computing:Principles and Paradigms.New York:Wiley Press,2011

8 Meyer D,Aggarwal G,Cully B,et al.Parallax:virtual disks for virtual machines.Proceedings of the ACM SIGOPS/EuroSys European Conference on Computer Systems,Glasgow,Scotland,2008

9 Liao X F,Li H,Jin H,et al.Vmstore:distributed storage system for multiple virtual machines.Science China Information Sciences,2011,54(6):1104~1118

10 Dickens P M,Logan J.A high performance implementation of MPI-IO for a Lustre file system environment.Concurrency and Computation:Practice and Experience,2010

11 C asale G,Kraft S,Krishnamurthy D.A model of storage I/O performance interference in virtualized systems.Proceedings of the 1st Int Workshop on Data Center Performance,Minneapolis,MN,2011

12 Vaghani S B.Virtual machine file system.ACM SIGOPS Operating Systems Review,2010,44(4):57~70

13 Rajagopalan S,Cully B,O’Connor R,et al.SecondSite:Disaster Tolerance as a Service.ACM 978-1-4503-1175-5/12/03,London,England,2012

14 Openstack image-service.http://www.openstack.org/projects/imageservice/

15 Gens F.Defining“Cloud Services”and“Cloud computing”.http://www.fiercetelecom.com/story/defining-cloud-computing-servicesbenefits-and-caveats/2012-03-12,2012

主站蜘蛛池模板: 成年人福利视频| 人人91人人澡人人妻人人爽| 女人一级毛片| 国产精品亚洲五月天高清| 伊人91视频| 在线日韩日本国产亚洲| 久久黄色小视频| 欧美成在线视频| 无码精品一区二区久久久| 啪啪国产视频| 亚洲 成人国产| 亚洲国产精品日韩欧美一区| 欧美一级高清片欧美国产欧美| 青草娱乐极品免费视频| 亚洲精品少妇熟女| 2020国产精品视频| 亚洲国产天堂久久综合226114| 国产不卡网| 亚洲无码日韩一区| 91小视频在线| 日韩国产另类| 国产在线精品人成导航| 日韩中文字幕免费在线观看| 青青青国产精品国产精品美女| 欧美专区在线观看| 国模极品一区二区三区| 久久精品丝袜| 久久综合伊人 六十路| 波多野结衣国产精品| 91精品专区国产盗摄| 欧美日本在线| 日韩一区精品视频一区二区| 精品国产一区二区三区在线观看| 国产亚洲视频中文字幕视频| 亚洲成人黄色在线| 97青青青国产在线播放| 国产黄色爱视频| 国模粉嫩小泬视频在线观看| 中文字幕中文字字幕码一二区| 亚洲综合国产一区二区三区| 亚洲国产亚综合在线区| 久久这里只有精品23| 亚洲日本精品一区二区| 伊人无码视屏| 国产剧情一区二区| 欧美一级专区免费大片| 91po国产在线精品免费观看| 亚洲男人的天堂网| 国产手机在线ΑⅤ片无码观看| 熟女视频91| 国产91九色在线播放| 欧美一级99在线观看国产| 亚洲国产日韩欧美在线| 99在线观看精品视频| 中文字幕av无码不卡免费| 国产一区二区影院| 亚洲不卡无码av中文字幕| 亚洲午夜国产精品无卡| 91探花在线观看国产最新| 欧美一区二区人人喊爽| 114级毛片免费观看| 国产jizz| 国产日韩av在线播放| 国产精品香蕉在线观看不卡| 国产AV毛片| 性喷潮久久久久久久久| 欧美成人午夜视频免看| 午夜久久影院| 国产情精品嫩草影院88av| 国产成人禁片在线观看| 国产成人综合久久精品下载| 精品视频免费在线| 91青青草视频| 在线观看免费黄色网址| 无码精品国产VA在线观看DVD| 国产大片喷水在线在线视频 | 日韩小视频在线播放| 国产精品久久久精品三级| 国产对白刺激真实精品91| 久久香蕉欧美精品| 国产香蕉在线| 亚洲国产系列|