[pgcluster: 1034] Re: Pgreplicateの冗長化について

morishita hero @ asterisk-works.jp
2008年 3月 13日 (木) 18:40:19 JST


森下です。

三谷さん、回答ありがとうございます。

>カスケード設定は片方向しか設定できません。
>レプリケーションサーバを動的に追加する際、
>下位のカスケードサーバとして設定し直せば大丈夫ですが、
>そうでないとカスケードは機能しません。

回答されているように理解しているつもりなのですが、
確認させてください。

現在、私が試している環境は次のような構成です。
クラスタDBが2つ、
cluster1.cool-revo.com
cluster2.cool-revo.com
レプリケーションサーバが2つ
rep1.cool-revo.com
rep2.cool-revo.com
ロードバランサーが1つ
lb.cool-revo.com

rep1がカスケードの上位側で、
rep2を下位側としたいので、rep2のpgreplicate.confで
Replicate_Server_Infoを設定し、その内容は
rep1を指し示すようにしています。rep1では
Replicate_Server_Infoはすべてコメントアウトしています。

#rep2のpgreplicate.conf
<Replicate_Server_Info>
<Host_Name> rep1.cool-revo.com <http://rep1.cool-revo.com> </Host_Name>
⇒rep1のホスト名
<Port> 18001 </Port>
⇒rep1で設定しているReplication_Portに合わせている
<Recovery_Port> 18101 </Recovery_Port>
⇒rep1で設定しているRecovery_Portに合わせている
</Replicate_Server_Info>

このような設定内容で正しいのでしょうか。

レプリケーションサーバはrep1、rep2の順で
起動しており、その状態でrep1のログに次の行が断続的に
出力されます。
PGRread_packet():recv failed: (Connection reset by peer)
rep1を停止し、rep2のみにすると、1回だけ
replicate_packet_send_internal ():setTransactionTbl failed
というログが出力されたのち、今度はrep2のログに上記の
PGRread_packet():recv failed: (Connection reset by peer)
が断続的に出力されます。

このようなログが出る状況ではどこか設定に不備があるのでしょうか。
ご教授ください。

また、レプリケーションサーバを全部止めた時、
クラスタDBも止まる(というか落ちる)のはやはり不具合だったのですね。
アップデートして評価してみます。

よろしくお願いします。






pgcluster メーリングリストの案内