[pgsql-jp: 41075] PostgreSql9.1 同期レプリケーションでスタンバイサーバ故障時の対処

test test2011y @ kotanikogyo.co.jp
2012年 4月 2日 (月) 19:25:02 JST


お世話になります。S.A.と申します。

PostgreSql9.1で同期レプリケーションを考えています。
質問させていただきたいのは、スタンバイサーバが故障した時の
対処です。
プライマリの故障に関しては解説や事例など色々情報を見つけたのですが、
スタンバイサーバが故障した時の対処がいまいちよくわかっていません。
スタンバイサーバの修理が終わるまでプライマリサーバのみで「縮退運転」を
したいのですが、その際の対処方法や注意事項などを調べています。
PostgreSQL9.1.3文書「25.3フェールオーバ」には「フェールオーバは不要です。」
と書かれています。
(http://www.postgresql.jp/document/current/html/warm-standby-failover.html)
「フェールオーバは不要」でもなんらかの対処は必要かと考えているのですが
間違っているでしょうか?
「スレーブ(スタンバイ)側がダウンすると、マスタ側の更新もできなくなる。」と
以下のサイトに書かれているので、プライマリで一時的にレプリケーションを停止する
操作が必要ではないかと考えています。
(http://www.interdb.jp/techinfo/pg_sr/sr_sync03.html)

障害発生時の一次対応はある程度自動化したいのですが、以下のような方法かなと考えています。
1.スタンバイサーバの故障検出方法
データの更新に失敗した時、プライマリーでpg_stat_replicationのstateを調べる。
streamingでなければスタンバイサーバの故障と判断する。
2.レプリケーション停止
postgresql.confを書換えてpg_ctlでリスタート

間違いの指摘や或いはもっと良い方法などを教えていただけないでしょうか。

環境:
プライマリ1台、スタンバイ1台
CentOS6.2















pgsql-jp メーリングリストの案内