前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ceph的rbd备份软件ceph-backup

ceph的rbd备份软件ceph-backup

作者头像
用户2772802
发布2018-08-06 10:43:19
1.9K0
发布2018-08-06 10:43:19
举报
文章被收录于专栏:磨磨谈磨磨谈

teralytics是一家国外的大数据公司,这个是他们开源的ceph的备份的工具,在twitter上搜索相关信息的时候看到,觉得不错就拿来试用一番

这是个什么软件

一个用来备份ceph的RBD的image的开源软件,提供了两种模式 增量:在给定备份时间窗口内基于rbd快照的增量备份 完全:完整映像导出时不包含快照

注意一致性:此工具可以生成rbd图像的快照,而不会感知到它们的文件系统的状态,注意下rbd快照的一致性限制(http://docs.ceph.com/docs/hammer/rbd/rbd-snapshot/)由于“完全”模式不使用快照,“完全”模式下的实时映像备份不一致(“增量”模式始终使用快照)

超过时间窗口以后,会进行一次全量备份,并且把之前的快照进行删除掉,重新备份一次全量,并且基于这个时间计算是否需要删除备份的文件

软件包含以下功能:

  • 支持存储池和多image的只对
  • 支持自定义备份目标路径
  • 配置文件支持
  • 支持备份窗口设置
  • 支持压缩选项
  • 支持增量和全量备份的配置 编译安装
代码语言:javascript
复制
[root@lab8106 ~]#git clone https://github.com/teralytics/ceph-backup.git
[root@lab8106 ~]# cd ceph-backup
[root@lab8106 ceph-backup]# python setup.py install

安装过程中会下载一些东西,注意要有网络,需要等待一会

准备配置文件

代码语言:javascript
复制
[root@lab8106 ceph-backup]# mkdir /etc/cephbackup/
[root@lab8106 ceph-backup]# cp ceph-backup.cfg /etc/cephbackup/cephbackup.conf

我的配置文件如下,备份rbd存储的zp的镜像,支持多image,images后面用逗号隔开就可以

代码语言:javascript
复制
[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

开始备份

全量备份配置

上面的配置文件已经写好了,直接执行备份命令就可以了

代码语言:javascript
复制
[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生成的文件可以压缩到很小

检查备份生成的文件

代码语言:javascript
复制
[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
全量备份的还原
代码语言:javascript
复制
rbd import /tmp/rbd/zp/zp_UTC20170119T092933.full zpbk

检查数据,没有问题

增量备份配置

写下增量配置的文件,修改下备份模式的选项

代码语言:javascript
复制
[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

执行多次进行增量备份以后是这样的

代码语言:javascript
复制
[root@lab8106 ~]#ll  /tmp/rbd/zpbk/
total 146452
-rw-r--r-- 1 root root 42949672960 Jan 19 18:04 zpbk@UTC20170119T100339.full
-rw-r--r-- 1 root root       66150 Jan 19 18:05 zpbk@UTC20170119T100546.diff_from_UTC20170119T100339
-rw-r--r-- 1 root root          68 Jan 19 18:05 zpbk@UTC20170119T100550.diff_from_UTC20170119T100546
-rw-r--r-- 1 root root          68 Jan 19 18:06 zpbk@UTC20170119T100606.diff_from_UTC20170119T100550
-rw-r--r-- 1 root root          68 Jan 19 18:06 zpbk@UTC20170119T100638.diff_from_UTC20170119T100606
增量备份的还原

分成多个步骤进行

代码语言:javascript
复制
1、进行全量的恢复
# rbd import config@UTC20161130T170848.full dest_image
2、重新创建基础快照
# rbd snap create dest_image@UTC20161130T170848
3、还原增量的快照(多次执行)
# rbd import-diff config@UTC20161130T170929.diff_from_UTC20161130T170848 dest_image

本测试用例还原步骤就是

代码语言:javascript
复制
rbd  import zpbk@UTC20170119T100339.full zpnew
rbd snap create zpnew@UTC20170119T100339
rbd import-diff zpbk@UTC20170119T100546.diff_from_UTC20170119T100339  zpnew
rbd import-diff zpbk@UTC20170119T100550.diff_from_UTC20170119T100546  zpnew
rbd import-diff zpbk@UTC20170119T100606.diff_from_UTC20170119T100550  zpnew
rbd import-diff zpbk@UTC20170119T100638.diff_from_UTC20170119T100606  zpnew

检查数据,没有问题

总结

这个软件基于python的实现,可以说作者的实现逻辑是很清晰的,并且提供了配置文件的方式,基本上是各个细节都考虑的比较到位,很容易上手,可以直接拿来使用,或者集成到自己的平台中去,是一个很好的软件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磨磨谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这是个什么软件
  • 准备配置文件
  • 开始备份
    • 全量备份配置
      • 全量备份的还原
    • 增量备份配置
      • 增量备份的还原
  • 总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档