如何通俗地解釋ceph的工作機制?

時間 2021-06-01 17:37:11

1樓:UMCloud優雲數智

上面這張圖很好地介紹了Ceph的架構和資料IO路徑,並且也很好地詮釋Ceph的設計哲理:

一切皆物件

一切均被crush

一切皆物件

眾所周知,Ceph提供了乙個統一儲存平台,即結合了塊儲存(RBD)、物件儲存(RGW)、檔案儲存(CephFS)與一體的分布式儲存「航母」,而這艘航母的核心是RADOS。

而RADOS這一層就是乙個物件儲存系統,所有進入Ceph中的資料最終都是由RADOS負責儲存進OSD中。這一層提供了librados介面,供RBD、RGW、CephFS這些上層的呼叫,通過socket來達到與RADOS層互動,所有上層物件最終會被封裝成乙個個rados物件。

一切皆被crush

乙個檔案被封裝成乙個個rados物件後,如何均勻地分發到各個OSD節點上呢?這個時候就需要用到ceph的核心演算法:crush。

在介紹crush演算法之前,還需要介紹兩個概念:

Pool:Ceph對PG做的邏輯上的劃分。每類儲存都有其對應的預設儲存池,比如RBD的預設儲存池為rbd, RGW的對應儲存池為default.

rgw.buckets.data, CephFS的對應儲存池為cephfs。

也就是說,不同的RADOS上層來的資料,最終會落到不同的Pool中,由此來更好的管理資料。

PG(placement group): 是一些物件邏輯上的合集,也是Pool最基本組成單位,是實現冗餘策略,資料遷移、災難恢復等功能的基礎。可以向上接受、處理客戶端請求,轉化為能被ObjectStore理解的事務,是乙個物件落到OSD上的最後邏輯載體。

因此可以看到,乙個檔案從客戶端寫入,到最終落盤,以物件儲存為例,會經歷以下過程:

\ rados \ object\ ->\ pool\ ->\ pg\ ->\ osd\\" eeimg="1"/>

而乙個rgw物件被對映成乙個rados物件,乙個rados物件被對映到PG,乙個PG對映到乙個OSD中,都需要借助雜湊演算法,這三次雜湊轉變,也就是crush演算法的核心。

說了那麼多,下面給出一些通俗解釋:

RGW: 提供物件儲存服務的元件

RBD:提供塊儲存服務的元件

MDS:提供檔案儲存服務的元件

OSD: Ceph管理硬碟的元件

MON(Monitor): 管理Ceph集群狀態、各個元件的元件

2樓:黃駿

以寫乙個檔案為例,客戶端從mon拿到mds的ip,然後從mds獲得寫的許可權,然後根據從mon拿到的osdmap,通過演算法crush計算檔案資料分布的儲存伺服器osd的位址和id,將資料傳送到這個osd,該osd接收到資料後儲存到本地,然後回覆客戶端成功。

如何通俗地解釋 C C C Java JavaScript HTML Python的用處?

Archeus 程式語言總的來說是跟計算機硬體互動的語言。比如 傳送 你好 小明 不同的計算機語言的單詞,標點,語法不同。它們各有各的側重點,有的擅長網路通訊,有的擅長顯示影象,有的語法嚴謹,有的簡約易用。對於想入門卻又不知道選哪門語言的同學,我的建議是 在當前流行的語言當中任選一門立刻開始學習,不...

如何通俗地解釋 IS LM 模型?

清晨致雨就是個小萌鹿 總邏輯 市場 曲線定義 曲線圖形 公式 斜率和位置 IS LM模型受商品市場和貨幣市場的影響 從上節課講到的第10章商品市場開始說 商品市場研究總供給Y與總需求AD的 當Y AD,商品市場達到均衡狀態 在圖形上表示就是一條45度角的射線,由此可以看出不同狀態下均衡點不同 這一章...

如何通俗地解釋 新陳代謝 ?

Wild Field Health荒野健康 相信大家都想擁有健康的狀態!和好身材!小荒悄悄給你支個小妙招 那就是提高新陳代謝!今日份的新陳代謝小課堂快來了解一下 新陳代謝主要 包括分解代謝和合成代謝。分解代謝將食物中的澱粉 蛋白質 脂肪等分解為可用形式 氨基酸 葡萄糖等 在此過程中,能量要麼儲存在能...