有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

背景

在数据库系统中,主备切换是保障数据库高可用性的重要手段之一。主备切换可以确保在主节点故障时,备用节点能够快速接管主节点的工作,以保证系统的连续性和稳定性。腾讯混沌演练平台提供模拟云数据库 MariaDB 主备切换的场景故障动作,您可以使用该故障动作,来验证您的业务 MariaDB 整体高可用能力。
进行主备切换演练,旨在帮助开发人员在更加复杂和真实的环境中进行系统测试和实验,以发现可能存在的问题和风险。通过混沌工程的实验和测试,开发人员可以更加全面地了解系统的工作方式和性能特征,并针对不同的故障场景制定相应的应对措施和策略,从而提高系统的稳定性和可用性。
说明:
主备切换会将实例的主节点切换到其他的备节点,可用于模拟可用区故障或节点故障时的切换过程,切换期间有可能会连接断连。
该故障有以下注入方式:
优先同可用区注入:将会优先选择同可用区下的备节点作为切换目标节点,若没有满足条件的节点,便会寻找其他可用区下可切换的备节点。
优先跨可用区注入:将会优先选择跨可用区下的备节点作为切换目标节点,若没有满足条件的节点,便会寻找相同可用区下可切换的备节点。
注意:
发起任务并成功切换后,可观察到“系统监控-主备切换”改变,并出现1秒闪断,请确保业务有重连数据库机制。
系统优先保证数据一致性,这意味着切换可能失败,如需请至少在5分钟后重试。

演练实施

步骤一:演练准备

准备一台云数据库 MariaDB 实例,该实例为一主二备部署模式。(主:广三,备:广三/广四)



步骤二:演练编排

1. 登录 混沌演练控制台,进入演练管理页面,单击新建演练。



2. 单击左下角跳过,新建空白演练。



3. 填写演练信息,选择对象类型 云资源 > MariaDB,并单击添加实例,添加需要演练的实例。



4. 添加实例并单击立即添加,即可添加故障动作。



5. 选择主备切换故障。



6. 单击下一步,配置故障动作参数切换模式为优先跨可用区切换。然后单击确定



7. 确定所有配置之后,单击下一步,随后单击提交,完成演练创建。




步骤三:执行演练

故障执行过程中,会触发 MariaDB 实例主备切换,可以通过 云数据库 MariaDB 控制台 观测到实例主备节点架构变化。
故障前:主-广三,备1-广三,备2-广四



说明:
可前往 云数据库 MariaDB 控制台 对应实例的监控告警模块,观察到实例节点 ID 以及对应的角色。M 为主节点,S 为从节点。



1. 进入演练详情,单击故障动作卡片执行,开始执行演练。



2. 故障注入过程中,可前往 云数据库 MariaDB 控制台 观察节点变化。



3. 故障注入成功之后,可单击动作卡片查看执行详情。可以看到执行日志,主节点已经由节点 8a3a1415acc6[广州三区] 切换至节点 7046d52b020b[广州四区]。



4. 前往 云数据库 MariaDB 控制台 观察节点变化。发现主节点已经切换。


5. 执行故障恢复动作,会再次触发一次主备切换,将实例部署状态恢复至故障前状态,即将主节点切换回广州三区。



6. 恢复成功,观察执行日志,主节点已经切换回广州三区。



7. 前往 云数据库 MariaDB 控制台 观察,发现实例信息。