云上数据库容灾解决方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 原作者:阿里云解决方案架构师,云帅。本文主要介绍数据库灾备的几种方式,以及怎样在云上搭建数据库灾备。

容灾的定义


容灾系统是指在相隔较远的异地,建立两套或多套功能相同的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,更高的性价比。阿里云的是按需使用的服务,仅仅需要为您正在使用的服务和规模付费,这对容灾一个非常大的优势。
对容灾而言,需要资源时,很重要、要求快速提供,但仅仅是在灾难事件发生时才需要,云恰恰就符合这个特点:
无论你用或者不用,云就在那里。



目录
相关文章
|
2月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
112 0
|
2月前
|
数据库
数据库创建之主文件不能容纳副本的解决方案
数据库创建之主文件不能容纳副本的解决方案
39 1
|
4月前
|
运维 数据库 数据库管理
云数据库问题之阿里云在运营商领域数据库替换的整体解决方案要如何实现
云数据库问题之阿里云在运营商领域数据库替换的整体解决方案要如何实现
|
4月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
1月前
|
运维 监控 关系型数据库
数据库管理中的自动化运维:挑战与解决方案
数据库管理中的自动化运维:挑战与解决方案
|
1月前
|
算法 安全 数据库
数据库死锁的解决方案有哪些?
【10月更文挑战第28天】数据库死锁是数据库管理中的一个常见问题
117 15
|
2月前
|
关系型数据库 MySQL 数据库
一个 MySQL 数据库死锁的案例和解决方案
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。
174 3
|
2月前
|
NoSQL 数据管理 关系型数据库
利用阿里云的尖端数据库解决方案增强游戏数据管理
利用阿里云的尖端数据库解决方案增强游戏数据管理
|
2月前
|
SQL 数据库
SQL-serve数据库不能连接本地服务器的解决方案
SQL-serve数据库不能连接本地服务器的解决方案
310 0
|
5月前
|
存储 数据管理 数据库
现代数据库技术中的分布式一致性问题与解决方案探讨
分布式系统在现代数据库技术中扮演着重要角色,但分布式环境下的数据一致性问题始终是挑战之一。本文深入探讨了分布式一致性的核心概念、各种一致性模型的特点及其在实际应用中的优缺点,旨在为技术从业者提供全面的视角和实用的解决方案。