云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐_第1頁(yè)
云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐_第2頁(yè)
云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐_第3頁(yè)
云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐_第4頁(yè)
云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ChubaoFS:云原生的開(kāi)源分布式文件系統(tǒng)及應(yīng)用實(shí)踐目錄云原生應(yīng)用存儲(chǔ)現(xiàn)狀ChubaoFS帶來(lái)的變革架構(gòu)設(shè)計(jì)典型應(yīng)用支撐實(shí)踐云原生社區(qū)現(xiàn)狀后續(xù)工作及收益云原生應(yīng)用存儲(chǔ)現(xiàn)狀本地文件系統(tǒng)需要POSIX語(yǔ)義并且對(duì)性能要求比較高的應(yīng)用,目前很多會(huì)采用本地文件系統(tǒng),原因是POSIX語(yǔ)義在性能上并不適合分布式系統(tǒng)應(yīng)用容器的調(diào)度被局限在特定的物理節(jié)點(diǎn),物理節(jié)點(diǎn)故障需要數(shù)據(jù)遷移,與云原生的 理念背道而馳如果應(yīng)用需要高可用,需要自己來(lái)做Replication和Failover容量受到局限,擴(kuò)容較復(fù)雜生態(tài)強(qiáng)相關(guān)的分布式文件系統(tǒng)如Hbase+HDFS需要給特定應(yīng)用單獨(dú)部署集群,資源使用率較低云原生應(yīng)用存儲(chǔ)現(xiàn)狀Co

2、ntd對(duì)象存儲(chǔ)應(yīng)用需要使用對(duì)象存儲(chǔ)接口,一般自研應(yīng)用使用較多,一些傳統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)用無(wú)法使用,如數(shù)據(jù)庫(kù)備份場(chǎng)景不適合順序追加寫(xiě)的場(chǎng)景,追加需要讀取整個(gè)blob分布式塊存儲(chǔ)應(yīng)用使用塊存儲(chǔ)接口的開(kāi)發(fā)成本較高,一般自研應(yīng)用使用較少云原生應(yīng)用存儲(chǔ)現(xiàn)狀Contd為什么不用通用分布式文件系統(tǒng)設(shè)計(jì)復(fù)雜,運(yùn)維難度高,需要專(zhuān)業(yè)的運(yùn)維團(tuán)隊(duì)大文件順序讀寫(xiě)性能較好,但是對(duì)于小文件的支持較差高并發(fā)的元數(shù)據(jù)操作會(huì)有熱點(diǎn)問(wèn)題多租戶的支持較差,提供基礎(chǔ)設(shè)施的部門(mén)經(jīng)常需要給每個(gè)大的業(yè)務(wù)方部署單獨(dú)集群POSIX語(yǔ)義并不適合分布式系統(tǒng),性能成為瓶頸ChubaoFS帶來(lái)的變革設(shè)計(jì)理念在資源有限的情況下(存儲(chǔ)介質(zhì)、網(wǎng)絡(luò)等),tradeo

3、ff妥協(xié)是不可避免的,評(píng)判標(biāo)準(zhǔn)是滿足上層業(yè)務(wù)的需求保持簡(jiǎn)單設(shè)計(jì) - 系統(tǒng)穩(wěn)定性提高 - 運(yùn)維負(fù)擔(dān)降低允許業(yè)務(wù)方bluffingChubaoFS帶來(lái)的變革 應(yīng)用層面應(yīng)用無(wú)狀態(tài)化客戶端基于FUSE框架,使用掛載的方式,提供POSIX文件系統(tǒng)接口使用本地文件系統(tǒng)的應(yīng)用可以平滑遷移到ChubaoFS分布式文件系統(tǒng)云原生應(yīng)用調(diào)度不再受物理節(jié)點(diǎn)限制,真正體現(xiàn)cloud native可靠的分布式文件系統(tǒng)性能盡可能遵循POSIX語(yǔ)義,以滿足應(yīng)用需求為準(zhǔn),例如,Hbase,MySQL,Elasticsearch,TensorFlow,Spark等常見(jiàn)應(yīng)用均可直接跑在ChubaoFS上支持跨客戶端寫(xiě)同一個(gè)文件不同

4、位置,但是寫(xiě)相同位置沒(méi)有明確定義不支持跨節(jié)點(diǎn)客戶端的O_APPEND寫(xiě)請(qǐng)求ChubaoFS帶來(lái)的變革- 應(yīng)用層面Contd可擴(kuò)展性理論上容量可以無(wú)限擴(kuò)容,應(yīng)用無(wú)需關(guān)注存儲(chǔ)資源高可用應(yīng)用不需要考慮高可用性,專(zhuān)注于業(yè)務(wù)即可ChubaoFS帶來(lái)的變革 基礎(chǔ)設(shè)施層面統(tǒng)一存儲(chǔ)資源替換本地文件系統(tǒng),及傳統(tǒng)的分布式文件系統(tǒng),CephFS,MooseFS,GlusterFS,HDFS等,無(wú)需單獨(dú)部署集群集群支持多租戶,不同應(yīng)用共享存儲(chǔ)資源,提高資源利用率運(yùn)維簡(jiǎn)單所有管理命令均可通過(guò)Http請(qǐng)求完成,無(wú)需專(zhuān)業(yè)的運(yùn)維團(tuán)隊(duì)架構(gòu)設(shè)計(jì)框架集群由若干data nodes組成(物理)每個(gè)data node包含若干parti

5、tions(邏輯)每個(gè)partition包含若干extent file大小文件構(gòu)成大文件由多個(gè)extent組成小文件聚合至預(yù)分配extent小文件刪除使用punch hole復(fù)制協(xié)議順序?qū)?primary-backup protocol覆蓋寫(xiě) multi-raft protocol架構(gòu)設(shè)計(jì)- Data SubsystemDistributed in-memory storage for meta data復(fù)制協(xié)議使用multi-raft元數(shù)據(jù)持久化由Raft日志及snapshot保證所有元數(shù)據(jù)緩存在內(nèi)存中框架集群由若干meta nodes組成meta nodes包含若干partitions每個(gè)

6、partition由三臺(tái)nodes組成Raft復(fù)制組應(yīng)對(duì)高并發(fā)及大量小文件操作inode不局限于父目錄所在的partition允許存在inode無(wú)對(duì)應(yīng)dentry,不允許存在dentry無(wú)對(duì)應(yīng)inode架構(gòu)設(shè)計(jì)- Meta SubsystemSpark on ChubaoFS現(xiàn)狀目前業(yè)界普遍的觀點(diǎn)是,出于性能考慮,原生Spark不能直接使用分布式文件系統(tǒng), 一般使用本地文件系統(tǒng)。Spark應(yīng)用運(yùn)行在容器中,被Kubernetes調(diào)度時(shí),會(huì)有局限性基礎(chǔ)設(shè)施部門(mén)也無(wú)法預(yù)知需要提供多少存儲(chǔ)資源,造成資源利用率降低Spark應(yīng)用如果使用分布式文件系統(tǒng),一般會(huì)接external shuffle serv

7、ice模塊,增加 開(kāi)發(fā)成本真的沒(méi)有辦法嗎?通過(guò)分析shuffle讀寫(xiě)模型發(fā)現(xiàn)兩個(gè)特點(diǎn):順序?qū)?,且write/fsync比率較高;任務(wù)中 寫(xiě)入的數(shù)據(jù)較短時(shí)間內(nèi)會(huì)被再次讀到。Spark on ChubaoFS Contd使能FUSE writeback feature,調(diào)整一些Spark參數(shù),ChubaoFS完全可以達(dá)到與本 地文件系統(tǒng)接近的性能真實(shí)Spark業(yè)務(wù)及TeraSort均有測(cè)試ElasticSearch on ChubaoFS現(xiàn)狀大部分都在使用本地文件系統(tǒng)容器集群中,造成資源利用率低,且不容易擴(kuò)容替代本地文件系統(tǒng)同等存儲(chǔ)介質(zhì)條件下(SSD,SAS/SATA HDD),TPS是本地文件系

8、統(tǒng)的80%左右, 考慮到使用分布式存儲(chǔ)的巨大收益,性能在業(yè)務(wù)方接受范圍內(nèi)動(dòng)態(tài)擴(kuò)容,無(wú)需關(guān)注容量資源零副本,高可用由分布式文件系統(tǒng)保證云原生社區(qū)現(xiàn)狀 開(kāi)發(fā)相關(guān)Kubernetes CSI driver支持Container Storage Interface Spec v0.3 和 v1.0可以PV/PVC方式使用ChubaoFS避免容器中的mount操作,更好的安全性,因?yàn)閙ount操作需要容器privileged啟動(dòng)與應(yīng)用的容器隔離,避免用戶態(tài)客戶端進(jìn)程被誤殺動(dòng)態(tài)創(chuàng)建刪除Volume,無(wú)需提前靜態(tài)創(chuàng)建風(fēng)險(xiǎn):每個(gè)Volume都在宿主機(jī)有掛載點(diǎn),目前Kubernetes在調(diào)度時(shí)并未考慮掛載數(shù)量

9、這一因素,有可能造成某個(gè)物理節(jié)點(diǎn)掛載過(guò)多Helm/Operator (WIP)進(jìn)一步簡(jiǎn)化server端的部署和運(yùn)維云原生社區(qū)現(xiàn)狀 社區(qū)相關(guān)CNCF社區(qū)CNCF Landscape,cf.io/selected=chubao-fsCNCF Storage SIG audit(done)Preparing TOC Sandbox presentation前景展望分布式文件系統(tǒng)在云原生社區(qū)的應(yīng)用并不廣泛,目標(biāo)是通過(guò)更加中立和開(kāi)放的平臺(tái)CNCF, 改變大家對(duì)于分布式文件系統(tǒng)的固有印象,為云原生應(yīng)用選擇存儲(chǔ)方案時(shí)提供更多選擇OpenSDS/SODA社區(qū)ChubaoFS filesystem driver合入主干后續(xù)工作及收益支持部分對(duì)象存儲(chǔ)接口協(xié)議打通文件系統(tǒng)和對(duì)象存儲(chǔ),一份數(shù)據(jù)可以通過(guò)兩種協(xié)議訪問(wèn)Erasure Coding冷數(shù)據(jù)備份場(chǎng)景下,可以使用EC volume,進(jìn)一步節(jié)省存儲(chǔ)資源詳細(xì)開(kāi)發(fā)任務(wù)列表/chubaofs/chubaofs/projects/1Misc開(kāi)源 /chubaofs/chubaofsApache 2.0Haifeng Liu, et al., CFS: A Distr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論