圖1虛擬桌面計算架構

虛擬桌面架構面臨服務器虛擬化所帶來的存儲代價和性能上的挑戰。由于幾十或上百個虛擬桌面整合到一臺物理服務器上,隨著用戶數目的增長和用戶需求的提高,服務器的存儲空間需求會迅速擴展;如果一臺物理服務器上有100個虛擬桌面,每個40 GB的容量就需要創建和維護100個虛擬磁盤鏡像,總共需要4TB的存儲容量。另外,一臺物理服務器往往需要同時啟動和運行多個虛擬機,如何優化虛擬機 I/O訪問來提高存儲性能也是亟待解決的問題,利用虛擬磁盤鏡像中存在大量數據冗余的特性;本文應用重復數據刪除技術來優化虛擬桌面架構的存儲空間利用率,由于數據消重后,數據塊被重復引用頻率不同;本文將被頻繁引用的數據塊存放在數據中心中較傳統硬盤性能高的基于閃存的固態硬盤上,并同時在服務器端通過本地磁盤緩存熱數據以提高虛擬桌面的訪間性能。

1相關工作

1. 1重復數據刪除技術

重復數據刪除技術是一種基于數據冗余度的數據縮減技術.它首先利用一定的數據分塊策略將大的數據對象劃分為若干較小的數據塊,并用數據塊的加密哈希 值作為指紋來標識它們;通過比對數據塊的指紋,我們可以提高存儲系統的空間利用率和網絡系統的帶寬利用率。按重復數據刪除操作時機的不同.可以分為在線重 復數據刪除和離線重復數據刪除.在虛擬桌面架構中,由于即時縮減數據能夠避免不必要的數據傳輸和寫操作,使得在線重復數據刪除更具有優勢.按重復數據刪除 操作粒度的差異,可以分為文件級、塊級甚至字節級重復數據刪除.根據虛擬機磁盤鏡像特點,我們發現塊級在線重復數據刪除技術更適合虛擬桌面存儲的優化。

目前,重復數據刪除技術已被廣泛應用于虛擬機環境.通過分析虛擬機磁盤鏡像的消重效果,發現重復數據刪除技術能夠大量地縮減虛擬機磁盤鏡像存儲空間. Nath等人發現在基于虛擬機的存儲系統中進行塊級重復數據刪除能夠充分利用存儲和網絡資源,Liguori等人對不同操作系統的虛擬機磁盤鏡像進行重復數據刪除效果比較分析,并測試重復數據刪除技術對虛擬機啟動和讀性能的影響, Zhang等人研究了重復數據刪除技術對虛擬機在線遷移的加速效果.本文主要研究如何利用重復數據刪除技術來優化虛擬桌面存儲系統的存儲利用率和I/ O性能。

1.2基于閃存的固態硬盤

基于閃存的固態硬盤是一種非易失性的存儲器,主要由閃存芯片和閃存轉換層構成.它的數據訪問性能介于易失性存儲器DRAM和傳統硬盤之間,價格比 DRAM更便宜.相比于傳統硬盤,因為沒有機械的磁頭運動,其隨機讀性能與順序讀性能同樣快;但由于寫操作之前需要進行代價較高的數據擦除操作,使得寫性能低于讀性能。另外,基于閃存的固態硬盤較DRAM和傳統硬盤具有更低的能耗。

基于閃存的固態硬盤較DRAM具有更高的性價比以及能耗優勢,使得其在數據中心的數據密集型應用中很受青睞.重復數據刪除技術自身是一種密集型的應 用;特別是針對數據塊索引以及數據塊元數據的訪問操作,訪問數據量小但很頻繁.利用基于閃存固態硬盤隨機讀性能的優勢,用其來存儲數據塊索引和元數據能夠 極大地優化存儲系統的訪問性能.由于虛擬磁盤鏡像文件在數據消重后文件數據存儲碎片化,在傳統硬盤上其讀性能很差;本文利用基于閃存的固態硬盤在隨機讀性 能上的優勢來優化虛擬磁盤鏡像文件的讀性能。

2 虛擬桌面存儲優化技術

為了節省硬件的采購成本和經常性的管理開銷,虛擬化技術被廣泛應用于企業數據中心的服務器資源管理,使得每臺物理服務器能夠整合幾十或上百臺虛擬機,從而提高IT資源的利用率.這使得每臺服務器需要管理大量的虛擬磁盤鏡像,而服務器的本地磁盤不足以提供如此大的存儲容量,需要將這些磁盤鏡像存放到一個集中的大容量存儲池,并由多臺服務器所共享.當服務器需要啟動某個虛擬機時,需要從存儲池將虛擬磁盤鏡像讀到服務器的本地磁盤來運行.利用虛擬磁盤鏡像之間數據高度冗余的特性,我們應用重復數據刪除技術來縮減虛擬磁盤鏡像的存儲空間需求,同時減少服務器與存儲池之間的I/O操作以提高虛擬機啟動性能. 如圖2所示,基于重復數據刪除技術的虛擬桌面基礎架構其I/O由4層構成,包括最上層是虛擬機監控器(也叫Hypervisar)實現的I/O虛擬層、重復數據刪除引擎構成的重復數據刪除層、服務器本地磁盤實現的本地磁盤緩存層以及共享存儲池充當的主存儲層。

圖2基于重復數據刪除技術的虛擬桌面架構

虛擬機監控器Hypervisor是位于硬件資源和操作系統之間的系統軟件層,允許多個操作系統和應用共享底層的硬件,使得同一物理服務器上能夠虛 擬出多個虛擬桌面,Hypervisor不但協調著這些硬件資源的訪問,也同時通過資源隔離在各個虛擬機之間施加防護,目前市場主流的 Hypervisor有VMware的ESX Server、微軟的Hype—V以及Citrix的Xen Server等。

重復數據刪除引擎包括數據分塊、指紋計算、索引查詢/更新以及數據存儲4個模塊,由于塊級的重復數據刪除技術能夠很好地兼顧存儲空間利用率和系統開 銷,本文采用塊級消重來優化虛擬機磁盤鏡像存儲;并將重復數據刪除引擎設計為Hypervisor下的一個模塊,使得上層的數據I/O請求都必須經過重復 數據刪除層過濾,避免重復數據塊的寫操作,以及重復數據塊從共享存儲池到服務器的讀人操作,通過支持多個虛擬機磁盤鏡像進行在線重復數據刪除,以優化存儲 利用率和虛擬機啟動性能,在多服務器環境下,還可以通過支持全局的數據塊指紋索引進行全局重復數據刪除來迸一步提高數據縮減率。

虛擬桌面基礎架構在啟動虛擬機時,需要從共享存儲池將虛擬磁盤鏡像讀人到服務器,而不是從本地磁盤讀取,往往因為受網絡帶寬或者存儲池I/0性能的 影響,使得其啟動性能低,利用數據訪問的局部性原理,類似于Parallax系統,我們允許虛擬機將數據寫到在服務器本地磁盤緩存上,而不需要與共享存儲 池交互,直到本地磁盤緩存填滿才將一部分數據寫到存儲池,利用重復數據刪除層帶來的優勢,服務器本地磁盤能夠存放更多的虛擬機數據。這樣,可以降低重復數 據刪除技術對虛擬機I/O性能的影響,極大地提高虛擬機的啟動速度。

重復數據刪除技術能夠消除虛擬機磁盤鏡像存儲中的大量冗余,提高存儲空間的利用率,但也使得虛擬機磁盤鏡像文件在存儲池內的存放變得不連續,從而嚴 重影響其讀性能,基于閃存的固態硬盤,相比于傳統的硬盤具有很好的隨機讀性能以及能耗優勢,使得固態硬盤被一些重復數據刪除系統所采用以優化其吞吐量,另 外,相似虛擬磁盤鏡像之間具有大量相同內容的數據塊,使得重復數據刪除后,這些數據塊的重復引用次數較其他數據塊更高,利用固態硬盤較傳統硬盤在隨機讀性 能上的明顯優勢,我們在存儲池中采用基于閃存的固態硬盤來存儲重復引用次數較高的數據塊以優化其讀性能。

3實驗結果與分析

我們通過2000多行C++代碼實現了重復數據刪除引擎模塊,并基于真實的虛擬機磁盤鏡像來測試重復數據刪除技術對基于VMware虛擬桌面原型系統下的存儲系統容量和性能的影響,在本文的實驗環境中,我們以一臺單機作為服務器,其配置為2.53 GHz Intel Core 2 Duo處理器,4GB內存容量,250GB SATA硬盤;并通過千兆以太網連接個由2塊硬盤(Western Digital 160 GB WD1600AAJS SATA)、1塊固態硬盤(Kingston 64GB SSDNovgV100 Series 2.5”SATA II)構成的RAIDo磁盤陣列系統作為存儲池,基于4種不同的操作系統虛擬機磁盤鏡像,采用了3種不同的重復數據刪除技術分別進行測試。

通過對Windows XP,Ubuntu,Fedora和Centos等4種不同操作系統的虛擬機鏡像分別進行全文件分塊(WFC)、靜態分塊(SC)以及基于內容分塊 (CDC)3種重復數據刪除技術測試;并為塊級重復數據刪除技術選取8 KB的平均分塊大小,對于變長分塊的CDC策略,我們采用TTTD算法,并且將分塊的大整除因子作為平均分塊大小,小整除因子設為平均分塊大小的一半,上界規定為平均塊大小的兩倍,下界為平均塊大小的1/4,如圖3所示,Base為消重前原始文件大小,WFC,SC和CDC分別代表3種重復數據刪除策略, 從實驗結果中我們發現不同操作系統的虛擬磁盤鏡像自身的冗余度有差別;Windows XP的冗余度最高,而Centos的冗余度最低,不同的重復數據技術對虛擬機磁盤鏡像的消重效果差別較大;基于靜態分塊的重復數據刪除機制較其他兩種都具有更高的數據縮減率,基于全文件分塊的重復數據刪除技術消重效果最差,僅有極其微小的數據縮減量,通過分析這4種不同虛擬磁盤鏡像的重復引用計數與相應分類中的數據容量關系,如圖4所示,我們發現虛擬機鏡像內部數據塊的重復引用數與相應的數據容量按對數成反比例。

圖3單個虛擬磁盤鏡像的消重效果比較

圖4重復引用次數與數據存量的關系

由于文件級別的重復數據刪除技術對虛擬機磁盤鏡像的數據縮減效果很不明顯,我們來研究塊級別的重復數據刪除技術,它相比于字節級別的數據縮減技術往 往具有較小的開銷和更好的擴展性,如圖5所示,通過比較定長塊大小的靜態分塊(SC)策略和變長塊大小的基于內容劃分(CDC)策略兩種重復數據刪除技術 的數據縮減效果,發現隨著(平均)分塊大小的遞增,重復數據刪除的效果越差;相比于CDC策略,SC策略能獲得更高的數據縮減率,為了平衡重復數據刪除技 術對存儲系統I/O吞吐量的影響,我們需要考慮重復數據刪除技術的效率,定義重復數據刪除效率為減少的數據量與消重過程的時間開銷之比,當然這是在同一實 驗平臺上進行比較,如圖6所示,通過比較兩種重復數據刪除技術的消重效率,發現CDC的消重效率只有sc消重效率的1/6左右,SC的最優分塊大小為 4KB,而CDC的最優分塊大小為2 KB,通過上述分析,我們發現SC策略較CDC策略更適合于虛擬機磁盤鏡像的重復數據刪除過程,具有更高的數據縮減率和重復數據刪除效率。

圖5塊級重復數據刪除技術消重效果

圖6塊級重復數據刪除技術消重效率

為了研究重復數據刪除技術對虛擬桌面存儲空間的優化效果,我們利用基于靜態分塊(SC)的重復數據刪除技術對7個相似Windows XP虛擬機磁盤鏡像進行了消重,實驗結果如圖7所示,隨著相似虛擬機磁盤鏡像數目的增加,重復數據刪除技術能夠獲得越高的數據縮減率,并且能將7個虛擬機磁盤鏡像的存儲空間需求降低85%,隨著相似虛擬機磁盤鏡像數目的增加數據冗余度也隨之改變,如圖8所示,DT代表左邊的重復數據刪除吞吐量,DR代表右邊的數據縮減率;由于重復數據刪除技術能夠避免很多不必要的數據寫操作,使得虛擬機磁盤鏡像的寫吞吐量隨著冗余度的增(減)而升(降)。

圖7靜態分塊消重優化虛擬桌面存儲

圖8數據冗余度與重復數據刪除吞吐量的關系

通過測試虛擬機的啟動時間,我們來評估優化策略對虛擬桌面存儲系統的性能影響,受服務器配置性能影響,我們只啟動前面連續存放了的7臺 Windows XP虛擬機中的前3臺相似的虛擬機VM1,VM2和VM3,如圖9所示,對比沒有重復數據刪除技術支持且無任何優化的虛擬桌面存儲系統(Naive),重 復數據刪除技術(Dedupe)在節省存儲空間的同時影響了存儲系統性能,使得虛擬機的平均啟動時間增加了1倍;通過設置1 GB本地磁盤緩存(LDC)的優化,基于重復數據刪除技術的虛擬桌面存儲系統能夠將虛擬機的啟動時間減少30%,特別是對虛擬機VM1啟動速度的提升;而 通過加入SSD存放重復引用次數大于等于7的數據塊來優化存儲池I/O性能,即使不采用本地磁盤緩存,基于重復數據刪除的虛擬桌面存儲系統能夠提升28% 的性能;如果將兩種優化策略結合(Opt-Dedupe)來優化基于重復數據刪除技術的虛擬桌面存儲系統,總的性能提升可達到35%。

圖9虛擬桌面存儲系統性能對比

4結論與展望

虛擬桌面技術已成為一種重要的云計算應用,針對虛擬桌面存儲中具有大量數據冗余的特性,本文基于重復數據刪除來縮減虛擬桌面基礎架構的存儲空間需 求;為了改進重復數據刪除技術自身的I/O性能瓶頸,我們通過服務器本地的磁盤緩存以及基于閃存的固態硬盤在共享存儲池內存儲重復引用次數較高的數據塊以 優化虛擬機的性能,通過實驗測試我們總結出:靜態分塊策略較基于內容分塊的策略更適合虛擬桌面存儲進行重復數據刪除,其最優的分塊大小為4 KB,可以縮減85%的存儲空間容量;通過服務器本地磁盤緩存和基于閃存的固態硬盤進行I/O優化,虛擬機的啟動速度能夠獲得35%的提升,下一步的研究 工作我們將考慮在多個服務器環境下如何高效地進行重復數據刪除,以及如何設計數據塊索引來提升I/O吞吐量。

未經允許不得轉載:存儲在線-存儲專業媒體 » 基于重復數據刪除虛擬桌面存儲優化技術
分享到

wangzhen

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走