一場(chǎng)將陣列控制器移出數(shù)據(jù)路徑之外的變革又洶涌襲來(lái)。
叮鈴鈴,現(xiàn)在是NVMeF時(shí)間!
NVMe-over-Fabrics (簡(jiǎn)稱NVMeF)共享存儲(chǔ)訪問機(jī)制可能會(huì)徹底令傳統(tǒng)存儲(chǔ)陣列業(yè)務(wù)被丟入歷史的垃圾堆,除非相關(guān)供應(yīng)商擁有出色的創(chuàng)造力,并以某種方式繼續(xù)證明為NVMeF數(shù)據(jù)訪問提供數(shù)據(jù)管理服務(wù)的必要性。
這一切是如何發(fā)生的?
NVMeF架構(gòu)面向服務(wù)器當(dāng)中發(fā)出存儲(chǔ)IO請(qǐng)求的應(yīng)用程序,而服務(wù)器與目標(biāo)存儲(chǔ)系統(tǒng)則利用RDMA傳輸直接面向服務(wù)器內(nèi)存與存儲(chǔ)驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)往來(lái)傳遞,為了提供理想的性能表現(xiàn),這里的存儲(chǔ)驅(qū)動(dòng)器基本上是指固態(tài)存儲(chǔ)驅(qū)動(dòng)器。
之所以需要引入這樣一套機(jī)制,是因?yàn)樘摂M多核心服務(wù)器往往不得不坐等IO操作完成,其配套的聯(lián)網(wǎng)SAN與文件管理系統(tǒng)無(wú)法快速做出反應(yīng),而這將直接導(dǎo)致計(jì)算效率低下。利用SATA與SAS閃存驅(qū)動(dòng)器(SSD)替代這些存儲(chǔ)系統(tǒng)中的磁盤驅(qū)動(dòng)器能夠在一定程度上帶來(lái)性能改善,但這又將引入兩種新的網(wǎng)絡(luò)——陣列中的SATA或者SAS,外加陣列與訪問服務(wù)器間的塊訪問光纖通道/iSCSI或者文件協(xié)議。這意味著仍有相當(dāng)一部分時(shí)間被耗費(fèi)在數(shù)據(jù)傳輸所產(chǎn)生的IO請(qǐng)求當(dāng)中。
內(nèi)部陣列網(wǎng)絡(luò)問題可通過使用NVMe驅(qū)動(dòng)器(其速度高于SAS與SATA)以及NVMeF網(wǎng)絡(luò)的方式解決。指向各驅(qū)動(dòng)器的數(shù)據(jù)由RDMA傳輸至存儲(chǔ)陣列控制器的內(nèi)存當(dāng)中。其通過控制器軟件堆棧進(jìn)行處理,同時(shí)跨越外部網(wǎng)絡(luò)實(shí)現(xiàn)陣列往來(lái)。
NVMeF模式
以上流程皆需要時(shí)間。NVMeF模式旨在利用類似于擴(kuò)展PCIe總線的機(jī)制取代傳統(tǒng)塊訪問網(wǎng)絡(luò),提供端到端NVMe協(xié)議且能夠顯著提升SCSI上的并行性,并可作為訪問服務(wù)器與目標(biāo)存儲(chǔ)陣列之間的RDMA傳輸機(jī)制實(shí)現(xiàn)運(yùn)行。這不僅能夠降低物理網(wǎng)絡(luò)的傳輸時(shí)間,同時(shí)亦可通過直接訪問驅(qū)動(dòng)器將存儲(chǔ)陣列控制器的軟件堆棧從整個(gè)傳輸流程當(dāng)中移除。
好吧,一部分陣列控制器軟件堆棧內(nèi)置于塊訪問協(xié)議當(dāng)中,例如LUN處理以及將其映射至驅(qū)動(dòng)器的協(xié)議。然而在多數(shù)情況下,例如RAID模式當(dāng)中,情況并非如此,其仍然存在于數(shù)據(jù)路徑之內(nèi)。而消除陣列控制器則會(huì)帶來(lái)另一種后果,失去數(shù)據(jù)管理服務(wù)。
我們發(fā)現(xiàn)閃存驅(qū)動(dòng)器的容量正在日益提高,這意味著用戶已經(jīng)不再需要能夠訪問共享式存儲(chǔ)系統(tǒng)的方式接入體積超出物理驅(qū)動(dòng)器的數(shù)據(jù)集。希捷公司已經(jīng)擁有64 TB SSD,而三星公司則公布了一款128 TB全新設(shè)計(jì)方案。
NVMeF訪問與持續(xù)提供的服務(wù)器直連存儲(chǔ)(簡(jiǎn)稱DAS)容量上限意味著,我們已經(jīng)不再需要陣列控制器這種東西,這可能代表著我們習(xí)以為常的現(xiàn)有全閃存雙控制器以及整體陣列將不復(fù)存在。相反,存儲(chǔ)陣列在本質(zhì)上只是一堆構(gòu)成遠(yuǎn)程DAS結(jié)構(gòu)的閃存驅(qū)動(dòng)器(即JBOF),其中包含某些主干共享訪問所必需的NVMe前端。當(dāng)然,我們也可以直接在超融合型系統(tǒng)當(dāng)中引入容量更高的DAS存儲(chǔ)資源。
在這樣的嚴(yán)峻形勢(shì)之下,戴爾、HDS、HPE、IBM、NetApp、Tegile以及Tintri等存儲(chǔ)陣列供應(yīng)商又該走向何處?
將控制器數(shù)據(jù)管理功能遷移至應(yīng)用堆棧
一種潛在的可能性在于將部分陣列控制器功能遷移至訪問服務(wù)器當(dāng)中,并在一定程度上將其與NVMe訪問流程并行執(zhí)行。如果這種思路真的可行,那么確實(shí)能夠帶來(lái)理想的指導(dǎo)方向。
數(shù)據(jù)管理服務(wù)此前就已經(jīng)能夠在服務(wù)器應(yīng)用堆棧層級(jí)進(jìn)行交付,具體實(shí)例包括:
但這意味著NVMe驅(qū)動(dòng)器將無(wú)法直接查看,而只能經(jīng)由分卷管理器之類機(jī)制實(shí)現(xiàn)訪問,這樣的訪問方式也會(huì)帶來(lái)時(shí)間消耗。
其中一部分時(shí)耗可以通過在硬件當(dāng)中執(zhí)行數(shù)據(jù)管理的方式實(shí)現(xiàn)消除。RAID已經(jīng)能夠立足硬件實(shí)現(xiàn),且具備通過接入ASIC或者FPGA實(shí)現(xiàn)的相對(duì)底層的壓縮與擦除編碼操作。
不過對(duì)于重復(fù)數(shù)據(jù)刪除等級(jí)別較高的服務(wù),其需要占用CPU周期與內(nèi)存容量且無(wú)法單純利用硬件加以實(shí)現(xiàn)。
在這樣的情況下,我們可以采取這樣的方法:使用NVMe架構(gòu)內(nèi)陣列控制器。驅(qū)動(dòng)器能夠在200微秒之內(nèi)對(duì)數(shù)據(jù)請(qǐng)求作出響應(yīng),而NVMe指向驅(qū)動(dòng)器的訪問則耗時(shí)約為10微秒。通過提升數(shù)據(jù)管理堆棧的執(zhí)行效率并將底層任務(wù)交由硬件直接完成,我們將能夠把這200微秒的時(shí)間浪費(fèi)壓縮至100微秒以下,這意味著用戶將可在無(wú)需變更數(shù)據(jù)管理服務(wù)的前提下實(shí)現(xiàn)NVMeF加速。
而各類數(shù)據(jù)管理服務(wù)將能夠在陣列控制器或者應(yīng)用程序服務(wù)器當(dāng)中完成。
雙訪問陣列
另一種可行方案在于在現(xiàn)有陣列基礎(chǔ)之上或者以并行方式為一級(jí)數(shù)據(jù)添加JBOF,從而建立起雙軌陣列。在此之中,指向及來(lái)自該JBOF的數(shù)據(jù)將以二級(jí)數(shù)據(jù)的形式被導(dǎo)入至數(shù)據(jù)管理服務(wù)域,并在這里進(jìn)行保護(hù)、復(fù)制或者重復(fù)數(shù)據(jù)刪除等常用操作。
這種方式能夠幫助客戶以并行方式同時(shí)運(yùn)行NVMeF數(shù)據(jù)訪問與原有塊數(shù)據(jù)訪問流,從而更好地完成面向NVMeF時(shí)代的過渡。
在NVMeF時(shí)代下提供數(shù)據(jù)管理服務(wù)
需要指出的是,數(shù)據(jù)管理服務(wù)的實(shí)現(xiàn)道路并非一帆風(fēng)順。數(shù)據(jù)保護(hù)、復(fù)制以及重復(fù)數(shù)據(jù)刪除等應(yīng)對(duì)驅(qū)動(dòng)器、服務(wù)器系統(tǒng)乃至高成本存儲(chǔ)故障的重要功能皆很難達(dá)成。其中一部分?jǐn)?shù)據(jù)管理功能需要運(yùn)行在訪問服務(wù)器當(dāng)中,方可真正在DAS驅(qū)動(dòng)器故障以及服務(wù)器故障場(chǎng)景下實(shí)現(xiàn)保護(hù)。
那么此類方案將由誰(shuí)來(lái)提供?首先自然是服務(wù)器供應(yīng)商,其能夠憑借操作系統(tǒng)擴(kuò)展實(shí)現(xiàn)這一目標(biāo)。其次則為陣列供應(yīng)商,他們可以將陣列軟件組件轉(zhuǎn)換為服務(wù)器插件。
就目前來(lái)看,陣列供應(yīng)商在這一領(lǐng)域仍面臨著嚴(yán)重問題,這是因?yàn)樵谝阅撤N方式建立起NVMeF未來(lái)發(fā)展路徑的過程當(dāng)中,其當(dāng)前套件可能將不再適用于存儲(chǔ)一級(jí)數(shù)據(jù)。當(dāng)然,供應(yīng)商也有可能找到優(yōu)于NVMeF的新型數(shù)據(jù)訪問與存儲(chǔ)方法。但這項(xiàng)任務(wù)恐怕將極難達(dá)成。
對(duì)于服務(wù)器與服務(wù)器系統(tǒng)軟件供應(yīng)商而言,這更像是一種潛在機(jī)遇而非迫在眉睫的問題。那么,Veritas分卷管理器與其它類似的產(chǎn)品能夠把握機(jī)會(huì),在新時(shí)代下繼續(xù)生存下去?
服務(wù)器系統(tǒng)軟件與陣列控制器軟件工程師們顯然非常睿智,因此我們期待看到他們能夠拿出怎樣的最終方案。