云上数据库容灾解决方案-阿里云开发者社区

开发者社区> 云计算> 正文

云上数据库容灾解决方案

简介: 原作者:阿里云解决方案架构师,云帅。本文主要介绍数据库灾备的几种方式,以及怎样在云上搭建数据库灾备。

容灾的定义

容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。

目前常见的容灾方案基本上模式比较简单:

1、数据库冷备:每天备份一次数据库,保存在磁带或光盘上;

2、双机本地热备:共享磁盘阵列,阵列做RAID(冗余校验),即一份数据存在不同盘阵上并多存几份,保证坏一个盘不影响数据读写;

3、数据库热备:建立数据库灾备中心,与主库实时进行数据同步,同时应用系统保持文件实时同步,保证引用系统版本最新

容灾的类型

49e7fc0a834d5b0c2458a97b03dcc61c394cb3c0

业务场景

数据问题导致需要进行数据恢复
起因:
程序Bug,数据被污染;
误操作,数据被删除。
需求:
数据可备份;
数据可恢复。
故障或灾难发生后应用持续可用
起因:
机房发生故障;
城市级别的自然灾害。
需求:
应用具备同城容灾能力;
应用具备异地容灾能力。

传统解决方案

靠底层存储来解决一切问题
25c5804843c72595b5d787abf8d715757d1fa8d5

容灾的目标

0852a8a7565ec0a42d3c2b38230d69a4a7ad8f7e
RTO:是一个系统宕了之后多久恢复到应用恢复可用的时间目标
RPO:是一个应用的数据从最后一个备份到灾害事件发生的时间,是应用容许丢失的数据目标,但以时间维度衡量

容灾的演进类型

bc84b79566f9f61fdac0cae692f5fda6e66f3b87

容灾演进的包涵关系

fb495a5f3826e187a94af439d7b2ae8d2852c5cc

备份和恢复

08dda160fa7ef951b1e69c3cc92e4718a3c202dc
实施要点:
1、选择合适的备份方式
2、确保正确的数据保留策略
3、确保数据的安全,包括加密和访问控制
4、周期的进行恢复测试

最小版本

803b84dab85e3cf6e2cf9ec8392093e7329b67aa
准备工作要点:
1、确保应用系统所需要的软件包在阿里云都具备
2、对于关键的服务器集群创建ROS模板
3、考虑自动化的创建云上的资源
涉及产品:
ECS、RDS、DTS、ROS

最小版本恢复

f21f4de6ae3b9642c696dcaed31afdd16ac4d725
恢复工作要点:
1、通过ROS模板启动云上的ECS资源
2、升级数据库的规格以适配新增的处理能力要求
3、修改DNS记录指向灾备环境SLB 
4、安装和配置不在ROS模板内的系统和应用
涉及产品:
ECS、RDS、DTS、ROS

热备

5a74846a9d9f033c7913e4da3d3b0f2cf47f88c6
准备工作要点:
1、创建并维护ROS模板
2、在阿里云ECS上运行最小化版本的应用环境
3、及时同步生产环境的补丁、软件更新以及配置文件到云上的环境
4、考虑自动化创建云上的资源
涉及产品:
SLB、ECS、RDS、DTS、ROS

热备恢复

49a779837f0d06d8f5ba7e36d5133ffff5222128
恢复工作要点:
1、增加ECS服务器的数量应对真正的生产负载(水平扩展)
2、对于无法通过水平扩展的应用,加大ECS的规格,完成负载能力的提升(垂直扩展)
3、修改DNS记录到灾备环境SLB
4、升级数据库的规格以适配新增的应用负载
涉及产品:
SLB、ECS、RDS、ROS

双活

f255be2f7363b878b63d4766530bd2a89e91fa5d
准备工作要点:
1、在云上创建与生产环境一致的应用环境
2、设定DNS的权重,分配流量到两个不同的环境,创建自动failover的流量分配机制
涉及产品:
SLB、ECS、RDS、DTS、ROS

双活恢复

f255be2f7363b878b63d4766530bd2a89e91fa5d
恢复工作要点:
1、手工切换dns记录,或者通过DNS的failover机制自动将所有流量全部切到云上环境
2、切换App服务器的数据库调用到云上本地数据库
3、考虑自动扩展云上环境的规模与规格以适应新增的负载
涉及产品:
SLB、ECS、RDS、ROS

容灾体系建设

同城容灾:同城不同IDC机房之间的断网断电容灾等。
异地容灾:单元或者区域不可用下的服务重路由。中心容灾。

同城容灾

ADHA集群:用于保障同城主备之间的高可用性。
b631c7898d2c4859fb65ec001119f858370f45f9

异地容灾

e87797dfa405af3fed3ec58b0a5d5ddf21393fce
在业务流量切换之前,必须参考异地复制时延;
引入禁写规则,对于之前在源地域的业务用户,进行短时间禁写;
流量切换后,等异地同步时延消除后,放开禁写规则;
基于其它原因,在未消除时延情况下开起的禁写,需要在业务层面引入对帐系统;
基于其它原因,在未消除时延情况下开起的禁写,需要在数据库层面引入安全复制技术(如前镜像匹配)等。

云上异地灾备架构

637ab8d5b2c3b6066ae1ebd399db4c09726474cd
方案优势:
1、云DNS提供智能解析、方便流量分配或容灾切换。
2、提供VPC之间的高速通道,提供统一发布、部署、配置变更等工作
3、产品化提供OSS不同区域之间的非结构化数据copy
4、通过数据传输服务(DTS)提供不同区域之间的结构化数据同步

数据同步DTS

技术架构
b709f1226eddae076910103d5406892cafdce1fe
当DTS服务节点/集群/站点出现故障时,传输任务会自动透明的切换至健康的节点/集群/站点,业务无感知
自动断点续传机制,在网络/数据源/DTS组件出现故障时,DTS会记录断点,在从故障恢复后,会从断点开始,继续传输任务
bc7a049d630aaf4b187b34445247ddc828f08b78

公共云灾备方案-数据备份

285ae58bfebd9d8b00873796cd221acf3a55ed0d

云灾备的意义

容灾的分类和选择有很多。在阿里云平台实现容灾,可以实现更细粒度的控制,可以通过更多已经产品化的功能模块实现容灾,提供更好的RPO、RTO,更高的性价比。阿里云的是按需使用的服务,仅仅需要为您正在使用的服务和规模付费,这对容灾一个非常大的优势。
对容灾而言,需要资源时,很重要、要求快速提供,但仅仅是在灾难事件发生时才需要,云恰恰就符合这个特点:
无论你用或者不用,云就在那里。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章