在數字化時代,企業追求的不僅僅是數據存儲的速度和效率,還有對成本和能源的敏感把控。全閃數據中心順應了這一趨勢,因其固態存儲解決方案相較傳統硬盤在能源效率和總擁有成本(TCO)上的顯著優勢而脫穎而出。SSD 的能耗遠低於傳統硬盤,而在速度和響應時間上,它們提供了無與倫比的性能,這使得數據中心可以在更小的能耗預算下處理更多的數據,提升運營效率。
隨著 SSD 技術的不斷進步,價格也逐漸降低,使得全閃存儲的成本逐步接近傳統存儲解決方案。更重要的是,全閃數據中心在擴展性和維護上的便捷性進一步降低了長期運維成本,加上其出色的能源效率,全閃數據中心成為了現代企業在數據存儲上的首選。
正是基於這些技術和經濟優勢,全閃數據中心代表了未來數據存儲的發展方向,成為了雲計算、大數據分析和人工智慧等高速增長領域的基石。隨著全閃存儲技術的成熟,數據中心架構正經歷著一場深刻的變革,這不僅預示著性能的飛躍,更代表著對傳統存儲模式的根本挑戰。我們如何在這波趨勢中找到平衡點,實現高性能與成本效益的雙贏,是一個行業共同關注的問題。
本文旨在深入探討全閃數據中心的未來趨勢,展示 XSKY星辰天合如何通過星海架構引領行業變革。文章分為四部分,首先回顧 XSKY星辰天合在分布式存儲架構方面的演進和啟示;其次,探討硬體技術的發展如何推動全閃數據中心成為新趨勢,以及帶來的挑戰;接著,深入分析面向未來的分布式全閃架構設計和解決問題的方案;最後,通過實際的應用場景驗證新一代全閃架構的有效性。
回顧分布式架構的緩存技術演進
XSKY 自 2015 年創業以來,從早期的 V2 版本,經歷 V3 的成長,直至最新發布的 V6,每一步都見證了技術的進步和不懈追求。在不同版本里,存儲架構層、協議層、功能和對接應用生態都不斷進步,而其中最重要的則是存儲引擎的架構,它會具備更長的生命周期。
XSKY 從 2016 年正式發布基於 XStore 的 SDS V2 產品,XStore 在當時是業內少數的用戶態緩存技術,提供本地 SSD 緩存來加速讀寫性能,其後 XSKY 陸續增加了大塊 IO Bypass,可以自動識別大塊 IO 直寫 HDD。
在 2018 年,我們意識到本地 SSD 緩存固然簡單,但是隨著集群的長期運行,在 SSD 故障或者壽命到期後,SSD 對應的全量 HDD 數據都需要進行重構,大幅增加恢復時間,帶來了更高的運維成本。同時,XStore 僅能夠支持副本模式,而三副本的硬體成本相比使用 RAID 技術的集中性存儲並沒有顯著的規模化優勢。
因此,XSKY 設計了新一代全局緩存架構 XSpeed,並在 SDS V5 發布會亮相。
XSpeed 實現了集群中緩存介質的池化,可以整合全部緩存容量並以三副本冗餘度提供高性能 IO 服務。整合後的全局緩存數據有更大的空間來進行回刷,在回刷過程中會使用 EC 糾刪碼技術和數據壓縮功能,大幅提高集群的空間利用率。
新的架構變化,使得不管是 SSD 還是 HDD 故障,都可以只重構對應容量的數據,且 SSD 故障完全不會影響 HDD。
在 2021 年 V5 發布會後的 3 年時間裡,大量的客戶享受到了新架構帶來的收益,得盤率提高 300% 以上,運維成本降低 94%。
從 XStore 到 XSpeed 的發展表明,在企業級存儲系統中,存儲軟體架構是極其重要的。它可以決定系統的性能、TCO、擴展性和可靠性這些關鍵因素。
硬體技術的發展帶來機會和挑戰
在 XSpeed 發布之後的三年時間裡面,硬體技術已經發生了非常大的變化。
在 2019 年,SATA/SAS SSD 還是主流,HDD 在持久化數據存儲中正發揮著主要作用。PCIe 還停留在 3.0,存儲 的 CPU 還是 8-12 Cores 為主,網路還是 10Ge。
但在短短几年內,技術的飛躍式進步已經顛覆了這一格局。特別是隨著 AI 相關業務驅動,硬體平台迎來了大躍進。
不管是 x86 還是信創 CPU,單節點核數早已經躍升至 32 Cores,而今年的數據中心大贏家 GPU 也已經是主流算力,在網路上,基於以太網的存儲網路已經 25Gb 起步,100Gb 也已經普遍使用。SSD 介質隨著 PCIe 5.0 落地和顆粒層數工藝進步,擁有了更大的容量、更好的性能和更低的價格。
面對這些硬體技術變化和客戶需求,我們開始思考如何設計面向全場景的分布式閃存存儲系統,其中會有哪些新的挑戰。
而隨著 AI、大數據的發展,客戶日益增長的存儲需求中,一個突出的趨勢是對高效存儲解決方案的渴望。客戶不僅需要通過分配更高性能的存儲資源來處理更多任務,還追求更高的空間效率和完善的數據保護服務。
而現有的面向全場景的分布式閃存存儲系統架構,很難完全滿足需求:
可靠性較低:隨著越來越低的性能延遲,應用實實在在享受到更好的存儲性能所帶來的好處,但更快的處理意味著對於存儲可用性要求的提高。過去是 10 毫秒內的存儲延遲,我們通常假設 10 秒內的節點故障規格可以接受,而在全閃化後,延遲降低到 100 微秒級別,之前秒級的異常規格就變得不可接受。但現有市場上分布式全閃產品中,仍然只提供長達數秒的故障切換指標。
性能服務水平不足:在不斷疊代的 NVME SSD 和高速網路加持下,性能絕對值基本不再是挑戰。反而是在規模化的全閃存里,在支持大規模高效寫入數據和元數據更新情況下,長期的尾部延遲結果才能真正衡量存儲性能服務水平。因為在堆砌大量 SSD 並基於高速網路後,SSD 的 GC (垃圾回收)以及網路偶發丟包等因素,導致的長尾延遲抖動,是應用性能體驗的關鍵。因此,我們認為需要更關注 P99 延遲的穩定性,它才意味著真實的服務水平。
成本仍然過高:SSD 和 HDD 的成本剪刀差在過去 8 年沒有發生根本性變化。用戶仍然期望在數據量持續增長的背景下,能以適當的成本獲得全閃存的巨大優勢。如果在全閃存下,分布式存儲還依賴三副本且不具備任何數據縮減能力,它並沒有長期競爭力。
因此,如果在這三方面,我們如果不能很好去解決,只是有了一個高性能的分布式存儲系統,是很難與集中式全閃相提並論,甚至在很多場景下,集中式全閃陣列藉助 RAID 和壓縮技術,會有更好的性價比。
因此,我們希望能夠利用新的硬體變化來進一步推動分布式存儲架構變革,來更好解決這些最新需求。而最好的辦法,就是推出全新的架構來適應新時期的硬體和需求,也就是 XSKY 最新推出的「星海(XSEA,eXtreme Shared-Everything Architecture,極速全共享架構)」架構。
面向全閃數據中心的星海架構
星海架構是 XSKY 過去 8 年在存儲技術領域,不斷磨礪與創新的結果,它仍然採用軟體定義的技術,以最新的標準存儲協議和網路技術作為基礎,並引入了三項技術創新點。
第一,星海架構採用了 Shared Everything (全共享)模型來實現全共享數據存儲,使得每個節點都能直接訪問所有 SSD,來提高了數據訪問速度和靈活性;
其次,星海架構採用了單層閃存介質的設計,來專門面向 TLC NVMe SSD 進行優化,可以減少硬體配置複雜性;
第三,星海架構在 IO 路徑中採用端到端的 NVMe 實現,不僅存儲系統對外提供 NVMF 協議,內部複製網路和 IO 處理也同樣採用 NVMF 技術,確保 IO 路徑的高效處理。
Shared Everything 模型是新架構基石
在過去十年乃至更久的時間裡,Shared Nothing 模型因其物理資源隔離的能力、易於擴展和管理的特點,在大規模存儲解決方案中被廣泛認可和應用。從超融合存儲到分布式文件和對象存儲,再到資料庫、數倉系統等領域,都在使用 Shared Nothing 模型。
然而,隨著 NVMe 規範標準化和 100Gb 以上高速網路的普及,遠程訪問 SSD 的性能已經可以媲美本地訪問。Shared Nothing 模型過去基於網路性能瓶頸的假設其實已經不再適用。
在面對新的可靠性、性能服務水平和成本的挑戰,我們看到 shared nothing 模型的局限性:
性能擴展性的局限性:在 Shared Nothing 架構中,每個節點獨立處理數據,而隨著節點增多,為了維持分布式事務的一致性,帶來了額外的軟體複雜性和 CPU 消耗,並可能導致寫放大。這樣的開銷限制了擴容的收益,在全閃存系統里,這種瓶頸更為明顯;
資源利用浪費:在 Shared Nothing 架構中,資源的獨立性限制了靈活性,使得各節點資源無法統一利用。例如,在處理高負載時,每個節點必須配備足夠的硬體資源,導致規劃系統時需要進行提前預留,在大規模部署中,會造成更大的浪費。
服務質量:在 Shared Nothing 架構中,故障檢測和響應機制常常缺乏業務層面的敏感度。一旦發生故障,節點間需要進行複雜的一致性協商,導致故障切換時間過長。在系統出現亞健康狀況時,這種機制會更加脆弱,故障處理過程難以迅速有效地進行。
局部視角問題:Shared Nothing 架構將每個節點劃分為獨立的單元,這種劃分會導致無法實施大比例的 EC 糾刪碼,數據恢復和後台 IO 操作也難以全局優化。結果是,這些操作可能占用過多帶寬,影響正常的客戶端 IO 請求,進而影響整體業務的穩定性。
為應對 Shared Nothing 模型的挑戰,星海架構使用了 Shared Everything 的設計,藉助最新硬體平台的支持,這一架構可以克服 Shared Nothing 限制,來顯著提升性能、資源效率和整體服務質量。
從上圖可知,BlockServer、FileServer 和 ChunkServer 作為一組無狀態容器分布在多個伺服器集群中,它們通過共享內存直接交互,無需通過網路。而 IOServer 會將所有 SSD 通過 NVMe-oF 協議暴露出物理卷,使得任意 ChunkServer 在啟動時,都可以掛載集群里的所有 NVMe 卷。這意味著不管是塊設備還是文件系統,都可以直接獲得任意位置的 SSD 數據。
這樣的架構設計在性能可擴展方面具有明顯優勢。
首先,隨著集群的橫向擴展,由於每個節點無需跟其他節點的服務進行通信,可以消除不必要的數據轉發,實現了網路的線性擴展能力。
其次,存儲容量和性能,可以與 CPU、內存資源解耦,為不同業務場景提供更高的靈活性和資源利用率。例如,在備份場景,可以使用較低的 CPU 和內存資源;在 OLTP 場景中,則可以部署更高頻率的 CPU 以實現更低延遲的 IO 處理。
第三,Shared Everything 架構設計賦予了每個節點全局數據讀寫能力。這意味著,我們可以實施大比例的 EC 糾刪碼,如 20 4,大幅提升空間利用效率。也可以更好的進行全局流控、後台任務調度,並根據全局 SSD 的狀態進行磨損均衡。
此外,在關鍵的可靠性方面,Shared Everything 架構顯著提高了故障恢復能力。無論是節點、網路還是 SSD 故障,其他節點都能迅速接管,保證業務連續性。這是因為每個服務都可以訪問到所有數據,而不用在故障時等待數據複製或狀態同步。這樣的設計可以在 100ms 內實現故障切換,為存儲提供高可靠性保證。
面向 TLC SSD 優化,單層閃存介質設計
在定義存儲池的構建方式時,星海架構挑戰了傳統的模式,該架構放棄了常規的緩存加數據盤的組合,轉而採用了單層閃存介質構建,其背後是反映了 XSKY 對 SSD 技術和傳輸標準演進的深入理解。
從 PCIe 3.0 到 4.0,再到如今的 5.0,我們見證了 NVMe SSD 在帶寬吞吐方面的巨大飛躍。這意味著,現在我們可以用更少的 PCIe 通道實現更高的數據傳輸速率,使得 TLC 型 NVMe SSD 持續具備最好的性價比。
因此,星海架構採用單層 TLC NVMe SSD 來構建存儲池,簡化集群的存儲硬體結構。
在使用方式上,我們利用 Append Only 方式實現數據寫入,減少了寫放大現象。並通過精心設計的空間布局,在單個 SSD 上實現了緩存和持久存儲的雙重功能。這些技術使得在沒有專用緩存介質情況下,確保足夠的性能穩定性。
根據 XSKY 的評估,在常規的混合讀寫業務場景中,相比分層緩存方式,單層閃存可以顯著降低介質成本 20%以上。
同時配合 Shared Everything 架構模型帶來的全局 EC 和壓縮功能,使得集群的得盤率超過了 100%。就如去年,著名的 HCI 存儲軟體 vSAN 8.0 發布,正式宣布其全閃架構從 OSA 演變為 ESA,而 ESA 架構的關鍵設計就是採用了 Single Tier。
最大化硬體卸載,端到端的 NVMe
在端到端 IO 路徑上,星海架構採用了標準 NVMe over Fabric 協議進行構建。
過去,在存儲系統中,SCSI 協議一直占據主導地位。然而,SCSI 在並發處理能力和協議效率上存在約束。相比之下,NVMe 協議以其更高的並發性和較低的協議開銷脫穎而出,目前已得到主流作業系統核心的原生支持。
星海架構不僅在存儲訪問方面採用了 NVMe over Fabrics 協議,而且在存儲內部網路中也全面實施了該協議。這意味著所有存儲節點都可以通過 NVMe over Fabrics 高效地訪問每一個 NVMe SSD,從而避免了存儲協議轉換所帶來的額外開銷。
在端到端的 NVMe I/O 路徑上,也採用了高效的 Polling 模式處理每個 I/O 請求,並通過 NUMA 綁定優化了不同服務的內存訪問效率。最後實現低至 100 微秒的端到端延遲。
此外,星海架構持續適應硬體技術的演進,通過與領先的智能網卡廠商合作,利用智能網卡來進行 NVMF 協議的硬體卸載,在存儲設備上實現從計算節點到存儲的高效數據傳輸。
3 個 100 的架構收益
通過 shared everything、單層閃存介質和端到端 NVMe,星海架構可以實現 3 個 100:
在 40%-60%負載下實現 100 微秒的超低延遲;
通過 EC 和數據壓縮技術實現超過 100%的存儲系統得盤率;
在面對慢盤、亞健康網路問題時,能在 100 毫秒內快速切換,以保證系統的穩定運行。
這 3 個 100 的實現,不僅是技術的飛躍,也直接回應了前文提出的的三大主要挑戰。因此,星海架構能夠實現更高的可靠性、更優異的性能服務水平,並有效控制成本。
成本優先架構,帶來場景優勢
基於星海架構,XSKY 已經發布了星飛軟體和星飛 9000 一體機全閃存儲,這也是業界首款採用全共享架構的分布式全閃主存儲。
如上圖左側所示,當前數據中心存儲結構通常由高性能 NVMe DAS、全閃存陣列、容量型存儲及歸檔存儲構成。在行業和用戶共同的推動下,過去十年我們見證了容量型存儲領域分布式架構的崛起,根據 IDC 報告,分布式架構的市場份額在容量型存儲持續增長。
而星飛產品有更大的野心,希望能橫跨 NVMe DAS、全閃陣列和容量型存儲的使用場景,
為了驗證這一定位,我們精心設計了三個實際場景的測試項目,分別與合作夥伴和客戶一同展現星海架構的領先性和創新成效:
第一個是面向 OLTP 資料庫場景,與本地 NVMe DAS 對比測試
第二個是面向 OLAP 場景,與集中式全閃陣列對比測試
第三個是在公有雲上與高性能網盤的對比測試
NVMe DAS 對比測試
過去數年中,很多用戶反饋隨著 NVME SSD 價格下降,越來越多用戶在高性能應用場景都選用本地 NVME SSD 提供存儲能力,但隨著 SSD 的規模化使用和老化,存儲介質的運維實際上是很大挑戰,硬體亞健康問題、SSD 容量和性能彈性需求都成為挑戰。
XSKY 聯合了 Intel Lab 做了面向資料庫場景的本地 NVMESSD 與星飛產品的對比測試,從性能、TCO 方面進行評估。
根據英特爾中國區解決方案部技術總監高豐的介紹,經過雙方聯合測試,藉助 QAT 加速數據壓縮/解壓縮的強大能力,與 NVMe DAS 配置相比,星飛 9000 獲得相同延遲的同時,還可以實現更高的空間利用率,並大幅降低運維成本,提升業務連續性。
在測試中,採用了 OceanBase 資料庫運行在計算節點上,占用 48C 和 192GB 內存。同時在計算節點上配備了兩塊 NVMe SSD,通過 RAID1 來提供本地盤。
而星飛存儲系統運行在配置 16 塊 1.92TB NVMe SSD 的三節點上,計算節點通過 2*100Gb 的網路訪問存儲。
三節點的星飛系統使用 EC 2 1 的冗餘策略,啟用了 QAT 壓縮能力,並提供 NVMe over RDMA 協議的卷供 OceanBase 使用。
測試用例我們選擇了 sysbench 中的 Point Select,ReadOnly,WriteOnly 和 ReadWrite 四種用例,針對每種用例,我們分別執行從 32 並發到 1024 並發的不同壓力,主要關注 QPS 和 P95 延遲指標。
從下圖中可以看到,橙色塊是星飛系統的性能,另一個是本地 NVMe SSD 提供的性能。
從 32 到 1024 並發,星飛性能和本地 NVMe SSD 基本平分秋色,唯一的不足是在 1024 並發的情況下,星飛系統的延遲是本地 NVMe SSD 的 2 倍,後續我們會進一步探究問題原因。該結果也證明了星飛系統實際上已經達到了本地 NVMe SSD 的延遲水平,軟體損耗非常低。
另一方面,在存儲效率上,星飛通過 EC 加壓縮的能力,在 1TB 的資料庫空間裡,實際只占用了 880GB 的容量,壓縮比達到了 1.8,而使用 RAID 1 的本地 NVMe SSD,則占用了 2TB 的實際空間。相比而言,星飛系統只需要 44% 的本地 RAID1 方案的容量空間。再加上本地 NVMe SSD 的長期運維成本,星飛的圖形化管理運維,以及閃存全局均衡,實際 TCO 下降到本地 NVMe SSD 的 30%。
集中式全閃對比測試
在銀行業,資料庫跑批是相當常見的一項業務。過去該業務一直運行在集中性存儲廠商的全閃陣列上,江蘇省農村信用社聯合社(簡稱:江蘇農信)也是如此。
隨著業務規模的增加,集中全閃架構進一步制約了江蘇農信雲的彈性服務能力,因此江蘇農信也開始考慮在分布式存儲上進行資料庫場景評估。
在面向 OLAP 資料庫場景的集中式全閃對比場景中,XSKY 與江蘇農信進行了聯合測試。
對銀行場景來說,高並發低延遲要求更嚴格,對賬差 1 分錢都不會過夜,晚上跑批對賬,做不到高性能低延遲,可能當天的賬就無法按時對完,統計核算報表就沒法出。因此,做完這些基準性能測試後,在星飛環境測試了一下跑批業務,資料庫跑批業務主要有以下過程,分別是解壓、數據入庫、數據倉庫轉換和數據集市處理。從這裡可以看到,星飛相比混閃集群的運行時間降低了 79 分鐘,而相比 IBM FS9200 基本持平,在數據集市處理階段階段表現更好。
通過這次測試,江蘇農信堅定了上雲信心。過去受限於性能,集中存儲承接資料庫跑批業務,分布式主要面向非資料庫庫業務,通過本次測試,新架構的高得盤率使得江蘇農信對全閃分布式數據中心有了更多的信心,未來考慮建設大規模全 NVME 星飛雲存儲,進一步提升雲平台存儲服務能力。測試結果也驗證了星飛產品可以與集中全閃陣列做到相當的性能時延,且規模化閃存池化後提升資源利用率,降低成本
公有雲高速雲盤對比測試
公有雲高性能雲盤,實際上早已已成為眾多網際網路業務架構中不可或缺的部分。這些雲盤不僅提供了彈性的存儲能力,還滿足了業務對高性能的迫切需求。但有一個不爭的事實是,越來越多的客戶在關注多雲化 IT 架構,特別是數據密集型業務的下雲。
對於星飛而言,我們不僅希望能在雲下提供高效存儲能力,也希望在公有雲上也能支持,給客戶帶來一致的存儲體驗。
我們與某網際網路客戶成立了聯合項目組,針對星飛產品在公有雲環境中的性能和成本效益,我們進行了一系列詳盡的對比測試。
我們選擇基於 AWS 雲進行測試,使用了高性能的虛擬機配置作為客戶端節點,啟動了 3 個適合作為存儲配置的虛擬機作為存儲節點,該配置會掛載 4 個 7500GB 的本地 SSD,並部署了星飛系統,創建了 EC 4 2:1 的存儲池並提供 12 個總可用容量為 116TB 的 NVMF 卷。具體配置在這裡就不贅述了。
在每個客戶端節點上利用 NVMe over TCP 方式掛載分別掛載了 4 卷。我們通過簡單性能壓測,基本看到,這樣三節點星飛大約提供 615K IOPS 的讀寫 IOPS。
io2 是 AWS EBS 的高性能雲盤,可以按需靈活提供 IOPS 和容量,其中容量價格為 0.125GB/月,每 IOPS 價格為 0.065。為了跟星飛提供的容量近似,我們創建了 16 個總容量為 116TB 的 io2 類型卷。
在性能基準測試中,基於同等容量的 16 個 LUN,我們主要關注單卷隨機 4KB 延遲和集群整體延遲對比。
從性能對比中,可以看到在一致的 IOPS 性能下,AWS EBS io2 和星飛卷實現了同等數量級的延遲。另外由於星飛運行在 AWS 虛擬網路上,並使用 TCP/IP 協議通信,延遲高於雲下的 RoCE/RDMA 網路,導致延遲高於 AWS EBS io2。針對該問題,後續計劃支持公有雲的 RDMA 網路方案,來顯著降低延遲,接近或持平 AWS EBS 延遲。
在 TCO 對比環節,我們分別計算了 AWS 星飛系統和 AWS EBS io2 的購置成本。
星飛全閃總共提供 615K 的 IOPS,相比 EBS io2 預留 615K IOPS 的方案降低 87% 的成本。這個差距是巨大的。
我們都覺得這樣的成本對比可能並不公平,因為星飛系統提供的性能 IOPS 超出了大多數工作負載所需,在公有雲使用中,用戶通常只會申請所需的 IOPS 來節約成本。因此我們將 AWS EBS io2 預留 IOPS 降低到 61K 來接近實際情況,但即使這樣,依然能降低 62% 的 EBS 成本。
通過這次測試,我們看到星飛產品,不僅可以面向最新的硬體技術設計,也能夠運行在公有雲上,提供跟高性能雲盤近似的性能。除了 AWS 外,後續星飛明年計劃支持國內的 Top3 公有雲平台。
這次測試我們達成了這些目的:
首先,星飛可以提供一致的數據服務,幫助實現多雲化的 IT 架構,統一管理和運維技能;
其次,相比公有雲網盤的可用性承諾,基於公有雲的星飛產品可以提供更高的冗餘度和可靠性保證;
最後,利用低廉的快照成本和數據縮減能力,星飛產品至少可以降低 50% 以上的 TCO。
通過這些收益,我們認為星飛確實能夠幫助用戶一起實現雲上雲下,一致體驗,成本節省一半。
面向未來全閃數據中心的架構答案
綜上所述,無論從存儲系統的架構演進,還是目前硬體產品的發展新趨勢、市場和應用的需求,以及基於星海架構的星飛產品的驗證結果而言,星海架構以及基於星海架構的全閃存儲,是最值得考慮的選擇。
作為行業的領先者,XSKY 致力於通過創新的星海架構,推動全閃數據中心技術的發展,滿足日益增長的數據存儲需求。