冀 鳴 朱 江 曹 雄 楊志成
?
基于云計算的存儲虛擬化技術研究
冀 鳴 朱 江 曹 雄 楊志成
(廣東凱通科技股份有限公司 廣東 510000)
隨著信息技術的發(fā)展,云計算技術已經(jīng)成為當今國內(nèi)外開發(fā)與研究的重點方向?;谠朴嬎愕奶摂M化技術主要包括服務虛擬化、存儲虛擬化、應用虛擬化、桌面虛擬化。對云計算下的存儲虛擬化技術的研究有利于更加合理地分配存儲資源,促進云計算技術的研究發(fā)展。本文首先介紹了云計算的概念以及主要技術要點,并結(jié)合云計算虛擬化技術對的存儲虛擬化的實現(xiàn)方式進行分析,最后分析實現(xiàn)存儲虛擬化的關鍵技術及一些解決方法。
云計算;虛擬化;存儲虛擬化
隨著信息技術的發(fā)展,特別是大數(shù)據(jù)時代的到來,數(shù)據(jù)快速增長對業(yè)務和應用的要求不斷提高,IT系統(tǒng)規(guī)模日益龐大。而現(xiàn)有的服務器和存儲系統(tǒng)等設備都沒有被充分利用,采用的技術和基礎架構(gòu)不統(tǒng)一,造成系統(tǒng)資源不能有效適應業(yè)務要求。針對這一現(xiàn)狀,云計算技術應運而生。
云計算將網(wǎng)絡中的硬件設施、軟件技術和計算機網(wǎng)絡應用服務等各種資源整合成一個大的資源池,并以新的計算模式和方法,對用戶提供按需定制服務,包括基礎設施服務、軟件服務、應用服務。云計算的出現(xiàn),改變了傳統(tǒng)信息服務的提供方式,其資源可以無線擴張,并及時獲取,按需使用,具有很大研究價值和商業(yè)價值。在云計算中,研究重點就是計算機的虛擬化,虛擬化技術是將各種計算及存儲資源充分整合和高效利用的關鍵技術,通過虛擬化技術可以實現(xiàn)資源的虛擬計算[5][7]。
虛擬化技術是云計算的基礎,是一種將各種計算及存儲資源整合后有效分配利用的方法。虛擬化技術將各種資源包括硬件、軟件、數(shù)據(jù)、網(wǎng)絡、存儲等統(tǒng)一抽象成虛擬資源。進行虛擬化后的資源,可以實現(xiàn)容量擴展和縮小、軟件配置簡單以及架構(gòu)動態(tài)化,并能集中管理和動態(tài)使用物理資源及虛擬資源,從而提高系統(tǒng)結(jié)構(gòu)的彈性和靈活性[3]。
云環(huán)境中的虛擬化技術主要有服務器虛擬化、存儲虛擬化、應用虛擬化和桌面虛擬化,不同種類的虛擬化技術從不同的角度解決不同的系統(tǒng)性能問題。在數(shù)據(jù)量快速增長的今天,特別是在云環(huán)境下,存儲設備及數(shù)據(jù)存儲方式的多樣性,為了進一步提高數(shù)據(jù)存儲系統(tǒng)的性能以保障數(shù)據(jù)的安全性和完整性,需要對存儲虛擬化技術的研究做進一步加深。
云計算環(huán)境下的存儲虛擬化是把多個存儲介質(zhì)模塊通過虛擬化技術集中管理起來,將所有存儲模塊集中在一個存儲池中進行統(tǒng)一管理,從而實現(xiàn)對同構(gòu)或異構(gòu)的多個存儲設備的統(tǒng)一管理存儲系統(tǒng),并能將存儲器的物理管理與邏輯管理進行分離,達到存儲器的透明化訪問[6]。
在存儲虛擬化的實現(xiàn)上,可分為兩種方式:帶內(nèi)虛擬化和帶外虛擬化。可在三個層次上實現(xiàn),分別為基于主機的存儲虛擬化、基于存儲設備的存儲虛擬化、基于網(wǎng)絡的存儲虛擬化。最終可實現(xiàn)的結(jié)果為:塊虛擬化、磁盤虛擬化、文件系統(tǒng)虛擬化、文件或記錄虛擬化和磁帶、磁帶驅(qū)動器虛擬化。
圖1為云計算環(huán)境下存儲虛擬化的實現(xiàn)模式。
圖 1云計算環(huán)境下存儲虛擬化實現(xiàn)模式
云計算環(huán)境下的存儲虛擬化技術的特點包括以下三點:
(1)管理集中化。云環(huán)境下的存儲虛擬化通過存儲軟件集中管理,既能簡化管理操作又能提高存儲效率。
(2)通用性。云環(huán)境下的存儲虛擬化技術打破了各個存儲設備廠商之間的界線,用戶有更多的產(chǎn)品可以選擇。
(3)透明性。云計算環(huán)境下的存儲虛擬化技術將各種異構(gòu)存儲設備整合成統(tǒng)一資源池,使得用戶在使用存儲產(chǎn)品過程中無需太多考慮存儲容量等問題,虛擬化使得用戶的存儲空間可以動態(tài)伸縮,提供了近乎于無限的存儲空間。
由于存儲設備的種類很多,不同設備使用方法不同,存儲數(shù)據(jù)的方式也有較大的差異,所以要高效的管理這些設備比較困難。而虛擬化技術剛好為解決存儲設備管理效率問題提供了一種有效的方案,通過虛擬化技術將各種異構(gòu)的存儲資源整合在一起,采用Striping、LUN Masking等技術對存儲資源池進行操作,實現(xiàn)存儲池動態(tài)增長和按需分配,使存儲系統(tǒng)具備更好的兼容性、擴展性和可靠性。
存儲虛擬化技術按照實現(xiàn)的原理可以分為三個層次,分別是:基于主機的存儲虛擬化、基于存儲設備的存儲虛擬化、基于網(wǎng)絡的存儲虛擬化[4]。
2.1 基于主機的存儲虛擬化
基于主機的存儲虛擬化是通過在服務器操作系統(tǒng)中安裝存儲虛擬化軟件來實現(xiàn)的,一般由服務器操作系統(tǒng)中的邏輯卷管理器(LVM)軟件完成,通過邏輯卷把分布在多機上的物理存儲設備映射成一個統(tǒng)一的邏輯虛擬存儲空間,可實現(xiàn)系統(tǒng)級和應用級的多機間存儲共享。邏輯卷管理系統(tǒng)實際上是一個從物理存儲設備映射到邏輯卷的虛擬化存儲管理層,服務器只需要處理邏輯卷,而不需要直接去控制管理這些獨立的物理存儲設備。
圖2基于主機的存儲虛擬化
一種云計算環(huán)境下基于主機的存儲虛擬化結(jié)構(gòu)如圖2所示。
基于主機的存儲虛擬化只需在應用服務器端安裝卷管理驅(qū)動模塊就可以完成存儲虛擬化的過程,不需要任何附加硬件,使這種存儲虛擬化技術具有容易實現(xiàn)、設備成本低、同構(gòu)平臺下性能高等特點。
但是它也有缺點:(1)安裝存儲虛擬化軟件會給操作系統(tǒng)帶來一定的開銷,降低應用性能;(2)升級、維護和擴展非常復雜,而且容易造成系統(tǒng)不穩(wěn)定;(3)對操作系統(tǒng)的依賴性較大,使得虛擬化系統(tǒng)不能兼容不同的平臺,移植性較差。
2.2 基于存儲設備的存儲虛擬化
基于存儲設備的存儲虛擬化是在存儲控制器上添加虛擬化功能,通過特定的算法或者映射表把邏輯存儲單元映射到物理設備之上,將不同的存儲系統(tǒng)融合在一起,形成基于存儲設備控制器的存儲虛擬化應用平臺。典型的例子是在智能磁盤子系統(tǒng)中的塊級虛擬化,通過采用邏輯單元號掩蓋和各樣的I/O通道向多個服務器提供存儲功能。
通過存儲設備控制器上存儲虛擬化平臺可以在存儲系統(tǒng)不停機的情況下,實現(xiàn)存儲資源池的遷移,并且可以在不同類型存儲設備之間進行數(shù)據(jù)復制,使用戶在數(shù)據(jù)管理方面更簡單透明。通常的企業(yè)級存儲陣列通過RAID和鏡像提供低級虛擬化,有些產(chǎn)品也支持高級功能,可以實現(xiàn)對服務器完全透明,并且無需在服務器上面安裝任何代理軟件。
一種云計算環(huán)境下基于存儲設備的存儲虛擬化結(jié)構(gòu)如圖3所示。
圖 3基于存儲設備的存儲虛擬化
由于這種虛擬化技術沒有統(tǒng)一標準,一般只適用于特定廠商的產(chǎn)品,不同廠商的數(shù)據(jù)管理功能不能互相操作,使得異構(gòu)產(chǎn)品間很難實現(xiàn)存儲級聯(lián),所以這種存儲虛擬化產(chǎn)品的可擴展性比較差,近期也有一些研究成果采用基于目錄的虛擬化方式[1]來克服這些不足。
2.3 基于網(wǎng)絡的存儲虛擬化
基于網(wǎng)絡的存儲虛擬化是在網(wǎng)絡層添加虛擬化管理設備,抽象化服務器與存儲陣列之間的實際存儲資源,使用得服務器可以靈活高效的使用共享存儲資源。比較典型的網(wǎng)絡虛擬存儲技術包括網(wǎng)絡附加存儲NAS(Network Attached Storage)和存儲區(qū)域網(wǎng)絡SAN(Storage Area Network)?;诰W(wǎng)路的虛擬存儲化技術是當前存儲虛擬化的主流技術,是實現(xiàn)虛擬存儲中最具有邏輯含義的部分,被認為是存儲虛擬化中最為“開放”的虛擬化。近年來各家存儲廠商都研發(fā)了各自的基于網(wǎng)絡的存儲虛擬化設備[8][9]。
在實現(xiàn)上主要有三種方式:第一種是基于互聯(lián)設備的虛擬化,分為對稱虛擬化結(jié)構(gòu)和非對稱虛擬化結(jié)構(gòu);第二種是基于交換機的虛擬化,將虛擬化功能模塊嵌入到交換機固件中或者運行在于交換機相連的主機上,對與交換機相連的存儲設備進行管理;第三種是,基于路由器的虛擬化,通過將虛擬化功能模塊嵌入到路由器固件上,實現(xiàn)虛擬化。
圖 4基于網(wǎng)絡的存儲虛擬化
一種云計算環(huán)境下基于網(wǎng)絡的存儲虛擬化結(jié)構(gòu)如圖4所示。
基于網(wǎng)絡的存儲虛擬化技術提供了統(tǒng)一的異構(gòu)存儲管理接口,支持異構(gòu)主機、異構(gòu)存儲設備間的同步數(shù)據(jù)復制和遠程異步數(shù)據(jù)復制,能使不同存儲設備的數(shù)據(jù)管理功能統(tǒng)一,可擴展性比較好。但是也存在部分廠商數(shù)據(jù)管理功能弱,產(chǎn)品成熟度較低,使得數(shù)據(jù)管理難度增大,存儲設備與主機之間的不兼容等問題。
存儲虛擬化的核心工作是實現(xiàn)異構(gòu)存儲設備到虛擬存儲池的映射,屏蔽不同物理設備的特性,使用戶可以根據(jù)需求對資源池任意劃分,并分配給特定的主機和應用程序。由于存儲網(wǎng)絡的復制性,存儲虛擬化技術在實現(xiàn)上的難度較大。下面是實現(xiàn)存儲虛擬化需要解決的幾個關鍵技術:
(1)異構(gòu)存儲介質(zhì)的互聯(lián)和統(tǒng)一管理。存儲虛擬化的核心任務是實現(xiàn)真正意義上的存儲設備的透明性,及兼容多種類型的存儲設備,屏蔽它們的不同物理屬性并向用戶提供統(tǒng)一的訪問方式。但是,不同存儲網(wǎng)絡環(huán)境常包含不兼容的技術和標準,即使是在同一個SAN內(nèi)都可能出現(xiàn)不同操作系統(tǒng)的服務器和不同類型存儲設備。要解決這個問題,則要選擇一個好的虛擬化系統(tǒng),能兼容多種協(xié)議并屏蔽各類設備的差異性,從而簡化邏輯存儲設備的管理。
(2)數(shù)據(jù)的共享沖突與一致性。存儲虛擬化的另一個主要功能是實現(xiàn)數(shù)據(jù)共享,這就要求不同物理存儲設備間及不同操作系統(tǒng)間的數(shù)據(jù)能互相拷貝,此外還需防止不同操作系統(tǒng)所帶來的存儲共享沖突和并行I/O訪問沖突??梢栽谥鳈C與虛擬存儲池之間添加Cache以減少I/O次數(shù)。當然Cache機制也存在一致性問題,所以需要良好的鎖機制算法和Cache一致性等技術來保證數(shù)據(jù)的完整性。
(3)數(shù)據(jù)的容錯容災。存儲虛擬化要保證數(shù)據(jù)的完整性必須建立容錯容災機制,當存儲系統(tǒng)出現(xiàn)誤刪、單點失效甚至是意外災難時都能保障數(shù)據(jù)恢復,防止數(shù)據(jù)丟失。為此,應實現(xiàn)多種機制下的數(shù)據(jù)備份或者基于糾刪碼機制對數(shù)據(jù)進行編碼存儲,以達到數(shù)據(jù)系統(tǒng)容錯容災及自動恢復等功能。
(4)性能優(yōu)化和負載均衡。不同應用有不同的數(shù)據(jù)訪問特性,存儲系統(tǒng)應該從全局的觀點并根據(jù)不同的存儲設備的存儲特性來優(yōu)化存儲系統(tǒng),根據(jù)用戶對數(shù)據(jù)的請求,設計I/O均衡策略,實現(xiàn)對數(shù)據(jù)的按需存取??梢酝ㄟ^數(shù)據(jù)的主動存儲和數(shù)據(jù)的過預取策略來提高用戶對數(shù)據(jù)的訪問效率,也可以采用基于存儲對象的存儲主動服務策略來提高對數(shù)據(jù)存儲的預測,從而優(yōu)化存儲系統(tǒng)的性能。
(5)數(shù)據(jù)安全。由于存儲網(wǎng)絡中數(shù)據(jù)的透明性,必須對數(shù)據(jù)的訪問加以控制,防止數(shù)據(jù)被越權訪問或者惡意攻擊。為了數(shù)據(jù)的安全性,虛擬化管理軟件可以通過多樣的訪問策略來保證安全,如基于密鑰的認證管理和數(shù)據(jù)加密策略或者是在存儲體之上加入一層可信的管理層節(jié)點[2]。
雖然虛擬化技術已經(jīng)得到了較大的發(fā)展,但是不同企業(yè)的用戶類型不同,存儲策略也相應的不同。企業(yè)需要把自己的現(xiàn)有的存儲資源、存儲技術和存儲虛擬化技術相關聯(lián)并應用與云環(huán)境中,從而找到適合自己的存儲策略,以更好地利用資源、簡化管理。有一點需要注意的是數(shù)據(jù)存儲的安全問題,特別是在大數(shù)據(jù)云計算環(huán)境中,數(shù)據(jù)的存儲地方與數(shù)據(jù)被誰訪問,數(shù)據(jù)的存放是否安全問題這些問題都是在云計算環(huán)境中需要進一步解決的存儲安全問題。
[1] Joukov N,Krishnakumar A M,Patti C,et al. RAIF:Redundant Array of Independent Filesystems. IEEE Conference on MASS Storage Systems and Technologies. IEEE Computer Society,2007.
[2]Zhang M,Zhang D,Xian H,et al. Towards A Secure Distribute Storage System[J],2008.
[3]葉娟.試論云計算中虛擬化技術的應用[J].計算機光盤軟件與應用,2012.
[4]譚生龍.存儲虛擬化技術的研究[J].微計算機應用,2010.
[5]朱光磊.云存儲技術的發(fā)展應用趨勢探析[J].電腦知識與技術,2011.
[6]Tom Clark. Storage Virtualization[J]. Addison-Wesley, 2007.
[7]Zhang S,Zhang S,Chen X,et al. Cloud Computing Research and Development Trend[C]// Second International Conference on Future Networks. IEEE Computer Society,2010.
[8]Li B,Shu J,Zheng W. Design and Implementation of a Storage Virtualization System Based on SCSI Target Simulator in SAN[J].清華大學學報自然科學版(英文版),2005.
[9]Xiao D,Shu J,Xue W,et al. TH-VSS:An Asymmetric Storage Virtualization System for the SAN Environment[J]. Lecture Notes in Computer Science,2005.