高效能分散式儲存在核心資料庫的應用
基於 RoCE 構建分散式儲存,打造高效能資料庫雲中國電信福建分公司 企業資訊化部 郭建海
摘要:為解決福建電信資料庫效能不足問題,本文從平臺架構的角度分析了硬體和軟體對效能的影響,創新地提出了使用遠端記憶體直接訪問技術(RDMA)構建雲端儲存平臺的思路。在標準乙太網框架內,執行 RDMA over Converged Ethernet (RoCE),在雲端資料庫上實現對非本地儲存的高速訪問,從而極大程度的提升了應用的吞吐。通過進一步的實驗和現網試執行驗證,該框架對於改善系統整體延時也有非常好的效果。 基於理論分析和實踐結果的互相論證,本文最後對於基於分散式儲存構建高效能資料庫雲進行了總結,概括了其中的關鍵技術點,同時給出了可能存在的問題和下一步研究方向。
關鍵詞: RDMA, RoCE,分散式儲存,資料庫,網路概述
伴隨著資料的指數級增長,給我們的生活帶來便利的同時,也給電信網路帶來更高的壓力和需求。隨著資料中心流量的增加,許多平臺都迫切需要提高伺服器和網路頻寬。除此之外,資料中心還需要一種可以有效擴充套件以適應未來需要的產品,10GE 作為當前部署的主流頻寬在這方面已有些力不從心。在網際網路企業中,25GE 乙太網逐步開始承載雲平臺和關鍵業務,25GE 擁有 10GbE 無可比擬的頻寬優勢,同時也具備極好的可擴充套件行來滿足未來節點數增長的需求。25GE 技術可在成本和功耗較低的情況下在單個通道中提供較高頻寬,從而提供更高的伺服器和交換機埠密度。25GE 是一種新標準,可利用為 100GE 乙太網(作為在四個光纜或銅纜對上執行的四個 25Gbps 通道 (IEEE802.3bj) 而實施)定義的技術。以 25GE 為基礎構建的解決方案可與 10GE、50GE、100GE 以及未來的 200GE 和 400GE 產品向後和向前相容,從而可確保適應未來解決方案的升級途徑。隨著高頻寬互連越來越普遍,網路請求處理向 CPU 施加了沉重負擔。藉助網絡卡端的解除安裝和交換端的流控技術(如 RoCE, PFC 和 ECN),可以實現高效率以便進一步提高 25GbE 網路的效能。RDMA 使網路介面卡可以直接訪問應用程式緩衝區,從而繞過核心、CPU 和協議堆疊,因此 CPU 可以在 I/O 傳輸進行期間執行更有用的任務。這樣可提高伺服器中的效能,從而使應用程式工作負載可以在高頻寬網路中高效擴充套件。
儲存是除了 CPU 和網路之外,影響系統性能極為關鍵的一環。客戶相關的各類資料,網路執行的日誌和維護記錄等都需要通過儲存儲存。傳統的 FC 儲存使用不同於標準乙太網的 FC 網路,而儲存介質以硬碟為主,對於當前大量的非結構化資料來說,單盤每秒能進行的書寫次數在 100 以內。要搭建高效能的系統,一是要有能支援更高讀寫速度的介質,二是要有合適的協議能高效承載資料,然後就是配套的網路和 CPU 能滿足對應的效能要求。
根據國際權威機構 Wikibon 對未來儲存市場的預測,儲存市場整體穩步增長。但傳統SAN/ NAS 儲存的市場佔比則持續降低,Hyper-Scale Server SAN 和和企業級 Server SAN 等分散式儲存在 2021 年市場份額預計佔比超過 80%,2026 年將超過 90%。決定分散式儲存的關鍵則是核心軟體和分散式的通訊互聯。
圖 1. 儲存市場預測當前的問題和解決思路
目前主要問題是越來越大的需處理資料量與傳統低速儲存的矛盾。要解決這一問題,在本文開頭的概述中我們提到需要更高效能的介質配合網路和 CPU,以提升節點的效能並打造可擴充套件的系統,應對日益增長的資料需求和效能要求。因此,福建電信探索通過 25G 網路及 RoCE 技術,實現高效的分散式資料解決方案,解決當前資料倉庫的效能問題。
首先需要解決的是儲存的架構問題。在資源池化的大環境下,傳統儲存肯定無法繼續使用。出於海量資料本身的需求,為優化不同節點對儲存的並行訪問效能,使用分散式儲存來解決問題是一個較好的思路。在分散式儲存系統中,如何提升儲存的遠端訪問效能,進而提升分散式儲存整體效率,這是一個挑戰。從協議的角度,可以使用 iSER 或 NVMF 等基於 RoCE 的訪問技術;從網路的角度,更好利用網絡卡的解除安裝特性、乙太網交換機的低延時、零丟包特性和先進的流控機制,能有效提高網路效率並降低 TCO,進一步提升分散式儲存的效能和效率。
其次,對於使用哪種儲存介質能滿足高效能儲存的要求,筆者認為 NVMe SSD 擁有較好的隨機讀寫效能。且可以選擇 U.2 介面的 NVMe SSD,可支援熱插拔,也可根據需要實現 RAID,以滿足儲存的高可靠性要求。由於單塊 NVMe SSD 的讀寫就需要高於 20Gb/S 的頻寬,25GE 網路成為滿足儲存 IO 需求的起步配置。 然後,對於解決容量問題的需求,解決的思路是使用高速的 NVMe SSD 作為快取,在之後使用大容量的硬碟來儲存冷資料,這樣通過智慧快取加速 IO 讀寫,同時通過海量硬碟實現大容量。
在既定的分散式架構下,儲存效能的關鍵在於如何實現儲存訪問的加速。這個技術可以分為兩個方面,一方面是保證遠端儲存和本地儲存有近似的 IO 效能,另一方面是怎麼樣通過硬體解除安裝來保證 CPU 不被過度佔用進而影響儲存效能。之前提到的基於 RoCE 的網路技術能非常好的實現這個儲存訪問的加速。
除上述問題之外,由於是分散式架構,網路如何保證資料的完整性也是非常重要的。這裡需要交換機和網絡卡端的配合來實現端到端的流控機制。如果硬體本身的可靠性和可用性都非常高,這也是對系統性能的一個有力保證。
採用以 Mellanox 為代表的高頻寬低延遲智慧網路和 RDMA/RoCE 技術能加速資料傳遞和高效無損無疑是構建分散式儲存網路的關鍵之一。
方案框架
圖 2. 分散式儲存方案簡圖
基於上一章節的分析,此處給出實現分散式儲存的框架,用於資料庫雲的承載。在圖2 中計算節點和儲存節點都連到 25GE 組網。無論計算節點還是儲存節點,都使用雙路25GE 捆綁替換原來的雙路 10GE 網路。在前期實驗網路中,共接入 27 個儲存節點,每個儲存節點配 4 塊 3.2T NVMe 硬碟。在雲平臺之上承載容器化資料庫,根據應用的需要,可以擴充套件計算節點或儲存節點,以支援更高容量或更多使用者。由於方案側重遠端資源池化的實現,因此我們的效能對比測試也主要針對不同網路的場景。
o 網路交換
在網路交換上,我們選擇了業界低延時的儲存網路交換機 Mellanox MSN2410,每臺MSN2410 能支援高達 48 個 25GE 介面,同時支援 8 個 100GE 介面。在提供可靠硬體和靈活的埠支援基礎長,MSN2410 能為分散式儲存提供無與倫比的網路特性:
- 支援低至 300ns 的延時,且抖動小;
- 任意 64 位元組及以上報文都能實現線速轉發;
- 公平、可預測的埠資源分配保證最合理的頻寬使用;
在報文處理的細節方面,MSN2410 能夠通過其大快取實現對於 Micro Burst 的最佳支援,同時先進的 ECN 標記方法和最快的 PFC 響應都能極好保證儲存資料無損到達對端。
Mellanox 交換機配置簡單,降低了安裝和管理高速網路的複雜性,具有完善的監控和管理功能,可以通過軟體實現監測管理。
o RoCE 網絡卡
在資料不斷增長的環境中,所有資料的快速傳輸對於高效使用資訊至關重要。基於遠端直接記憶體訪問 (RDMA) 的互連可為提升資料中心效率、降低整體複雜性以及提高資料交付效能提供理想選擇。RDMA 使資料可以從儲存傳輸到伺服器,而無需通過 TCP/IP 乙太網的 CPU 和主記憶體路徑傳遞資料。可獲得更高 CPU 和整體系統效率,因為儲存和伺服器的計算能力只用於計算(而不是處理)網路流量。儘管高頻寬十分重要,但是如果沒有低延遲,頻寬就沒什麼價值。通過網路移動大量資料可以使用 TCP/IP 來實現,但是隻有 RDMA 才能實現低延遲,避免成本高昂的傳輸延遲。而且,RDMA 解除安裝可減少抖動,這意味著低響應時間的一致性顯著提高 RoCE 最終將 RDMA 技術引入基於乙太網的資料中心,從而使這類資料中心可以受益於 RDMA 的低延遲。
Mellanox 從 ConnectX-4 系列網絡卡開始,可利用網絡卡中內建的基於管線的可程式設計 eSwitch 來快速處理虛擬化換將下的資料互動,ConnectX-4 Lx 可以在硬體中處理大部分資料包處理操作。這些操作包括 VXLAN 封裝/解封、基於一組通用 L2-L4 包頭欄位的資料包分類、QoS 和訪問控制列表 (ACL)。在儲存方面,ConnectX-4 Lx 能支援 iSER 和 NVMf,此外,該網絡卡還能實現基於 VF 的限速機制以及糾刪碼的解除安裝,大大降低伺服器與、網路交換機和儲存節點之間的協調複雜性問題,提升服務質量。
效能對比
福建電信以 8 計算節點情形作效能測試,以衡量技術創新帶來的優勢。在關鍵的 4K 隨機讀寫測試中,25GE RoCE 網路的吞吐是 10GE 網路的 9~14 倍左右,而延時相比 10GE 網路僅為其 5~10%。明顯可見,25GE RoCE 網路大大提升了分散式儲存的吞吐,也極好的降低了系統延時。在相同環境下,25GE 網路順序讀寫的頻寬也是 10GE 網路 2.2 倍以上,而延時則僅為 10GE 網路的 5%左右。
圖 3. 順序讀寫頻寬對比
圖 4. 順序讀寫時延對比
圖 5. 隨機讀寫效能對比
圖 6. 隨機讀寫時延對比
結論與下一步展望
在相同高效能分散式儲存上,使用 25GE 網絡卡比使用傳統萬兆乙太網卡不僅有更高的IOPS 和 IO 吞吐量,特別是 IO 時延方面有明顯優勢。本文驗證了分散式儲存在核心生產系統部署的可行性、穩定性及高效能。下一步的工作可以結合應用來看,如何提升分散式儲存和應用之間的貼合度,這是在電信生產系統中面臨的進一步效能優化問題。此外 RoCE 技術在電信網路其他領域的推廣也是一個值得探討的方向。
參考文獻:
1. RoCE in the Data Center. http://www.mellanox.com/relateddocs/whitepapers/roce_in_the_data_center.pdf
2. Application Acceleration with Mellanox RDMA enabled Networking Solutions. http://www.mellanox.com/related-docs/solutions/RoCE_MSFT_StorageSpaces_SB.PDF
3. SQL/">MySQL Database Acceleration over Mangstor Low latency Storage and Mellanox Low Latency Networking. http://www.mellanox.com/relateddocs/solutions/SB_Mangstor_MySQL.pdf
4. 海量資料分散式儲存技術的研究與應用, 李存琛, 2013, 北京郵電大學.
5. 基於雲端計算的分散式儲存系統的研究和應用,劉飛, 2012, 西安工業大學.