官术网_书友最值得收藏!

2.2 Monitor節(jié)點分析

每個Monitor節(jié)點上都在運(yùn)行守護(hù)進(jìn)程(ceph-mon)。該守護(hù)進(jìn)程可維護(hù)集群映射的主副本,包括集群拓?fù)鋱D。這意味著Ceph客戶端只需連接到一個Monitor節(jié)點并檢索當(dāng)前的集群映射,即可確定所有Monitor和OSD節(jié)點的位置。

Ceph客戶端讀寫OSD節(jié)點之前,必須先連接到Monitor節(jié)點。借助集群映射的當(dāng)前副本和CRUSH算法,Ceph客戶端可以計算任何對象的位置。這是Ceph具有高擴(kuò)展性和高性能的一個非常重要的因素。

Ceph Monitor的主要作用是維護(hù)集群的數(shù)據(jù)主副本映射關(guān)系。同時,它為每個組件維護(hù)一個單獨(dú)的信息圖,包括OSD Map、MON Map、MDS Map、PG Map和CRUSH Map等。所有集群節(jié)點均向Monitor節(jié)點報告,并共享有關(guān)其狀態(tài)的每個更改信息。Monitor不存儲實際數(shù)據(jù)。存儲數(shù)據(jù)是OSD的工作。

Ceph Monitor還提供身份驗證和日志服務(wù)。Monitor將監(jiān)控服務(wù)中的所有更改信息寫入單個Paxos,并且Paxos更改寫入的K/V存儲,以實現(xiàn)強(qiáng)一致性。Ceph Monitor使用K/V存儲的快照和迭代器(LevelDB數(shù)據(jù)庫)來執(zhí)行整個存儲的同步。換句話說,Paxos是Ceph Monitor的核心服務(wù),專門負(fù)責(zé)數(shù)據(jù)一致性工作。

Paxos服務(wù)解決的問題正是分布式一致性問題,即一個分布式系統(tǒng)中的各個進(jìn)程如何就某個值(決議)達(dá)成一致。Paxos服務(wù)運(yùn)行在允許有服務(wù)器宕機(jī)的系統(tǒng)中,不要求可靠的消息傳遞,可容忍消息丟失、延遲、亂序和重復(fù)。它利用大多數(shù)(Majority)機(jī)制保證了2N+1的容錯能力,即2N+1個節(jié)點的系統(tǒng)最多允許N個節(jié)點同時出現(xiàn)故障。

如圖2-2所示,Ceph Monitor中包含分別負(fù)責(zé)OSD Map、Monitor Map、PG Map、CRUSH Map等的Paxos服務(wù)。Paxos服務(wù)負(fù)責(zé)將自己對應(yīng)的數(shù)據(jù)序列化為K/V并寫入Paxos層。Ceph集群中所有與Monitor節(jié)點的交互最終都是在調(diào)用對應(yīng)的Paxos服務(wù)功能,多種Paxos服務(wù)將不同組件的Map數(shù)據(jù)序列化為K/V,共用同一個Paxos實例。對于Paxos的原理,這里不做過多介紹。

圖2-2 Monitor中的數(shù)據(jù)一致性保證機(jī)制

主站蜘蛛池模板: 米泉市| 昔阳县| 佛教| 南城县| 巴塘县| 邛崃市| 聂荣县| 嘉黎县| 胶州市| 长汀县| 方山县| 长宁县| 阳谷县| 淄博市| 南投市| 临高县| 浦城县| 左贡县| 延吉市| 伊宁县| 任丘市| 罗定市| 霸州市| 新沂市| 上思县| 策勒县| 榆林市| 阿克苏市| 平顶山市| 布尔津县| 隆化县| 扶沟县| 崇左市| 葵青区| 镇江市| 饶平县| 宣汉县| 油尖旺区| 榆社县| 海淀区| 石景山区|