虛擬化這個術語用于描述我們的抽象化一套技術的行為。例如,服務器虛擬化,就是將服務器實例從它所運行于上的物理硬件那里抽象化出來。存儲虛擬化是對物理媒介(硬盤或固態驅動器)從所連接的服務器那里所進行的抽象化。和其他形式的虛擬化一樣,這個一般性的定義會根據廠商和使用情況而有所變化。幾乎所有的存儲系統都在用戶和物理設備之間提供某種形式的抽象化。即使邏輯卷管理器也提供一定水平的虛擬化。不過,大部分舊的存儲系統要求你在創建卷或RAID(獨立磁盤冗余陣列)組的時候選擇好驅動器以及定義好有多少個驅動器將和每個組關聯。
雖然這個流程中有一定的“虛擬成分”,你的應用程序現在面對的是組而不是單個驅動器,但是這并不會讓存儲更便于管理。我們使用存儲虛擬化的目的之一就是讓存儲的管理流程--尤其是配置流程--更加簡單,讓存儲的使用更加有效率。
例如,如果你不用虛擬化而希望定義一個高性能卷,你必須定義好哪些高速驅動器并入那個卷。你將必須知道系統里的每個驅動器都在哪里以及這些驅動器都在哪些驅動器架上以便進行合理的負載均衡和管理好可用性。這樣的話,你就傾向于購買專門用途的存儲系統,同時盡量使用同樣類型的驅動器。
虛擬化存儲系統通常會幫你做好這些工作,它可以按照類型或速度將驅動器進行編組。當你決定需要一個200GB的高性能卷的時候,系統會判斷哪些驅動器應該用于這個卷以及應該用多少。在許多情況下,系統將利用給定類型中所有可用驅動器的一部分來提高性能。這使得多種驅動器類型的混合配置更加可行,也讓速度更加可控,因為系統可以判斷好應該將數據放在哪里。
許多這種虛擬化系統還可以隨需地虛擬分配容量。這種技術我們稱之為自動精簡配置。就像我們在我們的自動精簡配置白皮書上討論過的那樣,這種技術讓你可以過量配置現有的存儲,而實際上從物理上來說,大部分應用程序不會用到容量的最高上限。
一些存儲虛擬化解決方案進一步提高抽象化程度,將存儲軟件從存儲控制器那里抽象化出來。這樣的話,任何有存儲的服務器,或任何連接到這些服務器上的一個陣列,都顯示為一個大的存儲系統。這讓管理員可以使用連接到一個或多個服務器等級系統的各種存儲,把存儲當應用程序來運行。實際上,現在有幾種存儲應用程序可以在虛擬化服務器環境內作為虛擬機來運行。
其他系統則采取更加常見的交鑰匙方式,將存儲虛擬化軟件和物理硬件作為單個捆綁交給客戶。這樣的話,從理論上來說,廠商可以更好地提供支持和維護。在一些情況下,他們將硬件予以定制化以便作為虛擬存儲軟件的輔助,讓它們可以提供更好的性能和可擴展性。從某種程度上來說,我們在虛擬服務器領域看到廠商開始用類似的方式來提供整合的服務器和網絡堆棧以便支持交鑰匙類型的虛擬服務器體驗。
和服務器虛擬化一樣,存儲虛擬化也在發展中。我們將看到市場的更多演進。我相信兩種部署風格--存儲作為應用程序,整合的存儲虛擬化--都將取得成功。盡管廠商極力推崇,但是存儲虛擬化還是有自己的缺點的,我們將在未來的博文中予以討論。