隨著越來越多的用戶部署了云計算等虛擬計算環境,存儲虛擬化逐漸成為企業不得不考慮的一項技術。但比較服務器虛擬化,在應用存儲虛擬化之前,用戶或許會有更多的顧慮。存儲虛擬化技術不僅意味著將存儲池化后提供給主機,還要確保數據經過虛擬控制器后不會影響到性能,因此,許多用戶會問到虛擬存儲供應商產品的IOPS值是多少?
這并不是一個容易回答的問題,至少在今天還沒有第三方機構,比如SPC,針對存儲虛擬化的整體方案提供IOPS公測值。而每家存儲化存儲廠商提供的性能參數值很多時候并不具備參考意義,比如會將虛擬控制器前端和后端的吞吐量疊加計算,而不考慮實際控制器的處理性能,這會對用戶造成嚴重的誤導——特別是當用戶使用磁盤陣列的采購經驗采購存儲虛擬化解決方案時會直接套用以往的經驗。
存儲虛擬化產品或方案并不存在IOPS,即每秒IO的概念。大多虛擬化產品可以通過并行擴展或在單節點上增加IO卡的方式來提升數據吞吐量,但由于對后端磁盤陣列通訊策略的不同,虛擬化產品在虛擬化調度上勢必存在額外的性能開銷,也就是說在使用虛擬化產品后,在不增加額外的高性能磁盤的前提下,原有磁盤陣列的吞吐量整合一定小于該虛擬化產品的數據吞吐量。因此,在評估所要整合的已有系統時,應當充分意識到并不是所有的業務系統都適合放在一起進行虛擬化,比如兩項或多項在同一時刻達到性能峰值的應用就應當避免放在同一個存儲池中;而對于一直負載嚴重的核心應用,仍應采用原有的獨立存儲的系統架構方式。
按照部署層次的不同,存儲虛擬化解決方案分為主機層、交換層和存儲層的實現方式。主機層的存儲虛擬化解決方案通過在主機端安裝虛擬化軟件實現存儲虛擬化,其性能開銷主要產生在主機端;交換層性能瓶頸主要在虛擬化控制器上,諸如IBM SVC等產品的最大擴展性一般在4個左右,當后臺有大量存儲空間需要管理,并且使用容災或存儲分層的方式都會大大加重虛擬化控制器的負擔;磁盤陣列的虛擬化方式同樣存在性能瓶頸的風險,但其可以借助磁盤陣列內部控制器提升處理能力。而且,采用存儲層的虛擬化方式還可以實現對其下所連接的磁盤陣列的性能進行提升,而這不同于以往動態分層的概念。
存儲虛擬化以后,后臺的磁盤的結構紛繁復雜,需要基于應用級的策略將存儲池中高性能分配給關鍵應用,所以策略化的性能管理是存儲虛擬化中最重要的部分。目前在存儲性能管理中有兩種類型的技術,一種是傳統的動態存儲分級,另外一種是基于策略的存儲加速技術。 傳統的動態分級存儲只能將應用繁忙的I/O從慢速磁盤調整到高速磁盤系統中,以這種方式來改善性能,這種方式可以對性能提升做出部分改善,但是此種模式是要以犧牲存儲虛擬化網關的自身資源為代價,同時會增加存儲I/O之間的頻繁調度,開銷存儲資源,這樣對存儲的整體性能會產生負面影響,并且性能改善效果有限,對存儲空間的分布方式同樣存在不確定因素。在云計算環境中,更多的使用針對應用策略的性能加速技術來作為存儲虛擬化性能管理,這種策略擴展了緩存的概念,使存儲虛擬化對后臺性能有較高要求的靈活、簡單的解決方案。