ITBear旗下自媒體矩陣:

CubeFS 進(jìn)入 CNCF 孵化階段,國產(chǎn)分布式存儲的新里程碑!

   時間:2022-07-06 11:34:04 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評論無障礙通道

CubeFS 是國內(nèi)首個云原生開源分布式存儲產(chǎn)品,2019 年開源并捐贈托管至云原生計算基金會(CNCF),2020 年 10 月 OPPO 開始主導(dǎo) CubeFS 社區(qū)運營與版本迭代,累計發(fā)布 7 個 release 版本。在 OPPO 的全力推進(jìn)下,CubeFS 于 2022 年 6 月進(jìn)入 CNCF 孵化階段。

本文,我們與 CubeFS Maintainer OPPO 的何小春進(jìn)行了對話,共同探討 CubeFS 的技術(shù)演進(jìn)及云原生存儲技術(shù)的發(fā)展方向。

云原生存儲技術(shù)“越來越分布式”

隨著云計算時代的到來,5G 等場景下的大規(guī)模數(shù)據(jù)存儲成為常態(tài),超大容量、快速變化的 I/O 需求,對存儲的彈性、運維及 TCO 都提出了更高要求。傳統(tǒng)存儲的緊耦合特點、煙囪式架構(gòu)以及高昂的價格愈來愈無法滿足企業(yè)的發(fā)展需要,于是基于分布式架構(gòu)的軟件定義存儲(SDS)登上舞臺。

我們從 SNIA 提出的 SDS 應(yīng)具備的特性可以看出,其最大優(yōu)勢是實現(xiàn)軟硬件的解耦,能夠打破對于存儲或傳統(tǒng)存儲的硬件依賴。而分布式存儲系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷,既可提高系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展,能很好滿足 SDS 的需求。

據(jù) IDC 預(yù)測,2017—2022 年全球 SDS 市場規(guī)模平均增速達(dá)到 14.7%,國內(nèi) SDS 市場規(guī)模平均增速為 32.5%。我們可以清楚看到,SDS 呈現(xiàn)了從集中式逐漸過渡到分布式的趨勢。

智研咨詢發(fā)布的《2021-2027 年中國分布式存儲行業(yè)市場研究分析及投資戰(zhàn)略規(guī)劃報告》顯示,2020 年我國分布式存儲行業(yè)市場規(guī)模 102.9 億元,同比增長47%,其中分布式文件規(guī)模 48.36 億元,成為市場主導(dǎo)。

行業(yè)趨勢已然明了,但業(yè)內(nèi)鮮有已投入生產(chǎn)且歷經(jīng)大規(guī)模流量考驗的分布式存儲系統(tǒng)可供選擇, CubeFS 是其中一個。

存儲技術(shù)革新:CubeFS 正式進(jìn)入孵化階段

CubeFS 作為國內(nèi)首個開源分布式存儲系統(tǒng),2019 年由京東捐贈給云原生計算基金會,同期 OPPO 在大規(guī)模機(jī)器學(xué)習(xí)、大數(shù)據(jù)存儲和其他傳統(tǒng)的IT應(yīng)用方面,對文件以及對象存儲有強(qiáng)烈的需求,在經(jīng)歷 Ceph、HDFS 等多次技術(shù)選型后,OPPO 引入 CubeFS 并于 2020 年 10 月起,開始大量投入并全面主導(dǎo) CubeFS 的社區(qū)運營與版本迭代。

何小春談起 OPPO 的存儲系統(tǒng)選型時說道,“我們需要一個在生產(chǎn)上真正好用的產(chǎn)品,一個在系統(tǒng)穩(wěn)定性、可擴(kuò)展性、IO 性能以及可維護(hù)性方面都表現(xiàn)優(yōu)秀的產(chǎn)品,我們當(dāng)時調(diào)研了許多行業(yè)里的產(chǎn)品,發(fā)現(xiàn) CubeFS 最符合我們的業(yè)務(wù)需求,于是把產(chǎn)品引進(jìn)來,并且投入了大量的研發(fā)人力,和社區(qū)伙伴一起共建 CubeFS。”

CubeFS 在進(jìn)入孵化階段之前,OPPO 在對產(chǎn)品的穩(wěn)定性夯實、代碼規(guī)范、社區(qū)治理、用戶及開發(fā)者支持等方面做了很多工作。2020 年 10 月至今,OPPO 持續(xù)組織了多場社區(qū)例會,公布開發(fā)計劃、認(rèn)真聽取了社區(qū)用戶的建議。同時,OPPO 在整個產(chǎn)品文檔建設(shè)方面也投入了許多精力,外部伙伴擁有更好的使用體驗。

歷經(jīng) 2 年,CubeFS 正式進(jìn)入孵化階段。CubeFS 在產(chǎn)品成熟度、項目采用率以及社區(qū)持續(xù)性等方面取得一系列進(jìn)展,目前已在 OPPO、京東、網(wǎng)易、360 等企業(yè)內(nèi)被大量應(yīng)用。歷經(jīng)多家公司多類業(yè)務(wù)負(fù)載的長期考驗,CubeFS 的穩(wěn)定性、擴(kuò)展性、易運維性、性能、成本優(yōu)勢等各項數(shù)據(jù)都可以證明,其已是一款真正實現(xiàn)“生產(chǎn)可用”的產(chǎn)品:

穩(wěn)定性:CubeFS 目前支撐著 OPPO 大數(shù)據(jù)、AI、云相冊等各個業(yè)務(wù)累計 EB 級數(shù)據(jù)的存儲;在其他公司的業(yè)務(wù)實踐中,存儲量也已達(dá)到數(shù)十 PB~百 PB 級;CubeFS 穩(wěn)定性得到有效的驗證。

高性能:在大/小文件讀寫、超大目錄訪問等場景都有優(yōu)秀的解決方案,具體可參考 https://cubefs.readthedocs.io/zh_CN/latest/evaluation.html#io

可運維性:CubeFS 提供了易用的節(jié)點上下架、完整的指標(biāo)監(jiān)控、詳細(xì)的Log以及配套的運維工具,讓運維工作變得更簡單高效;

高性價比:V3.0.0 版本發(fā)布的“在線糾刪碼”功能,對比之前的三副本存儲,可有效降低存儲成本。OPPO 在使用EC引擎后,業(yè)務(wù)整體 TCO 下降超60%;CubeFS 可以直接支持高精尖的芯片業(yè)務(wù),比如支撐馬里亞納芯片設(shè)計的存儲系統(tǒng)就是CubeFS,維護(hù)成本高、響應(yīng)不及時、個性化需求難以滿足的問題都得到了解決。

對在分布式存儲方面有需求的企業(yè)和開發(fā)者而言,無論是底層引擎能力、元數(shù)據(jù)系統(tǒng)設(shè)計還是業(yè)務(wù)場景支撐維度上看,CubeFS 都可以很好的滿足。

在整個 CubeFS 項目的開發(fā)過程中,作為 Maintainer 的何小春有許多啟發(fā),他認(rèn)為,在做存儲系統(tǒng)的技術(shù)選型時,企業(yè)除了需要考慮系統(tǒng)的穩(wěn)定性、性能外,還要考慮成本與業(yè)務(wù)改造難度?!按鎯w移的成本和風(fēng)險都比較高,所以(某個系統(tǒng))如果能夠做到業(yè)務(wù)改造盡量小的話,用戶就能很好地做出選型決策?!?/p>

何小春的這些考慮也都被納入了 CubeFS 的設(shè)計之中。CubeFS 架構(gòu)設(shè)計簡潔,對代碼質(zhì)量有良好把控,二次開發(fā)成本更低;采用存算分離架構(gòu)設(shè)計,支持可水平擴(kuò)展的強(qiáng)一致性的元數(shù)據(jù)服務(wù),數(shù)據(jù)存儲支持多副本和糾刪碼兩種引擎。此外,CubeFS 還支持多級智能加速能力,支持標(biāo)準(zhǔn) S3、POSIX、HDFS 三種訪問協(xié)議,與K8s、容器生態(tài)有良好的兼容性。

CubeFS 的開發(fā)者文檔十分豐富,大大降低了企業(yè)和開發(fā)者的使用門檻。四個模塊+三個節(jié)點便可以將整個存儲集群搭建起來。如果使用“糾刪碼引擎”,模塊會多一些,但 CubeFS 開發(fā)團(tuán)隊也正在對糾刪碼架構(gòu)做進(jìn)一步優(yōu)化;從文檔方面針對存儲集群部署為運維者提供了豐富易用的操作文檔。對于內(nèi)部已經(jīng)在運行 CEPH、HDFS 或其他主流開源分布式存儲系統(tǒng)的企業(yè), CubeFS 同樣可以做到幾乎零改動接入。

OPPO 的技術(shù)探索:億級數(shù)據(jù)湖背后的存儲技術(shù)

很多人都認(rèn)為“數(shù)據(jù)湖”是下一代大數(shù)據(jù)平臺,各大云廠商也都陸續(xù)提出了自己的數(shù)據(jù)湖解決方案,而從 OPPO 也從主導(dǎo) CubeFS 項目后,就基于 CubeFS 對數(shù)據(jù)湖存儲技術(shù)進(jìn)行了探索。

數(shù)據(jù)湖最早是在 2010 年 10 月紐約 Hadoop World 大會上提出來的,在這樣的大背景下,數(shù)據(jù)湖與 Hadoop 總是要一起被提起的。在 Hadoop 這個原生生態(tài)下,數(shù)據(jù)湖技術(shù)目前主要存在三個問題,第一是存儲成本;第二是性能;第三個是業(yè)務(wù)側(cè)的使用體驗,于是 CubeFS 基于此提出了解決方案。

從成本方面,CubeFS 采存算分離的架構(gòu)設(shè)計,各子系統(tǒng)可獨立擴(kuò)容;同時“在線糾刪碼引擎”可有效降低數(shù)據(jù)冗余度,節(jié)約存儲成本,還能有效提升數(shù)據(jù)的耐久度。在未來,CubeFS 還將提供更智能的冷熱分層能力,實現(xiàn)業(yè)務(wù)對對性能和成本雙重需求。

從性能方面,CubeFS 針對小文件做了許多針對性優(yōu)化,能夠提供很好的小文件讀寫性能。CubeFS 支持多種訪問協(xié)議,不同類型業(yè)務(wù)可以共享同一個存儲集群,結(jié)合精細(xì)化租戶隔離策略及不同租戶間潮汐訪問的特點,可有效提升存儲集群關(guān)鍵資源( IO 和帶寬)利用率,降低運營成本。

至于用戶體驗,用戶通常指兩類人員。一類是運維人員,從之前的要維護(hù)多套存儲集群變成只維護(hù) CubeFS 這一套集群,工作量大大降低,擴(kuò)容、縮容過程也更加智能自動化,保證系統(tǒng)穩(wěn)定性的同時,運維工作也變得更便捷。另一類是終端用戶,CubeFS 提供的是統(tǒng)一數(shù)據(jù)底座和元數(shù)據(jù)管理,支持多種協(xié)議,極大程度上避免了用戶對底層數(shù)據(jù)做多次拷貝,大幅提升數(shù)據(jù)復(fù)用效率。

整體而言,CubeFS 對于數(shù)據(jù)湖的探索,主要集中在元數(shù)據(jù)管理、糾刪碼存儲與數(shù)據(jù)湖訪問加速。從元數(shù)據(jù)管理方面,CubeFS 內(nèi)存元數(shù)據(jù)分片通過 snapshot 方式持久化到磁盤以作備份及恢復(fù)使用。目前CubeFS單個目錄支持百萬級別容量,元數(shù)據(jù)全內(nèi)存化,保證優(yōu)秀的讀寫性能。

糾刪碼存儲技術(shù)(EC)作為 CubeFS 的核心技術(shù),目前已在 3.0 版本支持了,可有效降低海量數(shù)據(jù)的存儲成本。CubeFS 單集群支持 EB 規(guī)模,相比傳統(tǒng)的多副本存儲,EC 的數(shù)據(jù)冗余度更低。其實現(xiàn)方式有多種,大多數(shù)是基于異或運算或 RS 編碼。EC 的底層原理是“將 K 份原始數(shù)據(jù),通過編碼計算得到新的 M 份數(shù)據(jù),當(dāng) K+M 份數(shù)據(jù)丟失任意的不多于 M 份時,通過解碼可還原出原始數(shù)據(jù)”,有效地實現(xiàn)故障容災(zāi)。

CubeFS 在數(shù)據(jù)湖訪問加速問題上提出了跨區(qū)域跨云的“多級緩存能力”和“謂詞下推操作”兩個解決方案。目前多級加速功能已上線,一級本地緩存與計算節(jié)點同機(jī)部署,支持元數(shù)據(jù)和數(shù)據(jù)緩存,支持內(nèi)存、PMem、NVme、HDD 不同類型介質(zhì),訪問時延低但容量少;二級全部分布式緩存副本數(shù)目彈性可變,提供機(jī)房位置感知能力,支持用戶/桶/對象級的主動預(yù)熱和被動緩存,數(shù)據(jù)淘汰策略也可配置。謂語下推操作策略顯著減少了存儲與計算節(jié)點間大量的數(shù)據(jù)流動,降低了資源開銷并提升計算性能。

談至此,何小春說到,“目前我們正在考慮解決“異構(gòu)存儲編排管理”問題,如把存量的文件或?qū)ο蟠鎯航y(tǒng)一納入管理,減少數(shù)據(jù)搬遷,該特點預(yù)計年底發(fā)布?!?/p>

其實 CubeFS 對于數(shù)據(jù)湖存儲的探索不僅如此,除了以上三個核心技術(shù),CubeFS 還正在設(shè)計一個基于混合云業(yè)務(wù)場景的架構(gòu);在產(chǎn)品特性方面推出了許多重要功能,如多版本快照、智能生命周期管理、數(shù)據(jù)容災(zāi)方面的跨區(qū)復(fù)制功能等。

關(guān)于 CubeFS 的未來,OPPO 有自己的想法

OPPO CubeFS 項目的 Maintainer 何小春提到 CubeFS 的未來規(guī)劃,“全力推動并爭取在2年內(nèi)在 CNCF 畢業(yè)?!?/p>

為了順利從 CNCF 畢業(yè),CubeFS 將在核心重要特性、業(yè)務(wù)支撐范圍、低成本運維能力建設(shè)等方面持續(xù)迭代與夯實。技術(shù)層面上主要進(jìn)行三大技術(shù)演進(jìn),第一,在數(shù)據(jù)湖與 AI 領(lǐng)域,持續(xù)優(yōu)化 CubeFS 的性能,為大數(shù)據(jù)及 AI 場景提供整體的存儲及加速能力;第二,CubeFS 將逐步從數(shù)據(jù)中心向邊緣設(shè)備進(jìn)行擴(kuò)展;第三,在混合云管理方面,結(jié)合私有云和公共云優(yōu)勢,提供具備高可擴(kuò)展性、靈活性及成本優(yōu)勢,同時兼具數(shù)據(jù)安全性和隱私性的混合云存儲能力。

一個優(yōu)秀開源產(chǎn)品的發(fā)展需要更多社區(qū)力量的支持,OPPO 將在未來為社區(qū)共建做出更多努力,讓更多用戶和開發(fā)者參與到產(chǎn)品的建設(shè)中來,在一些關(guān)鍵場景上,共同開發(fā)出更多產(chǎn)品新特性。OPPO CubeFS 項目組目前也制定了一些比較明確的社區(qū)共建計劃,除了之前已有的社區(qū)例會、文檔更新外,還將組織系列技術(shù)沙龍,邀請社區(qū)伙伴共同分享 CubeFS 在公司業(yè)務(wù)場景中的詳細(xì)實踐。未來 CubeFS 將會和開源社區(qū)做進(jìn)一步的融合,比如打通其他技術(shù)生態(tài)等,之后社區(qū)伙伴們可以直接在 CubeFS 官方技術(shù)公眾號看到 CubeFS 項目的一些技術(shù)架構(gòu)解析及運維心得。

“希望 CubeFS 能夠被更多用戶在生產(chǎn)中使用,能有更多的用戶參與到產(chǎn)品建設(shè)中來?!焙涡〈航o了想要快速參與進(jìn) CubeFS 項目共建者3條建議:

1、先閱讀官網(wǎng)文檔,了解 CubeFS 整體設(shè)計,不要一開始就扎到代碼里面去;

2、根據(jù) CubeFS 的操作文檔嘗試搭建一個集群,看看它到底是有怎樣的表現(xiàn);

3、自己去提一些 Issue,或去承接一些 Issue 相關(guān)的任務(wù),通過簡單特性開發(fā)或 Bug 修復(fù)逐步了解系統(tǒng)。

在未來,CubeFS 作為一個成熟的開源項目,何小春說出了 CubeFS 研發(fā)團(tuán)隊對項目的期待,“當(dāng)前,真正完整的開源分布式存儲產(chǎn)品其實是非常稀缺的,我希望 CubeFS 能夠填補分布式存儲產(chǎn)品市場的“空白”,CubeFS 的目標(biāo)就是成為具有全球影響力的分布式存儲?!?/p>

寫在最后

在存儲層面,我們看到整體都在朝著越來越分布式的方向發(fā)展,這一切都是因為傳統(tǒng)存儲的擴(kuò)展性受限,當(dāng)下環(huán)境下日益增長的數(shù)據(jù)存儲容量需求,對存儲系統(tǒng)穩(wěn)定性、性能及成本的要求越高,“云原生分布式存儲”的呼聲就會越熱。

隨著企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)入深水區(qū),混合云的業(yè)務(wù)場景也越來越多,在未來,如何將本地存儲與公有云存儲打通、企業(yè)如何繼續(xù)使用原來存儲方式的同時,還能享受到分布式存儲系統(tǒng)所具有的彈性及低成本能力,這將是一個非常值得探索的技術(shù)方向。

舉報 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version