作者
digoal
日期
2020-03-20
标签
PostgreSQL , 集群 , ha , PAF , fence
背景
PG的高可用套件比较多, 常用的例如patroni (基于etcd(多副本, 存储节点状态、仲裁的依据)和python), 也可以自己写HA套件.
https://www.cybertec-postgresql.com/en/introduction-and-how-to-etcd-clusters-for-patroni/
在HA的套件中, failover中有一个比较重要的环节, 用来防止脑裂: fence.
具体思路这里有说明
https://github.com/digoal/PostgreSQL_HA_with_primary_standby_2vip
除了patroni, PAF也是一个比较流行的PG高可用套件, 基于Pacemaker and Corosync.
https://github.com/ClusterLabs/PAF
PostgreSQL Automatic Failover High-Availibility for Postgres, based on Pacemaker and Corosync.
配置手册
http://clusterlabs.github.io/PAF/Quick_Start-CentOS-7.html
fence说明
http://clusterlabs.github.io/PAF/fencing.html
fence的类型也比较多, 对于vm, 有vm fence, 物理机有ilo卡, 交换机, 存储, 电源都可以fence. fence的目的是切断(或关闭原主库), 确定不可能出现脑裂.
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.