我改进了PostgreSQL高可用方式!老板直接加薪
作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理微信:jem_db
QQ交流群:587159446
公众号:IT邦德
@
1.repmgr高可用
2.failover自动切换
3.pgpoolAdmin
4.总结
前言
repmgr是PostgreSQL故障切换最流行的工具,看下本文改进的高可用架构
1.repmgr高可用
repmgr帮助DBA和系统管理员管理PostgreSQL数据库集群。通过利用PostgreSQL 9中引入的Hot Standby功能,repmgr极大地简化了设置和管理具有高可用性和可伸缩性要求的数据库的过程。
witness节点是一个普通的数据库实例,并不是流复制的一部分:它的作用是如果发生故障转移的情况,提供见证信息从而证明是主节点本身不可用,而不是不同的物理网络中断导致的脑裂
Pgpool II将读取查询分布在多个PostgreSQL服务器上,以获得更高的性能。此功能称为负载平衡。写入查询被发送到主服务器(在流复制模式下)或所有服务器(在本机复制模式和快照隔离模式下)。
2.failover自动切换
接下来,我们宕掉主库,来观察能否发生自动切换:
repmgr -f /home/postgres/repmgr.conf cluster show
关闭主库,观察日志
可以看到,在尝试6次连接后,
发生了主从切换,主库变为了repmgr02。
接下来,等原主库10修复后,
我们需要加入到现有的环境中:
repmgr -f /home/postgres/repmgr.conf node rejoin \
-d 'host=192.168.3.11 \
user=repmgr dbname=repmgr connect_timeout=2' \
--force-rewind --verbose
repmgr -f /home/postgres/repmgr.conf \
cluster show --compact
3.pgpoolAdmin
该Web管理工具可以以
Web界面方式实现pgpool-II 的配置。
PgpoolAdmin是管理pgpool的WEB界面工具,
可以对pgpool进行监控,启停服务,更改设置。
登录后,将显示下列菜单。
1.Pgpool状态
2.节点状态
3.查询缓存
4.分区规则
5.更改密码
6.注销
psql -U nobody -h localhost -p 9999 -d postgres
postgres=> show pool_nodes;
4.总结
repmgr通过以下方式简化了管理和日常管理,
提高了生产力并降低了PostgreSQL集群的总体成本,
repmgr的特点是非常轻量,但功能全面:
1.监视主从流复制过程
2.自动故障切换和手动故障切换
4.支持分布式管理集群节点,
易扩展,可以在线增加或者删除节点