文章目录
8.Pause/Resume mode for the cluster(集群的暂停/继续模式)
The goal(目标)
在某些情况下,Patroni需要暂时退出管理集群,同时仍将集群状态保留在DCS中。可能的用例是群集上不常见的活动,例如主要版本升级或损坏恢复。在这些活动中,节点经常由于Patroni未知的原因而启动和停止,甚至可以临时提升某些节点,这违反了仅运行一个主节点的假设。因此,Patroni需要能够与正在运行的群集“分离”,在Pacemaker中实现与维护模式等效的功能。
The implementation(实施)
当Patroni在暂停模式下运行时,除了以下情况外,它不会更改PostgreSQL的状态:
- 对于每个节点,将使用有关集群的当前信息来更新DCS中的成员密钥。 如果成员正在运行,这将导致Patroni在成员节点上运行只读查询。
- 对于持有领导锁的PostgreSQL master,Patroni会更新这个锁。如果具有领导锁的节点不再是主节点(被手动降级),则patroni将释放这个锁而不是将节点升回原位
- 允许进行计划外的手动重启、重新初始化和手动故障转移。仅在指定要故障转移到的节点时才允许故障转移。在暂停模式下,手动故障转移不需要运行中的主节点。
- 如果patroni检测到
'parallel' master
,他将发出警告,但没有领导锁不会降级masters - 如果集群中没有领导锁,则正在运行的master将