NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

昨天突破了一個技術小難題,可能有些放鬆吧。之後看到網上一點新品資料,也沒深挖,結果被於總給我上了一課:)對於自己的淺嘗輒止,我又一次感到慚愧,於是倒逼自己簡單補補課——畢竟我也不算是研究核心技術的。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

OpenFlex Data24 NVMe-oF Storage Platform

WD的SN840 NVMeSSD新品並沒有太吸引我注意,因為它還是PCIe 3.0接口的,要知道Intel的PCIe 4.0 SSD都已經推出了。(我在《看不懂的性能和壽命?Intel Optane持久內存200、LGA4189雜談》中提到過)

但上面這個NVMe-oF(NVMe over Fabric)EBOF(區別於普通JBOF的第一個字母表示Ethernet)我就有點興趣了。前一段看到劉愛貴博士的公司——大道雲行宣佈的分佈式軟件定義存儲新品,使用了一家國內的E-JBOF,想從官網找公開資料學習下都不太多。在這點上國際品牌往往要做得完善一些,否則我也寫不出本文的分享。

從SAS JBOD到NVMe JBOF和EBOF

談到NVMe JBOF的前身,SAS JBOD磁盤(HDD/SSD)擴展櫃不得不提,下面只用一張圖簡單交代下JBOD裡的SAS Expander控制模塊。


NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


上圖從10年前的一段視頻裡截出,可以說是LSI在6Gb/s SAS時代的經典之一(Dell PowerVault MD1200/1220 JBOD基本相同),也勾起了我一段曾經美好的回憶。2U驅動器機箱裡有2個HA路徑的SAS Expander——只用LSI SAS2X36芯片作為核心即可。

相比之下,NVMe-oFJBOF/EBOF至少要在物理上把PCIe轉換為以太網,所以結構不可能如此簡單。我們先來看看下面這塊“網卡”。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

這顆芯片的型號是WDRapidFlex A1000 NVMe-oF ASIC,對應的板卡為RapidFlex C1000 NVMe-oF Adapter,不難看出是用來幹啥的。規格如下:

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

其網口部分提供1個100GbE或者2個50/25GbE以太網,協議支持RoCE、iWARP/TCP,看產品名稱自然也支持NVMe。PCIe接口支持Root Complex,看來是用於連接NVMe SSD的;PCIe Gen3 x16還能拆分成2個x8來使用(連接多個PCIeSwitch)。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


上圖是基於RapidFlex A1000的EBOF參考架構。位於機箱前部的NVMe SSD通過熱插拔背板連接到2塊控制電路板——應該支持雙端口SSD的2個PCIe 3.0 x2多路徑訪問,然後經過PCIe Switch之後,就連接到幾個RapidFlex A1000 ASIC對前端服務器提供NVMe-oF訪問。同時有BMC / 機箱服務模塊用於帶外管理。


NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


看這個WD單芯片解決方案就更清楚了。所謂“6-way無阻塞內存子系統”,其實RapidFlex A1000 ASIC是無需DRAM內存工作的,它的工作其實很單一——就是那個“MPU”實現NVMe(連接SSD)到NVMe-oF(over RDMA)之間的轉換。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

再來看看WD OpenFlex Data24 NVMe JBOF(EBOF)的後視圖。左右2個IOM模塊上各自可以插3塊網卡,應該就是前面提到的RapidFlex C1000 NVMe-oF Adapter。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24

這裡重點看一下OpenFlex Data24的高可用和性能設計。在2個IOM模塊中,每個上面應該是用了不低於96 lane PCIe 3.0 Switch芯片——下行48 lane連接NVMe SSD,然後3個x16連接RapidFlex網卡。除了到以太網那裡帶寬打一點折扣之外,PCIe鏈路的“收斂比”是1:1性能無損的。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


OpenFlex Data24給出的性能指標是13.2M IOPS和70.7GB/s,平均每塊SSD接近55萬IOPS和3GB/s帶寬,這個幾乎把6個100GbE網口跑滿了,每塊網卡平均220萬IOPS。

這裡友情插一個小小的廣告,有想諮詢西數企業存儲產品商務方面的朋友,可以聯繫圈內名人劉委員(平臺小秘書),靠譜的哥們兒,他的微信號wood6988。

NVMe-oF EBOF高級實現方式、閃存陣列的區別

前面討論的WD產品只是最基本的以太網JBOF,可以說與SAS JBOD和PCIeNVMe JBOF的地位沒有本質區別——支持用來連接盤,而並沒有更多高級管理功能。再往上一點的方案是什麼呢?下面我拿Mellanox和Broadcom的產品來簡單舉個例。

關於MellanoxBlueField我有2篇寫的比較早,收錄在《存儲網絡交換、NVMe oF》專輯中,大家也可以找最新的資料看看。

NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


上圖這款卡,在WinnieShao博士的大作《智能網卡SmartNIC:“大”x86 Server中的“小”armServer》中也被提到過。BroadcomStingray板卡的主控芯片BCM58800也是一顆ARM SoC,它在拓撲圖中的位置有點類似於前面的WD RapidFlex,但既然敢稱為閃存陣列(Flash Array)而不只是E-JBOF自然有所不同。


NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


上圖這份資料有點老。ARM和網卡部分我就不多談了,Broadcom本身就是做網絡出身的。SoC同時包含雙通道DDR4內存控制器,具備接近100Gb/s Hash和加密引擎(也能用於重刪)、RAID 5 XOR和RAID 6 P+Q Galois/Erasure糾刪碼支持。

除了基於RDMA的NVMe-oF之外,StingraySmartNIC的應用方案還包括NVMe-TCP(擴展閱讀:《NVMe over TCP:iSCSI的接班人?》),這一點我理解WD RapidFlex網卡就做不到了。類似的還有對象存儲,已經超出了JBOF/EBOF的基本功能範疇。

關於存儲服務offload卸載這一塊,如果是傳統企業存儲市場中功能強大的閃存陣列,只靠SmartNIC顯然又不夠了。下圖引用自《DellEMC PowerStore詳解:NVMe+SAS全閃存陣列,還是一體機?》,只是舉個例。


NVMe-oF E-JBOF設計解析:WD RapidFlex網卡 & OpenFlex Data24


關於寫緩存鏡像,以及數據縮減(壓縮/重刪)處理,只是PowerStore存儲系統數據路徑中的一部分流程而已。其實我理解NVRAM盤只是為了保障數據的持久化(估計是一個副本),真正的處理還是要放在DRAM主內存中才能高效。至於更多的高級存儲服務,就需要用到控制器中強大的服務器級別CPU了(具體到PowerStore使用的是XeonScalable)。


注:本文只代表作者個人觀點,與任何組織機構無關,如有錯誤和不足之處歡迎在留言中批評指正。進一步交流技術,可以加我的QQ/微信:490834312。如果您想在這個公眾號上分享自己的技術乾貨,也歡迎聯繫我:)

尊重知識,轉載時請保留全文。感謝您的閱讀和支持!


分享到:


相關文章: