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

At.Mitani mitani @ sraw.co.jp
2008年 3月 14日 (金) 12:51:50 JST


森下さん、

ライフチェックのパケット受信時後、セッション終了をレプリケーションサーバに渡していましたので、これを止め、不要なデバッグ文を外しました。

とりあえずsvnのリポジトリにアップしましたので下記のコマンドでチェックアウトしてみてください。
(pgFoundryのサイトは時間がかかるので、後で時間のあるときにアップします)

# svn co http://www.pgcluster.org/svn/pgcluster-1.7

一応、svnのリポジトリの1.1から1.9までは同様のパッチを当ててあります。

ご確認ください。

三谷

On Thu, 13 Mar 2008 21:21:47 +0900
morishita <hero @ asterisk-works.jp> wrote:

> 森下です。
> 
> お世話になります。
> 
> 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>


-- 
At.Mitani <mitani @ sraw.co.jp>



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