作為EMC公司虛擬數據管理軟件,ViPR是否真能聚合來自不同設備的邏輯存儲單元?
ViPR是EMC全新存儲虛擬化及管理軟件層,處于服務器應用程序與VMAX等存儲陣列之間。如果該產品無法對其管理范圍內驅動器陣列的LUN加以聚合,這恐怕會成為非常嚴重的功能短板。
服務器應用程序所訪問的項目被稱為存儲卷,這種邏輯結構由磁盤驅動器的一部分、完整磁盤驅動器或者多塊磁盤驅動器中保存的大量數據所組成。
分卷利用邏輯單元號(簡稱LUN)實現計數。一個分卷的LUN往往需要跨越多塊磁盤驅動器,EMC的VMAX方案也通過這種機制實現對存儲陣列中的數據塊訪問。應用程序通常需要聚合各磁盤驅動器陣列中的LUN,從而提供更大的存儲尋址量。
服務器中系統級別的應用程序能夠識別此類聚合LUN結構,但個別組件陣列則做不到這一點。
某位業內人士曾向我們透露稱,“ViPR無法從多套陣列中聚合LUN,因為它沒有在服務器中部署理解分卷結構所必需的代理機制。”
根據EMC公司高級軟件部門負責人Amitabh Srivastava的說法,ViPR擁有一套解耦控制與數據層:控制器運作于控制層當中,負責ViPR數據服務在數據層中運行時進行存儲資源管理。每套控制與數據層都可打理各自范圍內的聚合工作。
而在討論ViPR控制器LUN聚合時,Srivastava指出:
ViPR控制器使用戶得以創建一套單獨的虛擬陣列,其資源池中所包含的全部陣列的LUN都可作為聚合對象。該控制器獨立于數據路徑之外,也不會對物理陣列中的單一LUN加以聚合,整套體系更像是一塊被劃分為多個分區的磁盤。在陣列環境中,LUN的最大容量可與陣列的實際容量相等。
不過ViPR無法跨越存儲陣列進行LUN聚合。根據Srivastava的解釋,這一需求只能在存儲數據路徑中實現:
要讓LUN擁有聚合功能,必須首先完成數據路徑存儲虛擬化。而此類解決方案往往會給物理陣列的性能與延遲水平帶來負面影響。舉例來說,基于閃存的解決方案在數據吞吐與延遲方面都經過優化——強行插入數據路徑會破壞這兩方面性能。
在存儲數據路徑中實施LUN聚合會增加數據訪問延遲、拖慢存儲陣列對數據IO請求的響應速度。因此ViPR沒有加入這項功能,不過ViPR中的數據服務層能夠實現這一要求,且不會引發性能難題:
目前,我們的客戶中有很大一部分對性能表現非常敏感,由于ViPR控制器運行在控制層中,我們能夠在不產生任何性能負擔的前提下大大簡化客戶們的基礎設施管理流程。
……而對于不太關注性能表現的客戶,我們可以利用ViPR對象數據服務等ViPR數據服務允許對象跨越多套陣列,從而實現底層陣列對象聚合。
Srivastava還解釋稱,EMC的VPLEX虛擬存儲套件提供塊數據路徑服務,旨在為塊服務提供數據路徑虛擬化支持。未來公司還計劃將VPLEX等方案作為ViPR的數據服務。
David Gouden在EMCWorld 2013大會的ViPR數據服務主題演講中展示的圖片
總而言之,Srivastava表示:“我們基于一系列考量才做出這樣的決定,其中最主要的理由在于,我們需要擁有足夠的靈活性為所有當前及未來的用戶提供他們想要的支持能力。”