用NVMe取代磁盤時(shí)代的SCSI協(xié)議,從而可以充分釋放閃存的力量。但到目前為止,各家設(shè)備供應(yīng)商在就如何構(gòu)建NVMe產(chǎn)品生態(tài)這點(diǎn)上,遠(yuǎn)遠(yuǎn)未能達(dá)成共識。
30多年來,存儲(chǔ)行業(yè)一直依靠小型計(jì)算機(jī)系統(tǒng)接口(SCSI)協(xié)議保持服務(wù)器與存儲(chǔ)、以及磁盤陣列內(nèi)部的通訊。盡管物理連接技術(shù)不斷演進(jìn),該通訊協(xié)議一直以來保持相對穩(wěn)定。
然而,伴隨著Nand閃存存儲(chǔ)的問世,問題隨之凸顯。閃存的性能較機(jī)械磁盤快出了幾個(gè)數(shù)量級,能夠并行處理多項(xiàng)請求。伴隨著供應(yīng)商在可擴(kuò)展性方面將驅(qū)動(dòng)器容量提升至數(shù)十個(gè)TB,SCSI日益成為閃存利用率的瓶頸所在。
而今,非易失性存儲(chǔ)器(NVMe)作為一種全新的協(xié)議,被認(rèn)為將取代SCSI,充分發(fā)揮出Nand存儲(chǔ)的優(yōu)勢。
NVMe與閃存的潛在力量
NVMe是一種協(xié)議,而非某種封裝形式或媒介類型。支持NVMe的物理設(shè)備有多種形式,例如AIC(接插卡或是傳統(tǒng)上的PCIe卡)、U.2(類似傳統(tǒng)的硬盤驅(qū)動(dòng)器)以及M.2(一種記憶棒)。這些全部使用PCIe作為接口總線。
NVMe降低閃存通信過程中所涉及到的軟件延遲,改善了硬件的中斷時(shí)間(即處理器到設(shè)備的性能),并且相較于SCSI增加了并發(fā)處理請求的能力,同時(shí)支持更深層的輸入/輸出(I / O)隊(duì)列(65,535個(gè)隊(duì)列深度)。最終實(shí)現(xiàn)了更高的吞吐量(IOPS和數(shù)據(jù)量)和更低的I / O延遲。
已經(jīng)有供應(yīng)商開始應(yīng)用NVMe,并在他們最新的高速磁盤陣列產(chǎn)品中使用該技術(shù)。這帶來了一種全新的體系架構(gòu),NVMe over fabric(NVMf),能夠同時(shí)充分利用到光纖通道和以太網(wǎng)網(wǎng)絡(luò)。
我們來看下各家供應(yīng)商的解決方案,探討他們?nèi)绾卧诂F(xiàn)有和今后的產(chǎn)品線中使用NVMe。
存儲(chǔ)產(chǎn)品中的NVMe
X-IO以其ISE系列磁盤模式封裝而聞名。其最近通過全新的Axellio平臺(tái)扭轉(zhuǎn)了財(cái)務(wù)困境,該平臺(tái)采取2U機(jī)架高度的雙控制器架構(gòu),最多支持4顆Intel Xeon E5-2699v4處理器(共計(jì)88內(nèi)核),高達(dá)2TB的DRAM,以及1至6個(gè)FlashPac,每個(gè)FlashPac最多可容納12個(gè)雙端口NVMe固態(tài)硬盤(SSD)。假如配置6.4TB的驅(qū)動(dòng)器,那么系統(tǒng)的整體容量目前可達(dá)460TB。
系統(tǒng)的核心是一款被稱為FabricXpress的PCIe架構(gòu),將兩個(gè)控制器分別與每個(gè)雙端口驅(qū)動(dòng)器相聯(lián)。這使得X-IO能夠以35μs的延遲獲得高達(dá)1200萬IOPS(4KB),以及60Gbps的持續(xù)吞吐量。Axellio的設(shè)計(jì)核心是雙控制器架構(gòu),但其具備的88顆內(nèi)核可用作傳統(tǒng)存儲(chǔ)設(shè)備或橫向擴(kuò)展平臺(tái)的基礎(chǔ)。支持額外插件模塊的功能實(shí)現(xiàn)了運(yùn)行分析或支撐其它流程密集型工作負(fù)載的能力,這就是NVMe架構(gòu)真正具有價(jià)值的地方,使得計(jì)算盡可能貼近存儲(chǔ)。
Pure Storage在2017年4月發(fā)布了FlashArray//X架構(gòu),升級現(xiàn)有的FlashArray架構(gòu)。事實(shí)上,F(xiàn)lashArray產(chǎn)品早已通過引入全新的//X70控制器,以及DirectFlash NVMe驅(qū)動(dòng)器模塊支持NVMe功能。與FlashArray//M相比,這款產(chǎn)品降低了一半的延遲,性能吞吐量提高了兩倍,Pure稱之為四倍的性能密度。雖說FlashArray // X在性能改進(jìn)方面看來并非是突破性的——注意客戶仍然必須在前端使用標(biāo)準(zhǔn)的光纖通道與iSCSI協(xié)議——但其性能密度的改進(jìn)精簡了占地空間。 Pure在單個(gè)機(jī)箱的3U機(jī)架空間內(nèi),可以實(shí)現(xiàn)近乎PB級的存儲(chǔ)容量(大約比原先節(jié)省了80% 的占地空間),同時(shí)比上一代FlashArray // M具備更高的性能。
更有趣的是,Pure在未來會(huì)面向NVMe-over-Fabrics發(fā)展,從而提高前端性能,同時(shí)可以單個(gè)控制器內(nèi)解決更多的閃存容量問題。DirectFlash機(jī)架尚未上市,但Pure已經(jīng)承諾在系統(tǒng)擴(kuò)容時(shí)支持512TB的附加閃存,并且通過融合以太網(wǎng)(RoCE)技術(shù)支持50Gbps的以太網(wǎng)速率,以及遠(yuǎn)程直接內(nèi)存訪問(RDMA)技術(shù)。
在面向NVMe-over-Fabrics方面,Excelero是一家初創(chuàng)型公司,正努力借助NVMf來開發(fā)一個(gè)名為NVMesh的橫向擴(kuò)展節(jié)點(diǎn)架構(gòu)。 NVMesh系統(tǒng)具有多個(gè)通過融合以太網(wǎng)和RoCE,使用被稱為遠(yuǎn)程直接驅(qū)動(dòng)訪問(RDDA)的專有技術(shù)實(shí)現(xiàn)多組控制器互聯(lián)。這種方式實(shí)現(xiàn)了任何節(jié)點(diǎn)均可以訪問系統(tǒng)中駐留的驅(qū)動(dòng)器,而最小化,甚至消除處理器性能的損耗。與Axellio一樣,NVMesh可以以超融合形式部署,由每個(gè)節(jié)點(diǎn)提供計(jì)算和存儲(chǔ)資源,或者作為專用的存儲(chǔ)平臺(tái),計(jì)算節(jié)點(diǎn)的形式運(yùn)行客戶端數(shù)據(jù)塊驅(qū)動(dòng)應(yīng)用。
不過,NVMesh作為軟件解決方案的模式進(jìn)行銷售,客戶可以使用自己現(xiàn)有的硬件,或是從合作伙伴那里購置,例如Micron將NVMesh合并到其SolidScale產(chǎn)品當(dāng)中。 Excelero聲稱,NVMesh可以近乎100%發(fā)揮出主機(jī)NVMe的性能,這種松耦合式的架構(gòu)自然是很有意義的。但這遠(yuǎn)非完美。目前,數(shù)據(jù)保護(hù)僅限于RAID-0、RAID-1和RAID-10,不支持存儲(chǔ)空間的壓縮——除非在客戶端額外單獨(dú)實(shí)施。但是這些都已羅列在日后的路線圖上。 E8 Storage是另一家使用光纖結(jié)構(gòu)連接客戶端與存儲(chǔ)的初創(chuàng)企業(yè)。
E8-S24和E8-D24系列設(shè)備將I/O路徑和控制平面分為單獨(dú)的硬件。 E8磁盤架上分別可安裝24塊NVMe SSD驅(qū)動(dòng)器,提供四到八個(gè)100GbE網(wǎng)絡(luò)連接。一個(gè)單獨(dú)的機(jī)架可以使用RDMA NIC連接多達(dá)96臺(tái)客戶機(jī)服務(wù)器。數(shù)據(jù)服務(wù)(可用性和管理服務(wù))則經(jīng)由一對不位于數(shù)據(jù)通道上的E8控制器負(fù)責(zé)處理。
和Excelero一樣,E8 Storage通過系統(tǒng)管理分散NVMe容量,并將控制器從I / O路徑上移除。這樣提供了更大的系統(tǒng)擴(kuò)展性,而無需在每個(gè)控制器中部署大量的Xeon處理器。但是,使用額外的驅(qū)動(dòng)程序確實(shí)引入了客戶端的復(fù)雜性。E8聲稱能夠?qū)崿F(xiàn)100μs(讀取)、40μs(寫入)的低延遲,確保1,000萬次的讀取IOPS,100萬次的寫入IOPS以及40Gbps和20Gbps的讀寫吞吐量。
另一家初創(chuàng)企業(yè),Apeiron Data Systems使用基于網(wǎng)絡(luò)的NVMe,同樣在數(shù)據(jù)通道上避開控制器。這種情況下,Apeiron的ADS1000平臺(tái)使用被稱為NVMe-over-Ethernet的協(xié)議,其要求在每個(gè)客戶端中部署定制化的主機(jī)總線適配器(HBA)。該HBA使用Intel Altera FPGA來封裝NVMe請求,并通過以太網(wǎng)的第2層協(xié)議發(fā)送,從而實(shí)現(xiàn)低至100μs延遲的橫向擴(kuò)展架構(gòu),每個(gè)機(jī)箱最多可實(shí)現(xiàn)384TB的存儲(chǔ)容量(24塊16TB驅(qū)動(dòng)器) 。有趣的是,Apeiron還引用了英特爾Optane的性能數(shù)據(jù),聲稱可實(shí)現(xiàn)12微秒的讀/寫延遲。這代表著,去除控制器瓶頸的體系結(jié)構(gòu)在性能方面處于絕對領(lǐng)先的地位。
最后,我們還要提及到Kaminario,該公司最近發(fā)布了它的K2.N平臺(tái)。這是一個(gè)可實(shí)現(xiàn)模塊化組合的存儲(chǔ)基礎(chǔ)架構(gòu),允許獨(dú)立地?cái)U(kuò)展磁盤架和控制器。在后端,Kaminario控制器(c.nodes)使用NVMe over Fabrics訪問存儲(chǔ)容量(m.nodes)。在前端,除了光纖通道和iSCSI之外,系統(tǒng)還支持NVMf,擴(kuò)展了支持的主機(jī)接口類型。
NVMe閃存架構(gòu)未來之路在何方?
我們會(huì)看到三種不同的模式出現(xiàn)。
在主機(jī)連接上使用NVMe-over-fabric來代替光纖通道或iSCSI。這不需要新的硬件,因?yàn)楝F(xiàn)有的HBA完全可以支持NVMf。
將控制器從數(shù)據(jù)路徑中移除的松耦合架構(gòu)。其中大多數(shù)需要定制或(可能)更昂貴的HBA和主機(jī)驅(qū)動(dòng)器。
在系統(tǒng)后端使用NVMe-over-fabric的趨勢。
我想,在不遠(yuǎn)的將來,可以期待NVMe在所有要求高性能的解決方案中全面取代SAS和SATA。客戶面臨的挑戰(zhàn)可能則是如何實(shí)現(xiàn)用全新的共享存儲(chǔ)取代傳統(tǒng)的共享陣列。這意味著要以更為宏觀的角度思考整體架構(gòu)——或?qū)⒀刂诤匣A(chǔ)架構(gòu)的發(fā)展路線。