數據塊級別存儲虛擬化是為用戶的應用程序提供邏輯存儲的一種存儲服務,數據塊級別的存儲虛擬化對用戶抽象了存儲的真實物理地址。在軟件層面,它解析邏輯IO請求,將其映射成正確的物理地址。如此一來,存儲虛擬化使得管理員可以提供自由可伸縮的存儲容量,與此同時,最終用戶感知不到其存儲背后所包含的存儲擴展、數據保護和系統維護等各種瑣碎的細節。
在眾多虛擬化技術中,數據塊級別的存儲虛擬化技術的存在有些年頭了,雖然不像服務器虛擬化那樣在數據中心大行其道,但它也在被使用。在Storage雜志進行的“2011年存儲采購意向”的調查(北美地區)中,433個參與調查的用戶中, 32%表示在他們的存儲中已經部署了存儲虛擬化,23%的用戶正打算評估這種技術。而在那些已經部署了存儲虛擬化的用戶中,14%的用戶表示他們所有的存儲都已經被虛擬化了,72%的用戶只有部分存儲設備被虛擬化。
數據塊級別的存儲虛擬化技術可以應用到直連在虛擬化引擎上的內部存儲,也可以應用到網絡上的外部存儲。這些外部存儲可以是來自同一廠商的同構存儲,也可以是來自不同廠商的異構存儲。存儲虛擬化技術最常見的形式是部署在主機端或者陣列端,也有一部分部署網絡存儲設備端。也有部分的存儲虛擬化部署在虛擬機環境中,為虛擬機提供共享存儲,以實現虛擬機相互遷移、虛擬機集群和虛擬機的動態分配。
存儲整合是SAN崛起最原始的驅動力,數據塊級別存儲虛擬化用物理存儲創建一個共享存儲池的做法, 與當年服務器連接到SAN架構取代服務器直連存儲的DAS架構的那段歷史如出一轍。除了給多臺服務器提供存儲空間,磁盤陣列提供一系列其他的功能,比如快照、遠程復制,和后來的精簡分配和重復數據刪除。
新的scale-out存儲架構依賴于存儲虛擬化技術從物理上分開的的多個存儲中創建一個存儲池。但即使是在更早的傳統scale-up架構中,存儲虛擬化或多或少已經成為企業級高端存儲或中端存儲的一個標準功能。尤其是在大量主機需要訪問存儲或者系統穩定性和業務連續性要求很高的環境中,存儲虛擬化能高效管理共享存儲系統。
實施虛擬化存儲的理由
為什么IT部門想要虛擬化他們的存儲資源呢?在很多場景下存儲虛擬化都大有用武之地,下面讓我們逐一闡明。
支持服務器虛擬化和高可用。存儲虛擬化提供的共享存儲,讓虛擬機之間做遷移和負載均衡時不需要在存儲系統之間遷移數據,同時也簡化了動態虛擬化環境下存儲資源的優化。共享存儲池支持虛擬機集群技術以實現虛擬機的高可用,也就是在檢測到錯誤時自動切換并能快速重啟虛擬機。同樣的,共享存儲池也支持物理服務器上關鍵應用程序的高可用,也就是手動切換存儲系統并能支持應用程序的集群技術。
簡化管理。從管理的角度來看,與管理服務器直連存儲相比,一個大的共享存儲意味著更少的管理工作。當需要擴展現有存儲或者在存儲系統之間遷移數據的時候,存儲虛擬化能夠提供無干擾的存儲空間擴容。越大的磁盤陣列越發擁有更好的管理工具,從而能更簡化給服務器分配存儲這類日常工作,減少管理員的工作量。
存儲資源整合和分級存儲。尤其是在NAS設備上,存儲虛擬化可以被用來整合存儲和對存儲資源進行重復利用。舉個例子,越來越多的對性能要求很高的數據會被遷移到更新的磁盤陣列上,而老的磁盤陣列作為二級存儲則被用來存放備份數據。很多存儲設備和虛擬化設備也有存儲分級功能,能夠實現這樣的數據分層存儲。
簡化數據保護和災難恢復。存儲虛擬化技術能夠幫助數據在本地和異地直接的拷貝以實現災難恢復,很多存儲虛擬化解決方案自帶了遠程異步復制功能。
易于部署。數據塊級別虛擬化通常的實現方式有三種。它可以是運行在操作系統管理程序上的軟件,也可以是和DAS直連的虛擬機或者應用程序服務器,也可以是運行在磁盤陣列的存儲控制器上的軟件。存儲虛擬化功可以嵌入在存儲設備中,要么作為一個自帶存儲的整體硬件設備,要么作為運行在服務器硬件上的軟件解決方案。我們會在接下來的系列中逐一討論這些實現方式。