“虛擬”是新千年里最為流行的詞語,人們常常會接觸到虛擬現實、虛擬醫(yī)院、虛擬圖書館、虛擬大學等等。還有虛擬的寵物、虛擬博物館、虛擬角色、虛擬……
虛擬,《美國傳統(tǒng)辭典(雙解)》的解釋是雖然沒有實際的事實、形式或名義,但在實際上或效果上存在或產生的。
在信息技術領域,數據存儲是最早應用虛擬這個概念的。早在十幾年前存儲系統(tǒng)就被描述為虛擬磁盤機。隨后針對磁盤組或者多個磁盤條帶的邏輯卷管理、虛擬磁帶機和虛擬磁帶也陸續(xù)進入應用領域。虛擬在存儲領域的發(fā)展目標就是虛擬在線存儲。
什么是虛擬存儲呢?單純從虛擬的概念上來講,對一個對象的虛擬就是創(chuàng)建一個新的對象使其具備其源對象的重要屬性和特征,而不是源對象的完全的“拷貝”。那么存儲設備的公共基本特征是什么呢?標準的數據存儲設備包括了磁盤、磁帶、磁帶機等。它們公共的本質特點就是能夠永久地保存數據,并保障數據能夠被用戶調用。其它的非公共特征還包括了設備的大小、能量消耗、性能指標、存儲容量等。這些特征根據設備的不同而不同,單是其公共特征并沒有隨著設備不同而改變。因此虛擬存儲就是整合各種存儲物理設備為一整體,提供永久保存數據并提供能被用戶調用的功能,即在公共控制平臺下存儲設備的一個集合體。
虛擬存儲設備在物理上并不村在,它只是在計算機中表現出同類物理存儲設備的特性,并按照這些特性相應I/O請求。用戶的數據操作在虛擬存儲設備上完成,并不需要關心后臺實際的物理設備是什么,如何組織等等。任何種類的計算機存儲設備和數據對象都可以被虛擬。下圖描述了SNIA(存儲網絡工業(yè)協會)制定的虛擬存儲和數據對象分類。圖中第一行表示了虛擬的對象,中間表示在系統(tǒng)的那一層實現虛擬化,底層表示虛擬的具體技術選擇。在本文后面將詳細闡述每一層次的內容。
虛擬存儲的意義
數據存儲設備用戶基本上都是從性能、可用性、價格和易于管理幾個方面評測存儲設備。虛擬存儲在這四個方面都能有效地提升存儲系統(tǒng)的性能。
I/O 性能:數據訪問和傳輸速度越來越多地決定了計算機應用的質量。比如說,如果數據不能夠按照視頻媒體播放器的要求速度傳遞到客戶端,那么視頻點播系統(tǒng)就不可能實現;如果信用卡數據庫信息不能夠及時更新,那么整個金融服務體系將會陷入混亂。虛擬技術可以通過“Stripe”實現數據地址在多個存儲設備上帶狀分布和拆分實現并行的讀寫,最終達到整個存儲系統(tǒng)面向應用的整體I/O性能的提高。
可用性:信息化的社會越來越要求信息系統(tǒng)能夠在7*24的條件下保持在線狀態(tài)。系統(tǒng)故障引起的應用服務的不順暢給企業(yè)和個人帶來的損失和不便將越來越不能容忍,尤其是在重要的部門和行業(yè),如能源、交通、公共安全、金融等,數據的價值已經不能夠估量。他們對存儲系統(tǒng)得可用性的要求比以往更高。虛擬技術可以通過鏡像技術實現對單一數據在多個存儲介質上創(chuàng)建副本防止因個別存儲介質的損壞對整個系統(tǒng)得影響,確保系統(tǒng)的高可用性。
存儲容量成本:著磁盤存儲設備的價格降低,在各個領域存儲系統(tǒng)的消費不斷增加。但是由于對數據安全的要求的不斷提高,鏡像和遠程數據復制遷移形式的虛擬存儲應用增加更為迅速。從而存儲容量成本依舊是一個重要的衡量因素。虛擬技術可以通過聚合多個存儲設備的空間和根據不同服務器需要重新部署存儲空間的分配實現現有存儲空間的高利用率,避免不必要的設備開支。
可管理性:目前的普遍的信息技術應用都存在著隨著系統(tǒng)復雜度的增加系統(tǒng)管理開銷遞增,以及由于系統(tǒng)管理原因造成的錯誤率的遞增。一般來講,管理成本已經達到了設備成本的5到10倍。因此管理開銷也是對系統(tǒng)評估的一個重要的指標。高度集成,一體化的管理是最為理想的管理模式。虛擬技術可以將多個小設備整合成一個大設備,來降低直接被管理的設備數量。由此,提高了容錯能力,降低故障率和恢復次數。
虛擬存儲除了在以上四個作為存儲系統(tǒng)基本的評估指標發(fā)揮積極作用外,在現實應用中,通過虛擬技術在如下十個方面體現了高效能的存儲系統(tǒng)應用價值:
1. 提高存儲空間利用率:虛擬化存儲可以提高40%至50%的空間利用率,尤其是在為遠端設置鏡像存儲時更加體現優(yōu)勢。
2. 災難恢復:在沒有虛擬存儲前,數據復制遷移只能在對稱的磁盤陣列或主機間進行。通過虛擬技術,復制遷移和鏡像可以在不對稱的設備間部署,不必要在容災恢復端準備一個與主站同樣的主機或者磁盤陣列。
3. 快速備份:通過文件系統(tǒng)得快照技術,虛擬存儲系統(tǒng)可以避免由于在應用服務器代理軟件和備份服務器的通訊產生的瓶頸。由于備份將給予快照,備份窗口可以任意選擇,不受時間限制。
4. 數據移植:大部分的磁盤廠商都提供了特有的工具幫助在其自有平臺的磁盤間移植數據。虛擬存儲可是簡單地實現在不同平臺間的數據復制遷移。
5. 自動化的空間擴充:在綜合的虛擬化系統(tǒng)中,預制的管理策略在分配給某個用戶,如數據庫,的存儲空間用盡時自動調整空間分配為其擴容。
6. 在線基于磁盤的恢復:基于廉價的SATA陣列整合,管理員可以通過虛擬存儲的快照功能在線地將系統(tǒng)恢復至錯誤發(fā)生前最近的時間點。
7. 服務應用程序測試:通過虛擬存儲,某些給予實際數據環(huán)境的應用測試不必擔心會破壞重要數據資源。虛擬系統(tǒng)可以通過復制遷移,為測試提供一個安全的數據平臺。
8. 提高數據庫性能:虛擬系統(tǒng)將數據庫的hot files動態(tài)地置于某個solid-state磁盤上可以提高昂貴的solid-state磁盤的使用效率。
9. 高可用性:虛擬系統(tǒng)將IT系統(tǒng)的存儲和服務切實地分離開來,一方面可以有效地單獨對數據進行保護,在存儲內部后臺建立起容錯機制;另一方面,也杜絕了應用端的錯誤對數據端的影響。
10. 在不同服務器平臺間的有效資源共享:在一般的SAN中,Windows和UNIX的平臺間數據共享和共存一直都是一個大問題。目前的SAN通過虛擬技術可以支持多文件系統(tǒng)在相同SAN中的共存。
虛擬存儲的實現
如SNIA的虛擬存儲的分類所示,一般把虛擬分成如下三類:基于主機或服務器的虛擬化、基于磁盤或磁盤子系統(tǒng)的虛擬化和基于網絡的虛擬化。
基于主機層的虛擬化:
基于主機(應用服務器)上的虛擬化一般通過運行在存儲管理軟件加以實現。一般常見的管理軟件如邏輯卷管理軟件(LVM)。邏輯卷,一般也會用來指代虛擬磁盤,其實質是通過邏輯單元號(LUN)在若干個物理磁盤上建立起邏輯關系。邏輯單元號,Logical Unit Number(LUN),是在一個基于SCSI的標志符,用于區(qū)分在磁盤或磁盤陣列上的邏輯單元。
基于主機的虛擬化中,管理軟件的作用就是向系統(tǒng)輸出一個單獨的虛擬存儲設備(或者可以說一個虛擬存儲池),事實上這個虛擬的存儲設備后臺有若干個獨立的存儲設備組成,只不過在系統(tǒng)看來他們是一個有機的整體。通過這種模式,用戶不需要直接去控制管理這些獨立的物理存儲設備。當存儲空間不夠的時候,管理軟件會從空閑的磁盤空間中映像更多的空間輸出給系統(tǒng),而系統(tǒng)看來它所使用的虛擬存儲設備的空間在動態(tài)的增加,并沒有影響到它的使用。由此可見,基于主機的虛擬化可以使系統(tǒng)在存儲空間調整過程中仍然保持在線狀態(tài)。另外一個優(yōu)勢體現在,通過虛擬可以實現主機上存儲設備并行使用。但是,由于基于主機的虛擬實通過軟件完成,因此會消耗系統(tǒng)CPU的使用周期,容易造成主機的性能瓶頸。同時,在每個主機上的虛擬化需要為每個主機單獨安裝軟件,從某種意義上講也就降低了系統(tǒng)的可靠性。
基于存儲設備和存儲子系統(tǒng)的虛擬化:
虛擬化技術也可以在存儲設備內部或存儲子系統(tǒng)內部加以實現。比如說磁盤陣列就是通過磁盤陣列內部的控制系統(tǒng)進行的虛擬,同時也可以在多個磁盤陣列間構建一個存儲池。這種基于存儲設備或存儲子系統(tǒng)的虛擬通過特定的算法或者映射表把邏輯存儲單元映射到物理設備之上。最終實現的就是卷獨立于其所屬的存儲設備。根據采用的方案不同,RAID、鏡像、盤到盤的復制以及基于時間的快照都采用了此類虛擬化。通過虛擬化,虛擬磁帶庫、虛擬光盤庫等都得以在存儲子系統(tǒng)中加以實現。
與基于主機的虛擬化不同,基于存儲設備和存儲子系統(tǒng)的虛擬化對其后臺所使用的具體硬件的兼容性要求很高,需要參數相互匹配,因此在存儲設備升級和擴容過程中需要受到某些限制。但是在存儲子系統(tǒng)上的虛擬可以將存儲和主機獨立起來,不會過多地占用主機的資源,其積極意義就是可以使主機將其資源有效地運用在應用服務上,消極意義就是很難和主機進行一體化管理,需要額外的管理開銷。
基于網絡的虛擬化:
基于網絡的虛擬化是近來存儲工業(yè)的一個發(fā)展方向。與基于主機和存儲子系統(tǒng)的虛擬化不同,基于網絡的虛擬化功能是在網絡內部完成的。這個網絡就是我們常常指的存儲局域網絡(SAN)。具體的虛擬功能的實現可以在交換機、路由器、存儲服務器進行,同時也支持帶內(in-band)或者帶外(out-of-band)的虛擬。
帶內虛擬
帶內虛擬,常常也稱作對稱虛擬(Symmetric),是在應用服務器和存儲的數據通路內部得以實現。在標準的設置中,在存儲服務器上運行的虛擬軟件允許控制數據(metadata)和需存儲的實際數據在相同的數據通路內傳遞。存儲服務器接受來自主機的數據請求,隨后存儲服務器會在其后臺的存儲設備中搜索數據(被請求的數據可能分布于多個存儲設備中)。當數據被找到后,存儲服務器將數據傳送給主機,完成一次完整地請求響應。在用戶看來,帶內虛擬存儲服務器好像是直接附屬在主機上的一個存儲設備(或子系統(tǒng))。
帶內虛擬存儲具有很強的協同工作能力,同時可以通過集中的管理界面進行控制。同時,帶內虛擬可以保障系統(tǒng)的安全性,比如說,攻擊SAN系統(tǒng)的黑客很難有效地訪問存儲系統(tǒng),除非他得到了和主機一樣的卷分配方式。在服務器層面看,帶內存儲容易產生性能瓶頸。盡管許多銷售商們在系統(tǒng)中加入了緩存機制來縮小延遲,但是響應時間依舊是在部署帶內虛擬存儲的一個重要考慮因素。目前,大部分的產品所采用的都是帶內虛擬。
帶外虛擬:
帶外虛擬,又叫做不對稱虛擬(Asymmetric),是在數據通路外的存儲服務器上實現的虛擬功能。控制數據(metadata)和存儲數據在不同的數據通路上傳輸。一般情況下,metadata存放在使用單獨通路連接到應用服務器的存儲服務器上,而存儲數據在另外的通路中傳遞(或者直接通過存儲網絡在服務器和存儲設備間傳遞)。帶外虛擬減少了網絡中的數據流量。但是一般需要在主機端安裝客戶軟件,也容易受到攻擊。
還有一些廠商在交換機和路由器上的固件或軟件實現虛擬功能。還有的通過附屬在交換機上的服務器得以實現虛擬。他們的基本原理就是盡量將虛擬的職能轉移到網絡層。交換機和路由器處于主機和存儲網絡的數據通路上,它們在中途可以截獲主機發(fā)往存儲系統(tǒng)的指令,并加以處理。
基于交換機或路由器的虛擬技術:
盡管基于交換機或路由器的虛擬技術還屬于起步階段,但是在未來也有可能發(fā)展成為替代目前的基于存儲服務器的虛擬技術。基于交換機或路由器的虛擬技術的優(yōu)勢就是不需要在主機上安裝任何代理軟件,交換設備潛在的處理能力可能會比傳統(tǒng)的模式提供更強的性能,不過這一切還有待發(fā)展?;诮粨Q機或路由器的虛擬技術的另一個優(yōu)勢體現在安全性上,該層次比前面的虛擬應用對外來的攻擊有更強的防護。其劣勢主要表現在單個交換機和路由器容易成為整個系統(tǒng)的瓶頸和故障點。
幾種常見的虛擬存儲
虛擬磁盤和塊:
磁盤和塊虛擬是目前普遍使用的虛擬存儲技術。磁盤機的虛擬一般通過物理磁盤機上的固件實現。塊虛擬是通過控制軟件為系統(tǒng)提供一個類似于磁盤機的虛擬設備,這個虛擬設備構建于一個或者多個物理磁盤機之上??刂栖浖蛳聟f調所管理的物理磁盤設備的工作,完成系統(tǒng)和具體物理設備間的地址映像,性能平衡,以及一些其他的后臺數據保護機制;向上對系統(tǒng)提供一個虛擬的塊設備,系統(tǒng)無需關心具體的某個物理磁盤的管理和操作。塊虛擬技術已經廣泛地應用于RAID系統(tǒng)和虛擬的卷管理系統(tǒng)里面,隨著網絡存儲的發(fā)展,也被廣泛使用在網絡存儲系統(tǒng)中。與物理的磁盤機一樣,虛擬的塊設備也包括了若干的塊,數據可以在其上離散地或者連續(xù)地讀寫。但是在物理上并不存在著這樣一個設備,只不過在系統(tǒng)中看上去去管理軟件為系統(tǒng)提供了一個磁盤機而已,對系統(tǒng)應用程序的讀寫請求的響應和真實的物理磁盤機一樣。虛擬磁盤成功的重要原因就是不必修改應用程序就可以使用。任何軟件,只要能夠運行在物理磁盤上穩(wěn)定運行,就可以在虛擬塊設備上運行。
虛擬文件系統(tǒng):
一般來講,文件系統(tǒng)的虛擬可以通過兩種方式實現。遠端的文件服務器上的文件系統(tǒng)可以被客戶端應用程序感知并在客戶端計算機上使用。隨著不斷的發(fā)展,新的技術使單個文件服務器同時支持多種文件系統(tǒng)。不論上述任何方式,應用程序在訪問文件的時候再也不需要關心文件具體的物理存儲位置,本地或異地。同時系統(tǒng)管理員的工作也得到了簡化,僅僅通過控制文件存儲服務器就可以完成多個應用程序和應用服務器的文件數據管理。
虛擬文件:
等級式存儲管理軟件可以在一個文件系統(tǒng)內通過透明地移植非經常性訪問文件到低速或者離線的存儲設備上實現對文件的虛擬。通過這種方式,更加有效地自動化地實現信息生命周期管理的具體操作,并能夠降低在線存儲對空間的需求,提高備份的自動化和使用效率。
虛擬磁帶介質:
由于磁帶具有順序讀些的特性,在應用中磁帶一直有著不可克服的問題。比如,刪除磁帶中的某些文件,就會在磁帶中產生某些不可用的間隙,因此導致了在具體應用過程中僅對某些特定的單一數據集在單個磁帶上保存,降低了磁帶的使用效率。為了解決這個問題,大多數存儲產品采用了在線存儲空間作為緩存,用以模擬磁帶媒體庫進行備份和其他的應用。通過磁盤緩沖存儲磁帶數據大大地提高了介質的利用效率,減少了不必要的在磁帶mount,unmount,重新定位等重復操作的時間消耗。從設備價格角度講,也降低了磁帶機硬件和磁帶介質的需求量,以及管理他們的開銷。
磁帶介質的虛擬可以提高備份性能的可控性。大多數備份策略的缺陷就是在于磁帶機的性能。傳統(tǒng)的備份很難做到運行平順,數據流的不穩(wěn)定導致了磁帶機反復地暫停和重新定位,尤其是這一系列操作基于網絡進行的時候。用磁盤來虛擬磁帶作為緩沖可以保障磁帶機在備份過程中的運轉順暢。
虛擬磁帶機:
存儲網絡的發(fā)展促進了虛擬磁帶機的誕生。通過虛擬磁帶機可以使一組磁帶機簡便地在多個服務器間實現共享。其最大的使用價值就是在實際應用中,每個服務器只有在進行備份的短暫時間內才會使用磁帶機。為每臺服務器配備專用的磁帶機在大部分時間都是處于空閑狀態(tài)。如果能夠將每個應用服務器所屬數據的備份時間交錯開來,那么連接于網絡存儲設備上的磁帶機就可以將其使用權在不同的服務器間傳遞。通過這種方式提高了磁帶機的使用效率。這種模式的虛擬磁帶機一般通過備份服務器和專用的存儲網絡交換機上的分布式軟件實現。另外一種虛擬磁帶機可以在后臺將不同種類的物理磁帶機進行整合,形成一個磁帶機類型轉換庫,無論采用何種物理磁帶機,在前臺向系統(tǒng)提供一個單一種類的磁帶機,提高系統(tǒng)得適應性,簡化了系統(tǒng)管理配置的工作。
第三種虛擬帶機的工作原理和虛擬塊設備類似,由兩個或者多個磁帶機組成磁帶機陣列,向系統(tǒng)輸出一個虛擬的磁帶機。通過這種方式可以增加整個磁帶系統(tǒng)的讀寫性能和數據可用性。同時可以組成類似于RAID5的冗余存儲模式,一般稱作Redundant Array of Independent Tapes(RAIT)。
虛擬磁帶庫:
磁盤價格的降低帶動了基于磁盤介質的存儲應用的發(fā)展。整合虛擬磁帶技術和虛擬磁盤機技術,以磁盤介質作為物理媒介建立起一套虛擬的磁帶庫,在系統(tǒng)的在線存儲系統(tǒng)和離線存儲系統(tǒng)(物理磁帶庫)之間提供一個大的緩沖。虛擬磁帶庫可以將數據使用頻度的劃分更加有層次性,一方面可以提高數據備份和恢復的速度,另一方面整個系統(tǒng)具備更加富有彈性的備份策略。
WORM
在計算機存儲媒介中,WORM(單次寫入,多次讀取)是為了保障一些數據寫入盤片后,防止被修改和刪除,比如一些歸檔信息。長期以來,CD和DVD作為標準的WORM介質廣泛地使用。眾所周知,與磁帶一樣,CD和DVD也存在著標準化的問題,目前存在著多種存儲格式標準,相互間的兼容性很差。和虛擬磁帶技術類似,通過虛擬技術,可以實現多個應用服務器共享一個或一組WROM設備進行歸檔管理,也可以實現應用服務器通過公共的虛擬接口使用多種采用不同標準的WROM設備,另外就是可以實現基于磁盤介質的WROM設備。
版本文件系統(tǒng):
版本文件系統(tǒng)是一般的虛擬文件系統(tǒng)的一個擴充,為用戶在后臺為每個文件進行版本管理。每個版本可以包括如下信息:修改時間點,修改人,權限的變更等等。如果某個文件被刪除,它將被標志為“以刪除”,長度為零。管理員根據需要將其恢復為止前的某個版本的文件狀態(tài)。
小結
虛擬化技術在企業(yè)級存儲中非常非常充分地體現其優(yōu)勢:優(yōu)化了存儲利用率,使得管理更加順暢,提高了系統(tǒng)的可用性和整體性能,降低了存儲系統(tǒng)的管理開銷等等。從目前來講,存儲虛擬化依然缺乏高度的標準化,不同的虛擬產品之間的兼容性還有待進一步提高。作為一個正在發(fā)展的技術,還有很多新的應用有待發(fā)掘。當然在虛擬技術體現其優(yōu)越性的同時我們也不能夠忽視虛擬技術的一些潛在的問題,這樣更會有利于虛擬技術向著智能化的方向發(fā)展。
案例分析
Compellent 數據分級管理(Data Progression)
Compellent SAN 系統(tǒng)通過虛擬技術在數據塊層管理整合各種類型的磁盤資源,直接向應用系統(tǒng)輸出一個空間可動態(tài)擴充的卷,最大化的利用有限的物理存儲空間。并通過其特有的數據分級管理技術,利用虛擬化技術規(guī)避了不同種類磁盤和RAID設置之間的差異,并根據其性能價格比自動化地實現了最小化整個存儲系統(tǒng)的開銷。根據數據的被訪問頻率將數據在不同的數據存儲層級間遷移。下面兩幅圖分別顯示了數據向下級遷移和向上級反向遷移的情況。
ILM—-信息生命周期管理和DLM—-數據生命周期管理的目標都是在數據的生命周期內在不同的存儲介質上調度和管理數據。它們的不同在于ILM通過
智能化地根據應用程序跟蹤文件的內容。DLM著重于數據的移動。
根據業(yè)界的分析和SNIA統(tǒng)計,在信息系統(tǒng)中平均有80%的空閑數據。由此可見這些非活動數據可以轉移至低性能的磁盤或陣列之上,如下圖所示。因此,我們沒有必要將全部的數據都長期占用高昂的高端設備。利用Compellent的數據分級管理可以自動地把空閑數據遷移至低速設備之上,將有限的昂貴的存儲介質分配給高度頻繁訪問的數據塊。
數據分級管理可以將卷構件于不同的種類、大小、速度的磁盤以及不同的RAID之上。數據分級管理通過監(jiān)控I/O并根據數據訪問模型將數據分布在不同的層級之上。
數據分級管理有效的平衡了不同種類的磁盤在價格和性能之間的差異,允許最大化地使用廉價的SATA磁盤作為主要數據存儲截至,并有效地將高性能的Fiber Channel磁盤響應快速數據訪問服務。
數據分級管理充分利用RAID10, RAID5等在不影響性能的條件下最大化可用存儲量。高效地使用RAID5(9盤)結構能夠比一般的全冗余RAID10節(jié)省40%的存儲空間。系統(tǒng)分層矩陣結構如下圖。
數據分級管理的價值
數據分級管理在保障I/O性能的前提下整合多種磁盤管理技術最大話存儲空間利用率。
活動數據,未轉入數據快照回放系統(tǒng)的數據,被存放在RAID10存儲子系統(tǒng)能夠中,保障快速的讀寫。通過這種方式保障了RAID10系統(tǒng)能夠更有效的服務于多個卷的活動數據。
當數據被系統(tǒng)快照回放捕獲處理后,很自然地轉換成為只讀模式。數據被遷移至RAID5存儲子系統(tǒng)。RAID5可以保障快速的讀操作。
快照系統(tǒng)捕獲的數據如沒有被重寫或訪問頻度降低將被遷移到低速的廉價的存儲介質上。
磁盤技術不斷地提高速度和容量,數據分級管理使得用戶能夠靈活的使用最新的磁盤技術,同時能夠保證不浪費原有的舊磁盤。隨著數據在不同種類的磁盤上遷移,它們被不斷地重新拆分。當用戶增加新的磁盤的時候,新的寫操作將動態(tài)地寫在所有的同級磁盤之上,避免個別磁盤被過度地訪問。
數據分級管理根據應用的實際需求動態(tài)地分配存儲空間。在相同的數據層級上,數據分級管理將可用的存儲資源分配給相應的RAID結構上,管理員無須人為地在不同的RAID上管理或移動存儲。
訂閱《信息存儲》雜志請 點擊此處鏈接