云数据库 PostgreSQL 主备切换

最近更新时间:2025-11-20 15:16:33

我的收藏

背景

智能顾问-混沌演练提供模拟云数据库 PostgreSQL 主备切换的场景故障动作,可以模拟 PostgreSQL 因故发生主备切换的场景。进行主备切换演练,旨在帮助开发人员在更加复杂和真实的环境中进行系统测试和实验,以发现可能存在的问题和风险。通过混沌工程的实验和测试,开发人员可以更加全面地了解系统的工作方式和性能特征,并针对不同的故障场景制定相应的应对措施和策略,从而提高系统的稳定性和可用性。
注意:
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控制台 对应实例的详情页中,可以确认主节点已经成功切到故障前的主可用区。