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

morishita hero @ asterisk-works.jp
2008年 3月 13日 (木) 20:59:05 JST


森下です。

お世話になります。

pgcluster-1.7.0rc11で評価を行っています。
rc10で見られたような、レプリケーションサーバを
すべて停止すると、クラスタDBも落ちてしまう現象は
解決しました。

しかし、ログに次のようなログが繰り返し出力されるのは
おさまっていません。

デバックモードで動作させると、次のようなログが
断続的に出力されます。
-----------------------------------------
2008-03-13 20:46:09 [15786] DEBUG:do_rlog():got result:cmdSys='S'
2008-03-13 20:46:09 [15786] DEBUG:do_rlog(): CMD_STS_TRANSACTION_ABORT
2008-03-13 20:46:09 [15786] DEBUG:reconfirm_commit():PGR_NOT_YET_COMMIT
2008-03-13 20:46:09 [15786] DEBUG:do_rlog(): SYS_CALL process done
2008-03-13 20:46:09 [15786] DEBUG:do_rlog():process result done:cmdSys='S'
2008-03-13 20:46:09 [15786] DEBUG:do_rlog():got result:cmdSys='S'
2008-03-13 20:46:09 [15786] DEBUG:do_rlog(): CMD_STS_TRANSACTION_ABORT
2008-03-13 20:46:09 [15786] DEBUG:reconfirm_commit():PGR_NOT_YET_COMMIT
2008-03-13 20:46:09 [15786] DEBUG:do_rlog(): SYS_CALL process done
2008-03-13 20:46:09 [15786] DEBUG:do_rlog():process result done:cmdSys='S'
2008-03-13 20:46:09 [15947] ERROR:PGRread_packet():recv failed:
(Connection reset by peer)
2008-03-13 20:46:09 [15947] ERROR:PGRread_packet():recv failed:
(Connection reset by peer)
------------------------------------------

文字から推測するとRLOGにかかわるプロセスがどこかに接続に行こうと
して失敗しているようです。

レプリケーションサーバは下記のように設定しています。
以前の投稿で三谷様にカスケードの設定を見直すように
指摘を受けたのですが、
rep1.cool-revo.comをupper、rep2.cool-revo.comをlowerにする場合、
rep2のpgreplicate.confでrep1のホスト名、レプリケーションポートと
リカバリーポートを設定すればよいと思ってそうしています。
ここに間違いがあるのでしょうか。

カスケードを設定するときにはRlogを有効にする必要がある
と思い、Use_Replication_LogをonにしてRLOG_Port を設定しています。
このRLOG_Portの値は待ち受けポートの設定なのでしょうか、
どこかに接続する際の接続先ポートとなるのでしょうか。
いずれにせよ、どこかのポートの設定と値を合わせる必要が
あるのでしょうか。前述のエラーと関連がかるのではと思っており
下記の設定で正しいのかどうかわからず困っています。

ご教授いただけないでしょうか。

【rep1のpgreplicate.conf】 ####################
# A setup of Cluster DB(s) ####################
<Cluster_Server_Info>
<Host_Name> cluster1.cool-revo.com <http://cluster1.cool-revo.com>
</Host_Name>
<Port> 15432 </Port>
<Recovery_Port> 17001 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> cluster2.cool-revo.com <http://cluster2.cool-revo.com>
</Host_Name>
<Port> 25432 </Port>
<Recovery_Port> 27001 </Recovery_Port>
</Cluster_Server_Info>
# A setup of Load Balance Server ####################
<LoadBalance_Server_Info>
<Host_Name> lb.cool-revo.com <http://lb.cool-revo.com> </Host_Name>
<Recovery_Port> 6001 </Recovery_Port>
</LoadBalance_Server_Info>
# A setup of a replication server ####################
<Host_Name> rep1.cool-revo.com <http://rep1.cool-revo.com> </Host_Name>
<Replication_Port> 18001 </Replication_Port>
<Recovery_Port> 18101 </Recovery_Port>
<RLOG_Port> 18301 </RLOG_Port>
<Response_Mode> normal </Response_Mode>
<Use_Replication_Log> yes </Use_Replication_Log>
<Replication_Timeout> 1min </Replication_Timeout>
<LifeCheck_Timeout> 3s </LifeCheck_Timeout>
<LifeCheck_Interval> 15s </LifeCheck_Interval>

【rep2のpgreplicate.conf】 ####################
# A setup of Cluster DB(s) ####################
<Cluster_Server_Info>
<Host_Name> cluster1.cool-revo.com <http://cluster1.cool-revo.com>
</Host_Name>
<Port> 15432 </Port>
<Recovery_Port> 17001 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> cluster2.cool-revo.com <http://cluster2.cool-revo.com>
</Host_Name>
<Port> 25432 </Port>
<Recovery_Port> 27001 </Recovery_Port>
</Cluster_Server_Info>
# A setup of Load Balance Server ####################
<LoadBalance_Server_Info>
<Host_Name> lb.cool-revo.com <http://lb.cool-revo.com> </Host_Name>
<Recovery_Port> 6001 </Recovery_Port>
</LoadBalance_Server_Info>
# A setup of the cascade connection between replication servers. #####
<Replicate_Server_Info>
<Host_Name> rep1.cool-revo.com <http://rep1.cool-revo.com> </Host_Name>
<Port> 18001 </Port>
<Recovery_Port> 18101 </Recovery_Port>
</Replicate_Server_Info>
# A setup of a replication server ####################
<Host_Name> rep2.cool-revo.com <http://rep2.cool-revo.com> </Host_Name>
<Replication_Port> 28001 </Replication_Port>
<Recovery_Port> 28101 </Recovery_Port>
- 引用テキストを表示しない -
<RLOG_Port> 28301 </RLOG_Port>
<Response_Mode> normal </Response_Mode>
<Use_Replication_Log> yes </Use_Replication_Log>
<Replication_Timeout> 1min </Replication_Timeout>
<LifeCheck_Timeout> 3s </LifeCheck_Timeout>
<LifeCheck_Interval> 15s </LifeCheck_Interval>







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