[pgsql-jp: 31740] Re: クラスタサーバが起動出来ない (pgcluster-1.0.5)
八田
s-hatta @ exl.ne.jp
2003年 12月 9日 (火) 21:25:23 JST
八田です。
中間報告です。
環境
OS Redhat9.0
・PostgreSQL関連はインストールしない。
・resync関係はデフォルトインストール。
pgcluster-1.0.5
http://www.csra.co.jp/~mitani/jpug/pgcluster/rc2/index.html
のインストール手順、設定でセットアップ。
rsync
pgcluster-1.0.5同様に(rsyncの設定方法)の「3.1 opensshの設定」
「4. テスト」を行い正常に行えた!
結果:同期できません。
#ホスト名は加工しています。
「cluster.conf」
<Replicate_Server_Info>
<Host_Name> Csv.***.jp </Host_Name>
<Port> 8777 </Port>
<Recovery_Port> 7778 </Recovery_Port>
</Replicate_Server_Info>
「postgresql.conf」
tcpip_socket = true
「pg_hba.conf」
host all all 192.168.3.0 255.255.255.0 trust
^^^^^^
「pgreplicate.conf」
<Cluster_Server_Info>
<Host_Name> Asv.***.jp </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7779 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> Bsv.***.jp </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7779 </Recovery_Port>
</Cluster_Server_Info>
マスターDB起動ログ
[postgres @ Asv bin]$ postmaster -i -D /usr/local/pgsql/data
LOG: database system was shut down at 2003-12-09 20:40:47 JST
LOG: checkpoint record is at 0/807A8C
LOG: redo record is at 0/807A8C; undo record is at 0/0; shutdown TRUE
LOG: next transaction id: 490; next oid: 16977
LOG: database system is ready
LOG: server process (pid 24692) was terminated by signal 11
LOG: terminating any other active server processes
LOG: all server processes terminated; reinitializing shared memory and semaphores
LOG: database system was interrupted at 2003-12-09 20:44:57 JST
LOG: checkpoint record is at 0/807A8C
LOG: redo record is at 0/807A8C; undo record is at 0/0; shutdown TRUE
LOG: next transaction id: 490; next oid: 16977
LOG: database system was not properly shut down; automatic recovery in progress
LOG: ReadRecord: record with zero length at 0/807ACC
LOG: redo is not required
LOG: database system is ready
スレーブDB起動ログ
[postgres @ Bsv bin]$ ./postmaster -i -D /usr/local/pgsql/data
LOG: database system was shut down at 2003-12-09 20:41:28 JST
LOG: checkpoint record is at 0/8018FC
LOG: redo record is at 0/8018FC; undo record is at 0/0; shutdown TRUE
LOG: next transaction id: 501; next oid: 16976
LOG: database system is ready
LOG: server process (pid 30116) was terminated by signal 11
LOG: terminating any other active server processes
LOG: all server processes terminated; reinitializing shared memory and semaphores
LOG: database system was interrupted at 2003-12-09 20:45:01 JST
LOG: checkpoint record is at 0/8018FC
LOG: redo record is at 0/8018FC; undo record is at 0/0; shutdown TRUE
LOG: next transaction id: 501; next oid: 16976
LOG: database system was not properly shut down; automatic recovery in progress
LOG: ReadRecord: record with zero length at 0/80193C
LOG: redo is not required
LOG: database system is ready
LOG: smart shutdown request
LOG: shutting down
LOG: database system is shut down
レプリケーションサーバ起動ログ
[root @ Csv bin]# pgreplicate -vn
DEBUG(init_server_tbl): /usr/local/pgreplicate.log open ok
DEBUG(init_server_tbl): PGR_Get_Conf_Data ok
DEBUG(init_server_tbl): LoadBalanceTbl allocate ok
DEBUG(init_server_tbl): Conf data read ok
DEBUG(init_server_tbl): HostTbl shmget ok
DEBUG(init_server_tbl): HostTbl shmat ok
DEBUG(PGRrecovery_main): PGRrecovery_main bind port 7778
DEBUG(PGRrecovery_main): wait recovery
DEBUG(replicate_main): replicate mail 8777 port bind
DEBUG(replicate_main): replicate mail 8777 port bind OK
DEBUG(replicate_main): wait replicate
テーブルを作ってみる
[postgres @ Asv bin]$ createdb 123
CREATE DATABASE
[postgres @ Asv bin]$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
123 | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 rows)
スレーブで確認してみると、、、、
[postgres @ Bsv bin]$ psql -l
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
リカバリーで起動してみる
[postgres @ Bsv bin]$ ./postmaster -i -R -D /usr/local/pgsql/data
./postmaster: recovery failed
スレーブ側でエラーが発生し、以降二度と正常起動しなくなる。
木下さん>
ちなみに、postgresユーザでpgreplicateを起動するとコアダンプ
はきました!
参考になるかな〜!
OSから入れなおし、マスター、スレーブを入れ替えて
も同じでした!
*レプリケーションサーバが異常を検知してマスターDB
が読取専用モードに代わりました(障害感知テストOKです)
非常に長くなって申し訳ないです。
--
hatta <s-hatta @ exl.ne.jp>
pgsql-jp メーリングリストの案内