



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Ceph 分布式存儲1 Ceph存儲概述Ceph 最 初 是 一 項 關(guān) 于 存 儲 系 統(tǒng) 的PhD 研 究 項 目 , 由SageWeil在UniversityofCalifornia,SantaCruz( UCSC)實施。Ceph是開源分布式存儲,也是主線Linux 內(nèi)核()的一部分。1.1 Ceph架構(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ù)操
2、作(來確定數(shù)據(jù)位置)。元數(shù)據(jù)服務(wù)器管理數(shù)據(jù)位置,以及在何處存儲新數(shù)據(jù)。值得注意的是,元數(shù)據(jù)存儲在一個存儲集群(標為“元數(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
3、或者一個備選),還有一個設(shè)計用于管理數(shù)據(jù)復(fù)制,故障檢測,恢復(fù),以及隨后的數(shù)據(jù)遷移的覆蓋管理層,叫做ReliableAutonomicDistributedObjectStorage( RADOS)。最后,監(jiān)視器用于識別組件故障,包括隨后的通知。圖 2ceph 架構(gòu)視圖1.2 Ceph組件了解了 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)的用戶。CephMetadata
4、Daemon提供了元數(shù)據(jù)服務(wù)器,而 CephObjectStorageDaemon 提供了實際存儲(對數(shù)據(jù)和元數(shù)據(jù)兩者)。最后, CephMonitor 提供了集群管理。要注意的是, Ceph 客戶,對象存儲端點,元數(shù)據(jù)服務(wù)器(根據(jù)文件系統(tǒng)的容量)可以有許多,而且至少有一對冗余的監(jiān)視器。那么,這個文件系統(tǒng)是如何分布的呢?圖 3 簡單的 Ceph生態(tài)系統(tǒng)1.3 Ceph客戶端因為 Linux顯示文件系統(tǒng)的一個公共界面(通過虛擬文件系統(tǒng)交換機VFS ), Ceph的用戶透視圖就是透明的。管理員的透視圖肯定是不同的,考慮到很多服務(wù)器會包含存儲系統(tǒng)這一潛在因素(要查看更多創(chuàng)建Ceph 集群的信息,見參
5、考資料部分)。從用戶的角度看,他們訪問大容量的存儲系統(tǒng),卻不知道下面聚合成一個大容量的存儲池的元數(shù)據(jù)服務(wù)器,監(jiān)視器,還有獨立的對象存儲設(shè)備。用戶只是簡單地看到一個安裝點,在這點上可以執(zhí)行標準文件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ù)
6、據(jù)服務(wù)器的inodenumber( INO),對于文件這是一個唯一的標識符。然后文件被推入一些對象中(根據(jù)文件的大?。?。使用INO和objectnumber(ONO),每個對象都分配到一個對象ID(OID)。在OID上使用一個簡單的哈希,每個對象都被分配到一個放置組。放置組(標識為PGID)是一個對象的概念容器。最后,放置組到對象存儲設(shè)備的映射是一個偽隨機映射,使用一個叫做ControlledReplicationUnderScalableHashing( CRUSH)的算法。這樣一來,放置組(以及副本)到存儲設(shè)備的映射就不用依賴任何元數(shù)據(jù),而是依賴一個偽隨機的映射函數(shù)。這種操作是理想的,因為
7、它把存儲的開銷最小化,簡化了分配和數(shù)據(jù)查詢。分配的最后組件是集群映射。集群映射是設(shè)備的有效表示,顯示了存儲集群。有了PGID和集群映射,您就可以定位任何對象。1.4 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 對變化的工作負
8、載進行調(diào)整(在元數(shù)據(jù)服務(wù)器之間遷移名稱空間)同時保留性能的位置。圖 4 元數(shù)據(jù)服務(wù)器的 Ceph名稱空間的分區(qū)但是因為每個元數(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é)點,文件
9、大小,和 Ceph客戶端用于文件 I/O 的分段數(shù)據(jù)(布局)。1.5 Ceph監(jiān)視器Ceph 包含實施集群映射管理的監(jiān)視器,但是故障管理的一些要素是在對象存儲本身中執(zhí)行的。當對象存儲設(shè)備發(fā)生故障或者新設(shè)備添加時,監(jiān)視器就檢測和維護一個有效的集群映射。這個功能按一種分布的方式執(zhí)行,這種方式中映射升級可以和當前的流量通信。 Ceph使用 Paxos,它是一系列分布式共識算法。1.6 Ceph對象存儲和傳統(tǒng)的對象存儲類似, Ceph 存儲節(jié)點不僅包括存儲,還包括智能。傳統(tǒng)的驅(qū)動是只響應(yīng)來自啟動者的命令的簡單目標。但是對象存儲設(shè)備是智能設(shè)備,它能作為目標和啟動者,支持與其他對象存儲設(shè)備的通信和合作。從
10、存儲角度來看, Ceph 對象存儲設(shè)備執(zhí)行從對象到塊的映射(在客戶端的文件系統(tǒng)層中常常執(zhí)行的任務(wù))。這個動作允許本地實體以最佳方式?jīng)Q定怎樣存儲一個對象。Ceph 的早期版本在一個名為EBOFS的本地存儲器上實現(xiàn)一個自定義低級文件系統(tǒng)。這個系統(tǒng)實現(xiàn)一個到底層存儲的非標準接口,這個底層存儲已針對對象語義和其他特性(例如對磁盤提交的異步通知)調(diào)優(yōu)。今天, B-tree 文件系統(tǒng)( BTRFS)可以被用于存儲節(jié)點,它已經(jīng)實現(xiàn)了部分必要功能(例如嵌入式完整性)。因為 Ceph 客戶實現(xiàn) CRUSH,而且對磁盤上的文件映射塊一無所知,下面的存儲設(shè)備就能安全地管理對象到塊的映射。這允許存儲節(jié)點復(fù)制數(shù)據(jù)(當發(fā)
11、現(xiàn)一個設(shè)備出現(xiàn)故障時)。分配故障恢復(fù)也允許存儲系統(tǒng)擴展,因為故障檢測和恢復(fù)跨生態(tài)系統(tǒng)分配。 Ceph 稱其為 RADOS。2 Ceph快速配置資源:兩臺機器:一臺server ,一臺 client,安裝 ubuntu12.10其中, server安裝時,另外分出兩個區(qū),作為osd0、osd1 的存儲,沒有的話,系統(tǒng)安裝好后,使用 loop 設(shè)備虛擬出兩個也可以。步驟:1、安裝操作系統(tǒng)2、添加 key 到 APT中,更新 sources.list,安裝 ceph#sudowget-q-O-|sudoapt-keyadd-#sudoechodeb$(lsb_release-sc)main|sudo
12、tee#sudoapt-getupdate&&sudoapt-getinstallceph3、查看版本#ceph-v/將顯示 ceph 的版本和 key 信息如果沒有顯示,請執(zhí)行如下命令#sudoapt-getupdate&&apt-getupgrade4、在 /etc/ceph/下創(chuàng)建 ceph.conf 配置文件,并將配置文件拷貝到Client。global#Forversion0.55andbeyond,youmustexplicitlyenable #ordisableauthenticationwith"auth"entriesin
13、global.authclusterrequired=noneauthservicerequired=noneauthclientrequired=noneosdosdjournalsize=1000#Thefollowingassumesext4filesystem.filestorexattruseomap=true#ForBobtail(v0.56)andsubsequentversions,youmay #addsettingsformkcephfssothatitwillcreateandmount #thefilesystemonaparticularOSDforyou.Remov
14、ethecomment# #characterforthefollowingsettingsandreplacethevalues #inbraceswithappropriatevalues,orleavethefollowingsettings #commentedouttoacceptthedefaultvalues.Youmustspecifythe#-mkfsoptionwithmkcephfsinorderforthedeploymentscriptto #utilizethefollowingsettings,andyoumustdefinethe'devs' #
15、optionforeachosdinstance;seebelow.osdmkfstype=xfsosdmkfsoptionsxfs=-f#defaultforxfsis"-f"osdmountoptionsxfs=rw,noatime#defaultmountoptionis"rw,noatime"#Forexample,forext4,themountoptionmightlooklikethis:#osdmkfsoptionsext4=user_xattr,rw,noatime#Execute$hostnametoretrievethenameof
16、yourhost,#andreplacehostnamewiththenameofyourhost.#Forthemonitor,replaceip-addresswiththeIP#addressofyourhost.mon.ahost=ubuntumonaddr=osd.0host=ubuntu#ForBobtail(v0.56)andsubsequentversions,youmay #addsettingsformkcephfssothatitwillcreateandmount #thefilesystemonaparticularOSDforyou.Removethecomment
17、#characterforthefollowingsettingforeachOSDandspecify #apathtothedeviceifyouusemkcephfswiththe-mkfsoption.devs=/dev/loop0osd.1host=ubuntudevs=/dev/loop1mds.ahost=ubuntu說明:1)配置文件請將認證設(shè)置成noneauthclusterrequired=noneauthservicerequired=noneauthclientrequired=none2)指定 osd0、osd1 的位置如果沒有 /sda,可使用 loop 設(shè)備虛擬,
18、方法如下:#losetupa/查看 loop 設(shè)備的使用情況#ddif=/dev/zeroof=osd1bs=1Mcount=1000/格式化#losetup/dev/loop0osd0/建立對應(yīng)關(guān)系#mkfstxfs/dev/loop0/ 格式化按照相同的方法設(shè)置loop1 為 osd15、創(chuàng)建目錄sudomkdir-p/var/lib/ceph/osd/ceph-0sudomkdir-p/var/lib/ceph/osd/ceph-1sudomkdir-p/var/lib/ceph/mon/ceph-asudomkdir-p/var/lib/ceph/mds/ceph-a6、執(zhí)行初始化cd
19、/etc/cephsudomkcephfs-a-c/etc/ceph/ceph.conf-kceph.keyring7、啟動#sudoserviceceph-astart8、執(zhí)行健康檢查sudocephhealth如果返回的是 HEALTH_OK , 代表成功!出 現(xiàn): HEALTH_WARN576pgsstuckinactive;576pgsstuckunclean;noosds之 類的 , 請執(zhí)行:#cephpgdump_stuckstale#cephpgdump_stuckinactive#cephpgdump_stuckunclean再次健康檢查是,應(yīng)該是OK注意:重新執(zhí)行如下命令#s
20、udomkcephfs-a-c/etc/ceph/ceph.conf-kceph.keyring前,請先清空創(chuàng)建的四個目錄:/var/lib/ceph/osd/ceph-0、/var/lib/ceph/osd/ceph-1、/var/lib/ceph/mon/ceph-a、 /var/lib/ceph/mds/ceph-a#rmfrv/var/lib/ceph/osd/ceph-0/*#rmfrv/var/lib/ceph/osd/ceph-1/*#rmfrv/var/lib/ceph/mon/ceph-a/*#rmfrv/var/lib/ceph/mds/ceph-a/*3 CephFS的使
21、用在客戶端上操作:sudomkdir/mnt/mycephfssudomount-tcephip-address-of-monitor:6789:/mnt/mycephfs或者sudomkdir/home/username/cephfssudoceph-fuse-mip-address-of-monitor:6789/home/username/cephfs#sudomount-lon/mnt/mycephfstypeceph(0)#cd/mnt/mycephfs可進行文件操作4 源碼包編譯流程:#sudoapt-getupdate2、添加 ceph 的源到 /etc/apt/sources.
22、list中debquantalmaindeb-srcquantalmain3、新建目錄,存放ceph 源碼包#mkdirceph#ceceph4、下載最新的 ceph 源碼包#apt-getsourceceph包含四個文件目錄5、進入到,開始編譯工作6、查看 README 文件,按步驟編譯,如下:#apt-getinstallautomakeautoconfautomakegccg+libboost-devlibedit-devlibssl-devlibtoollibfcgilibfcgi-devlibfuse-devlinux-kernel-headerslibcrypto+-devliba
23、io-devlibgoogle-perftools-devlibkeyutils-devuuid-devlibatomic-ops-devlibboost-program-options-devlibboost-thread-dev#sudoapt-getdpkg-dev#dpkg-checkbuilddeps#makesurewehavealldependenciesapt-getinstall 安裝缺少的依賴包#dpkg-buildpackage編譯,需要一段時間8、修改后可使用make 編譯#make9、修改代碼, make 只編譯修改的部分,并指明編譯文件和修改文件5 源碼編譯測試情況
24、1、替換編譯后的mds 到/usr/bin 下,啟動成功,健康檢查如下:rootubuntu:/usr/bin#cephhealthHEALTH_WARN576pgsstale/ 是不是一段時間沒動?rootubuntu:/usr/bin#cephpgdump_stuckstaleokpg_statobjects mipdegrunfupacting last_scrubbytes logdisklogstatestate_stampvreportedscrub_stamp last_deep_scrubdeep_scrub_stamprootubuntu:/usr/bin#cephhealt
25、hHEALTH_OKClient 可正常創(chuàng)建、拷貝文件2、替換 osd 后, OKrootubuntu:/usr/bin#scp.password:ceph-osd100%93MB10.4MB/s00:09rootubuntu:/usr/bin#serviceceph-astart=mon.a=StartingCephmon.aonubuntu.startingmon.arank0atmon_data/var/lib/ceph/mon/ceph-afsidd188f2d1-d8f3-4f6d-94c6-0a271ff64dab=mds.a=StartingCephmds.aonubuntu.s
26、tartingmds.aat:/0=osd.0=StartingCephosd.0onubuntu.startingosd.0at:/0osd_data/var/lib/ceph/osd/ceph-0/var/lib/ceph/osd/ceph-0/journal=osd.1=StartingCephosd.1onubuntu.startingosd.1at:/0osd_data/var/lib/ceph/osd/ceph-1/var/lib/ceph/osd/ceph-1/journalrootubuntu:/usr/bin#servicecephstatus=mon.a=mds.a=osd
27、.0=osd.1=rootubuntu:/usr/bin#cephhealthHEALTH_OKClient 可正常創(chuàng)建、拷貝文件3、替換 mon,OKrootubuntu:/usr/bin#cpceph-monceph-mon.bakrootubuntu:/usr/bin#scp.password:ceph-mon100%46MB11.4MB/s00:04rootubuntu:/usr/bin#serviceceph-astart=mon.a=StartingCephmon.aonubuntu.startingmon.arank0atmon_data/var/lib/ceph/mon/ceph-afsidd188f2d1-d8f3-4f6d
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園消防測試題及答案
- 營口教師考試試題及答案
- 銀行總部面試試題及答案
- 學(xué)校智慧校園實施方案
- 雅安消防應(yīng)聘考試題及答案
- 保密與競業(yè)禁止協(xié)議公證及律師見證服務(wù)合同
- 合作開發(fā)分成補充協(xié)議
- 生物醫(yī)藥新藥研發(fā)與臨床試驗合作協(xié)議
- 股權(quán)收益代管與新材料產(chǎn)業(yè)合作協(xié)議
- 繼承房產(chǎn)優(yōu)先權(quán)放棄與子女贍養(yǎng)責任合同
- 冀教版三至四年級《發(fā)展柔韌性練習(xí)》評課稿
- 肺動脈瓣狹窄球囊擴張術(shù)臨床路徑
- 一年級語文繪本《烏鴉面包店》課件PPT
- 消化系統(tǒng)(寵物解剖生理)
- 漢語拼音聲母韻母拼讀全表打印版
- 運動系統(tǒng)病例分析01
- 天津市南開區(qū)南開中學(xué)2022-2023學(xué)年物理高二下期末復(fù)習(xí)檢測試題含解析
- 功與功率 課件高一下學(xué)期物理人教版(2019)必修第二冊
- 成品入庫、發(fā)貨流程圖
- 光柵安全檢查作業(yè)指導(dǎo)
- 電子商務(wù)中網(wǎng)絡(luò)交易平臺商標侵權(quán)責任研究
評論
0/150
提交評論