记一次 dr_auto_sync 计划内的切换测试过程
作者: paulli 原文来源:https://tidb.net/blog/78c9a0ff
一、背景
TiDB 作为一款开源的分布式关系型数据库,提供了强大的数据同步和容灾能力,其中dr_auto_sync
功能允许数据库在预定的时间或条件下自动从主数据中心切换到从数据中心,保证服务的连续性和数据的一致性。本文将记录一次 TiDB dr_auto_sync
计划内的切换测试过程。
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635672740.png)
二、测试环境
TiDB 集群版本:7.1.5(请根据实际版本替换)
主数据中心:DC1,包含 2 个 TiDB 节点、2 个 TiKV 节点 (voter) 和 2 个 PD 节点
从数据中心:DC2,包含 2 个 TiDB 节点、2 个 TiKV 节点 (follower/learner) 和 1 个 PD 节点
集群节点拓扑如下:
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635684977.png)
集群副本配置如下:
副本 leader 全部运行在 dc1 中心
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635692696.png)
三、切换前准备
检查集群运行状态
granfna -> dr_test_overview -> service port status
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635700655.png)
检查集群主备同步状态
granfna -> dr_test_pd-> dr_autosync
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635708178.png)
准备切换文件
rules_reverse.json
复制代码
四、切换过程
PD Leader 切换
复制代码
PD 优先级
调高 dc2 中 pd 的优先级级别,调小 dc1 的 pd 的优先级别
复制代码
修改 Placement-rules
复制代码
五、切换后校验
检查主备同步状态
符合预期主备状态同步正常
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635723269.png)
检查副本分布状态
副本的 leader 角色全部切换至 dc2 中心
![](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1719635732756.png)
检查数据一致性
复制代码
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/e393825fb9b06755d8602d848】。文章转载请联系作者。
评论