[技术干货] 数据库pgpool-II 4.1.4 高可用集群之VIP漂移

[复制链接]
乐维 发表于 2021-1-29 10:03:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1. 问题描述:
在一次部署PostgreSQL12.3流复制+pgpool-ii 4.1.4高可用集群的时候,遇到了很奇怪的vip漂移问题:PostgreSQL主库down掉后,vip不会漂移到备库,但是当我把主库启动后,vip反而漂移到了备库。
2. 解决思路:
        第一反应就是failover_stream.sh切换脚本有问题,于是手动执行了一下脚本,发现这个脚本只是用来切换PostgreSQL数据库主、备角色的,VIP并没有发生什么变化;期间参考了百度十几种方法和建议,都没有解决这个问题。最终,我在PostgreSQL官网找到了答案,与大家分享。
3. 问题排查:
其实这个问题是pgpool-ii 4.1.4配置文件参数导致的,我看了网上很多的部署教程,在配置pgpool的时候都没有注意这个地方,如下:
3.1.vi进入pgpool配置文件pgpool.conf,找到以下部分;
1.png

2.png
修改如下:
# watchdog 发生故障后, 处理的相关配置(宕机, pgpool进程终止)
#- Watchdog consensus settings for failover –
failover_when_quorum_exists = on
failover_require_consensus = on
allow_multiple_failover_requests_from_node = on    #默认off关闭
enable_consensus_with_half_votes = on             #默认off关闭
网上很多教程,在配置这个模块的参数时都保持默认;其实这个模块是负责pgpool-ii节点仲裁的,watchdog(pgpool-ii节点)本身故障后,其他节点会执行仲裁,选取出一个主节点去请求vip;如果不配置, 主pgpool-i 节点关闭后, 可能不会漂移vip, 出现集群暂时不可访问的问题;

技术交流欢迎加入Q群:177428068







上一篇:Zabbix“专家坐诊”第95期问答汇总
下一篇:PostgreSQL 12.3流复制断点恢复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子366

发布主题
最新发布

乐维社区

微信公众号

版权所有 © 2016-2021 九一乐维丨粤ICP备17007026号