版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Why Ceph and how to use Ceph?在 2013 年 07 月 15 日 上公布 作者為 麥子邁 文章分類 Ceph Contents hide· 為什么需要關(guān)注CephCeph的架構(gòu)為什么底層是對象存儲模型?RADOS的組件有哪些?RADOS分發(fā)策略CRUSH算法Ceph的使用場景LibradosRadosGWRBDCephFSCeph的其他參考資料為什么需要關(guān)注Ceph在目前開源世界里多樣的存儲項(xiàng)目中,不同的項(xiàng)目都有側(cè)重點(diǎn),而它們最終都是要為企業(yè)的IT基礎(chǔ)設(shè)施服務(wù)。那么企業(yè)IT基礎(chǔ)設(shè)施經(jīng)理們到底需要怎么樣的存儲,它們的需求得到滿足了嗎?作者嘗試根據(jù)對企業(yè)級存
2、儲產(chǎn)品的調(diào)研歸納出如下圖。圖一從上圖我們可以了解到存儲接口需求、擴(kuò)展、運(yùn)維和成本構(gòu)成了企業(yè)級存儲產(chǎn)品的四大中心。幾乎所有的存儲產(chǎn)品包括硬件(存儲一體機(jī),SAN)和軟件都致力于在這個(gè)方面強(qiáng)調(diào)自己的優(yōu)勢,它們或者考慮成本,或者強(qiáng)調(diào)擴(kuò)展性。那么我們來看Ceph它是如何定位自己的。圖二Ceph通過其三大存儲接口滿足了企業(yè)的多樣需求,通過其建立之初就”大肆宣揚(yáng)”的擴(kuò)展性,通過其分布式架構(gòu)和致力于PB級規(guī)模存儲目標(biāo)的容錯(cuò)性建立了自己的需求矩陣。圖四上圖也是Ceph可以帶來的企業(yè)IT架構(gòu)方案的變革,在了解到Ceph提供的特性后,如何達(dá)到并實(shí)現(xiàn)是每個(gè)不熟悉Ceph的人迫切需要了解的。Ceph的架構(gòu)還是下圖這張
3、經(jīng)典的Ceph模塊架構(gòu)圖。圖五底層是Rados,也是Ceph實(shí)現(xiàn)分布式存儲的根本,所有存儲接口都是基于Rados實(shí)現(xiàn)的。Rados本身就是一個(gè)對象存儲接口,它自身維護(hù)了一個(gè)集群狀態(tài)和實(shí)現(xiàn)了數(shù)據(jù)分發(fā)的要求,我們通常也講Rados稱為Ceph Cluster,因?yàn)槠渖系拇鎯涌谌鏑ephFS都是基于其上的接口實(shí)現(xiàn)而已。為什么底層是對象存儲模型?與使用固定塊大小存儲比較,名字可以在一個(gè)扁平的命名空間里,可以采用可變的大小并且簡單的API就有豐富的語義。與使用文件存儲比較,不需要難以分布的樹形層次,上傳語義不能跨越對象,不能并行化。RADOS的組件有哪些?OSD: 每一個(gè)disk、SSD或者RAID
4、group或者其他一個(gè)物理存儲設(shè)備都成為一個(gè)OSD,主要負(fù)責(zé)存儲和查找對象,并且負(fù)責(zé)向該對象的復(fù)制節(jié)點(diǎn)分發(fā)和恢復(fù)。Monitor: 維護(hù)集群的成員和狀態(tài),提供強(qiáng)一致性的決策(類似于Zookeeper的作用)RADOS分發(fā)策略CRUSH算法圖六從上圖的流程中作者嘗試解讀RADOS是如何將對象分發(fā)到不同的OSD上(OSD),首先需要了解Ceph定義的幾個(gè)存儲區(qū)域概念。Pool是一個(gè)命名空間,客戶端向RADOS上存儲對象時(shí)需要指定一個(gè)Pool,Pool通過配置文件定義并可以指定Pool的存儲OSD節(jié)點(diǎn)范圍和PG數(shù)量。PG是Pool內(nèi)部的概念,是對象和OSD的中間邏輯分層,對象首先會通過簡單的Hash
5、算法來得到其存儲的PG,這個(gè)PG和對象是確定的。然后每一個(gè)PG都有一個(gè)primary OSD和幾個(gè)Secondary OSD,對象會被分發(fā)都這些OSD上存儲,而這個(gè)分發(fā)策略稱為CRUSHCeph的數(shù)據(jù)均勻分布的核心。需要注意的是整個(gè)CRUSH以上的流程實(shí)現(xiàn)都是在客戶端計(jì)算,因此客戶端本身需要保存一份Cluster Map,而這是從Monitor處獲得。從這里我們也可以了解到Monitor主要職責(zé)就是負(fù)責(zé)維護(hù)這份Cluster Map并保證強(qiáng)一致性。CRUSH通過偽隨機(jī)算法來確保均勻的數(shù)據(jù)分布,它的輸入是PG,Cluster State和Policy,并且保證CRUSH的Object Name一
6、樣的情況下,即使后兩者參數(shù)發(fā)生改變也會得到一致的讀取(注意是讀取)。并且這個(gè)CRUSH算法是可配置的,通過PG Number和Weight的指定可以得到不同的分布策略。這個(gè)可配置的分布策略讓Ceph的能力得到極大加強(qiáng)。圖七Ceph的使用場景Librados圖八首先回顧之前看到的整個(gè)架構(gòu)圖,在上述文中我們了解了RADOS的原理和作用,然后我們聚焦在Librados,Librados提供了對RADOS的直接訪問。librados提供對C、C+、Java、Python、Ruby和PHP的支持。圖九librados和之后提到的RADOSGW的不同在于它是直接訪問RADOS,沒有Http協(xié)議的負(fù)載。它支
7、持單個(gè)單項(xiàng)的原子操作如同時(shí)更新數(shù)據(jù)和屬性、CAS操作,同時(shí)有對象粒度的快照操作。它的實(shí)現(xiàn)是基于RADOS的插件API,因此,其實(shí)際上就是在Rados上運(yùn)行的封裝庫。RadosGW圖十從上圖可以看到RadosGW位于Librados之上,它主要提供RESTful接口并且兼容S3、Swfit的接口。同時(shí)RadosGW提供了Bucket的命名空間(類似于文件夾)和賬戶支持,并且具備使用記錄用于賬單目的。相對的,它增加了Http協(xié)議的負(fù)載。RadosGW可以提供將Ceph Cluster作為分布式對象存儲的能力,如Amazon的S3范圍,Swift等。企業(yè)也可以直接使用其作為媒體數(shù)據(jù)存儲,分發(fā)等。RB
8、D塊存儲是Ceph的另一大支撐點(diǎn),它目前可以為虛擬機(jī)和主機(jī)(Host)提供不同路徑的塊存儲。圖十一上圖為Ceph Cluster為虛擬機(jī)提供塊設(shè)備支持。LibRBD是基于Librados的塊設(shè)備接口實(shí)現(xiàn),主要將一個(gè)塊設(shè)備映射為不同的對象來實(shí)現(xiàn)。通過LibRBD可以創(chuàng)建一個(gè)塊設(shè)備(Container),然后通過QEMU/KVM Attach到VM上。通過Container和VM的解耦使得塊設(shè)備可以被綁定到不同的VM上。圖十二上圖為Ceph Cluster為主機(jī)提供塊設(shè)備支持,通過RBD Kernel Module(rbd.ko)為主機(jī)提供塊設(shè)備。這里有一個(gè)與上述不同之處在于Librados是內(nèi)核
9、模塊而模塊名稱為(libceph)。這是因?yàn)镽BD內(nèi)核模塊需要利用同樣位于內(nèi)核空間的Librados。從這里我們可以了解到,實(shí)際上Ceph維護(hù)了數(shù)量非常多的Library,而實(shí)際上質(zhì)量是層次不齊的,這需要了解Ceph的人去合理使用。正是因?yàn)槿绾味鄻拥腖ibrary也使得Ceph的存儲接口得到多樣化,而不是讓不同的存儲接口勉強(qiáng)實(shí)現(xiàn)。不同的存儲接口具有完全不同的路徑。以上兩種方式都是將一個(gè)虛擬的塊設(shè)備分片存儲在RADOS(Ceph Cluster)中,都會利用利用數(shù)據(jù)條帶化提高數(shù)據(jù)并行傳輸,都支持塊設(shè)備的快照,COW(Copy-On-Write)克隆。最重要的是RBD還支持Live migrati
10、on。目前的OpenStack,CloudStack都采用第一種方式為虛擬機(jī)提供塊設(shè)備。圖十三圖十四上述圖示也表明了在大量VM的情況下如何使得存儲容量利用的最小化和高效性。當(dāng)大量VM基于同一個(gè)Snapshot建立Volume時(shí),所有容量不會立即得到占用,而都是COW。這個(gè)特征也是目前眾多存儲廠商在VDI解決方案一直強(qiáng)調(diào)的。在VDI解決方案中,存儲成本是最重要的一環(huán),利用Ceph通過Thin provisioning和數(shù)據(jù)并行化可以大大提高VDI方案的吸引力。目前Ceph的塊存儲是大力推薦并且高速開發(fā)的模塊,因?yàn)樗峁┑慕涌趯τ谟脩舾邮煜?,并且在目前流行的OpenStack和CloudStac
11、k中可以得到廣泛接受和支持。Ceph塊存儲的計(jì)算和存儲解耦、Live migration特性、高效的快照和克隆/恢復(fù)都是引入注目的特性。CephFSCephFS是基于Rados實(shí)現(xiàn)的PB級分布式文件系統(tǒng),這里會引入一個(gè)新的組件MDS(Meta Data Server),它主要為兼容POSIX文件系統(tǒng)提供元數(shù)據(jù),如目錄和文件元數(shù)據(jù)。同時(shí),MDS會將元數(shù)據(jù)也存在RADOS(Ceph Cluster)中。元數(shù)據(jù)存儲在RADOS中后,元數(shù)據(jù)本身也達(dá)到了并行化,大大加強(qiáng)了文件操作的速度。需要注意的是MDS并不會直接為Client提供文件數(shù)據(jù),而只是為Client提供元數(shù)據(jù)的操作。圖十五從上圖可以看到,C
12、lient當(dāng)Open一個(gè)文件時(shí),會查詢并更新MDS相應(yīng)的元數(shù)據(jù)如文件包括的對象信息,然后再根據(jù)提供的對象信息直接從RADOS(Ceph Cluster)中直接得到文件數(shù)據(jù)。圖十六CephFS既然是分布式文件系統(tǒng),當(dāng)面對不同的文件熱點(diǎn)和大小時(shí),它需要提供數(shù)據(jù)負(fù)載均衡來避免MDS的熱點(diǎn)。通過上圖我們可以看到五個(gè)MDS管理著不同“面積”的目錄樹,因?yàn)椴煌募脑L問熱點(diǎn)和大小的原因來進(jìn)行動(dòng)態(tài)調(diào)整。這里還需要介紹引入MDS帶來的好處有目錄列表操作的加快,如目錄下文件大小、數(shù)量和時(shí)間等。同時(shí),支持對文件的快照。目前CephFS有多種使用方式:1. Linux Kernel client: 使用”mount
13、 -t ceph :/ /mnt”可以直接掛載到本地并訪問。2. ceph-fuse: 通過ceph-fuse可以從用戶態(tài)空間掛載CephFS如”ceph-fuse -m :6789 /home/username/cephfs”3. libcephfs.so: 通過libcephfs可以替代HDFS來支持不同Hadoop乃至HBase。Ceph的其他QoS機(jī)制: Ceph Cluster支持多種QoS配置,如集群重平衡,數(shù)據(jù)恢復(fù)的優(yōu)先級配置,避免影響正常的數(shù)據(jù)通信。Geo-replication: 基于地理位置的對象存儲OpenStack: Ceph目前在大力融合入OpenStack,OpenStack的所有存儲(除數(shù)據(jù)庫外)都可以將Ceph作為存儲后端。如KeyStone和Swfit可以利用RadosGW,Cinder、Glance和Nova利用RBD作為塊存儲。甚至所有VM的Image都存儲在CephFS上。目前Ceph的優(yōu)化點(diǎn)也非常多,目前Rados IO路徑過于復(fù)雜,線程管理得不到有限控制,如果在Rados上優(yōu)化Small IO的性能,Ceph Cluster的集群性能會得
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度牛只運(yùn)輸途中飼料及水供應(yīng)服務(wù)合同4篇
- 2025年度窗戶安裝工程安全防護(hù)設(shè)施設(shè)計(jì)與安裝協(xié)議3篇
- 2025年度場監(jiān)管廉政合同(涉跨境合作與國際貿(mào)易)4篇
- 2025版牛羊肉店餐飲供應(yīng)鏈管理與優(yōu)化合同4篇
- 二零二五年度農(nóng)家樂資源整合及品牌授權(quán)合同4篇
- 二零二五年度動(dòng)物園蟲害控制與動(dòng)物健康合同4篇
- 二零二五年度出租車駕駛員勞動(dòng)合同范本3篇
- 2025年度出租車行業(yè)安全責(zé)任承包管理協(xié)議4篇
- 二零二五年度內(nèi)衣行業(yè)綠色供應(yīng)鏈合作協(xié)議3篇
- 二零二五年度農(nóng)民工技能培訓(xùn)與就業(yè)促進(jìn)合同3篇
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實(shí)踐路徑
- 廣東省湛江市廉江市2023-2024學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年湖北省知名中小學(xué)教聯(lián)體聯(lián)盟中考語文一模試卷
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 燃?xì)庑袠I(yè)有限空間作業(yè)安全管理制度
- 氣胸病人的護(hù)理幻燈片
- 《地下建筑結(jié)構(gòu)》第二版(朱合華)中文(2)課件
- JB T 7946.1-2017鑄造鋁合金金相
- 包裝過程質(zhì)量控制
- 通用電子嘉賓禮薄
評論
0/150
提交評論