PostgreSQL 流行 HA 方案

less than 1 minute read

背景

数据库的HA是一个比较经典的话题,几乎所有的生产环境都会考虑给数据库部署HA。

PostgreSQL 的HA方案也很多,在我的GIT里有两个自定义的HA脚本,有兴趣的童鞋可以参考一下原理。

单个虚拟IP, 自动failover, 手动failback, 需fence设备

双虚拟IP, 自动failover, 自动failback, 需fence设备

市面上也有很多成熟的PG HA方案,本文收集了一些,仅供参考。

HA 方案收集

1. 流复制,同步复制/自动降级,pacemaker , corosync

http://clusterlabs.org/wiki/PgSQL_Replicated_Cluster

2. PostgreSQL failover managed by ZooKeeper

http://www.openscg.com/2013/04/postgresql-clustering/

https://github.com/jinty/zgres

3. 仲裁使用etcd, stolon,仲裁很强壮

http://zhangwensheng.cn/blog/post/vincent/postgresql_ha_stolon_etcd

https://github.com/sorintlab/stolon

https://sgotti.me/post/stolon-introduction/

4. 仲裁使用etcd, governor,仲裁很强壮

https://github.com/compose/governor

5. 其他,还有比如基于DRBD,或者基于共享存储的就不在罗列了。

如果没有FENCE设备,或者FENCE设备不可信的话,又或者需要大面积的部署PG节点,建议考虑etcd的方案,仲裁节点比较强壮,可以信任。

同时根据需求部署同步,或异步的流复制备节点,pg_rewind处理时间线分歧等。

Flag Counter

digoal’s 大量PostgreSQL文章入口