[pgcluster: 489] av13でリカバリーができない
kazunari takahashi
kazunari.takahashi @ ctc-g.co.jp
2004年 8月 12日 (木) 00:01:55 JST
高橋です.
早速、av13で試してみました.
下記のような現象がでましたので報告させていただきます.
####################################
現象
####################################
・通常のリカバリーがエラーで終了する
####################################
#環境
####################################
pgcluster-1.0.7av13
clusterDB ×3 (solaris8 sparc) host名:serverA , serverB , serverC
rgrp × 1 (solaris8 sparc) host名:pgrp
####################################
#手順
####################################
1. レプリケーションサーバ立ち上げ
2. serverA起動
3. serverBをリカバリーモードで起動
% pg_ctl start -D /usr/local/pgsql/data -o "-i -R"
postmaster successfully started
Start in recovery mode!
Please wait until a data synchronization finishes from Master DB...
/usr/local/pgsql/bin/postmaster: sorry, recovery failed.
-----------------------------------------------------------------------------------
replicate.conf
-----------------------------------------------------------------------------------
pgrp% more pgreplicate.conf
#=============================================================
# PGReplicate configuration file
#-------------------------------------------------------------
# file: pgreplicate.conf
#-------------------------------------------------------------
# This file controls:
# o which hosts & port are cluster server
# o which port use for replication request from cluster server
#=============================================================
#
#-------------------------------------------------------------
# A setup of Cluster DB(s)
#
# o Host_Name : The host name of Cluster DB.
# -- please write a host name by FQDN.
# -- do not write IP address.
# o Port : The connection port with postmaster.
# o Recovery_Port : The connection port at the time of
# a recovery sequence .
#-------------------------------------------------------------
<Cluster_Server_Info>
<Host_Name> serverA </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7779 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> serverB </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7779 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> serverC </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7779 </Recovery_Port>
</Cluster_Server_Info>
#
#-------------------------------------------------------------
# A setup of Load Balance Server
#
# o Host_Name : The host name of a load balance server.
# -- please write a host name by FQDN.
# -- do not write IP address.
# o Recovery_Port : The connection port at the time of
# a recovery sequence .
#-------------------------------------------------------------
#<LoadBalance_Server_Info>
# <Host_Name> pglb </Host_Name>
# <Recovery_Port> 7780 </Recovery_Port>
#</LoadBalance_Server_Info>
#
#------------------------------------------------------------
# A setup of the upper replication server for cascade connection.
#
# o Host_Name : The host name of Cluster DB.
# -- please write a host name by FQDN.
# -- do not write IP address.
# o Port : The connection port with postmaster.
# o Recovery_Port : The connection port at the time of
# a recovery sequence .
#------------------------------------------------------------
#<Replicate_Server_Info>
# <Host_Name> pglb </Host_Name>
# <Port> 8887 </Port>
# <Recovery_Port> 7778 </Recovery_Port>
#</Replicate_Server_Info>
#
#-------------------------------------------------------------
# A setup of a replication server
#
# o Replicate_Port : connection for reprication
# o Recovery_Port : connection for recovery
# o Response_mode : timing which returns a response
# normal -- return result of DB which received the query
# reliable -- return result after waiting for response of
# all Cluster DBs.
#-------------------------------------------------------------
<Replication_Port> 8777 </Replication_Port>
<Recovery_Port> 7778 </Recovery_Port>
<Response_Mode> reliable </Response_Mode>
-----------------------------------------------------------------------------------
debugログ
DEBUG(replicate_loop): replicate main: selected
DEBUG(pgrecovery_loop): recovery accept port 7778
DEBUG(read_packet): receive packet no:200
DEBUG(read_packet): recovery error accept. top queueing and initiarse recovery status
DEBUG(PGRsend_queue): master - 0
ERROR(PGRget_HostTbl): master table is null
ERROR(send_recovery_packet): send() failed. (Socket operation on non-socket)
ERROR(send_recovery_packet): send() failed. (Bad file number)
ERROR(send_recovery_packet): send() failed. (Bad file number)
ERROR(send_recovery_packet): send() failed. (Bad file number)
ERROR(send_recovery_packet): send() failed. (Bad file number)
ERROR(send_recovery_packet): send failed and PGR_Create_Socket_Connect failed
DEBUG(replicate_loop): replicate_loop selected
DEBUG(PGRclear_connections): replicate loop exit
DEBUG(replicate_loop): wait replicate
---------------------------------------
高橋 一成 <kazunari.takahashi @ ctc-g.co.jp>
pgcluster メーリングリストの案内