如何构建高效的MySQL灾备中心?RDS for MySQL实例的准备工作有哪些关键步骤?

为了建设MySQL灾备中心,首先需要准备RDS for MySQL实例。

MySQL灾备中心建设方案

如何构建高效的MySQL灾备中心?RDS for MySQL实例的准备工作有哪些关键步骤?

背景介绍

在当今云网融合大数据时代,数据已成为重要的生产要素,随着棱镜门、永恒之蓝、汶川大地震等大规模数据丢失和泄漏事件的发生,中国相继出台了《中华人民共和国网络安全法》和《数据安全法》等法律法规,对各组织机构的数据安全保护条件进行严格限定。

当数据中心发生未知灾难时,容灾备份能够确保数据不丢失或少丢失,同时保证IT业务系统不间断运行或快速切换恢复,要实现应用的容灾,关键在于通过数据库的实时同步和复制,在A地出现机房故障和问题的时候可以平滑快速地迁移到B地,这种远程数据复制和同步虽然存在一定的延迟,但基本可以满足业务连续性的需求。

灾备基础

1. 容灾的定义

容灾是指当数据中心发生各种未知灾难时,确保数据不丢失或少丢失,同时IT业务系统能够不间断运行或快速切换恢复的过程。

2. 衡量指标

评估一个灾备系统可靠性的两个重要指标是RTO(Recovery Time Objective)和RPO(Recovery Point Objective)。

指标 描述
RTO 灾难发生后,从系统宕机导致业务停顿之刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间,RTO可简单地描述为企业能容忍的恢复时间。
RPO 灾难发生后,容灾系统能把数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少生产数据的指标,RPO可简单地描述为企业能容忍的最大数据丢失量。

3. 容灾等级分类

根据国家标准GB/T 209882007,容灾能力分为六个等级:

等级 说明
第 1 级 基本级,备份介质场外存,安全保障、定期验证。
第 2 级 备份场地支持,网络和业务处理系统可在预定时间内调配到备份中心。
第 3 级 电子传输和部分设备支持,灾备中心配备部分业务处理和网络设备,具备部分通讯链路。
第 4 级 电子传输和完整设备支持,数据定时批量传送,网络/系统始终就绪,温备中心模式。
第 5 级 实时数据传输及完整设备支持,采用远程复制技术,实现数据实时复制,网络具备自动或集中切换能力,业务处理系统就绪或运行中。
第 6 级 数据零丢失和远程集群支持,数据实时备份,零丢失,系统/应用远程集群,可自动切换,用户同时接入主备中心。

两地三中心容灾

两地三中心能够组合本地高可用,同城灾备中心和异地灾备中心,提高可用性,提升业务连续性,重点业务多采用“两地三中心”(即生产数据中心、同城灾备中心、异地灾备中心)建设方案,这种模式下,多个数据中心是主备关系,针对灾难的响应与切换周期根据异常情况灵活处理,能够实现更优的RTO与RPO整体目标。

MySQL常见的主从形式

MySQL本身自带有主从复制的功能,解决了数据一致性、检查点机制、可靠网络传输等问题,可以帮助我们实现高可用切换和读写分离。

1. 一主一从

如何构建高效的MySQL灾备中心?RDS for MySQL实例的准备工作有哪些关键步骤?

一主一从能够提供备库,主库故障后可以进行故障切换,避免数据丢失。

2. 一主多从

一主多从常见的主从架构,使用起来简单有效,不仅可以实现HA,而且还能读写分离,进而提升集群的并发能力。

3. 多主一从

多主一从可以将多个MySQL数据库备份到一台存储性能比较好的服务器上,方便统一分析处理。

4. 双主复制

双主复制,也就是互做主从复制,每个master既是master,又是另外一台服务器的slave,这样任何一方所做的变更,都会通过复制应用到另外一方的数据库中,同一时刻可以只有一个是主,另外一个是备,实例主动维护进行主从切换的时候无需进行特别的配置,秒级切换方便日常升级维护。

5. 级联复制

级联复制模式下,部分slave的数据同步不连接主节点,而是连接从节点,主节点有太多的从节点,就会损耗一部分性能用于replication,这个时候可以让3~5个从节点连接主节点,其它从节点作为二级或者三级与从节点连接,这样不仅可以缓解主节点的压力,并且对数据一致性没有负面影响。

MySQL常见高可用方案优劣

对比目前主流的数据库高可用方案,都有各自的优势和劣势,但在支持异地容灾方面都不够简单易用:

高可用方案 优势 劣势
主从 + Keepalived 部署简单,没有主实例宕机后选主的问题。 一主多从在切换之后,其他从实例需要重新配置连接新主。
MHA 支持一主多从、主服务崩溃时不会导致数据不一致。 SSH存在安全隐患,官方不再维护。
组复制MGR 无延迟,数据强一致性。 强依赖网络,只能用在GTID模式下,大事务和DDL操作有阻塞风险。
MySQL InnoDB Cluster 弥补组复制无法提供具有自动化故障转移功能的中间件。 组件多,成熟案例少。
Orchestrator 支持一主多从,解决了管理节点的单点问题,支持命令行和Web界面管理复制。 功能复杂,不方便集成进自有系统。

MySQL主从初始化消息

通过抓取消息和分析代码,发现MySQL从库和主库建立同步通道过程中,分别进行网络连接建立、授权,实例唯一性、时钟、字符集、binlog配置校验等工作,其中实例唯一性校验过程从库会获取主库的server id。

如何构建高效的MySQL灾备中心?RDS for MySQL实例的准备工作有哪些关键步骤?

MySQL binlog日志结构

MySQL的主从复制是基于binlog文件,而binlog文件是由多个binlog event构成,binlog event的整体结构由head+data+footer三部分组成,head包含产生event的数据库实例server id,在主从复制作为区分event是否为自己实例生成的重要依据。

两地三中心MySQL主从方案

两地三中心建设相对容易,日常的演练和数据回流等配置比较繁琐,容易出错,本方案通过机房内建立MySQL主主复制,此时主从切换无需繁琐的命令,只需要设置read_only;同城机房间也是建立主主复制,方便容灾演练回切,无需复杂的配置,同理,与两地三中心。

FAQs

Q1: 什么是RTO和RPO?

A1: RTO(Recovery Time Objective)是指灾难发生后,从系统宕机导致业务停顿之刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间,RPO(Recovery Point Objective)是指灾难发生后,容灾系统能把数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少生产数据的指标,RTO可简单地描述为企业能容忍的恢复时间,RPO可简单地描述为企业能容忍的最大数据丢失量。

Q2: 两地三中心容灾方案的优势是什么?

A2: 两地三中心能够组合本地高可用,同城灾备中心和异地灾备中心,提高可用性,提升业务连续性,这种模式下,多个数据中心是主备关系,针对灾难的响应与切换周期根据异常情况灵活处理,能够实现更优的RTO与RPO整体目标。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1103501.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-09-29 20:06
下一篇 2024-09-29 20:07

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入