大數(shù)據(jù)需要大存儲,尤其是文件存儲,Hadoop組件之一HDFS也因此得到了快速發(fā)展。隨著AI時代的來臨,機器學(xué)習(xí)對于大存儲提出了更高的要求。 分布式、并行、高速、在線擴展、高可用、可靠、安全等等,現(xiàn)代機器學(xué)習(xí)尤其是深度學(xué)習(xí),要做大模型和超大模型訓(xùn)練,要迭代數(shù)以TB級別甚至PB級別的樣本,要做類似spark的checkpoint,要做動態(tài)感知計算和網(wǎng)絡(luò)環(huán)境的調(diào)度,等等復(fù)雜負(fù)載,對文件系統(tǒng)的這些需求逐漸都變成了剛需。
壹
當(dāng)前比較流行的分布式文件系統(tǒng),包括HDFS、Ceph/CephFS、Lustre、GPFS、GlusterFS等,各具特點,并應(yīng)用于一些特定的場景。作為開源項目的佼佼者,Ceph/CephFS因提供了對象存儲、塊存儲、文件系統(tǒng)三種接口,得到了最為廣泛的應(yīng)用。常規(guī)的場景中,對象存儲可以搭建企業(yè)級網(wǎng)盤,塊存儲可以作為OpenStack/KVM的鏡像后端,文件存儲可以替代HDFS支持大數(shù)據(jù)。 在云原生大行其道的今天,Ceph也沒有落后腳步。目前已經(jīng)提供了Kubernetes/Docker存儲的原生支持。
貳
了解Ceph的人,大都會認(rèn)為Ceph是一個相對復(fù)雜的系統(tǒng),尤其當(dāng)磁盤規(guī)模達(dá)到千塊甚至萬塊時。Ceph經(jīng)受住了長時間的應(yīng)用考驗,也說明其架構(gòu)設(shè)計非常之優(yōu)秀。
在OPPO的機器學(xué)習(xí)平臺里,Ceph也在發(fā)揮著極其重要的作用,提供了諸如深度模型 分布式訓(xùn)練、 代碼 和 數(shù)據(jù)共享 、 訓(xùn)練任務(wù)容災(zāi) 、 模型急速發(fā)布 等能力。Ceph的應(yīng)用場景遠(yuǎn)不僅如此,但因為Ceph系統(tǒng)太過“復(fù)雜”,導(dǎo)致很多架構(gòu)師或者技術(shù)經(jīng)理不敢輕易觸碰。
誠然,采納和應(yīng)用一門新技術(shù),向來不是一個簡單容易的過程,但認(rèn)識或者理解一門新技術(shù),對于我們這些混跡于IT和互聯(lián)網(wǎng)圈的同學(xué),可能從來都不是什么難事兒。
叁
如何快速認(rèn)識Ceph/CephFS,最簡單的方式就是快速應(yīng)用它 。 如果想要理解它的原理,看代碼便是最直接的方式。后面,我們用源碼構(gòu)建并運行一個小型的Ceph,全面感知下Ceph的魅力。對于了解Docker的同學(xué),可以在容器里進行這個嘗試。
以下演示如何快速編譯并啟動一個 管理三塊磁盤的 分布式文件系統(tǒng) 。圖中Rados Cluster即為構(gòu)造的Ceph存儲集群, CephFS Kernel Client 是實現(xiàn)Linux VFS標(biāo)準(zhǔn)的內(nèi)核模塊,兩者通過網(wǎng)絡(luò)傳遞磁盤IO。
準(zhǔn)備階段
假設(shè)物理機ip為10.13.33.36,新啟的容器ip為10.244.0.5
第一步: 準(zhǔn)備好編譯和運行的操作系統(tǒng)容器
第二步: 在容器內(nèi)安裝編譯和運行Ceph的環(huán)境依賴庫
第三步: 下載Ceph源代碼并解壓進入代碼工程目錄
第四步: 依賴準(zhǔn)備
第五步: 編譯Ceph
第六步: 啟動Ceph集群并檢查Ceph Cluster狀態(tài)
第七步:客戶端掛載CephFS文件系統(tǒng)
第八步: 客戶端檢測并使用CephFS文件系統(tǒng)
肆
通過以上簡單操作,即使是在未能熟悉mon/mds/osd服務(wù)功能,不用了解CRUSH算法原理,不懂cmake和make編譯系統(tǒng)的情況下, 也可以快速體驗到一個原生的Ceph/CephFS。
上述的Ceph集群虛擬管理了三塊disk(filesystem),并通過CephFS接口暴露文件系統(tǒng)接口,客戶端主機通過掛載該CephFS到/tmp/oppofs目錄,所有讀寫/tmp/oppofs目錄和文件的IO都會通過網(wǎng)絡(luò)傳遞給Ceph Rados Cluster,并分發(fā)給三塊disk。
當(dāng)disk分布在多個主機時,在不同主機配置并啟動相對應(yīng)的OSD進程即可,每塊磁盤的IO都是通過OSD進程進行管理。對Ceph性能和功能有特殊需求的場景,也可以通過直接調(diào)整源代碼來定制。
Ceph本身具備的能力足以支撐起成千上萬塊磁盤,但因磁盤數(shù)量高速增長引來的其他相關(guān)挑戰(zhàn),就需要各位實踐者去不斷學(xué)習(xí)和積累相關(guān)的知識去應(yīng)對了。 Ceph作為領(lǐng)先的大數(shù)據(jù)存儲解決方案 , 應(yīng)用場景將會越來越豐富 。
-
磁盤
+關(guān)注
關(guān)注
1文章
379瀏覽量
25238 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8434瀏覽量
132866 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8903瀏覽量
137606
發(fā)布評論請先 登錄
相關(guān)推薦
評論