数据库pgpool-II 4.1.4 高可用集群之VIP漂移

て烟熏妆下的殇ゞ 提交于 2021-02-01 12:54:51
  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,找到以下部分;
    数据库pgpool-II 4.1.4 高可用集群之VIP漂移
    数据库pgpool-II 4.1.4 高可用集群之VIP漂移



修改如下:

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, 出现集群暂时不可访问的问题;




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!