一段時間以來,存儲虛擬化又成為了網絡存儲領域的一個熱門話題,但同網絡存儲領域所存在的許多其他問題一樣,眾說紛紜,沒有較為統一的看法,其中也不乏概念上的混淆。從另一個側面來看,也表明了網絡存儲尚處在快速發展時期,有很多問題還值得人們在實踐中進一步去探討。本文所提及的存儲虛擬化,僅涉及與網絡存儲相關的范疇。
“存儲虛擬化”并不是近期才提出的一個新概念,它是伴隨著大型計算機的產生、發展而出現的一個較為經典的概念,但隨著網絡存儲的興起,在新的領域中,存儲虛擬化又被賦予了全新的解讀,不過從存儲的核心功能來看,其本質是具有延續性的。
存儲虛擬化的概念
從廣義的角度看,存儲具有兩大特性: 其一,它是具有存取數據功能的載體; 其二,它具有可管理性。
存儲虛擬化是物理存儲的邏輯表示方法,是在服務器與存儲之間設置的一個抽象層,服務器被綁定到邏輯抽象層上。于是,無論何時如果需要都可以改變所連接的物理存儲,典型的如陣列的替換、層次化存儲等,而不會影響應用對這個存儲的訪問。存儲虛擬化也正是緊緊圍繞著這兩個主要方面展開的。
從狹義的角度看,存儲是具有兩個訪問通道的實體,數據通道和管理通道就是對此的簡單描述。二者在物理上可以是聚合的,也可以是分離的,而存儲虛擬化就相應地發生在這兩個通道上。
在理論上可以認為,相對于原存儲實體,新的存儲實體在數據和管理通道上所進行的任何非恒等的轉換,都是一種存儲虛擬化方法。概括地講,所謂存儲虛擬化可以簡單地描述為: 新存儲實體對原存儲實體的存儲資源(如存儲的讀寫方式、連接方式、存儲的規格或結構等)和存儲管理(如統一、分散管理)進行變化和轉換的過程稱為存儲虛擬化。
存儲虛擬化的技術分類
一般認為存儲虛擬化是有所特指的,大致可以從以下兩大類來劃分:
存儲資源的虛擬化
● 存儲的規格或結構
從早期的磁盤分區到現在具有復雜結構的磁盤陣列,對存儲規格或結構的虛擬化始終作為一種最基本的虛擬化形式而不斷發展,這是存儲虛擬化的一個最為基本的特性之一——可分性。
屬于這一類的存儲虛擬化產物有: RAID、虛擬網絡磁盤等,在可以預見的未來,這類存儲虛擬化方式將伴隨著人們對塊存儲的需求,以及對存儲安全性與性能的不懈追求仍將長期存在,并且適度發展。
在結構虛擬化方面,設備冗余和資源空洞是兩個完全不同的類型,設備冗余可以實現同步、異步鏡像等,而資源空洞主要采用寫時分配的技術,在提高資源利用率方面表現更為突出,它能夠使得呈現給主機的邏輯卷遠大于實際的物理存儲; 而快照技術更是實現了源和快照依賴于相同的存儲資源,形成一種典型的一個虛擬多個的方式。
● 讀寫方式
到目前為止,存儲的讀寫方式可以歸納為四種主要形式: 塊讀寫方式、文件讀寫方式、對象讀寫方式和鍵值搜索讀寫方式,四種形式依次遞進(如圖示意),對存儲的抽象層次不斷提高,使得應用(程序等)對存儲的依賴程度逐漸降低,存儲的智能性不斷提升,進而也就不同程度地實現存儲與應用的分離。在本質上,也就逐步實現了在計算機系統中,處于不活躍地位的存儲與處于活躍地位的計算之間的分離,而歸根結底,其源動力來自于人們對數據共享效率不斷提高的需求。
可以看出,存儲讀寫方式的演進,在客觀上也對存儲規格和結構的發展提出了要求,但存儲讀寫方式的演進并不依存于存儲規格和結構的發展。
在相當長的一段時間內,塊讀寫方式和文件讀寫方式都將繼續占據主流的地位,而其他兩種方式由于受到應用模式和存儲發展等某些關鍵技術的制約,仍將處于產品的緩慢發展和研究的相對快速發展的矛盾過程中。可以預見,隨著對象文件系統、對象操作系統、存儲網格以及搜索引擎和數據安全等技術的不斷發展,基于對象讀寫方式和鍵值搜索讀寫方式的存儲設備、存儲系統、存儲服務將成長為主流方式。
● 連接方式
網絡存儲的連接方式主要有Fibre Channel(FC)、InfiniBand(IB)、IP三種。三種方式各具特色,但總的來說,FC設備在高端存儲系統采用較多; IB設備的高帶寬和高吞吐率在高性能計算領域有相當的優勢,但經歷了Intel、微軟放棄支持和戴爾、IBM與Sun宣布支持的一落一起之后,IB的發展還不明朗; 在性能和標準的制約下,IP網絡存儲長時間在中低端市場徘徊,但由于無處不在的IP網絡和其極具誘惑力的價格,近乎無限的延伸擴展能力,以及傳輸標準和正在快速提升的硬件性能,可以預見IP存儲的市場將會作為企業存儲解決方案的主要選擇之一。
不同的存儲連接方式,也對應著不同的存儲特性,存儲虛擬化技術可以以融合多種連接方式(包括上述三種方式)的優勢,更好地滿足應用的需求。
存儲管理的虛擬化
● 集中管理
網絡存儲發展到今天,出現了很強的旨在體現集中管理的聚合趨勢,大型存儲系統和超大型的存儲系統不斷出現,高性能、高可用、高數據安全性和大容量成為其主要的發展目標。但伴隨而來的是存儲管理的復雜性也一升再升,不同的存儲系統之間無法實現有效地級聯(管理方面),甚至這一現象也出現在同一廠商的系列產品中,進而也使得存儲資源無法實現有效地管理和使用,復雜的管理和相應的高管理成本都阻礙了網絡存儲的發展。
面對這一現實問題,統一存儲管理標準問題愈顯突出,這也是制約存儲虛擬化、乃至于網絡存儲工業發展的關鍵癥結所在。
● 分散管理
在使用存儲的某些特定場合,所虛擬出的資源應具有一定的獨立管理特性。
● 性能的動態調整
在共享網絡帶寬的情況下,虛擬出的多個設備其間的性能可動態調節或可動態配置。
存儲虛擬化系統的結構分類
在網絡存儲領域,實行存儲虛擬化的手段大致可以從兩方面考慮: 一方面,按虛擬化模塊在網絡存儲中的位置劃分為三類: 基于主機、基于網絡和基于存儲設備節點,基于網絡的虛擬化是發展的潮流,這一點,IBM與EMC的觀點是相同的; 另一方面,按虛擬化管理模塊相對于數據通道的位置,劃分為帶內(In-Band)和帶外(out-of-band)管理。
In-Band虛擬化模塊(引擎)位于主機和存儲節點之間的數據通道上,因為位于數據讀寫的關鍵路徑上,所以既有安全性高、實現容易、對主機要求低等優點,又有擴展性差、易形成單點故障等明顯的結構缺點,這通常利用Cache技術來優化性能。
與In-Band不同的是,Out-of-Band虛擬化模塊位于主機和存儲節點之間的數據通道之外,通過其它的網絡連接方式與主機系統通信。于是,在每個主機服務器上,都需要安裝客戶端軟件或者特殊的主機適配卡驅動,相比In-Band方式,這種方式的系統可擴展性很強,虛擬化模塊不會在數據通道上成為單故障點,但其實施難度比較大。