ceph分布式存儲介紹_第1頁
ceph分布式存儲介紹_第2頁
ceph分布式存儲介紹_第3頁
ceph分布式存儲介紹_第4頁
ceph分布式存儲介紹_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Ceph分布式存儲1Ceph存儲概述Ceph最 初 是 一 項 關(guān) 于 存 儲 系 統(tǒng) 的PhD研 究 項 目 , 由SageWeil在UniversityofCalifornia,SantaCruz(UCSC實施。Ceph是開源分布式存儲,也是主線Linux內(nèi)核()的一部分。1.1Ceph 架構(gòu)Ceph生態(tài)系統(tǒng)可以大致劃分為四部分(見圖1):客戶端(數(shù)據(jù)用戶),元數(shù)據(jù)服務(wù)器(緩存和同步分布式元數(shù)據(jù)),一個對象存儲集群(將數(shù)據(jù)和元數(shù)據(jù)作為對象存儲,執(zhí)行其他關(guān)鍵職能),以及最后的集群監(jiān)視器(執(zhí)行監(jiān)視功能)。圖1Ceph生態(tài)系統(tǒng)如圖1所示,客戶使用元數(shù)據(jù)服務(wù)器,執(zhí)行元數(shù)據(jù)操作(來確定數(shù)據(jù)位置)。元

2、數(shù)據(jù)服務(wù)器管理數(shù)據(jù)位置,以及在何處存儲新數(shù)據(jù)。值得注意的是,元數(shù)據(jù)存儲在一個存儲集群(標(biāo)為“元數(shù)據(jù)I/O”)。實際的文件I/O發(fā)生在客戶和對象存儲集群之間。這樣一來,更高層次的POSIX功能(例如,打開、關(guān)閉、重命名)就由元數(shù)據(jù)服務(wù)器管理,不過POSIX功能(例如讀和寫)則直接由對象存儲集群管理。另一個架構(gòu)視圖由圖2提供。一系列服務(wù)器通過一個客戶界面訪問Ceph生態(tài)系統(tǒng),這就明白了元數(shù)據(jù)服務(wù)器和對象級存儲器之間的關(guān)系。分布式存儲系統(tǒng)可以在一些層中查看,包括一個存儲設(shè)備的格式(ExtentandB-tree-basedObjectFileSystemEBOFS或者一個備選),還有一個設(shè)計用于管理

3、數(shù)據(jù)復(fù)制,故障檢測,恢復(fù),以及隨后的數(shù)據(jù)遷移的覆蓋管理層,叫做 ReliableAutonomicDistributedObjectStorage(RADOS。最后,監(jiān)視器用于識別組件故障,包括隨后的通知。圖2ceph架構(gòu)視圖了解了Ceph的概念架構(gòu)之后,您可以挖掘到另一個層次,了解在Ceph中實現(xiàn)的主要組件。Ceph和傳統(tǒng)的文件系統(tǒng)之間的重要差異之一就是,它將智能都用在了生態(tài)環(huán)境而不是文件系統(tǒng)本身。圖3顯示了一個簡單的Ceph生態(tài)系統(tǒng)。CephClient是Ceph文件系統(tǒng)的用戶。CephMetadataDaemoril供了元數(shù)據(jù)月艮務(wù)器, 而CephObjectStorageDaemon提

4、供了實際存儲 (對數(shù)據(jù)和元數(shù)據(jù)兩者)。最后,CephMonitor提供了集群管理。要注意的是,Ceph客戶,對象存儲端點,元數(shù)據(jù)服務(wù)器(根據(jù)文件系統(tǒng)的容量)可以有許多,而且至少有一對冗余的監(jiān)視器。那么,這個文件系統(tǒng)是如何分布的呢圖3簡單的Ceph生態(tài)系統(tǒng)渀最Ceph 客戶端因為Linux顯示文件系統(tǒng)的一個公共界面(通過虛擬文件系統(tǒng)交換機VFS),Ceph的用戶透視圖就是透明的。管理員的透視圖肯定是不同的,考慮到很多服務(wù)器會包含存儲系統(tǒng)這一潛在因素(要查看更多創(chuàng)建Ceph集群的信息,見參考資料部分)。從用戶的角度看,他們訪問大容量的存儲系統(tǒng),卻不知道下面聚合成一個大容量的存儲池的元數(shù)據(jù)服務(wù)器,

5、監(jiān)視器, 還有獨立的對象存儲設(shè)備。 用戶只是簡單地看到一個安裝點,在這點上可以執(zhí)行標(biāo)準(zhǔn)文件I/O。Ceph文件系統(tǒng)一或者至少是客戶端接口一在Linux內(nèi)核中實現(xiàn)。值得注意的是,在大多數(shù)文件系統(tǒng)中,所有的控制和智能在內(nèi)核的文件系統(tǒng)源本身中執(zhí)行。但是,在Ceph中, 文件系統(tǒng)的智能分布在節(jié)點上,這簡化了客戶端接口,并為Ceph提供了大規(guī)模 (甚至動態(tài))擴展能力。Ceph使用一個有趣的備選,而不是依賴分配列表(將磁盤上的塊映射到指定文件的元數(shù)據(jù))。Linux透視圖中的一個文件會分配到一個來自元數(shù)據(jù)服務(wù)器的inodenumber(INO),對于文件這是一個唯一的標(biāo)識符。然后文件被推入一些對象中(根據(jù)文

6、件的大?。?。使用INO和objectnumber(ONQ,每個對象都分配到一個對象ID(OID)。在OID上使用一個簡單的哈希,每個對象都被分配到一個放置組。放置組(標(biāo)識為PGID是一個對象的概念容器。最后,放置組到對象存儲設(shè)備的映射是一個偽隨機映射, 使用一個叫做ControlledReplicationUnderScalableHashing (CRUSH的算法。這樣一來,放置組(以及副本)到存儲設(shè)備的映射就不用依賴任何元數(shù)據(jù),而是依賴一個偽隨機的映射函數(shù)。這種操作是理想的,因為它把存儲的開銷最小化,簡化了分配和數(shù)據(jù)查詢。分配的最后組件是集群映射。 集群映射是設(shè)備的有效表示, 顯示了存儲集

7、群。 有了PGID和集群映射,您就可以定位任何對象。渀最Ceph 元數(shù)據(jù)服務(wù)器元數(shù)據(jù)服務(wù)器(cmdS)的工作就是管理文件系統(tǒng)的名稱空間。雖然元數(shù)據(jù)和數(shù)據(jù)兩者都存儲在對象存儲集群,但兩者分別管理,支持可擴展性。事實上,元數(shù)據(jù)在一個元數(shù)據(jù)服務(wù)器集群上被進一步拆分,元數(shù)據(jù)服務(wù)器能夠自適應(yīng)地復(fù)制和分配名稱空間,避免出現(xiàn)熱點。如圖4所示,元數(shù)據(jù)服務(wù)器管理名稱空間部分,可以(為冗余和性能)進行重疊。元數(shù)據(jù)服務(wù)器到名稱空間的映射在Ceph中使用動態(tài)子樹邏輯分區(qū)執(zhí)行,它允許Ceph對變化的工作負載進行調(diào)整(在元數(shù)據(jù)服務(wù)器之間遷移名稱空間)同時保留性能的位置。圖4元數(shù)據(jù)服務(wù)器的Ceph名稱空間的分區(qū)但是因為每個

8、元數(shù)據(jù)服務(wù)器只是簡單地管理客戶端人口的名稱空間,它的主要應(yīng)用就是一個智能元數(shù)據(jù)緩存(因為實際的元數(shù)據(jù)最終存儲在對象存儲集群中)。進行寫操作的元數(shù)據(jù)被緩存在一個短期的日志中,它最終還是被推入物理存儲器中。這個動作允許元數(shù)據(jù)服務(wù)器將最近的元數(shù)據(jù)回饋給客戶(這在元數(shù)據(jù)操作中很常見)。這個日志對故障恢復(fù)也很有用:如果元數(shù)據(jù)服務(wù)器發(fā)生故障,它的日志就會被重放,保證元數(shù)據(jù)安全存儲在磁盤上。元數(shù)據(jù)服務(wù)器管理inode空間,將文件名轉(zhuǎn)變?yōu)樵獢?shù)據(jù)。元數(shù)據(jù)服務(wù)器將文件名轉(zhuǎn)變?yōu)樗饕?jié)點,文件大小,和Ceph客戶端用于文件I/O的分段數(shù)據(jù)(布局)。Ceph包含實施集群映射管理的監(jiān)視器,但是故障管理的一些要素是在對象存

9、儲本身中執(zhí)行的。當(dāng)對象存儲設(shè)備發(fā)生故障或者新設(shè)備添加時,監(jiān)視器就檢測和維護一個有效的集群映射。這個功能按一種分布的方式執(zhí)行,這種方式中映射升級可以和當(dāng)前的流量通信。Ceph使用Paxos,它是一系列分布式共識算法。Ceph 對象存儲和傳統(tǒng)的對象存儲類似,Ceph存儲節(jié)點不僅包括存儲,還包括智能。傳統(tǒng)的驅(qū)動是只響應(yīng)來自啟動者的命令的簡單目標(biāo)。但是對象存儲設(shè)備是智能設(shè)備,它能作為目標(biāo)和啟動者,支持與其他對象存儲設(shè)備的通信和合作。從存儲角度來看,Ceph對象存儲設(shè)備執(zhí)行從對象到塊的映射(在客戶端的文件系統(tǒng)層中常常執(zhí)行的任務(wù))。這個動作允許本地實體以最佳方式?jīng)Q定怎樣存儲一個對象。Ceph的早期版本在一

10、個名為EBOFS勺本地存儲器上實現(xiàn)一個自定義低級文件系統(tǒng)。這個系統(tǒng)實現(xiàn)一個到底層存儲的非標(biāo)準(zhǔn)接口,這個底層存儲已針對對象語義和其他特性(例如對磁盤提交的異步通知)調(diào)優(yōu)。今天,B-tree文件系統(tǒng)(BTRFS可以被用于存儲節(jié)點,它已經(jīng)實現(xiàn)了部分必要功能(例如嵌入式完整性)。因為Ceph客戶實現(xiàn)CRUSH而且對磁盤上的文件映射塊一無所知,下面的存儲設(shè)備就能安全地管理對象到塊的映射。這允許存儲節(jié)點復(fù)制數(shù)據(jù)(當(dāng)發(fā)現(xiàn)一個設(shè)備出現(xiàn)故障時)。分配故障恢復(fù)也允許存儲系統(tǒng)擴展,因為故障檢測和恢復(fù)跨生態(tài)系統(tǒng)分配。Ceph稱其為RADOSCeph快速配置資源:兩臺機器:一臺server,一臺client,安裝其中,

11、server安裝時,另外分出兩個區(qū),作為osd。、osd1的存儲,沒有的話,系統(tǒng)安裝好后,使用100P設(shè)備虛擬出兩個也可以。步驟:1、安裝操作系統(tǒng)2、添力口key至UAPT中,更新,安裝ceph#sudoapt-getupdate&sudoapt-getinstallceph3、查看版本#ceph-vauthclusterrequired=noneauthservicerequired=noneauthclientrequired=noneosdosdjournalsize=1000#Thefollowingassumesext4filesystem.filestorexattruse

12、omap=true#ForBobtailandsubsequentversions,youmay#addsettingsformkcephfssothatitwillcreateandmount#characterforthefollowingsettingsandreplacethevalues#inbraceswithappropriatevalues,orleavethefollowingsettings#-mkfsoptionwithmkcephfsinorderforthedeploymentscriptto#utilizethefollowingsettings,andyoumus

13、tdefinethedevs#optionforeachosdinstance;seebelow.osdmkfstype=xfsosdmkfsoptionsxfs=-f#defaultforxfsis-fosdmountoptionsxfs=rw,noatime#defaultmountoptionisrw,noatime#Forexample,forext4,themountoptionmightlooklikethis:#osdmkfsoptionsext4=user_xattr,rw,noatime#Execute$hostnametoretrievethenameofyourhost,

14、#andreplacehostnamewiththenameofyourhost.#Forthemonitor,replaceip-addresswiththeIP#addressofyourhost.host=ubuntuhost=ubuntu#ForBobtailandsubsequentversions,youmay#addsettingsformkcephfssothatitwillcreateandmount#characterforthefollowingsettingforeachOSDandspecify#apathtothedeviceifyouusemkcephfswith

15、the-mkfsoption.devs=/dev/100Pohost=ubuntudevs=/dev/loop1host=ubuntu說明:1)配置文件請將認證設(shè)置成noneauthclusterrequired=noneauthservicerequired=noneauthclientrequired=none2)指定osd0、osdl的位置如果沒有/sda,可使用100P設(shè)備虛擬,方法如下:#1osetup-a.:/0:/0osd_data/var/1ib/ceph/osd/ceph-0/var/1ib/ceph/osd/ceph-0/journa1:/0osd_data/var/lib

16、/ceph/osd/ceph-1/var/lib/ceph/osd/ceph-1/journalrootubuntu:/usr/bin#servicecephstatus:runningversion:runningversion:runningversion:runningversion:rootubuntu:/usr/bin#cephhea1thHEALTH_OKClient可正常創(chuàng)建、拷貝文件3、替換mon,OKrootubuntu:/usr/bin#ceph-mon100%s00:04rootubuntu:/usr/bin#serviceceph-astart:/0:/0osd_dat

17、a/var/lib/ceph/osd/ceph-0/var/lib/ceph/osd/ceph-0/journal:/0osd_data/var/lib/ceph/osd/ceph-1/var/lib/ceph/osd/ceph-1/journalrootubuntu:/usr/bin#servicecephstatus=:runningversion:runningversion:runningversion:runningversion:rootubuntu:/usr/bin#cephhealthHEALTH_OKClient可正常創(chuàng)建、拷貝文件mds源碼分析暫時未完成附錄問題記錄ceph

18、health命令ceph按照官方文檔部署成功,健康檢查為health_OK,一段時間沒有使用,也沒有關(guān)機,下次使用時,各節(jié)點均能夠重啟啟動成功,但健康檢查提示:HEALTH_ERR576pgsstuckinactive;576pgsstuckunclean;noosds客戶端掛在cephfs文件系統(tǒng)無法成功。網(wǎng)上查找后,提示注釋掉配置文件的#devs=/dev/loop1#devs=/dev/100P0清空目錄,執(zhí)行如下命令:#mkcephfs-a-c/etc/ceph/etc/ceph/#servicecephstart#cephhealthHEALTH_WARN576pgsstuckina

19、ctive;576pgsstuckunclean;noosds錯誤變成了警告#cephpgdump_stuckstale#cephpgdump_stuckinactive#cephpgdump_stuckunclean#cephhealthHEALTH_OK解決方IiRCIiRC3,3,電,,04xbyCtbLeiqiBot-MAiflUFlrenbyCtbLeiqiBot-MAiflUFlrenCfpfnQu.CfpfnQu.需tiFNHQd-fllThnibtaihe./tiFNHQd-fllThnibtaihe./WLfflJWLfflJ.NKL.NKL gZ-gZ-WCLWCLD D9

20、F9FW W.h h ritlii_ritlii_ rrrrF蠢商曾aaa一一T TEPEPSEPSSEPSHF&HF& 1GMTBST1GMTBSTBB:Mni/locutfomw?MQuaLwnngee;31yn31ynihew?ihew?RIWIWIRIWIWI雌岫cwigcwig1 1山門兩口理(矽仙必*國工99:V4V4T TR RF FH H/ /inMmgFlinMmgFl幅210g(Qur210g(QurL LN NM MB B) )GlSScKciohoiSungfemactwiewithnwinplMMesGlSScKciohoiSungfemactwiew

21、ithnwinplMMes:HEAITHEAITHIHI_ERR_ERRS7&pgfmgiractwe:57S7&pgfmgiractwe:57& &pgsEtudeuixMwi;noosdspgsEtudeuixMwi;noosdsd;Md;M,dwcn(-orthorr632S7110,dwcn(-orthorr632S7110網(wǎng)QiMQiM(而fEmhafEmha曲twErnsmiJtwErnsmiJO-MJO-MJ辦*上j/l=pA2tti:roj/l=pA2tti:ro:Ga-hnRned3PhGa-hnRned3Ph0:100:106 6tftvrw

22、(1-MumOkjw2312tftvrw(1-MumOkjw2312 Mdi.ch)Mdi.ch)Q QUAUA(Qm,(Qm,“吠中。1 13A3A SftlinM(-A&jHlO217-Jfi-SftlinM(-A&jHlO217-Jfi-1 132-32-1B2.dnAHli&JNspMfLdl)1B2.dnAHli&JNspMfLdl)1 1hMjOMftdhMjOMftdOO:1J2nceph1J2nceph坦giberunonagiberunona立切IeIeEMEMI IVKVK? ?0:U0:U七greygrey4 4bulwebulweUU力劉

23、,事做承wtwt咖彳*雙附r r口二的WeliffWeliffI IE EiewhatghiBeihepriewhatghiBeihepr由公L L曰:“ *WgskK*WgskK*由恥1414 K K曲MtdMidonthiveMtdMidonthive叫OSC%OSC%明第后 Z 戶共4 4 1 1 qrqr用時+dimdim牛whywhy情中函出俄t t0 0必討toyrnfcctoyrnfcc pNpN ;g g加0phcgnl0phcgnl辱wrengwreng, , 聞頊Wbofc?SHimpiPpWbofc?SHimpiPp ffilig5cam/5aliLEMffilig5ca

24、m/5aliLEM0;16i0;16isscontaswnplesscontaswnple融passiZpassiZLeiFj*frwieegsLeiFj*frwieegs=,腐mhmh00:1717“r%r%那口訪一iMimihutRUiMimihutRU/的ihtdWihtdW即iNguiNgu”nthandlingtfirmguniirignthandlingtfirmguniirigEFEFIFIFJ JdJ7dJ74 4事/冷soyousoyou醐皿|412412pupu而收itredorypaihbousitredorypaihbous 018yr/GfWhadi018yr/GfWhadi產(chǎn)u u*/*/airair皿*gngluriaylgnglur

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論