云上数据库容灾解决方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
应用型负载均衡 ALB,每月750个小时 15LCU
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 原作者:阿里云解决方案架构师,云帅。本文主要介绍数据库灾备的几种方式,以及怎样在云上搭建数据库灾备。

容灾的定义


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



目录
相关文章
|
3月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本文探讨了大模型与MySQL数据库运维结合所带来的变革,介绍了构建结构化运维知识库、选择合适的大模型、设计Prompt调用策略、开发MCP Server以及建立监控优化闭环等关键步骤。通过将自然语言处理能力与数据库运维相结合,实现了故障智能诊断、SQL自动优化等功能,显著提升了MySQL运维效率和准确性。
369 18
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
|
8月前
|
存储 容灾 关系型数据库
PolarDB开源数据库进阶课11 激活容灾(Standby)节点
本文介绍了如何激活PolarDB容灾(Standby)节点,实验环境依赖于Docker容器中用loop设备模拟共享存储。通过`pg_ctl promote`命令可以将Standby节点提升为主节点,使其能够接收读写请求。激活后,原Standby节点不能再成为PolarDB集群的Standby节点。建议删除对应的复制槽位以避免WAL文件堆积。相关操作和配置请参考系列文章及视频教程。
151 1
|
4月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本方案将大模型与MySQL运维深度融合,构建智能诊断、SQL优化与知识更新的自动化系统。通过知识库建设、大模型调用策略、MCP Server开发及监控闭环设计,全面提升数据库运维效率与准确性,实现从人工经验到智能决策的跃迁。
490 26
|
3月前
|
SQL 安全 关系型数据库
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
在数字化时代,数据库安全至关重要。DBKEEPER提供一站式数据库安全访问与权限管控解决方案,支持多种数据库,具备精细化权限管理、数据脱敏、高危操作拦截、全面审计等功能,助力企业实现智能、安全的数据治理,满足金融、医疗、互联网等行业合规需求。选择DBKEEPER,让数据库安全管理更高效!
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
|
8月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课2 创建容灾(standby)节点
本文介绍了如何在macOS中搭建PolarDB的容灾(standby)节点,作为“穷鬼玩PolarDB RAC一写多读集群”系列的一部分。基于前一篇通过Docker和loop设备模拟共享存储的经验,本文详细描述了创建虚拟磁盘、启动容器、配置网络、格式化磁盘、备份数据及配置standby节点的具体步骤。
173 0
|
7月前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
1100 82
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
9月前
|
安全 网络安全 数据库
Access denied for user ‘qingtingstpublic’@’171.213.253.88’ (using password: YES)宝塔数据库远程无法连接-宝塔数据远程无法连接的正确解决方案-优雅草央千澈-问题解决
Access denied for user ‘qingtingstpublic’@’171.213.253.88’ (using password: YES)宝塔数据库远程无法连接-宝塔数据远程无法连接的正确解决方案-优雅草央千澈-问题解决
108 28

热门文章

最新文章