基于 RoCE 構(gòu)建分布式存儲,打造高性能數(shù)據(jù)庫云中國電信福建分公司 企業(yè)信息化部 郭建海
摘要:為解決福建電信數(shù)據(jù)庫性能不足問題,本文從平臺架構(gòu)的角度分析了硬件和軟件對性能的影響,創(chuàng)新地提出了使用遠(yuǎn)端內(nèi)存直接訪問技術(shù)(RDMA)構(gòu)建云存儲平臺的思路。在標(biāo)準(zhǔn)以太網(wǎng)框架內(nèi),運行 RDMA over Converged Ethernet (RoCE),在云端數(shù)據(jù)庫上實現(xiàn)對非本地存儲的高速訪問,從而極大程度的提升了應(yīng)用的吞吐。通過進一步的實驗和現(xiàn)網(wǎng)試運行驗證,該框架對于改善系統(tǒng)整體延時也有非常好的效果。 基于理論分析和實踐結(jié)果的互相論證,本文最后對于基于分布式存儲構(gòu)建高性能數(shù)據(jù)庫云進行了總結(jié),概括了其中的關(guān)鍵技術(shù)點,同時給出了可能存在的問題和下一步研究方向。
關(guān)鍵詞: RDMA, RoCE,分布式存儲,數(shù)據(jù)庫,網(wǎng)絡(luò)概述
伴隨著數(shù)據(jù)的指數(shù)級增長,給我們的生活帶來便利的同時,也給電信網(wǎng)絡(luò)帶來更高的壓力和需求。隨著數(shù)據(jù)中心流量的增加,許多平臺都迫切需要提高服務(wù)器和網(wǎng)絡(luò)帶寬。除此之外,數(shù)據(jù)中心還需要一種可以有效擴展以適應(yīng)未來需要的產(chǎn)品,10GE 作為當(dāng)前部署的主流帶寬在這方面已有些力不從心。在互聯(lián)網(wǎng)企業(yè)中,25GE 以太網(wǎng)逐步開始承載云平臺和關(guān)鍵業(yè)務(wù),25GE 擁有 10GbE 無可比擬的帶寬優(yōu)勢,同時也具備極好的可擴展行來滿足未來節(jié)點數(shù)增長的需求。25GE 技術(shù)可在成本和功耗較低的情況下在單個通道中提供較高帶寬,從而提供更高的服務(wù)器和交換機端口密度。25GE 是一種新標(biāo)準(zhǔn),可利用為 100GE 以太網(wǎng)(作為在四個光纜或銅纜對上運行的四個 25Gbps 通道 (IEEE802.3bj) 而實施)定義的技術(shù)。以 25GE 為基礎(chǔ)構(gòu)建的解決方案可與 10GE、50GE、100GE 以及未來的 200GE 和 400 GE 產(chǎn)品向后和向前兼容,從而可確保適應(yīng)未來解決方案的升級途徑。隨著高帶寬互連越來越普遍,網(wǎng)絡(luò)請求處理向 CPU 施加了沉重負(fù)擔(dān)。借助網(wǎng)卡端的卸載和交換端的流控技術(shù)(如 RoCE, PFC 和 ECN),可以實現(xiàn)高效率以便進一步提高 25GbE 網(wǎng)絡(luò)的性能。RDMA 使網(wǎng)絡(luò)適配器可以直接訪問應(yīng)用程序緩沖區(qū),從而繞過內(nèi)核、CPU 和協(xié)議堆棧,因此 CPU 可以在 I/O 傳輸進行期間執(zhí)行更有用的任務(wù)。這樣可提高服務(wù)器中的性能,從而使應(yīng)用程序工作負(fù)載可以在高帶寬網(wǎng)絡(luò)中高效擴展。
存儲是除了 CPU 和網(wǎng)絡(luò)之外,影響系統(tǒng)性能極為關(guān)鍵的一環(huán)??蛻粝嚓P(guān)的各類數(shù)據(jù),網(wǎng)絡(luò)運行的日志和維護記錄等都需要通過存儲保存。傳統(tǒng)的 FC 存儲使用不同于標(biāo)準(zhǔn)以太網(wǎng)的 FC 網(wǎng)絡(luò),而存儲介質(zhì)以硬盤為主,對于當(dāng)前大量的非結(jié)構(gòu)化數(shù)據(jù)來說,單盤每秒能進行的書寫次數(shù)在 100 以內(nèi)。要搭建高性能的系統(tǒng),一是要有能支持更高讀寫速度的介質(zhì),二是要有合適的協(xié)議能高效承載數(shù)據(jù),然后就是配套的網(wǎng)絡(luò)和 CPU 能滿足對應(yīng)的性能要求。
根據(jù)國際權(quán)威機構(gòu) Wikibon 對未來存儲市場的預(yù)測,存儲市場整體穩(wěn)步增長。但傳統(tǒng)SAN/ NAS 存儲的市場占比則持續(xù)降低,Hyper-Scale Server SAN 和和企業(yè)級 Server SAN 等分布式存儲在 2021 年市場份額預(yù)計占比超過 80%,2026 年將超過 90%。決定分布式存儲的關(guān)鍵則是核心軟件和分布式的通訊互聯(lián)。
圖 1. 存儲市場預(yù)測當(dāng)前的問題和解決思路
目前主要問題是越來越大的需處理數(shù)據(jù)量與傳統(tǒng)低速存儲的矛盾。要解決這一問題,在本文開頭的概述中我們提到需要更高性能的介質(zhì)配合網(wǎng)絡(luò)和 CPU,以提升節(jié)點的性能并打造可擴展的系統(tǒng),應(yīng)對日益增長的數(shù)據(jù)需求和性能要求。因此,福建電信探索通過 25G 網(wǎng)絡(luò)及 RoCE 技術(shù),實現(xiàn)高效的分布式數(shù)據(jù)解決方案,解決當(dāng)前數(shù)據(jù)倉庫的性能問題。
首先需要解決的是存儲的架構(gòu)問題。在資源池化的大環(huán)境下,傳統(tǒng)存儲肯定無法繼續(xù)使用。出于海量數(shù)據(jù)本身的需求,為優(yōu)化不同節(jié)點對存儲的并行訪問性能,使用分布式存儲來解決問題是一個較好的思路。在分布式存儲系統(tǒng)中,如何提升存儲的遠(yuǎn)端訪問性能,進而提升分布式存儲整體效率,這是一個挑戰(zhàn)。從協(xié)議的角度,可以使用 iSER 或 NVMF 等基于 RoCE 的訪問技術(shù);從網(wǎng)絡(luò)的角度,更好利用網(wǎng)卡的卸載特性、以太網(wǎng)交換機的低延時、零丟包特性和先進的流控機制,能有效提高網(wǎng)絡(luò)效率并降低 TCO,進一步提升分布式存儲的性能和效率。
其次,對于使用哪種存儲介質(zhì)能滿足高性能存儲的要求,筆者認(rèn)為 NVMe SSD 擁有較好的隨機讀寫性能。且可以選擇 U.2 接口的 NVMe SSD,可支持熱插拔,也可根據(jù)需要實現(xiàn) RAID,以滿足存儲的高可靠性要求。由于單塊 NVMe SSD 的讀寫就需要高于 20Gb/S 的帶寬,25GE 網(wǎng)絡(luò)成為滿足存儲 IO 需求的起步配置。 然后,對于解決容量問題的需求,解決的思路是使用高速的 NVMe SSD 作為緩存,在之后使用大容量的硬盤來存儲冷數(shù)據(jù),這樣通過智能緩存加速 IO 讀寫,同時通過海量硬盤實現(xiàn)大容量。
在既定的分布式架構(gòu)下,存儲性能的關(guān)鍵在于如何實現(xiàn)存儲訪問的加速。這個技術(shù)可以分為兩個方面,一方面是保證遠(yuǎn)端存儲和本地存儲有近似的 IO 性能,另一方面是怎么樣通過硬件卸載來保證 CPU 不被過度占用進而影響存儲性能。之前提到的基于 RoCE 的網(wǎng)絡(luò)技術(shù)能非常好的實現(xiàn)這個存儲訪問的加速。
除上述問題之外,由于是分布式架構(gòu),網(wǎng)絡(luò)如何保證數(shù)據(jù)的完整性也是非常重要的。這里需要交換機和網(wǎng)卡端的配合來實現(xiàn)端到端的流控機制。如果硬件本身的可靠性和可用性都非常高,這也是對系統(tǒng)性能的一個有力保證。
采用以 Mellanox 為代表的高帶寬低延遲智能網(wǎng)絡(luò)和 RDMA/RoCE 技術(shù)能加速數(shù)據(jù)傳遞和高效無損無疑是構(gòu)建分布式存儲網(wǎng)絡(luò)的關(guān)鍵之一。
方案框架
圖 2. 分布式存儲方案簡圖
基于上一章節(jié)的分析,此處給出實現(xiàn)分布式存儲的框架,用于數(shù)據(jù)庫云的承載。在圖2 中計算節(jié)點和存儲節(jié)點都連到 25GE 組網(wǎng)。無論計算節(jié)點還是存儲節(jié)點,都使用雙路25GE 捆綁替換原來的雙路 10GE 網(wǎng)絡(luò)。在前期實驗網(wǎng)絡(luò)中,共接入 27 個存儲節(jié)點,每個存儲節(jié)點配 4 塊 3.2T NVMe 硬盤。在云平臺之上承載容器化數(shù)據(jù)庫,根據(jù)應(yīng)用的需要,可以擴展計算節(jié)點或存儲節(jié)點,以支持更高容量或更多用戶。由于方案側(cè)重遠(yuǎn)端資源池化的實現(xiàn),因此我們的性能對比測試也主要針對不同網(wǎng)絡(luò)的場景。
o網(wǎng)絡(luò)交換
在網(wǎng)絡(luò)交換上,我們選擇了業(yè)界低延時的存儲網(wǎng)絡(luò)交換機 Mellanox MSN2410,每臺MSN2410 能支持高達 48 個 25GE 接口,同時支持 8 個 100GE 接口。在提供可靠硬件和靈活的端口支持基礎(chǔ)長,MSN2410 能為分布式存儲提供無與倫比的網(wǎng)絡(luò)特性:
-支持低至 300ns 的延時,且抖動??;
-任意 64 字節(jié)及以上報文都能實現(xiàn)線速轉(zhuǎn)發(fā);
-公平、可預(yù)測的端口資源分配保證最合理的帶寬使用;
在報文處理的細(xì)節(jié)方面,MSN2410 能夠通過其大緩存實現(xiàn)對于 Micro Burst 的最佳支持,同時先進的 ECN 標(biāo)記方法和最快的 PFC 響應(yīng)都能極好保證存儲數(shù)據(jù)無損到達對端。
Mellanox 交換機配置簡單,降低了安裝和管理高速網(wǎng)絡(luò)的復(fù)雜性,具有完善的監(jiān)控和管理功能,可以通過軟件實現(xiàn)監(jiān)測管理。
oRoCE 網(wǎng)卡
在數(shù)據(jù)不斷增長的環(huán)境中,所有數(shù)據(jù)的快速傳輸對于高效使用信息至關(guān)重要?;谶h(yuǎn)程直接內(nèi)存訪問 (RDMA) 的互連可為提升數(shù)據(jù)中心效率、降低整體復(fù)雜性以及提高數(shù)據(jù)交付性能提供理想選擇。RDMA 使數(shù)據(jù)可以從存儲傳輸?shù)椒?wù)器,而無需通過 TCP/IP 以太網(wǎng)的 CPU 和主內(nèi)存路徑傳遞數(shù)據(jù)??色@得更高 CPU 和整體系統(tǒng)效率,因為存儲和服務(wù)器的計算能力只用于計算(而不是處理)網(wǎng)絡(luò)流量。盡管高帶寬十分重要,但是如果沒有低延遲,帶寬就沒什么價值。通過網(wǎng)絡(luò)移動大量數(shù)據(jù)可以使用 TCP/IP 來實現(xiàn),但是只有 RDMA 才能實現(xiàn)低延遲,避免成本高昂的傳輸延遲。而且,RDMA 卸載可減少抖動,這意味著低響應(yīng)時間的一致性顯著提高 RoCE 最終將 RDMA 技術(shù)引入基于以太網(wǎng)的數(shù)據(jù)中心,從而使這類數(shù)據(jù)中心可以受益于 RDMA 的低延遲。
Mellanox 從 ConnectX-4 系列網(wǎng)卡開始,可利用網(wǎng)卡中內(nèi)置的基于管線的可編程 eSwitch 來快速處理虛擬化換將下的數(shù)據(jù)交互,ConnectX-4 Lx 可以在硬件中處理大部分?jǐn)?shù)據(jù)包處理操作。這些操作包括 VXLAN 封裝/解封、基于一組通用 L2-L4 包頭字段的數(shù)據(jù)包分類、QoS 和訪問控制列表 (ACL)。在存儲方面,ConnectX-4 Lx 能支持 iSER 和 NVMf,此外,該網(wǎng)卡還能實現(xiàn)基于 VF 的限速機制以及糾刪碼的卸載,大大降低服務(wù)器與、網(wǎng)絡(luò)交換機和存儲節(jié)點之間的協(xié)調(diào)復(fù)雜性問題,提升服務(wù)質(zhì)量。
性能對比
福建電信以 8 計算節(jié)點情形作性能測試,以衡量技術(shù)創(chuàng)新帶來的優(yōu)勢。在關(guān)鍵的 4K 隨機讀寫測試中,25GE RoCE 網(wǎng)絡(luò)的吞吐是 10GE 網(wǎng)絡(luò)的 9~14 倍左右,而延時相比 10GE 網(wǎng)絡(luò)僅為其 5~10%。明顯可見,25GE RoCE 網(wǎng)絡(luò)大大提升了分布式存儲的吞吐,也極好的降低了系統(tǒng)延時。在相同環(huán)境下,25GE 網(wǎng)絡(luò)順序讀寫的帶寬也是 10GE 網(wǎng)絡(luò) 2.2 倍以上,而延時則僅為 10GE 網(wǎng)絡(luò)的 5%左右。
圖 3. 順序讀寫帶寬對比
圖 4. 順序讀寫時延對比
圖 5. 隨機讀寫性能對比
圖 6. 隨機讀寫時延對比
結(jié)論與下一步展望
在相同高性能分布式存儲上,使用 25GE 網(wǎng)卡比使用傳統(tǒng)萬兆以太網(wǎng)卡不僅有更高的IOPS 和 IO 吞吐量,特別是 IO 時延方面有明顯優(yōu)勢。本文驗證了分布式存儲在核心生產(chǎn)系統(tǒng)部署的可行性、穩(wěn)定性及高性能。下一步的工作可以結(jié)合應(yīng)用來看,如何提升分布式存儲和應(yīng)用之間的貼合度,這是在電信生產(chǎn)系統(tǒng)中面臨的進一步性能優(yōu)化問題。此外 RoCE 技術(shù)在電信網(wǎng)絡(luò)其他領(lǐng)域的推廣也是一個值得探討的方向。
參考文獻:
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.MySQL Database Acceleration over Mangstor Low latency Storage and Mellanox Low Latency Networking. http://www.mellanox.com/relateddocs/solutions/SB_Mangstor_MySQL.pdf
4.海量數(shù)據(jù)分布式存儲技術(shù)的研究與應(yīng)用, 李存琛, 2013, 北京郵電大學(xué).
5.基于云計算的分布式存儲系統(tǒng)的研究和應(yīng)用, 劉飛, 2012, 西安工業(yè)大學(xué).
- Arm發(fā)布芯粒系統(tǒng)架構(gòu)首個公開規(guī)范,加速芯片技術(shù)演進
- 中國鐵塔擬新購一套應(yīng)急無人直升機空中基站
- 427780臺 中國鐵塔啟動智能維護攝像機產(chǎn)品集中招標(biāo)
- 規(guī)模267904臺 中國鐵塔啟動2025年自研邊緣網(wǎng)關(guān)合作伙伴招標(biāo)
- 國家數(shù)據(jù)局聲明:未授權(quán)任何“數(shù)據(jù)要素×”相關(guān)有償活動
- 中電興發(fā)2024年度預(yù)計虧損擴大 智慧城市業(yè)務(wù)成拖累
- 中國電信2025年P(guān)ON設(shè)備擴容集采:華為、中興、烽火中標(biāo)
- 業(yè)績創(chuàng)歷史新高后 瑞芯微副總經(jīng)理陳鋒辭職
- 業(yè)績創(chuàng)歷史新高后 瑞芯微副總經(jīng)理陳鋒辭職
- 股票可能被終止上市!鵬博士2024年預(yù)計虧損7.75億元
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。