首先,必須搞清楚,存儲虛擬化不是服務(wù)器虛擬化。作此聲明看來非常重要,因為服務(wù)器虛擬化在IT部門應(yīng)用如此廣泛,以致有時會將兩者混淆。
那么什么是存儲虛擬化,以及存儲虛擬化的好處又是什么?定義起來非常容易,但存儲虛擬化的定義太過抽象,因其涵蓋了多個產(chǎn)品和技術(shù)領(lǐng)域。
存儲網(wǎng)絡(luò)工業(yè)協(xié)會(SNIA)技術(shù)指導文檔對存儲虛擬化的定義如下:
通過將存儲(子)系統(tǒng)或存儲服務(wù)的內(nèi)部功能隱藏,抽象和與應(yīng)用,主機或通用網(wǎng)絡(luò)資源的隔離,從而實現(xiàn)對存儲和數(shù)據(jù)的應(yīng)用以及網(wǎng)絡(luò)無關(guān)的管理。
這是一個合理的定義,不過它潛在的應(yīng)用卻十分廣泛。假定將其歸納為:隱藏最底層的具體功能以支持更高一層的抽象和虛擬化,那么它可以應(yīng)用到許多存儲相關(guān)的場景。
例如,將物理磁盤地址(CHS-柱面,磁頭和扇區(qū))轉(zhuǎn)換為邏輯塊地址(LBA)以供OS文件系統(tǒng)使用就是存儲虛擬化的一個例子。同樣,RAID也是如此,多個物理磁盤驅(qū)動器作為一個或多個磁盤分配給用戶,而驅(qū)動器號卻與物理磁盤并非一致。在SNIA文檔中還給出了其它的一些例子,如虛擬磁帶庫和網(wǎng)絡(luò)文件系統(tǒng)的使用譬如NFS和CIFS。
這幾類例子在最基本的層面很好的闡述了存儲虛擬化的含義,不過在談到RAID或NFS時,沒有人真正將其視為存儲虛擬化。
存儲虛擬化的益處及產(chǎn)品
相反,業(yè)內(nèi)的大多數(shù)人認為存儲虛擬化是一種可以將多個存儲磁盤系統(tǒng)集成,并作為單一實體管理的硬件或軟件產(chǎn)品,通常位于主機上,位于網(wǎng)絡(luò)中的硬件裝置中或作為磁盤陣列或LAN交換機上的一項功能。例如,它可以將許多SAN磁盤陣列看作一個整體向外分配磁盤而不必考慮磁盤驅(qū)動器的物理位置,或相對于獨立的未連接的磁盤系統(tǒng)提供更高的可用性。
它也可以實現(xiàn)設(shè)備之上的功能,如在存儲層之間實現(xiàn)數(shù)據(jù)的自動移動以及促進數(shù)據(jù)保護功能如快照和持續(xù)數(shù)據(jù)保護(CDP)的實現(xiàn)。
運行在網(wǎng)絡(luò)層的存儲虛擬化設(shè)備分為帶內(nèi)和帶外兩種類型,依據(jù)數(shù)據(jù)和元數(shù)據(jù)是否選擇相同或不同的路徑通過設(shè)備而定。
基于主機的存儲虛擬化,依賴于服務(wù)器上的軟件,并不被視為帶內(nèi)或帶外方式。有時也稱為卷管理器,可以將多個磁盤做為單一資源提供或按照需要切分。
基于磁盤陣列的存儲虛擬化同樣也不屬于帶內(nèi)或帶外這一分類。HDS USP子系統(tǒng)控制器是基于磁盤陣列存儲虛擬化的一個例子,它可以將HDS存儲和其它廠商的存儲整合在一起。
帶內(nèi),或共享路徑方式存儲虛擬化產(chǎn)品,在設(shè)備內(nèi)同時傳輸數(shù)據(jù)和元數(shù)據(jù)。它可以實現(xiàn)文件的實時遷移以及將多個NAS設(shè)備和SAN陣列整合為一個存儲池。帶內(nèi)方式的不利一面是延遲的增加和潛在的單點故障,這也意味著這些產(chǎn)品通常需要成對部署。帶內(nèi)存儲虛擬化產(chǎn)品包括 Avere OS、EMC Rainfinity、F5 ARX、IBM SAN Volume Controlle和NetApp V系列。
帶外,或分離路徑方式存儲虛擬化產(chǎn)品,將數(shù)據(jù)和元數(shù)據(jù)分離開來,也提供與帶內(nèi)產(chǎn)品類似的好處。它可以無中斷的部署到網(wǎng)絡(luò)中,如果設(shè)備失效,也不會阻塞對文件的訪問。不過,它們的確需要代理并對其進行管理。帶外存儲虛擬化產(chǎn)品包括AutoVirt,Avere OS、EMC Invista和LSI存儲虛擬化管理器。
另外一個產(chǎn)品分類,我們認為應(yīng)該包含在存儲虛擬化產(chǎn)品的核心圈中,它就是虛擬存儲硬件裝置。這類產(chǎn)品-存在硬件和軟件兩種形式-允許用戶使用服務(wù)器磁盤,白盒磁盤陣列和多個廠商陣列創(chuàng)建類似于SAN的存儲池。這類產(chǎn)品位于磁盤資源之上,并將資源集中并實現(xiàn)磁盤供應(yīng)和數(shù)據(jù)保護功能。虛擬存儲硬件裝置的廠商包括HP LeftHand、Pivot3、Seanodes、FalconStor(NSS)、Caringo和DataCore。