背景
在数据库系统中,主备切换是保障数据库高可用性的重要手段之一。主备切换可以确保在主节点故障时,备用节点能够快速接管主节点的工作,以保证系统的连续性和稳定性。云顾问 - 混沌演练提供模拟云数据库 TDSQL-MySQL主备切换的场景故障动作,您可以使用该故障动作,来验证您的业务 TDSQL-MySQL 整体高可用能力。
进行主备切换演练,旨在帮助开发人员在更加复杂和真实的环境中进行系统测试和实验,以发现可能存在的问题和风险。通过混沌工程的实验和测试,开发人员可以更加全面地了解系统的工作方式和性能特征,并针对不同的故障场景制定相应的应对措施和策略,从而提高系统的稳定性和可用性。
说明:
主备切换会将实例的主节点切换到其他的备节点,可用于模拟可用区故障或节点故障时的切换过程,切换期间有可能会连接断连。
该故障有两种注入方式:
1. 优先同可用区注入:将会优先选择同可用区下的备节点作为切换目标节点,若没有满足条件的节点,便会寻找其他可用区下可切换的备节点。
2. 优先跨可用区注入:将会优先选择跨可用区下的备节点作为切换目标节点,若没有满足条件的节点,便会寻找相同可用区下可切换的备节点。
演练实施
步骤一:演练准备
一台云数据库 TDSQL-MySQL 实例,该实例为一主二备部署模式。
![](https://qcloudimg.tencent-cloud.cn/image/document/18f7e048446bbfa85b1f8159ff5f9669.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/18f7e048446bbfa85b1f8159ff5f9669.png)
步骤二:演练编排
1. 登录 云顾问 > 混沌演练控制台,进入演练管理页面,单击新建演练。
2. 单击左下角跳过,新建空白演练。
![](https://qcloudimg.tencent-cloud.cn/image/document/735bd5ad7cac83c2a1fe8435241d31de.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/735bd5ad7cac83c2a1fe8435241d31de.png)
3. 填写演练信息,选择对象类型 TDSQL-MySQL。
![](https://qcloudimg.tencent-cloud.cn/image/document/a0365a41cfd64c08386630b152ff9e9f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a0365a41cfd64c08386630b152ff9e9f.png)
4. 添加实例并单击立即添加,即可添加故障动作。
![](https://qcloudimg.tencent-cloud.cn/image/document/2ec2bfbfb158b664aab0c45be97968c2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2ec2bfbfb158b664aab0c45be97968c2.png)
5. 选择主备切换故障,配置故障动作参数。
![](https://qcloudimg.tencent-cloud.cn/image/document/4b33e9ee1889d00bcfd6c31e39cfbd3c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4b33e9ee1889d00bcfd6c31e39cfbd3c.png)
配置故障参数,针对演示实例,这里配置切换模式为优先跨可用区切换。
![](https://qcloudimg.tencent-cloud.cn/image/document/f1cbac808334bab6b0a4212a2fa4e456.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/f1cbac808334bab6b0a4212a2fa4e456.png)
6. 动作参数配置完成后,单击下一步。确定所有配置之后,随后单击提交,完成演练创建。
![](https://qcloudimg.tencent-cloud.cn/image/document/2795d64f10f5489efd070d69d101fc5c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2795d64f10f5489efd070d69d101fc5c.png)
步骤三:执行演练
![](https://qcloudimg.tencent-cloud.cn/image/document/1d8bf6a25680cd72b7a2b1ee76cdb15d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1d8bf6a25680cd72b7a2b1ee76cdb15d.png)
进入演练详情,单击执行,开始执行演练。
![](https://qcloudimg.tencent-cloud.cn/image/document/7f12ed7b61de4726a3aa42cfa7b78436.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/7f12ed7b61de4726a3aa42cfa7b78436.png)
执行故障动作。
![](https://qcloudimg.tencent-cloud.cn/image/document/1c535f0dd8a687c3543a7c85d034eefa.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1c535f0dd8a687c3543a7c85d034eefa.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2ba8a4a4a6552d6d9b851ec0a6793893.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2ba8a4a4a6552d6d9b851ec0a6793893.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/57e211ed70a020f428268b9ca64e5719.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/57e211ed70a020f428268b9ca64e5719.png)
执行故障恢复动作,将实例部署状态恢复至故障前状态。
![](https://qcloudimg.tencent-cloud.cn/image/document/5f8617f9fe91fc007153dd6b4d5b4218.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5f8617f9fe91fc007153dd6b4d5b4218.png)
故障恢复,会再次触发一次主备切换,TDSQL控制台实例信息会有切换展示。
![](https://qcloudimg.tencent-cloud.cn/image/document/a075b9a47eabcd55c45cabaf2e2a64cb.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a075b9a47eabcd55c45cabaf2e2a64cb.png)
恢复成功之后,可在控制台观测到节点状态已经恢复至故障前状态。
![](https://qcloudimg.tencent-cloud.cn/image/document/ab1db3a938fbb3706585cee96bc99210.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ab1db3a938fbb3706585cee96bc99210.png)