天天看點

NVMe架構将徹底颠覆整個傳統陣列行業

一場将陣列控制器移出資料路徑之外的變革又洶湧襲來。

NVMe架構将徹底颠覆整個傳統陣列行業

叮鈴鈴,現在是nvmef時間!

nvme-over-fabrics (簡稱nvmef)共享存儲通路機制可能會徹底令傳統存儲陣列業務被丢入曆史的垃圾堆,除非相關供應商擁有出色的創造力,并以某種方式繼續證明為nvmef資料通路提供資料管理服務的必要性。

這一切是如何發生的?

nvmef架構面向伺服器當中發出存儲io請求的應用程式,而伺服器與目标存儲系統則利用rdma傳輸直接面向伺服器記憶體與存儲驅動器進行資料往來傳遞,為了提供理想的性能表現,這裡的存儲驅動器基本上是指固态存儲驅動器。

之是以需要引入這樣一套機制,是因為虛拟多核心伺服器往往不得不坐等io操作完成,其配套的聯網san與檔案管理系統無法快速做出反應,而這将直接導緻計算效率低下。利用sata與sas閃存驅動器(ssd)替代這些存儲系統中的磁盤驅動器能夠在一定程度上帶來性能改善,但這又将引入兩種新的網絡——陣列中的sata或者sas,外加陣列與通路伺服器間的塊通路光纖通道/iscsi或者檔案協定。這意味着仍有相當一部分時間被耗費在資料傳輸所産生的io請求當中。

内部陣列網絡問題可通過使用nvme驅動器(其速度高于sas與sata)以及nvmef網絡的方式解決。指向各驅動器的資料由rdma傳輸至存儲陣列控制器的記憶體當中。其通過控制器軟體堆棧進行處理,同時跨越外部網絡實作陣列往來。

nvmef模式

以上流程皆需要時間。nvmef模式旨在利用類似于擴充pcie總線的機制取代傳統塊通路網絡,提供端到端nvme協定且能夠顯著提升scsi上的并行性,并可作為通路伺服器與目标存儲陣列之間的rdma傳輸機制實作運作。這不僅能夠降低實體網絡的傳輸時間,同時亦可通過直接通路驅動器将存儲陣列控制器的軟體堆棧從整個傳輸流程當中移除。

好吧,一部分陣列控制器軟體堆棧内置于塊通路協定當中,例如lun處理以及将其映射至驅動器的協定。然而在多數情況下,例如raid模式當中,情況并非如此,其仍然存在于資料路徑之内。而消除陣列控制器則會帶來另一種後果,失去資料管理服務。

我們發現閃存驅動器的容量正在日益提高,這意味着使用者已經不再需要能夠通路共享式存儲系統的方式接入體積超出實體驅動器的資料集。希捷公司已經擁有64 tb ssd,而三星公司則公布了一款128 tb全新設計方案。

nvmef通路與持續提供的伺服器直連存儲(簡稱das)容量上限意味着,我們已經不再需要陣列控制器這種東西,這可能代表着我們習以為常的現有全閃存雙控制器以及整體陣列将不複存在。相反,存儲陣列在本質上隻是一堆構成遠端das結構的閃存驅動器(即jbof),其中包含某些主幹共享通路所必需的nvme前端。當然,我們也可以直接在超融合型系統當中引入容量更高的das存儲資源。

在這樣的嚴峻形勢之下,戴爾、hds、hpe、ibm、netapp、tegile以及tintri等存儲陣列供應商又該走向何處?

将控制器資料管理功能遷移至應用堆棧

一種潛在的可能性在于将部分陣列控制器功能遷移至通路伺服器當中,并在一定程度上将其與nvme通路流程并行執行。如果這種思路真的可行,那麼确實能夠帶來理想的指導方向。

資料管理服務此前就已經能夠在伺服器應用堆棧層級進行傳遞,具體執行個體包括:

veritas分卷管理器– vxvm與 vxfs

veritas 分卷複制器

擁有内置邏輯分卷管理器的作業系統

甲骨文dataguard

但這意味着nvme驅動器将無法直接檢視,而隻能經由分卷管理器之類機制實作通路,這樣的通路方式也會帶來時間消耗。

其中一部分時耗可以通過在硬體當中執行資料管理的方式實作消除。raid已經能夠立足硬體實作,且具備通過接入asic或者fpga實作的相對底層的壓縮與擦除編碼操作。

不過對于重複資料删除等級别較高的服務,其需要占用cpu周期與記憶體容量且無法單純利用硬體加以實作。

在這樣的情況下,我們可以采取這樣的方法:使用nvme架構内陣列控制器。驅動器能夠在200微秒之内對資料請求作出響應,而nvme指向驅動器的通路則耗時約為10微秒。通過提升資料管理堆棧的執行效率并将底層任務交由硬體直接完成,我們将能夠把這200微秒的時間浪費壓縮至100微秒以下,這意味着使用者将可在無需變更資料管理服務的前提下實作nvmef加速。

而各類資料管理服務将能夠在陣列控制器或者應用程式伺服器當中完成。

雙通路陣列

另一種可行方案在于在現有陣列基礎之上或者以并行方式為一級資料添加jbof,進而建立起雙軌陣列。在此之中,指向及來自該jbof的資料将以二級資料的形式被導入至資料管理服務域,并在這裡進行保護、複制或者重複資料删除等常用操作。

這種方式能夠幫助客戶以并行方式同時運作nvmef資料通路與原有塊資料通路流,進而更好地完成面向nvmef時代的過渡。

在nvmef時代下提供資料管理服務

需要指出的是,資料管理服務的實作道路并非一帆風順。資料保護、複制以及重複資料删除等應對驅動器、伺服器系統乃至高成本存儲故障的重要功能皆很難達成。其中一部分資料管理功能需要運作在通路伺服器當中,方可真正在das驅動器故障以及伺服器故障場景下實作保護。

那麼此類方案将由誰來提供?首先自然是伺服器供應商,其能夠憑借作業系統擴充實作這一目标。其次則為陣列供應商,他們可以将陣列軟體元件轉換為伺服器插件。

就目前來看,陣列供應商在這一領域仍面臨着嚴重問題,這是因為在以某種方式建立起nvmef未來發展路徑的過程當中,其目前套件可能将不再适用于存儲一級資料。當然,供應商也有可能找到優于nvmef的新型資料通路與存儲方法。但這項任務恐怕将極難達成。

對于伺服器與伺服器系統軟體供應商而言,這更像是一種潛在機遇而非迫在眉睫的問題。那麼,veritas分卷管理器與其它類似的産品能夠把握機會,在新時代下繼續生存下去?

伺服器系統軟體與陣列控制器軟體工程師們顯然非常睿智,是以我們期待看到他們能夠拿出怎樣的最終方案。

原文釋出時間為: 2017年8月22日

本文作者:李超

本文來自雲栖社群合作夥伴至頂網,了解相關資訊可以關注至頂網。