1

2 つのノード (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'

スタンバイ ノード (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! 

スクリプトを実行していません...助けてください...

4

1 に答える 1

1

スクリプトを実行するには、マスター ノードがダウンした場合にのみフェイルオーバーが発生するため、スタンバイ ノードではなくマスター ノードを停止する必要があります。

また、postgresql 構成ファイル/etc/postgresql/9.3/main/postgresql.confshared_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


よろしくお願いします

于 2015-08-27T21:10:00.413 に答える