思科联天下
引言
金融行業的數據安全直接關乎資金安全,因此存儲設備在其 IT 系統中佔有舉足輕重的位置。集中式存儲是金融業常見的存儲方式,在金融行業已經使用了超過二十年。很多銀行都構建了為存儲數據而配套的存儲區域網絡(SAN),經過多次迭代發展一直穩定運行。近年來隨著 IT 技術的不斷演進,新的產品組合和投資策略的不斷湧現也給存儲和存儲區域網絡 (SAN) 帶來了新的變化,對金融行業傳統的集中存儲造成衝擊。很多金融企業面臨著存儲網絡技術如何選擇的問題。
根據金融行業 IT 發展趨勢,對於 OLTP 數據庫應用,本地 NVMe SSD 盤或高端 NVMe 全閃存儲是合適的選擇;對於雲環境下虛擬化和基於容器的應用,分佈式塊存儲或帶有重刪壓縮功能的中高端 NVMe 全閃存儲有更加明顯的性價比優勢;對於非結構化數據和歸檔數據等面向對象存儲的應用,可以選擇大容量的低成本存儲。總的來說,支持 NVMe 協議設備的使用越來越普遍。
端到端 NVMe 協議的使用,既能夠釋放閃存介質的性能潛力,也能實現建設更標准通用的數據中心網絡,從而真正滿足計算資源對存儲的高性能要求,因此已成為高端全閃存儲的標配。隨著成本的進一步下降,NVMe+SSD 的組合也必將在中低端存儲中使用。不管是 SAN 網絡還是 IP 網絡,傳輸環節對 NVMe 協議的支持是大勢所趨,NVMe-oF(NVMe over Fabric)業界目前有兩類解決方案,一類是基於傳統 FC 的方式,另一類是基於 RoCE(RDMA over Converged Ethernet)的方式。性價比、穩定性和安全性等方面的綜合因素決定了存儲網絡技術的選擇。
我們將分兩期為大家介紹,本期針對 NVMe 技術以及 NVMe-oF 技術進行探討,分析不同的 NVMe-oF 的優缺點;下期內容針對如何選擇合適的 NVMe-oF 進行討論,以及思科針對金融行業在不同場景下的解決方案和建議。
NVMe 和 NVMe-oF 技術的前世今生
首先我們來探討一下 NVMe 和 NVMe-oF 技術本身。
01.是什麼讓 NVMe 如此之快?
目前 SAN 系統使用的主要數據傳輸協議有 FC Protocol、iSCSI 和 FCoE。這些都是建立在 SCSI 之上的,SCSI 是一套 1970 年代為軟盤和硬盤驅動器設計的接口標準。
NVMe 標準是在過去十年中製定的,專門設計用於充分利用閃存、固態驅動器 (SSD)、NVMe 連接的 SSD,甚至是尚未發明的存儲技術。與 SCSI 的單個命令隊列(深度為 32 個命令)不同,NVMe 支持 64K 隊列,每個隊列有 64K 個命令,這意味著可以同時執行更多數量的命令。
NVMe 的第一次迭代專注於優化通過高速外圍組件互連(PCIe)高速總線連接的計算機和本地 NVMe 介質之間的 I/O。當它發展到 NVMe-oF 時,一個關鍵的設計目標是確保它支持盡可能廣泛的結構和網絡協議。今天,有三種主要的數據傳輸協議:NVMe over Fibre Channel(NVMe/FC)、NVMe over RDMA (NVMe/RDMA) 和 NVMe over TCP(NVMe /TCP)。
這是因為 NVMe 數據傳輸標準有兩個不同的方面:
•作為閃存介質和存儲控制器之間的 “後端” 協議
•作為跨 Data Fabric 的主機和存儲控制器之間的 “前端” 協議,即作為 NVMe over Fabrics (NVMe-oF)
很重要的是,在大多數情況下,NVMe 的潛在速度提升只有不到 20% 是來自於使用的後端 NVMe 介質,80% 或更多的好處來自於使用 NVMe-oF 取代基於 SCSI 的前端數據傳輸協議。因此請始終確定所討論的存儲系統是否真的在運行 NVMe-oF ,而不僅僅是後端 NVMe 閃存介質。
將 NVMe 的大規模並行性引入 Data Fabric 有望帶來巨大的性能提升。接下來,IT 領導者和架構師面臨的問題是,綜合考慮性能、可靠性和成本上的巨大差異,選擇合適的架構。
自 2016 年發布以來,NVMe-oF 標準旨在確保 NVMe 命令集可以通過盡可能廣泛的架構和網絡傳輸協議進行傳輸。
02.三種主要 Fabric
今天,IT 世界的主要數據傳輸協議是:
•光纖通道 (FC):大多數企業 SAN 系統使用的主要協議,用於在存儲設備和服務器之間傳輸數據。
•遠程直接內存訪問 (RDMA) :在計算機系統之間不依賴操作系統直接訪問內存的各種方式。
•傳輸控制協議/互聯網協議 (TCP/IP) :使用 TCP 傳輸協議跨 IP 網絡傳送數據,就像互聯網一樣。
NVMe 支持的三種相應類型的結構是:
•NVMe over FC:封裝在 FC 框架內的 NVMe 命令集。它依賴於分區等常見的 FC 進程,並且可以輕鬆地與今天的標準 FC 協議共存,其中 NVMe 命令集被封裝在 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 的消息傳遞語義。
03.NVMe-oF 技術對比
3.1 NVMe/FC
大多數企業目前將其關鍵任務工作負載委託給基於 FC 的 SAN 系統,因為它們始終如一的高速、高效和可用性。
•NVMe/FC
◆優點:
▎NVMe/FC 提供了非常大的性能提升並減少了工作負載延遲。
▎FC 協議穩定、成熟、高效、速度極快,並提供始終如一的高性能。
▎當前可用的存儲系統可以通過使用相同的結構組件(HBA、交換機等)同時託管和支持 NVMe/FC 和 FC 流量,因此用戶可以輕鬆從 FC 過渡到 NVMe/FC。
▎借助 NVMe 解決方案,無需更改應用程序即可實施 NVMe/FC,因此無需對網絡基礎架構做替換性升級。
▎NVMe/FC 比其他 NVMe-oF 選項更成熟,現在在 NVMe-oF 領域擁有最大的生態系統。
◆缺點:
▎NVMe/FC 依賴於 FC 結構,因此可能不太適合沒有 FC 結構或試圖擺脫 FC 結構的組織。
3.2 RDMA
RDMA 是一種在網絡中兩台計算機的主內存之間交換數據的方式,無需涉及任何一台計算機的處理器、緩存或操作系統。因為 RDMA 繞過操作系統,它通常是通過網絡傳輸數據的最快和最低開銷的機制。
企業計算中有兩種主要的 RDMA 變體:InfiniBand 和 RDMA over Converged Ethernet (RoCE)。
3.2.1 InfiniBand 上的 NVMe (NVMe/IB)
InfiniBand 是最早的 RDMA 實現之一,以超快的性能著稱。儘管具有優勢,InfiniBand 並不像其近親 RoCE 或企業標準 FC 那樣流行。
•NVMe/IB
◆優點:
▎非常快速的協議。
▎廣泛用於大數據分析(例如 Hadoop 工作負載)和科學計算。
◆缺點:
▎昂貴且許多供應商不支持。
▎不容易擴展。
▎在大多數一般企業計算環境中找不到。
3.2.2 RoCEv2 上的 NVMe (NVMe/RoCEv2)
在 RDMA 協議中,嶄露頭角的競爭者是 RoCE,它在融合以太網上運行,融合以太網是以太網協議的一組數據中心橋接 (DCB) 增強功能,旨在使其無損。 RoCE v1 在第 2 層運行,即開放系統互連 (OSI) 模型中的數據鏈路層。因此,它不能在子網之間路由,所以它只支持同一以太網網絡中的兩台主機之間的通信。 RoCE v2 更有價值,因為它使用用戶數據報協議 (UDP),因此與 NVMe/TCP 一樣,在 OSI 第 3 層運行並且可以路由。
•NVMe/RoCEv2
◆優點:
▎NVMe/RoCE 使用以太網網絡進行傳輸,充分利用了廣受歡迎的網絡標準。
▎RoCE v2 產品由多家企業存儲供應商開發。
◆缺點:
▎RoCE v2 目前有一個非常小的生態系統,只有少數版本的操作系統支持,並且不支持存儲高可用性或多路徑。
▎以太網從根本上講是有損的:它旨在應對不可靠的網絡,因此有很多糾錯和重傳選項。然而,用於 NVMe I/O 的融合以太網(RoCE 中的 “CE”)網絡必須是無損的,這需要優先流控制 (PFC) 和顯式擁塞通知 (ECN) 等機制。因此,融合以太網網絡具有嚴格的容差,使其難以擴展。
▎大多數考慮採用 RoCE v2 的組織都需要購買相對昂貴的專用 DCB 網絡交換機和 RDMA 網絡接口卡 (RNIC)。 DCB 網絡可能難以設置和擴展。
3.3 基於 TCP/IP 的 NVMe
迄今為止,FC 或 InfiniBand 網絡的成本使一些組織無法進入 NVMe-oF 市場。為了填補市場空白, NVMe.org 聯盟開發並發布了新的 NVMe-oF 標準 (NVMe/TCP),該標準使用以太網 LAN 和 TCP 數據報作為傳輸。
事實上,2018 年 11 月,NVMe 標準機構批准 NVMe/TCP 作為一種新的傳輸機制。未來,TCP/IP 很可能會發展成為 NVMe 的重要數據中心傳輸。
•基於 TCP 的 NVMe
◆優點:
▎該標準使用 TCP 作為傳輸。 TCP 非常普遍、易於理解且高度可擴展。
▎儘管使用以太網進行連接,但 NVMe/TCP 更類似於 NVMe/FC,因為兩者都使用消息進行核心通信,這與基於 RDMA 的協議(如使用內存語義的 RoCE)不同。
▎TCP 世界中有一個龐大的供應商生態系統,他們在提高其性能方面進行了大量投資。在未來幾年,速度可能會顯著提高。
◆缺點:
▎網絡設計會對 NVMe/TCP 性能產生巨大影響。特別是,緩衝區的分配需要 “恰到好處”。太多緩衝會增加延遲,太少會導致丟棄和重傳。
▎NVMe over TCP 是 NVMe 的最新結構技術,尚未全面商用。
從以上各種技術的比較不難看出,目前最為成熟的 NVMe-oF 的方案應該還是 NVMe/FC,這一點也得到了業界廠商的普遍認可。