



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ceph,rbd分析 ceph rbd 分析 張建偉 一、 rbd 之于 ceph rados: 代表 ceph 存儲集群。 librados: 在 rados 之上,提供 key/value 存取接口。 radosgw: 基于 librados 提供 s3/swift 接口。 rbd: 基于 librados 提供塊兒設(shè)備接口。 cephfs: 基于 librados 提供分布式文件系統(tǒng)接口。 二、 rbd 的功能 1、鏡像(image)相關(guān)操作。 2、block(對應(yīng)于 ceph 集群的 object)的存取。 block 存取較簡單直觀,下面主要介紹 image 相關(guān)操作實現(xiàn)。 三、 i
2、mage 的創(chuàng)建 創(chuàng)建 image 就是,就是向 rados 中寫入一些 key/value 對,記錄 image 的元數(shù)據(jù)。例如以下命令創(chuàng)建 image :rbd create foo -size 10240 -order 22 -pool rbd 則記錄的元信息如下: key(oid) value 備注 rbd_id.foo 1d3e74b0dc51 記錄 image name 到 image id 的映射 image id 是用 rand()函數(shù),按一定規(guī)則生成 rbd_header. 1d3e74b0dc51 size : 10240 order : 22 object_prefix:
3、 rbd_data. 1d3e74b0dc51 snap_seq: 0 記錄元信息 order 是用來計算 block size,如order 為 22,block size 為 122 = 4m rbd_directory name_foo: id_1d3e74b0dc51 id_1d3e74b0dc51: name_foo rbd_directory 中 記 錄 了 所 有image 的 name 和 id 的雙向映射關(guān)系 四、 image 的更新 image 的更新就比較簡單了,就是更新如上的元數(shù)據(jù)。 比如 resize 操作,就是修改 rbd_header. 1d3e74b0dc51
4、的 size 屬性。 五、 image 的 的 snapshot rbd snap create -snap foo.snap1 -image foo 元信息修改情況如下: key(oid) value 備注 rbd_header. 1d3e74b0dc51 snap_seq: 1 snapshot_0000000000000001: foo.snap1 修改 snap_seq 編號 添加 snapshot 信息 先回顧下 oid 對應(yīng)文件名的命名規(guī)則: 每個 object 的文件名格式為: objectname_key_head(snap_num)_hash_namespace_poolid
5、 Ø objectname:對象名 Ø key、namespace:都是客戶端指定,做名稱空間細(xì)分用。當(dāng)塊兒設(shè)備使用時,一般都置為空 Ø head(snap_num):snapshot 版本,如果是 head,則代表可寫的 head 版本,如果是數(shù)字,則代表 snapshot 的序號 Ø hash:由 objectname 計算得到,u_int32_t 類型,這里轉(zhuǎn)換為 16 進(jìn)制字符打印,如 3af0b980 Ø poolid:pool 的 id 對于 rbd 操作,objectname 的生成規(guī)則大致為:用讀寫塊兒設(shè)備的偏移除以 block
6、 size 得到 64 位表示的 block 序號,轉(zhuǎn)換為 16 進(jìn)制字符表示,再用 object_prefix作為前綴,即組成了 objectname。舉例: 假設(shè)偏移為13m,13m/4m + 1 = 4,用64位16進(jìn)制字符表示為0000000000000004,則 objectname 為 rbd_data. 1d3e74b0dc51. 0000000000000004 帶 snapshot 的 image 的寫流程如下: image寫請求如果有,帶snap序號seq1seq1head oid 的seq默認(rèn)head oid的seq為0將head版本,clone一份到snap版本seq1
7、seq號由librbd查詢image的元數(shù)據(jù)得到正常寫head更新head oid的seq號更新為seq1正常寫head例如將:rbd_data.1d3e74b0dc51.00000000000013e0_head_1604f591_2復(fù)制到rbd_data.1d3e74b0dc51.00000000000013e0_1_1604f591_2yn 六、 image 的 的 clone rbd snap protect -snap foo.snap1 -image foo rbd clone -snap foo.snap1 -dest foo.clone1 -image foo protect
8、命令是讓 foo.snap1 處于 proctet 狀態(tài),使其無法被刪除。因為 clone 是 cow機(jī)制實現(xiàn),snapshot 刪除后 clone 的 image 會受到影響。 clone 得到的 foo.clone1 的元信息如下: key(oid) value 備注 rbd_id.foo.clone1 1d563d1b58ba 記錄 image name 到 image id 的映射 image id 是用 rand()函數(shù),按一定規(guī)則生成 rbd_header. 74b0dc51 size : 10240 order : 22 object_prefix: rbd_data. 1d56
9、3d1b58ba parent: rbd/foofoo.snap1 snap_seq: 0 記錄元信息 還會另外記錄父子關(guān)系: key(oid) value 備注 rbd_children 1d3e74b0dc51_0000000000000001: 1d563d1b58ba 1d3e74b0dc51 是 parent,即 foo 的 image id ;0000000000000001 代 表snap 版本 1d563d1b58ba 是 child,即foo.clone1 的 imageid clone 得到的 image, 寫流程如下: 1、先 clone parent 對應(yīng)的 oid,到
10、本 image 2、正常寫 讀流程如下: 1、讀本 image,如果讀到就返回,讀不到走第 2 部 2、讀 parent 七、 image 的 的 rollback rbd -image foo snap rollback -snap foo.snap1 rollback 操作,會遍歷 image 中的每個 object,如果此 object 只有 head 版本,不做任何操作,否則對其執(zhí)行如下操作: 1、delete head 2、將指定的 snap 版本 clone 到 head 因為要遍歷所有 object,所以 clone 的效率是很低的。 八、 image 的 的 import/export export rbd export instance-0000008f_disk ./instance-0000008f_disk.export 遍歷所
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料疲勞斷裂預(yù)測方法重點基礎(chǔ)知識點
- 材料疲勞壽命影響因素分析重點基礎(chǔ)知識點
- 船員發(fā)現(xiàn)火災(zāi)后應(yīng)急預(yù)案(3篇)
- 行政法學(xué)學(xué)者觀點試題及答案總結(jié)
- 機(jī)房漏水火災(zāi)應(yīng)急預(yù)案(3篇)
- 行政法學(xué)專業(yè)的學(xué)習(xí)方法與試題及答案
- 2025年網(wǎng)絡(luò)管理員備考策略試題及答案
- 網(wǎng)絡(luò)存取控制策略試題及答案
- 行政法學(xué)備考過程中的心理建設(shè):試題及答案
- 網(wǎng)絡(luò)管理員考試特色解析試題及答案
- 2025四川愛眾集團(tuán)第一批次招聘10人筆試參考題庫附帶答案詳解
- 2025閩教版英語三年級下冊單詞表
- 獨角仙介紹精品課件
- 抗病毒藥物講稿
- 主動脈內(nèi)球囊反搏(IABP)課件
- 關(guān)鍵特殊過程監(jiān)控記錄表
- 配電變壓器調(diào)檔施工技術(shù)方案
- 預(yù)防性健康檢管理制度管理辦法
- 英漢語法對比研究
- CAAP2008X功能概述PPT課件
- 柴油發(fā)電機(jī)組檢查驗收表_word文檔免費
評論
0/150
提交評論