mysql 异地灾备 快照_基于Ceph RBD的快照技术实现异地灾备

本文介绍了如何利用Ceph RBD的快照技术实现MySQL的异地灾备。通过定期创建差量文件并传输至灾备中心,能够在主数据中心故障时快速恢复数据。Ceph的快照和增量备份策略减少了数据恢复时间,2Cloud云平台的运维工具进一步简化了这一过程,提供自动化的异地备份和恢复功能。
摘要由CSDN通过智能技术生成

2f97b06b200d9443f9e3.png

Ceph是一个开源的分布式存储平台,分布式块存储RBD(RADOS Block Device)在云计算中广泛使用。基于Ceph

RBD的快照技术,通过差量文件的方式定期将数据备份到灾备中心,当主数据中心发生故障时,从灾备中心恢复最近的备份数据并重启相应的虚拟机,最大程度降低灾难时的数据恢复时间。

基本术语

镜像 Image:对应于逻辑卷Logical Volume,是能被attach和detach到虚拟机的载体。

快照 Snapshot:Image在某一个时刻的状态,可以将Image回滚到某一个快照状态。

Ceph处理差量文件

Ceph可以将某个RBD image不同时刻的状态进行比较,将其差量导出成文件,同时也可以将这个差量文件导入到某个image中。

Ceph生成差量文件的三种方式:

1)导出某个image从创建到此刻的变化

例如,将pool/image1从创建到此刻的差量保存至image1diff文件

rbd export-diff pool/image1 image1diff

2)导出某个image从创建到某快照时刻的变化

例如,将pool/image1创建时和快照snap1的差量保存至image1s1diff文件

rbd export-diff pool/image1@snap1 image1s1diff

3)导出某个image此刻和某快照时刻的变化

例如,将现在pool/image1和快照snap1的差量保存至image1s1diff2文件

rbd export-diff pool/image1 –from-snap snap1 image1s1diff2

Ceph导入差量文件的三种方式

对应生成差量文件的三种方式,有三种导入差量文件的方式。导入的前提是先创建一个image2,然后将diff文件导入这个image。

1)导入image从创建到某一时刻的diff

rbd import-diff image1diff pool/image2

此时,image2和生成diff时image1相同

2)导入image从创建时到某快照时刻的diff

rbd import-diff image1s1diff pool/image2

此时,image2和创建snap1后的image1相同,即image2也有一个叫做snap1的快照

3)导入image从某快照时刻到某时刻的diff

rbd import-diff image1s1diff2 pool/image2

执行的前提是image2有一个叫做snap1的快照

异地灾备的实现

由于第一次备份时,灾备数据中心还没有对应的base image,所以在操作上分为首次备份和第一次之后的备份。

2f97b06b200d9443f9e3.png

第一次备份

1. 在备份中心创建一个image作为base

rbd create dest-pool/image1 -s 1

2. 在主数据中心创建一个image的快照

rbd snap create source-pool/image1@snap1

3. 以第二种导出方式生成差量文件

rbd export-diff source-pool/image1@today image1-snap1-diff

4. 将导出的差量文件传输到备份中心,使用scp或netcat工具

5. 以第二种导入方式将差量文件导入base image

rbd import-diff image1-snap1-diff dest-pool/image1

6. 备份完成

第二次之后的备份

1. 在主数据中心查找image最近一次的快照,并确认备份中心是否存在同名快照

rbd snap ls dest-pool/image1 | grep snap1

2. 若存在,在主数据中心创建image的新快照

rbd snap create source-pool/image1@snap2

3. 以第三种导出方式生成差量文件,所用的snap即第1步中找到的快照snap1。每次的diff都是相对于上一次备份而言的,即实现了增量备份

rbd export-diff –from-snap snap1 source-pool/image1@snap2 image1-snap1-snap2-diff

4. 将导出的差量文件传输到备份中心

5. 以第三种导入方式将差量文件导入image

rbd import-diff image1-snap1-snap2-diff dest-pool/image1

6. 备份完成

创建备份时,会在原始image上创建一个快照,通过比较新建快照和上一次备份的快照形成差量文件,将这个差量文件导入到backup

image即完成了备份。由上面Ceph处理差量文件的方式可知,这个快照也会存在于backup image上,也就是说每个备份对应的是backup

image上的一个快照。

Ceph RBD快照技术

在2Cloud中的应用

2Cloud云平台中的运维工具提供了异地备份功能。每天可按计划对用户的虚拟机进行自动的异地备份。一旦主数据中心的发生异常并收到告警,可立即使用运维工具将虚拟机在备份中心启动,最大限度地减少用户损失。

以虚拟机vm-2cloud-1为例,在缺省配置下,2Cloud云平台在每日24时执行运维命令,对当天的虚拟机进行增量备份(xxxx-xx-xx为当天日期)。

dfaa7feecd5fec1d2d99.png

当主数据中心发生故障时,在2Cloud云平台执行恢复的运维命令,即可将用户的虚拟机在备份中心快速启动,并恢复至最近一次备份时的状态。

8ec2fe62e3470c343d3c.png

功能的进一步优化

数据去重压缩

考虑到不同数据中心间数据传输的带宽压力,运维命令将对备份文件进行压缩去重处理后,再发送到备份数据中心。选取三种压缩算法的对比结果如下(以35G的差量文件为例)。基于压缩比例和压缩时间的综合考虑,2Cloud采用gzip算法作为压缩算法。

ae8bec1ac2de9472a424.png

快照数量管理

考虑到快照数量对磁盘性能的影响,运维命令会在备份完成后将虚拟机前一天的快照删除,仅保留当天快照用于下次备份时生成差量文件。

应用场景

电信及IDC运营商为企业提供云端的灾备服务

面对用户从托管转向云,电信及IDC运营商纷纷建设和开拓云业务,除了基础云服务之外,可发挥其多地域数据中心及带宽的优势,推出云环境下针对虚拟机的异地灾备服务,提供更高SLA的数据保障。

企业私有云中关键数据的灾备与恢复

传统的灾备方案依托SAN存储及专业软件来实现。相比传统方案,运用x86服务器本地磁盘,基于Ceph RBD的快照技术即可实现异地灾备;同时,Ceph分布式存储的多副本机制,在本地数据中心也能保障数据高可用,从而极大地降低企业实现数据全面保护的门槛和成本。

文章作者:宋贞,云杉网络高级研发工程师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值