ceph的rbd備份軟體ceph backup

2021-10-10 16:46:02 字數 4366 閱讀 5613

teralytics是一家國外的大資料公司,這個是他們開源的ceph的備份的工具,在twitter上搜尋相關資訊的時候看到,覺得不錯就拿來試用一番

乙個用來備份ceph的rbd的image的開源軟體,提供了兩種模式

增量:在給定備份時間視窗內基於rbd快照的增量備份

完全:完整映像匯出時不包含快照

注意一致性:此工具可以生成rbd影象的快照,而不會感知到它們的檔案系統的狀態,注意下rbd快照的一致性限制(由於「完全」模式不使用快照,「完全」模式下的實時映像備份不一致(「增量」模式始終使用快照)

超過時間視窗以後,會進行一次全量備份,並且把之前的快照進行刪除掉,重新備份一次全量,並且基於這個時間計算是否需要刪除備份的檔案

軟體包含以下功能:

支援增量和全量備份的配置

[root@lab8106 ~]#git clone 

[root@lab8106 ~]# cd ceph-backup

[root@lab8106 ceph-backup]# python setup.py install

[root@lab8106 ceph-backup]# mkdir /etc/cephbackup/

[root@lab8106 ceph-backup]# cp ceph-backup.cfg /etc/cephbackup/cephbackup.conf

我的配置檔案如下,備份rbd儲存的zp的映象,支援多image,images後面用逗號隔開就可以

[root@lab8106 ~]# cat /etc/cephbackup/cephbackup.conf 

[rbd]

window size = 7

window unit = days

destination directory = /tmp/

images = zp

compress = yes

ceph config = /etc/ceph/ceph.conf

backup mode = full

check mode = no

上面的配置檔案已經寫好了,直接執行備份命令就可以了

[root@lab8106 ~]# cephbackup

starting backup for pool rbd

full ceph backup

images to backup:

rbd/zp

backup folder: /tmp/

compression: true

check mode: false

taking full backup of images: zp

rbd image 'zp':

size 40960 mb in 10240 objects

order 22 (4096 kb objects)

block_name_prefix: rbd_data.25496b8b4567

format: 2

features: layering

flags:

exporting image zp to /tmp/rbd/zp/zp_utc20170119t092933.full

compress mode activated

# rbd export rbd/zp /tmp/rbd/zp/zp_utc20170119t092933.full

exporting image: 100% complete...done.

# tar scvfz /tmp/rbd/zp/zp_utc20170119t092933.full.tar.gz /tmp/rbd/zp/zp_utc20170119t092933.full

tar: removing leading `/' from member names

壓縮的如果開了,正好檔案也是稀疏檔案的話,需要等很久,壓縮的效果很好,dd生成的檔案可以壓縮到很小

檢查備份生成的檔案

[root@lab8106 ~]# ll /tmp/rbd/zp/zp_utc20170119t092933.full*

-rw-r--r-- 1 root root 42949672960 jan 19 17:29 /tmp/rbd/zp/zp_utc20170119t092933.full

-rw-r--r-- 1 root root 0 jan 19 17:29 /tmp/rbd/zp/zp_utc20170119t092933.full.tar.gz

全量備份的還原

rbd import /tmp/rbd/zp/zp_utc20170119t092933.full zpbk

檢查資料,沒有問題

寫下增量配置的檔案,修改下備份模式的選項

[rbd]

window size = 7

window unit = day

destination directory = /tmp/

images = zp

compress = yes

ceph config = /etc/ceph/ceph.conf

backup mode = incremental

check mode = no

執行多次進行增量備份以後是這樣的

[root@lab8106 ~]#ll  /tmp/rbd/zpbk/

total 146452

-rw-r--r-- 1 root root 42949672960 jan 19 18:04 [email protected]

-rw-r--r-- 1 root root 66150 jan 19 18:05 [email protected]_from_utc20170119t100339

-rw-r--r-- 1 root root 68 jan 19 18:05 [email protected]_from_utc20170119t100546

-rw-r--r-- 1 root root 68 jan 19 18:06 [email protected]_from_utc20170119t100550

-rw-r--r-- 1 root root 68 jan 19 18:06 [email protected]_from_utc20170119t100606

增量備份的還原

分成多個步驟進行

1、進行全量的恢復

# rbd import [email protected] dest_image

2、重新建立基礎快照

# rbd snap create dest_image@utc20161130t170848

3、還原增量的快照(多次執行)

# rbd import-diff [email protected]_from_utc20161130t170848 dest_image

本測試用例還原步驟就是

rbd  import [email protected] zpnew

rbd snap create zpnew@utc20170119t100339

rbd import-diff [email protected]_from_utc20170119t100339 zpnew

rbd import-diff [email protected]_from_utc20170119t100546 zpnew

rbd import-diff [email protected]_from_utc20170119t100550 zpnew

rbd import-diff [email protected]_from_utc20170119t100606 zpnew

檢查資料,沒有問題

這個軟體基於python的實現,可以說作者的實現邏輯是很清晰的,並且提供了配置檔案的方式,基本上是各個細節都考慮的比較到位,很容易上手,可以直接拿來使用,或者整合到自己的平台中去,是乙個很好的軟體

1、rbd的增量備份和恢復

2、ceph-backup的github

3、

Ceph 如何檢視rbd對映的裝置被哪個客戶端使用

一 場景說明 ceph的運維過程中,管理員有時候會遇到ceph的rbd裝置,通過對映的方式給客戶端進行使用,但是過段時間後,在服務端,你想知道到底某個pool的img被哪個客戶端占用著。另外一種情況,比如想刪除某個image,但那個image可能被客戶端占用,如果該客戶端出現了異常那麼就會出現無法刪...

Ceph 如何檢視rbd對映的裝置被哪個客戶端使用

一 場景說明 ceph的運維過程中,管理員有時候會遇到ceph的rbd裝置,通過對映的方式給客戶端進行使用,但是過段時間後,在服務端,你想知道到底某個pool的img被哪個客戶端占用著。另外一種情況,比如想刪除某個image,但那個image可能被客戶端占用,如果該客戶端出現了異常那麼就會出現無法刪...

ceph中檢視乙個rbd的image的真實儲存位置

1 新建乙個image儲存 rbd create hzb mysql size 2048 2 檢視hzb mysql的所有物件 乙個rbd image實際上包含了多個物件 預設情況下是image size 4m root cc rbd info hzb mysql rbd image hzb mys...