Auto FailOver无法在repmgr中运行

时间:2015-04-02 15:30:06

标签: postgresql ubuntu repmgr

我成功设置了两个节点(Master& Satndby)。 我的版本是repmgr 2.0(PostgreSQL 9.3.6)

备用repmgr.conf

cluster=test
node=2
node_name=node2
conninfo='host=192.168.1.218 user=repmgr_usr dbname=repmgr_db'
pg_bindir='/usr/lib/postgresql/9.3/bin'

master_response_timeout=30  
reconnect_attempts=2  
reconnect_interval=10  
failover=automatic  

掌握备用repmgr.conf

cluster=test
node=1
node_name=master
conninfo='host=192.168.1.205 user=repmgr_usr dbname=repmgr_db'
pg_bindir=/usr/lib/postgresql/9.3/bin
master_response_timeout=30   
reconnect_attempts=2 
reconnect_interval=10
failover=automatic
promote_command='/etc/repmgr/auto_failover.sh'

当我停止Standby节点(Postgressql服务)时,我得到了以下repmgrd日志文件:

[WARNING] repmgrd: Connection to standby has been lost, trying to recover... 20 seconds before failover decision
[2015-04-02 20:47:43] [WARNING] repmgrd: Connection to standby has been lost, trying to recover... 10 seconds before failover decision
[2015-04-02 20:47:53] [ERROR] repmgrd: We couldn't reconnect for long enough, exiting...
[2015-04-02 20:47:53] [ERROR] Failed to connect to local node, exiting! 

不执行脚本......请帮助我......

1 个答案:

答案 0 :(得分:0)

为了执行脚本,您需要停止主节点而不是备用节点,因为只有在主节点关闭时才会发生故障转移。

同样在postgresql配置文件中/etc/postgresql/9.3/main/postgresql.conf添加shared_preload_libraries = 'repmgr_funcs'

/etc/repmgr/repmgr.conf文件中添加以下行:

promote_command='repmgr standby promote -f /etc/repmgr/repmgr.conf'
follow_command='repmgr standby follow -f /etc/repmgr/repmgr.conf'

为了更加确定,请通过感谢repmgrd来检查ps aux | grep -i rep是否确实在运行。

希望有所帮助,
最好的问候