現在與企業資料儲存設備廠商交談,您聽到的都是 NVMe、NVMe 等等。
所有的噪音都有其充分理由。在 SAN 環境中實作 NVMe (NVM Express) 作為端點對端資料傳輸協定可大幅改善傳輸量並減少延遲,進而為使用者提供更好的體驗。但「端點對端點」部分至關重要,可惜市面上許多 NVMe 資料儲存設備產品只能提供 NVMe 潛在效能提升的一小部分。
這是因為 NVMe 資料傳輸標準有兩個不同的層面:
- 作為 Flash 媒體與儲存控制器之間的「後端」傳輸協定
- 作為 Data Fabric 中主機與儲存控制器之間的「前端」傳輸協定,也就是作為 NVMe over Fabrics (NVMe-oF)
閱讀細則很重要,因為在大多數情況下,NVMe 的潛在速度提升中,不到 20% 來自使用後端 NVMe 媒體,而 80% 以上來自使用 NVMe-oF 取代 SCSI 型前端資料傳輸協議。一些資料中心行銷部落格實際上是 誇大言辭,因此請務必確定相關儲存系統是否實際執行 NVMe-oF,而非只是後端 NVMe Flash 媒體。
將 NVMe 的大規模平行處理功能帶入 Data Fabric 保證能大幅提升效能。因此,鑑於效能、可靠性和成本之間存有很大差異,IT 主管和架構設計師所面臨的問題是要採用哪種架構。
VMe-oF 標準自 2016 年問世以來,即是為了確保 NVMe 命令集能夠以最廣泛的各種架構和網路傳輸方式傳輸。
三種主要的架構類型
現今, IT 界的主要資料傳輸協定是:
- Fibre Channel (FC)。在儲存裝置與伺服器之間傳輸資料的主流傳輸協定,適用於大多數企業級 SAN 系統。
- 遠端直接記憶體存取 (RDMA)。在不依賴作業系統的情況下,以各種方式直接存取電腦系統之間的記憶體。
- 傳輸控制傳輸協定 / 網際網路傳輸協定 (TCP/IP)。使用 TCP 傳輸協定在 IP 網路之間傳送資料,就像網際網路一樣。
NVMe 支援的三種對應的架構類型為:
- NVMe/FC。NVMe 命令集封裝在 FC 架構內。它仰賴常見的 FC 程序(例如分區),並且可以輕鬆地與現今的標準 FC 傳輸協定共存,其中 SCSI 命令集封裝在 FC 架構中。
- NVMe over RoCE (NVMe/RoCE)、InfiniBand 和 iWARP。RoCE v2 是一種新興的替代方案,係透過實體融合式乙太網路來使用 RDMA (資料中心橋接無損傳輸乙太網路)。
- NVMe over TCP (NVMe/TCP)。NVMe 是透過乙太網路在 TCP 資料封包內傳輸作為實體傳輸。雖然 RoCE 和 NVMe/TCP 都使用乙太網路,但 NVMe/TCP 的行為更像 NVMe/FC,因為兩者都使用 I/O 傳訊語義。
讓我們來看看這三種在 Data Fabric 上實作 NVMe 的技術,然後研究每種方法的優缺點。
是什麼讓 NVMe 如此快速?
目前 SAN 系統使用的主要資料傳輸協定是 FC 傳輸協定、iSCSI 和 FCoE。從現在起您可以忽略這些縮寫,因為它們都建置在 SCSI 之上,SCSI 是一套 1970 年代專為磁碟片和硬碟設計的介面標準。
NVMe 標準是在過去十年中制定,專為充分利用 Flash 記憶體、固態硬碟 (SSD)、NVMe 附加 SSD,甚至是尚未發明的儲存技術而設計的。NVMe 支援 65K 個佇列,每個佇列 65K 個命令,而不支援 SCSI 的單一命令佇列(深度為 32 個命令),這表示可以同時執行更多數量的命令。
NVMe 的第一次迭代著重於在透過高速周邊元件互連 (PCIe) 匯流排連接的主機電腦和本機 NVMe 媒體之間最佳化 I/O。當它演進到 NVMe-oF 時,關鍵設計目標是確保它支援盡最廣泛的各種架構和網路傳輸協定。如今,這意味著三種主要的資料傳輸協定:NVMe/FC、NVMe over RDMA (NVMe/RDMA) 和 NVMe/TCP。
NVMe/FC
大多數企業目前都將其關鍵任務工作負載委託給 FC 型 SAN 系統,因為它們始終具有高速度、高效率和高可用度。
- NVMe/FC
- 優點:
- NVMe / FC 可大幅提升效能並減少工作負載延遲。
- FC 傳輸協定穩定、成熟、有效率且速度極快,並提供始終如一的高效能。
- 目前可用的 NetApp® AFF A300、AFF A700s 和 AFF A800 儲存系統可以使用相同的架構元件(HBA、交換器等)同時裝載和支援 NVMe/FC 和 FC 流量,因此使用者可以輕鬆從 FC 移轉至 NVMe/FC。
- 透過 NetApp NVMe 解決方案,無需變更應用程式即可實作 NVMe/FC,因此無需進行全面汰換升級。
- 此標準提供高可用度 (HA) 儲存設備和 NVMe 非對稱命名空間存取 (ANA) 增強功能,該增強功能由 NetApp 開發並制定為 NVMe 規格。
- NVMe/FC 比其他 NVMe-oF 選項更成熟,目前是 NVMe-oF 領域最大的生態系統。
- 想要開始測試或部署 NVMe/FC 的組織只需升級到 NetApp ONTAP® 9.4 或更高版本,並新增 NVMe/FC 授權即可。
- 缺點:
- 與所有 NVMe 產品一樣,NVMe/FC 非常新,支援的作業系統、主機匯流排介面卡 (HBA) 和交換器的生態系統仍然相對較小。
- NVMe/FC 的生態系統比 RoCE v2 大,但與極為成熟的 FC 傳輸協定相比仍然很小。
- NVMe/FC 依賴 FC 架構,因此可能不太適合沒有 FC 架構或想要放棄 FC 架構的組織。
RDMA
RDMA 是一種在網路中兩部電腦的主記憶體之間交換資料的方法,而不需要任何一部電腦的處理器、快取或作業系統。由於 RDMA 會繞過作業系統,因此它通常是透過網路進行資料通訊最快且例行成本最低的機制。
企業運算有兩種主要的 RDMA 變體:InfiniBand 和 RDMA over Converged Ethernet (RoCE)。
NVMe Over InfiniBand (NVMe/IB)
InfiniBand 是 RDMA 最早的實作方法之一,並以超快的效能而聞名。自 2017 年起,NetApp 便開始推出支援 100Gbps InfiniBand 的 E 系列混合式和 All Flash 陣列,為 Big Data 分析工作負載提供低於 100 微秒的延遲。儘管 InfiniBand 有其優點,但它並不像其近親 RoCE 或企業標準 FC 那樣受歡迎。
- NVMe/IB
- 優點:
- 非常快速的傳輸協定。
- 廣泛用於 Big Data 分析(例如 Hadoop 工作負載)和科學運算。
- 缺點:
- 昂貴;許多廠商不支援。
- 無法輕鬆擴充。
- 在大多數一般企業運算環境中找不到。
RoCE v2
在 RDMA 傳輸協定中,嶄露頭角的競爭者是 RoCE,它是在融合式乙太網路上執行,是一組資料中心橋接 (DCB) 增強功能,可增強乙太網路傳輸協定,使其無損。RoCE v1 在第 2 層執行,即開放式系統互連 (OSI) 模式中的資料連結層。因此,它無法在子網路之間路由,所以只支援同一個乙太網路中兩部主機之間的通訊。RoCE v2 更實用,因為它使用使用者資料封包傳輸協定 (UDP),因此與 NVMe/TCP 一樣,在 OSI 第 3 層執行並且可以路由。
- NVMe/RoCE v2
- 優點:
- NVMe/RoCE 使用乙太網路進行傳輸,充分利用廣受歡迎的網路標準。
- RoCE v2 產品由多家企業儲存設備廠商開發。
- 缺點:
- RoCE v2目前的生態系統非常小,只有單一版本的 Linux,而且還不支援儲存高可用度或多重路徑功能。
- 乙太網路基本上是有損的:其設計是為了處理不可靠的網路,因此有許多錯誤修正和重新傳輸選項可供選擇。不過,用於 NVMe I/O 的融合式乙太網路(RoCE 中的「CE」)網路必須是無損的,這需要優先流量控制 (PFC) 和明確擁塞通知 (ECN) 等機制。因此,融合式乙太網路的容錯能力較小,難以擴充。
- 大多數考慮採用 RoCE v2 的組織都需要購買專用的 DCB 網路交換器和 RDMA 網路介面卡 (RNIC),這些都相對昂貴。DCB 網路可能難以設定和擴充,例如,當組織將交換器新增到網路時。
NVMe Over TCP/IP
到目前為止,FC 或 InfiniBand 網路的成本使一些組織無法進入 NVMe 市場。為了解決市場的這種落差,NetApp 和 NVMe.org 協會的其他成員開發並發表了一項新的 NVMe 標準 (NVMe/ TCP),該標準使用乙太網路 LAN 搭配 TCP 資料包作為傳輸。
事實上,NVMe 標準機構於 2018 年 11 月核准了 NVMe/TCP 作為新的傳輸機制。未來,TCP/IP 可能會演變成 NVMe 的重要資料中心傳輸。
- NVMe over TCP
- 優點:
- 標準使用 TCP 作為傳輸。TCP 非常常見、易於理解且易擴充的。
- 儘管使用乙太網路進行連線,但 NVMe/TCP 更像 NVMe/FC,因為兩者都都使用訊息進行核心通訊,這與使用記憶體語義的 RoCE 等 RDMA 型傳輸協定不同。
- TCP 環境上有龐大的廠商生態系統,在提高其效能功能方面進行了大量投資。未來幾年,速度可能會大幅提升。
- 缺點:
- 網路設計會對 NVMe/TCP 效能造成重大影響。特別是緩衝區的分配必須「恰到好處」。緩衝過多會增加延遲,太少會導致遺漏和重新傳輸。
- NVMe over TCP 是適用於 NVMe 的最新架構技術,尚未商用。
哪一種架構?
對於打算升級基礎架構以支援 NVMe-oF 的企業 IT 架構設計師來說,主要問題是哪一種架構。當然,答案取決於目前基礎架構的內容,以及未來的計畫和預算。
另一個關鍵因素是時機。NVMe/RoCE v2 的潛力很大,但它可能還需要幾年的時間才能發展成熟,才有辦法可靠地處理第 1 層企業工作負載。而且,當技術成熟時,NVMe/TCP 也可能提供優異的性價比,但這還需要幾年的時間。
目前,大多數 IT 架構設計師都認為 FC 為企業關鍵任務工作負載提供了最成熟的資料傳輸協定,因此 NVMe/FC 成為理想的架構選擇。Demartek 技術分析師 2018 年發表的報告《NVMe over Fibre Channel 的效能優勢》證實了 NVMe/FC 架構帶來的效能提升幅度,如下圖所示。 對於在 NetApp AFF 700 系統上執行的典型 Oracle 工作負載,NVMe/FC 的 IOPS 約比 SCSI FC 傳輸協定的 IOPS 高 50%。 [/caption] 實驗室測試是透過使用模擬在單一節點 AFF A700 系統上執行的。Oracle 工作負載具有 8KB 區塊大小(典型 OLTP 資料庫 I/O)的 80/20 讀取/寫入混合,以及少量 64KB 循序寫入(典型重做日誌)。結果顯示,相較於 SCSI FC 傳輸協定,NVMe/FC 在 375μs 延遲下實現了 58% 的高 IOPS。
我們在實驗室中使用自 2018 年 5 月開始出貨的 AFF A800 SAN 儲存系統也看到了類似的結果。這些系統提供完整的端點對端 NVMe 連線能力,包括 NVMe 附加的 Flash 媒體和跨儲存控制器與主機之間架構的 NVMe/FC 連線能力。測試結果證實,雖然在 AFF A800 上執行 Oracle 應用程式時,後端的 NVMe 附加媒體可大幅提升效能,但高度平行化的前端 NVMe-oF 提供了最多的改善。
這是兩全其美的情況:能夠不中斷地實作現今最成熟的儲存網路技術,同時為即將來臨的全 NVMe 未來做好準備。
若要深入瞭解、請參閱 《NVMe over Fibre Channel 的效能優勢》 報告(無需註冊)。