一、背景
注意:PostgreSQL 在主备切换之后,会进行备机的重建与迁移。备机就绪的时间与数据量有关,若出现执行失败,请稍后重试执行。同时,不要频繁进行主备切换演练,在切换完成之后,建议等待10~20分钟再执行二次切换。操作详情请参见 PostgreSQL 切换主备实例参考文档。
二、主备切换影响
·主备切换过程中会有闪断,请确保应用程序有重连机制。
·如果主实例挂载的有只读实例,主备切换后只读实例会有分钟级延迟。
三、步骤一:演练准备
一台 PostgreSQL 实例。示例实例为一台主节点位于广州四区,备节点位于广州六区的跨 AZ PostgreSQL 实例。
四、步骤二:演练编排
1. 登录 智能顾问控制台 > 架构治理,进入治理模式,点击混沌演练。(详细创建演练方式请参见 使用智能顾问进行混沌演练)
2. 点击新建演练,填写演练基本信息,完成后点击下一步。
3. 在演练实例中,选择数据库- PostgreSQL,选择后点击搜索添加,添加实例资源。亦可通过架构图添加方式,直接点击架构图上的 PostgreSQL 资源,选择实例进行添加。
4. 完成添加实例后,点击添加动作,选择主备切换。
5. 配置动作参数,动作参数处关闭强制切换,单击确认。
注意:说明:
注意:强制切换: 若开启,将不会校验主备切换条件,直接进行主备切换;若关闭,则需要通过主备切换条件校验之后才会进行主备切换。
注意:主备切换条件:可前往 PostgreSQL控制台 进入对应实例详情页面,在可用性信息模块查看和编辑。
注意:
6. 参数配置完成之后,在全局配置中选择执行方式、护栏策略,及添加可观测指标。配置完成后,点击提交,即可完成演练任务创建。
7. 点击演练详情,进入演练详情页,并开始演练。
五、步骤三:执行演练
1. 观察演练前实例可用性信息数据,并关注演练前实例的主节点、备节点。
2. 由于演练为手动推进,所以需要手动执行故障动作。点击故障动作组中的执行,或下方开始演练,注入故障。
3. 故障注入过程中,可在 PostgreSQL控制台 对应实例的基本信息模块中观察到实例的状态为切换中。
4. 故障注入成功之后,可点击动作卡片的空白处,查看动作详情。可以看到,实例的主节点已切换。
5. 在 PostgreSQL控制台 对应实例的详情页中,可以确认主节点已经成功切换。
6. 执行故障恢复动作,可将实例部署状态恢复至故障前状态。(建议等待10分钟之后再执行恢复动作)
7. 故障恢复动作执行成功之后,可点击动作卡片的空白处,查看动作详情。可以看到,实例的主节点已切换。
8. 在 PostgreSQL控制台 对应实例的详情页中,可以确认主节点已经成功切到故障前的主可用区。