摘要:層確保數(shù)據(jù)一致性和可靠性。保證集群的相關(guān)組件在同一時刻能夠達成一致,相當(dāng)于集群的領(lǐng)導(dǎo)層,負責(zé)收集更新和發(fā)布集群信息。元數(shù)據(jù)服務(wù)器,跟蹤文件層次結(jié)構(gòu)并存儲只供使用的元數(shù)據(jù)。
啟迪云-高級開發(fā)工程師 ?侯玉彬
前言
上一次簡單的介紹Ceph的過去和未來的發(fā)展。這一節(jié)將詳細介紹Ceph的構(gòu)件以及組件。
Ceph存儲架構(gòu)
Ceph 存儲集群由幾個不同的daemon組成,每個daemon負責(zé)Ceph 的一個獨特功能并。每個守護進程是彼此獨立的。
下面將簡要介紹每個Ceph組件的功能:
RADOS(Reliable Autonomic Distributed Object Store, RADOS)
RADOS是Ceph 存儲集群的基礎(chǔ)。Ceph 中的一切都以對象的形式存儲,而RADOS 就負責(zé)存儲這些對象,而不考慮它們的數(shù)據(jù)類型。RADOS 層確保數(shù)據(jù)一致性和可靠性。對于數(shù)據(jù)一致性,它執(zhí)行數(shù)據(jù)復(fù)制、故障檢測和恢復(fù)。還包括數(shù)據(jù)在集群節(jié)點間的recovery。
OSD
實際存儲數(shù)據(jù)的進程。通常一個OSD daemon綁定一個物理磁盤。Client write/read 數(shù)據(jù)最終都會走到OSD去執(zhí)行write/read操作。
MON(monitor)
Monitor在Ceph集群中扮演者管理者的角色,維護了整個集群的狀態(tài),是Ceph集群中最重要的組件。
Mon保證集群的相關(guān)組件在同一時刻能夠達成一致,相當(dāng)于集群的領(lǐng)導(dǎo)層,負責(zé)收集、更新和發(fā)布集群信息。為了規(guī)避單點故障,在實際的Ceph部署環(huán)境中會部署多個Mon,同樣會引來多個Mon之前如何協(xié)同工作的問題。在一個標(biāo)準(zhǔn)的Ceph環(huán)境中,Monitor的功能可以分為以下兩點
管好自己
多個monitor之間如何協(xié)同工作,怎么同步數(shù)據(jù);
管理集群信息
數(shù)據(jù)的存儲,保證數(shù)據(jù)存儲的正確性等等。
Librados
簡化訪問RADOS的一種方法,目前支持PHP、Ruby、Java、Python、C和C++語言。它提供了Ceph 存儲集群的一個本地接口RADOS ,并且是其他服務(wù)(如RBD 、RGW) 的基礎(chǔ),以及為CephFS 提供POSIX 接口。librados API 支持直接訪問RADOS ,使得開發(fā)者能夠創(chuàng)建自己的接口來訪問Ceph 集群存儲。
RBD
Ceph塊設(shè)備。對外提供塊存儲??梢韵翊疟P一樣被映射、格式化已經(jīng)掛載到服務(wù)器上。支持snapshot。
RGW
Ceph對象網(wǎng)關(guān),提供了一個兼容S3和Swift的restful API接口。RGW還支持多租戶和Openstack的keyston身份驗證服務(wù)。
MDS
Ceph元數(shù)據(jù)服務(wù)器,跟蹤文件層次結(jié)構(gòu)并存儲只供CephFS使用的元數(shù)據(jù)。Ceph塊設(shè)備和RADOS網(wǎng)關(guān)不需要元數(shù)據(jù)。MDS不直接給client提供數(shù)據(jù)服務(wù)。
CephFS
提供了一個任意大小且兼容POSlX的分布式文件系統(tǒng)。CephFS 依賴Ceph MDS 來跟蹤文件層次結(jié)構(gòu),即元數(shù)據(jù)。
Ceph RADOS
RADOS 是Ceph 存儲系統(tǒng)的核心,也稱為Ceph 存儲集群。Ceph 的所有優(yōu)秀特性都是由RADOS 提供的,包括分布式對象存儲、高可用性、高可靠性、沒有單點故障、向我修復(fù)以及自我管理等。RADOS 層在Ceph 存儲架構(gòu)中扮演著舉足輕重的角色。Ceph 的數(shù)據(jù)訪問方法(如RBD 、CephFS 、RADOS GW 和librados ) 的所有操作都是在RADOS 層之上構(gòu)建的。
當(dāng)Ceph 集群接收到來向客戶端的寫請求時,CRUSH 算法首先計算出存儲位置,以此決定應(yīng)該將數(shù)據(jù)寫入什么地方。然后這些信息傳遞到隊DOS 層進行進一步處理?;贑RUSH 規(guī)則集,RADOS 以小對象的形式將數(shù)據(jù)分發(fā)到集群內(nèi)的所有節(jié)點。最后,將這些對象存儲在OSD 中。
當(dāng)配置的復(fù)制數(shù)大于1時,隊DOS 負責(zé)數(shù)據(jù)的可靠性。同時,它復(fù)制對象,創(chuàng)建副本,并將它們存儲在不同的故障區(qū)域中,換言之,同一個對象的副本不會存放在同一個故障區(qū)域中。然而,如果有更多個性化需求和更高的可靠性,就需要根據(jù)實際需求和基礎(chǔ)架構(gòu)來優(yōu)化CRUSH 規(guī)則集。RADOS 能夠保證在一個RADOS 集群中的對象副本總是不少于一個,只要你有足夠的設(shè)備。
除了跨集群存儲和復(fù)制對象之外,RADOS 也確保對象狀態(tài)的一致性。在對象不一致的情況下,將會利用剩下的副本執(zhí)行恢復(fù)操作。這個操作自動執(zhí)行,對于用戶而言是透明的,從而為Ceph 提供了自我管理和自我修復(fù)的能力。如果仔細分析Ceph 的架構(gòu)圖,你會發(fā)現(xiàn)它有兩部分: RADOS 在最下部,它完全處于Ceph集群的內(nèi)部,沒有提供給客戶端直接接口;另一部分就是在RADOS 之上的面向所有客戶端的接口。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/5328.html
摘要:層確保數(shù)據(jù)一致性和可靠性。元數(shù)據(jù)服務(wù)器,跟蹤文件層次結(jié)構(gòu)并存儲只供使用的元數(shù)據(jù)。這些文件系統(tǒng)擴展屬性能夠為守護進程提供內(nèi)部對象的狀態(tài)快照元數(shù)據(jù)和等信息這有助于數(shù)據(jù)管理。啟迪云-高級開發(fā)工程師 ?侯玉彬前言前文回顧:《開源社區(qū)的明星項目—Ceph談》上一次簡單的介紹Ceph的過去和未來的發(fā)展。這一節(jié)將詳細介紹Ceph的構(gòu)件以及組件。Ceph存儲架構(gòu)Ceph 存儲集群由幾個不同的daemon組成...
摘要:下圖是的代碼段,我喜歡叫它攪拌攪拌再攪拌得出一個隨機數(shù)如果看到這里你已經(jīng)被攪暈了,那讓我再簡單梳理下選擇一個時做的事情給出一個,作為的輸入。,,得出一個隨機數(shù)重點是隨機數(shù),不是。對于所有的用他們的權(quán)重乘以每個對應(yīng)的隨機數(shù),得到乘積。前言前文回顧:《開源社區(qū)的明星項目—Ceph談》、《史上最全的Ceph構(gòu)件及組件分析》、關(guān)于Ceph主題,這一節(jié)將詳細介紹Ceph ?CRUSH。Ceph CRU...
摘要:找工作之前看了很多面試題,復(fù)習(xí)資料,但是發(fā)現(xiàn)純看面試題是不行的,因為靠背的東西是記不牢的,需要知識成體系才可以,所以筆者整理了一份復(fù)習(xí)大綱,基本涵蓋了中高級工程師面試所必須知識點,希望可以通過此文幫助一些想換工作的朋友更好的復(fù)習(xí),準(zhǔn)備面試。 概述 都說金三銀四青銅五,這幾個月份是程序員最好的跳槽時間,筆者四月初也換了工作。找工作之前看了很多面試題,復(fù)習(xí)資料,但是發(fā)現(xiàn)純看面試題是不行的,因為靠...
摘要:更是中高級面試過程中經(jīng)常會問的技術(shù),無論你是否用過,你都必須熟悉。下面我為大家準(zhǔn)備了一些常見的的面試題,一些是我經(jīng)常問別人的,一些是我過去面試遇到的一些問題,總結(jié)給大家,希望對大家能有所幫助。 想往高處走,怎么能不懂 Dubbo? Dubbo是國內(nèi)最出名的分布式服務(wù)框架,也是 Java 程序員必備的必會的框架之一。Dubbo 更是中高級面試過程中經(jīng)常會問的技術(shù),無論你是否用過,你都必須...
閱讀 2730·2021-11-23 09:51
閱讀 1016·2021-09-24 10:37
閱讀 3720·2021-09-02 15:15
閱讀 2022·2019-08-30 13:03
閱讀 1957·2019-08-29 15:41
閱讀 2685·2019-08-29 14:12
閱讀 1486·2019-08-29 11:19
閱讀 3356·2019-08-26 13:39