Ceph 备份系统调研
来源:互联网 发布:钢琴调律软件 编辑:程序博客网 时间:2024/05/16 08:07
一,可选备份解决方案
Ceph 提供了一些特性和接口,实现数据备份。目前看,有两个解决方案:
1. rbd mirroring
即在两个独立的Ceph集群之间实现实时数据镜像。这种解决方案可以做到实时备份,但是要求Ceph的安装版本是Jewel或更新。目前我们的版本是Hammer,需要升级才能支持此特性。
2. 基于快照技术的备份。
基于Ceph RBD的快照技术,通过差量文件的方式定期将数据备份到灾备中心,当主数据中心发生故障时,从灾备中心恢复最近的备份数据并重启相应的虚拟机,最大程度降低灾难时
的数据恢复时间。这种备份可以将虚机的Image回滚到某一个快照状态,从快照状态到发生故障时的数据更新将会丢失。目前Hammer已支持快照技术。
比较这两个方案,方案1优点是实时备份,缺点是风险大,对已有集群,需要做升级操作,新版本需要深入测试。方案2优点是风险小,不需要对已有线上集群做升级操作,容易实现
,启动快照操作即可。缺点是,无法做到数据完全不丢失。
方案2分险小,易实现,优先选方案2实现灾备。
二,方案具体实现:
参考业界已有的解决案例,基于Ceph RBD的快照技术的备份,会在主数据Ceph集群之外再构造一个独立的备份Ceph数据集群。通过差量文件的方式定期将数据备份到备份集群。
技术细节:
RBD 快照原理:
基于COW实现,Ceph的RBD卷可用做多次快照,每次做完快照后再对卷进行写入时就会触发COW操作,即先拷贝出原数据对象的数据出来生成快照对象,然后对原数据对象进行写入。
做快照的操作是很快的,因为只更新了卷的元数据,添加了一些快照信息(包括该卷有哪些快照,快照id,如果这个卷是克隆出来的,那么还包括parent信息)。
基于快照的数据增量导出与导入:
Rbd export-diff命令:导出image的快照之间的增量差异。
import-diff命令:导入一个image的增量差异并应用到当前image。
备份流程:
由于第一次备份时,灾备数据中心还没有对应的base image,所以在操作上分为首次备份和第一次之后的备份。
第一次备份
- 在备份中心创建一个image作为base
rbd create dest-pool/image1 -s 1 - 在主数据中心创建一个image的快照
rbd snap create source-pool/image1@snap1 - 导出base image基于snap1的差量文件
rbd export-diff source-pool/image1@today image1-snap1-diff - 将导出的差量文件传输到备份中心,使用scp或netcat工具
- 将snap1差量文件导入备份集群base image
rbd import-diff image1-snap1-diff dest-pool/image1 - 备份完成
第二次之后的备份
- 在主数据中心查找image最近一次的快照,并确认备份中心是否存在同名快照
rbd snap ls dest-pool/image1 | grep snap1 - 若存在,在主数据中心创建image的新快照
rbd snap create source-pool/image1@snap2 - 导出snap1到snap2的之间的差量文件,所用的snap即第1步中找到的快照snap1。每次的diff都是相对于上一次备份而言的,即实现了增量备份
rbd export-diff –from-snap snap1 source-pool/image1@snap2 image1-snap1-snap2-diff - 将导出的差量文件传输到备份中心
- 将差量文件导入image
rbd import-diff image1-snap1-snap2-diff dest-pool/image1 - 备份完成
尚未确定的风险点:
1. 周期内两个快照之间的数据量。
2. 快照对线上的影响:性能,空间。
3. 灾备恢复时间要求
由此才能决定备份集群的选型,容量,带宽,快照频率,保存周期等。和灾备恢复时间等。
功能优化:
压缩等技术的采用
参考资料:
http://www.evil0x.com/posts/14638.html
http://docs.ceph.com/docs/master/dev/rbd-diff/
http://ceph.com/dev-notes/incremental-snapshots-with-rbd/
https://github.com/vandeir/rbd-backup
- Ceph 备份系统调研
- ceph集成测试调研
- ceph recovery 参数调研
- 云备份调研报告
- 开源分布式文件系统CEPH调研
- 分布式文件系统Ceph调研1 – RADOS
- 【分析】Ceph系统架构
- 监控系统调研
- 监控系统调研报告
- 浅谈系统需求调研
- 项目系统接口调研
- bug管理系统调研
- 分布式跟踪系统调研
- ceph安装问题备份(suse)
- 工厂资源管理系统 调研一
- 音乐推荐系统比较调研
- 精准广告系统架构调研
- 广州实时公交查询系统调研
- pthread一些函数的总结使用
- 极客学院----H5的相关笔记----H5基础(8)
- 全球运维大会GOPS | 加长版优维老王演讲带来是什么体验
- VSync Count 垂直同步
- eclipse 相关
- Ceph 备份系统调研
- ART和Dalvic对比
- spring的事务传播属性和隔离级别
- Maven项目开发时快速寻找jar包的解决方案
- 78. Subsets
- Java 集合系列之Collection架构
- JQuery修改label文字
- 论Camera和MediaRecorder的友情(安卓学习年度总结篇)
- linux上定位磁盘IO问题