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

背景

腾讯混沌演练平台提供模拟云数据库 PostgreSQL 主备切换的场景故障动作,可以模拟 PostgreSQL 因故发生主备切换的场景。进行主备切换演练,旨在帮助开发人员在更加复杂和真实的环境中进行系统测试和实验,以发现可能存在的问题和风险。通过混沌工程的实验和测试,开发人员可以更加全面地了解系统的工作方式和性能特征,并针对不同的故障场景制定相应的应对措施和策略,从而提高系统的稳定性和可用性。
注意:
PostgreSQL 在主备切换之后,会进行备机的重建与迁移。备机就绪的时间与数据量有关,若出现执行失败,请稍后重试执行。同时,不要频繁进行主备切换演练,在切换完成之后,建议等待10~20分钟再执行二次切换。PostgreSQL切换主备实例参考文档

主备切换影响

主备切换过程中会有闪断,请确保应用程序有重连机制。
如果主实例挂载的有只读实例,主备切换后只读实例会有分钟级延迟。

演练实施

步骤一:演练准备

一台 PostgreSQL 实例。示例实例为一台主节点位于广州四区,备节点位于广州六区的跨 AZ PostgreSQL 实例。




步骤二:演练编排

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


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


3. 填写演练信息, 选择对象类型 PostgreSQL。然后点击添加实例,添加需要进行演练的实例。


4. 选择实例之后,点击演练动作模块中立即添加


5. 添加主备切换故障动作。然后点击下一步。


6. 配置动作参数,文档关闭强制切换,单击确认


说明:
强制切换: 若开启,将不会校验主备切换条件,直接进行主备切换;若关闭,则需要通过主备切换条件校验之后才会进行主备切换。
主备切换条件:可前往 PostgreSQL控制台 进入对应实例详情页面,在可用性信息模块查看和编辑。



7. 单击下一步,进入全局配置,全局配置请参见 快速入门


8. 确认无误后,单击提交。



9. 可单击演练详情开始演练。



步骤三:执行演练

1. 观察演练前实例可用性信息数据,可知晓,演练前实例主节点在广州四区,备节点在广州六区


2. 由于演练为手动推进,所以需要手动执行故障动作。可单击动作卡片中的执行启动故障注入。


3. 故障注入过程中,可在 PostgreSQL控制台 对应实例的基本信息模块中观察到实例的状态为切换中


4. 故障注入成功之后,可点击动作卡片的空白处,查看动作详情。可以看到,实例的主节点已经切换到广州六区了。


5. PostgreSQL控制台 对应实例的详情页中,可以确认主节点已经成功切到广州六区


6. 执行故障恢复动作,可将实例部署状态恢复至故障前状态。(建议等待10分钟之后再执行恢复动作)


7. 故障恢复动作执行成功之后,可点击动作卡片的空白处,查看动作详情。可以看到,实例的主节点已经切换到广州四区了。


8. PostgreSQL控制台 对应实例的详情页中,可以确认主节点已经成功切到故障前的广州四区