2015-04-02 119 views
0

我已经成功设置了两个节点(主设备& Satndby)。 我的版本是repmgr 2.0(9.3.6的PostgreSQL)自动故障切换器不能在repmgr中工作

待机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' 

当我停止备用节点( 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! 

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

+0

我需要包括shared_preload_libraries =在自动故障转移postgressql.conf文件“repmgr_funcs”。 – Rajiv 2015-04-02 16:21:03

回答

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实际上是由exectuing ps aux | grep -i rep运行。

希望它能帮助,
最好的问候