一、背景
1. 跨可用区部署的 RO 组,当发生单 AZ 故障后,另外可用区的 RO 组能否对外提供正常服务。
2. RO 组实例故障后对业务影响(主节点能否承受读压力)。
注意:说明:
注意:该故障动作会进行用户安全组数量以及 MySQL 实例是否配置有只读实例的环境检测,若你的实例不满足该条件,故障注入将会失败。为 MySQL 实例创建只读实例可参见云数据库 MySQL 文档 创建只读实例。
二、故障描述
该故障动作会将用户指定注入范围内的 RO 组实例封禁,使其对外不可用,故障相关 RO 组中实例的存量连接会被中断。
三、步骤一:演练准备
·一台 云数据库 MySQL 实例,并且该实例已经配置了只读实例。
·一台 云服务器 CVM 实例,用于测试数据库连接。(用户可选择其他连接方式验证测试)
四、步骤二:演练编排
1. 登录 智能顾问控制台 > 架构治理,进入治理模式,点击混沌演练。(详细创建演练方式请参阅 使用智能顾问进行混沌演练 )
2. 点击新建演练,填写演练基本信息,完成后点击下一步。
3. 在演练实例中,选择数据库- MySQL,选择后点击搜索添加,添加实例资源。亦可通过架构图添加方式,直接点击架构图上的 MySQL 资源,选择实例进行添加。
演示 MySQL 实例概览:
4. 完成添加实例后,点击添加动作,选择只读实例组不可用。
5. 填写故障动作参数。
这里故障注入范围选择主可用区 RO 组,因此故障将会注入到所选中的 MySQL 实例的位于主实例可用区下的 RO 组实例中。
注意:说明:
6. 参数配置完成之后,在全局配置中选择执行方式、护栏策略,及添加可观测指标。配置完成后,点击提交,即可完成演练任务创建。
五、步骤三:执行演练
故障前:
MySQL RO 组实例在故障前,将会依据之前步骤配置的注入范围,对选定只读实例进行故障注入。使用 CVM 实例登录当前 RO 实例,建立一个客户端连接。
进入 数据库智能管家 DBbrain 可查看到当前 CVM 建立的连接。
六、执行演练:
1. 进入演练详情,点击故障动作组中的执行,或下方开始演练,注入故障。
故障注入之后,可单击详情,查看执行结果信息。
此时,可观察到存量的连接已断连。
2. 点击执行恢复动作。
恢复动作执行成功之后,使用 CVM 重新连接 RO 实例。恢复之后,可重新连接到该 RO 实例,故障已被清除。