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...