PgPool-II和repmgr自动故障转移

时间:2018-02-03 02:13:56

标签: postgresql pgpool repmgr automatic-failover

我有用于HA的pgpool-II和用于自动故障转移的repmgr。 Pgpool-II也可以运行故障转移我只是想知道使用pgpool或repmgr进行自动故障转移?如果pgpool可以进行故障转移,我是否需要使用repmgr?并使用shell脚本来推广新的主人?

2 个答案:

答案 0 :(得分:2)

我想通过repmgrd进行自动故障转移,并仅将pgpool用作应用程序的入口点。它几乎可以工作:我已经将pgpool配置文件中的failover_command设置为空字符串('')。当主数据库发生故障时,pgpool执行failover_command(由于failover_command为空,它不执行任何操作),然后它将反复尝试查找新的主服务器。当repmgrd完成故障转移时,pgpool会看到新主服务器并且没问题。

如果主站停止,repmgrd将在x秒后执行故障转移(取决于重新连接间隔和尝试参数)。您必须确保pgpool中指定的运行状况检查时间间隔大于pgpool将过早分离已停止的数据库:参数是health_chek_max_retries和health_check_retry_delay(还有health_check_period不清楚)。您还必须将failover_on_backend_error设置为no。

我对这种设置不是很有信心,我仍然需要更加密集地测试它。

答案 1 :(得分:0)

pgpool-II:连接池、负载平衡、自动故障转移、限制超出连接

在 pgpool 虚拟 IP 中,他们的应用程序连接到 VIPpgpool. conf 文件上的一个 delegated_ip 参数)主服务器关闭,然后发生故障转移,备用升级到主服务器(自动故障转移)然后没有变化申请结束。
failover_command 编写脚本,然后在 pgpool.conf 文件 failover_command="" 参数

上配置 failover.sh 脚本位置

repmgr:复制和故障转移

在 Repmgr 中,如果主节点停止,它将在 xx 秒后进行故障转移(取决于 connect_timeout 上的重新连接间隔 /etc/repmgr.conf 参数