更新时间:2024-07-24
功能说明
DMP基于MySQL级联复制技术,实现了MySQL整体的容灾方案,确保在主库发生故障、灾难或其他意外情况时,数据库系统能够继续正常运行并保持数据的可用性和一致性。
MySQL级联集群(Cascade Clustering)是一种数据库集群架构,它结合了级联和集群的概念。在MySQL级联集群中,多个MySQL数据库服务器通过级联方式连接在一起,形成一个高可用性和高性能的集群系统。
在MySQL级联集群中,通常采用主从复制的方式进行数据同步和冗余存储。其中,一个MySQL服务器被指定为主服务器,负责接收和处理所有的写操作,而其他MySQL服务器被指定为备服务器,负责接收主服务器的写操作,并将其复制到自己的数据库中。
DMP管理页面简单配置,即可快速部署容灾数据库,提升数据库灾备能力。通过页面一键主备切换、故障转移等功能,提升业务可用性。提供不同配置方式,支持多种场景(同城跨机房、同城跨区)下的容灾方案,用户可按需部署。
主要搭建过程如下:
- 容灾主库执行物理备份(主库优先选同步的从节点进行备份)并通过流式传输到容灾备库主节点的数据盘(传输前会清空备库数据盘空间);传输如果指定通信IP则走通信IP进行链路传输,否则访问其业务IP进行传输
- 备库主节点传输到备库其余节点,走二层业务网进行文件传入,选择随机端口
- 备库各个节点执行数据恢复(覆盖式)
- 备库重新搭建集群关系,在集群内保持使用半同步模式进行数据同步
- 主备库间组建容灾关系,通过级联方式在备库主节点到主库主节点间搭建复制链路,使用异步模式进行数据同步
前提条件
- 需准备两套MySQL集群,分别作为容灾的主备库进行搭建,支持MySQL 5.7.30 , 5.7.40 / 8.0.28 , 8.0.33版本。
- 主备库网络打通
- DMP2.3.2以上版本,SCP6.8.0及以上版本
注意事项
- 主备库需在同一个用户下
- 主备库需使用同一个大版本(同为5.7或8.0版本),且备库小版本需高于主库以便兼容
- 主备库之间走业务网络链路维持复制
- 搭建容灾时备库所有节点的数据盘将在备份传输前清空,搭建容灾的备库最好是空库(或者没有业务在使用的库)
- 搭建容灾时,主库中节点(优先使用备节点)将进行一次全备操作,可能会对主库以及网络产生影响。搭建时最好选择在业务空闲时操作,避免对主库业务产生影响
- 如果DMP和容灾集群失联,需要手动强行解除,可以检查备集群主库的同步是否断开;如果同步未断开,可以通过在备集群主库上执行预置的脚本,断开容灾同步关系并关闭只读。
- 活动IP漂移功能,需要两端架构保持一致。如:两边都是无负载架构,或者都是 4 层数据库负载架构
操作步骤
- 在[数据保护/数据库容灾/数据库容灾组]中,点击<使用数据库容灾>,在MySQL标签页中,点击<新建>创建MySQL容灾。
- 主备库配置页面中,容灾方式默认异地容灾,新建方式默认指定两套已有MySQL,选择主备库实例。
- 容灾组配置中,通信IP用于容灾组主备库间相互通信,默认通信IP为数据库的业务IP;如果主备库间业务网络不通,需要通过专线、VPN等方式连通,并将主备库最终互访的IP填写在通信IP中。
- 保护模式:异步同步,主备集群之间使用的同步模式。
- 切换后活动IP不变:该功能用于实现“对业务透明的数据库容灾切换”,当容灾组执行主备切换或故障转移时,主备库的活动IP(读写IP和只读IP)将对调,达到无需变更业务配置的效果。开启该选项需要满足:主备库处于相同的业务网段(二层网络);主备库均为主从(多从)架构;主备库负载模式和负载配置状态需保持一致;同时,后续版本会补齐放开单机架构之间的IP切换功能。
- 通信IP:主备库原始业务网络如果处于默认连通的情况无需配置;如果主备库处于三层网络经过nat策略转化后连通,需要指定对应可以访问的nat后的IP以及端口(如果未使用端口映射则保持实际数据库源端口即可);如果nat策略中未放通所有协议,需额外放开备库主节点对应的tcp协议下的任一未使用端口(同时需在配置文件中添加指定配置该端口,无需重启服务),该端口用于主库备份并进行传输到备库主节点。
- 前置检查通过后, 提交容灾搭建任务。