iThome整理

現今的NVMe,不僅能應用在伺服器內接的I/O架構上,作為新一代高效能SSD的傳輸介面,也能應用在外接儲存設備的遠端存取架構上,這就是NVMe-over-Fabrics(NVMeF)的應用目的。

NVMeF可以讓儲存網路存取,也透過NVMe協定來進行,如此將能讓跨網路的外接儲存設備,擁有如同伺服器內接SSD般的極低延遲表現。

目前,Brocade與Cisco新的FC光纖交換器都已經支援NVMeF,也有少數儲存設備支援NVMeF架構,搭配NVMe介面的SSD裝置,讓NVMe F的實際應用開始略具雛形。

依照NVMe介面應用的環節,NVMe全快閃儲存陣列可分為3種主要類型:

最基本的應用型態,是將NVMe用在儲存陣列的後端SSD介面,也就是以NVMe介面的SSD或Flash模組,替換以前採用的SAS介面SSD,至於主機端介面與磁碟櫃串接介面,則仍沿用原有的FC、iSCSI、SAS等規格。

更進一步,是將NVMe應用到前端的主機端介面,作為儲存陣列與前端主機連接的通道,取代過去使用的FC、iSCSI介面角色。

第三種應用模式,則是將NVMe作為儲存櫃的連接介面,利用NVMe來串接儲存櫃,提供儲存擴展能力,替代過去SAS介面的作用。

後端式NVMe儲存陣列

在3種NVMe儲存陣列中,目前發展最蓬勃的類型,是技術難度相對最低、僅將NVMe用作為SSD介面的後端式NVMe全快閃儲存陣列,目前Pure Storage、華為、國內的捷鼎,以及剛被WD收購的Tegile,都能提供這類產品。

然而,這種儲存陣列只是採用了「半套」的NVMeF架構,只是讓SSD介面在原有的SAS/SATA之外,額外的多出一種NVMe介面的選擇,控制器架構與主機端介面仍沿用傳統架構,因而在存取延遲方面的表現,顯然不能和真正的「全套」NVMeF、也就是全部存取環節、端到端(End-to-End)都採用NVMe介面的儲存產品相比,但優於上一代採用SAS SSD的產品,更重要的是,主機端則仍沿用原有的FC、iSCSI等介面,仍可透過傳統的FC、iSCSI等介面,來存取這2款NVMe儲存陣列,並能保留重複資料刪除、快照、複製等完整的資料服務功能,相對也更容易讓用戶接受。

因此就目前來看,這種架構雖然是最保守的NVMe儲存陣列型式,但也是最實用的,可預期未來多數全快閃儲存陣列廠商,應該都會提供這種型式的產品。

全NVMe介面儲存陣列

全部環節都採用NVMe的端到端架構

端到端NVMeF是最能發揮NVMe效益的架構,圖中是EMC DSSD D5連接架構,採專屬I/O卡來提供NVMeF連接。另一些廠商則採用25GbE RoCE來提供NVMeF連接。圖片來源/EMC

理論上,從前端主機存取介面,到後端儲存設備I/O介面與SSD介面,端到端(End-to-End)全面採用NVMe規格的NVMeF,是最能發揮NVMe效能優勢的架構。

這種「全NVMe介面」產品,又可分為專屬硬體架構,與軟體定義架構兩大類。專屬硬體架構的代表是EMC的DSSD D5,從Flash模組、控制器到前端主機I/O卡,都是專屬規格。

軟體定義架構產品則不依靠任何專屬硬體,而是透過標準化的通用硬體,來打造End-to-End的完整NVMeF架構儲存陣列,例如以色列新創廠商Excelero的NVMesh、另一家新創廠商E8 Storage,以及老牌固態儲存廠商Kaminario不久前發表的k2.N,都屬於這種架構。

這類產品走的是類似Server SAN的路線,透過軟體模擬,讓標準伺服器硬體扮演儲存設備角色,並提供儲存設備需要的擴展性與管理性。至於NVMeF使用的外接網路傳輸通道,則是使用RoCE規格的乙太網路,或是InfiniBand、FC,構成NVMe over Ethernet、over InfiniBand或over FC的傳輸架構。

NVMeF架構的擴充櫃

後端式NVMe儲存陣列的架構

後端式的NVMe儲存陣列,只是把後端原本使用的SAS/SATA介面SSD,換成NVMe介面的SSD。圖為Tegile原有的全快閃儲存陣列(上),與NVMe儲存陣列(下)的控制器架構對照,可見到後者只更換了後端背板,從前者的SAS 3介面型式背板,換成PCIe介面背板,來達到支援NVMe SSD的目的。這種架構能改善後端SSD的存取效能,但前端介面仍為FC或iSCSI等傳統型式,無法充分發揮NVMe架構的效益。圖片來源/Tegile

NVMe儲存陣列應用上較大的問題,是如何解決後端的擴充問題。在單一機箱內部,可以很容易地透過背板,來實現基於PCIe匯流排的NVMe連接,但企業級儲存陣列還需要跨多組儲存櫃機箱的串接功能,來提供必要的容量擴展能力,因此如何進行PCIe的外部連接,便是關鍵所在。

最直接的做法是採用PCIe交換器,但PCIe外接介面目前還不是很成熟,目前一些廠商的解決辦法是NVMe over Ethernet的傳輸架構,如Pure Storage與Kaminario,都是透過基於25/50GbE RoCE網路,來提供NVMeF架構的後端擴充磁碟櫃。

開始興起的後端式NVMe儲存陣列  

這類全快閃儲存陣列產品,僅將NVMe作為控制器與後端SSD之間的介面,有數家廠商都在今年上半年推出,包括Pure Storage的FlashArray //x,華為的Dorado 5000 v3,Tegile的N5200與N5800,以及國產全快閃儲存陣列廠商捷鼎的NeoSapphire P310、H810等(H810是概念產品,並未正式上市)。

這幾款NVMe全快閃儲存陣列,除了後端可支援NVMe介面SSD以外,其餘規格都與一般的全快閃儲存陣列相同,保有同樣的FC、iSCSI前端主機埠支援能力,以及原有的完整資料服務軟體功能,可以無縫地導入到既有SAN環境中,同時透過後端的NVMe介面,來提高SSD存取效能。

但受前端FC、iSCSI介面的限制,這類產品無法充份發揮NVMe的低延遲特性,不過仍優於原本的SAS後端介面,此外,只要更換前端I/O介面卡,這類產品就能升級為完整的端到端NVMeF架構。

在這幾家廠商中,Pure Storage與華為都採用自身的NVMe Flash模組,其餘幾家則採用通用的NVMe SSD。

100% NVMe的全NVMe介面儲存陣列

從前端主機介面,到後端儲存設備I/O介面全面採用NVMe的完整NVMeF架構的產品。這種架構最能發揮NVMe的效益,提供100μs等級超低延遲,但也存在兩項限制:

首先,前端主機必須跟著改用配套的I/O介面卡,對用戶會帶來額外的成本負擔。

其次,為了提供極致的低延遲效能,NVMeF架構儲存陣列大都捨棄了會帶來額外延遲的資料服務軟體功能,只單純提供一個高速儲存空間。

提起這種「全NVMe介面」的NVMeF儲存陣列,不得不提的一款產品是EMC於2016年初發表的DSSD D5,這也是世界上第一款NVMeF架構儲存陣列產品,採用專屬硬體架構,控制器、Flash模組到前端主機I/O卡全都是專屬規格,定位是提供高速儲存空間,沒有資料服務軟體功能。由於市場接受度不高,EMC最終在2017年中放棄這款產品。

後續跟進推出NVMeF儲存陣列的廠商,亣大多改走基於軟體定義路線,透過標準化的通用伺服器與SSD硬體,來打造端到端的完整NVMeF架構儲存陣列。目前主要產品有Excelero的NVMesh、Kaminario的k2.N,以及E8 Storage的E8-S24與E8-D24。

Excelero NVMesh

由以色列新創廠商Excelero推出的VMesh,是一種Server SAN軟體,透過軟體模擬,讓標準伺服器硬體扮演儲存設備角色,並提供儲存設備需要的管理性。

NVMesh能支援NVMe協定的SSD裝置,透過專屬軟體,便能將內含NVMe SSD的x86伺服器建構為NVMesh Target端設備,前端主機只需安裝NVMesh Client端軟體,便能以NVMeF架構存取NVMesh Target端設備的NVMe SSD,至於底層傳輸通道則支援RoCE規格的乙太網路,或是InfiniBand,所以是一種NVMe over Ethernet或over InfiniBand的傳輸架構。

Excelero宣稱NVMesh能提供100μs等級的存取延遲,但又不需使用任何專屬硬體,但同樣也不提供資料服務功能。

Kaminario k2.N

老牌固態儲存廠商Kaminario的k2.N,核心是Kaminario的專屬軟體,硬體則是使用AIC與Supermicro提供的標準伺服器。

k2.N採用分散式架構,整個系統由擔任控制器的c.node節點,以及擔任儲存櫃的m.node節點組成,Kaminario宣稱他們的架構能提供100μs等級的存取延遲,還可利用Scale-Out方式,組合與擴展整個架構中的c.node與m.node節點。

m.node節點中的SSD模組為NVMe SSD模組,而c.node與m.node節點彼此間都以基於25/50GbE RoCE乙太網路的NVMeF互連,是一種NVMe over Ethernet的傳輸架構,採用Broadcom的NetXtreme RoCE網路卡,搭配Mellanox的25/50GbE交換器。

前端主機則可透過NVMe或傳統的FC、iSCSI介面,來連接c.node節點,還支援NVMe over FC架構,能在既有FC實體通道上執行NVMe協定,是k2.N相對於其他NVMeF儲存陣列的特色之一。

K2.N另一個特點是沿用了Kaminario的VisionOS軟體平臺,從而可獲得完整進階軟體功能,包括壓縮、重複資料刪除、快照、遠端複製與資料加密等,是NVMeF儲存陣列中少數擁有完整資料服務軟體功能的產品。

E8 Storage的E8-S24與E8-D24

E8 Storage是2014年底成立的新創廠商,核心管理階層來自原IBM XIV儲存陣列研發團隊,總部位於美國加州。

目前E8 Storage提供E8-S24與E8-D24兩款NVMeF儲存設備,硬體基於AIC的伺服器,NVMe SSD使用WD HGST與Intel產品,連接介面為Mellanox ConnectX-4 100GbE RoCE網路卡,屬於NVMe over Ethernet的NVMeF架構,前端主機必須安裝E8 Driver驅動程式來存取E8 Storage的儲存設備。E8-S24與E8-D24的定位都是提供單純的高速儲存空間,只有QoS效能管理與RAID-6保護功能,沒有額外資料服務軟體功能。

IBM的FlashSystem 900

我們在截稿前得到消息,IBM即將在年底發表的FlashSystem 900全快閃儲存陣列最新版本(AE3)上,支援NVMeF架構,可透過40Gb InfiniBand與FC介面,來提供NVMe傳輸。

提供低延遲連結的NVMeF架構擴充儲存櫃

透過外接擴充儲存櫃擴展容量,是企業級儲存陣列必備的一項功能,不過,這對NVMe儲存陣列來說,卻有一些麻煩。

顯然的,擴充儲存櫃與儲存陣列控制器之間的連接介面,不能沿用常見的SAS,而必須改用基於PCIe的介面,才能發揮NVMe的低延遲特性,但PCIe交換器目前還不夠成熟,所以一些廠商的變通做法,是採用基於25/50GbE RoCE的NVMeF傳輸架構,藉此可將擴充櫃連接介面,嫁接在新的RoCE乙太網路上,透過NVMe over Ethernet的方式,來提供一種實現上較簡便的NVMeF外接連接架構。

例如Pure Storage預定在今年年底推出的FlashArray //x新款擴充儲存櫃,便預定採用基於25GbE RoCE乙太網路的NVMeF傳輸架構,來作為控制器到儲存櫃的連接介面。

另外,我們前面介紹的Kaminario k2.N,在控制器c.Node與儲存櫃m.Node之間,也是透過25/50GbE RoCE的NVMeF互連。

熱門新聞

Advertisement