From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 11:40:29 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 11:40:29 +0900 Subject: [pgpool-general-jp: 500] =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCICBwY3BfcmVjb3Zl?= =?iso-2022-jp?b?cnlfbm9kZSBCYWNrZW5kRXJyb3I=?= Message-ID: <20081112113112.217E.20E134CF@ultra-soccer.co.jp> はじめまして。篠田と申します。 現在pgpool-II version 2.1を利用しております。 今回オンラインリカバリの各種設定を行い pcp_recovery_nodeを実行したところ、BackendErrorが発生しております。 コマンドは pcp_recovery_node 300 localhost 9898 ユーザ名 パスワード ノードID としております。 過去ログ参照したところ http://www.sraoss.jp/pipermail/pgpool-general-jp/2007-December/000329.html を拝見したのですが、自己解決できてない状況です。 原因の特定すら出来ていない状況ですので、 どなたかご存知の方、ご教授頂ければと存じます。 宜しくお願い致します。 篠田剛毅 (ty-shinoda @ ultra-soccer.co.jp) From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 13:01:50 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 13:01:50 +0900 Subject: [pgpool-general-jp: 501] =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCICBwY3BfcmVjb3Zl?= =?iso-2022-jp?b?cnlfbm9kZSBCYWNrZW5kRXJyb3I=?= Message-ID: <20081112125828.12AA.20E134CF@ultra-soccer.co.jp> 篠田です。 オンラインリカバリ処理でpcp_recovery_nodeを実行したところ、BackendErrorが発生しており pgpoolのログを見たところ、ダウンしているノードからマスタノードへの コネクションが出来ていない状況です。 コマンドは pcp_recovery_node 300 localhost 9898 ユーザ名 パスワード ノードID としております。 ダウンしているノードから、マスタノードへのコネクションの際の設定ですが postgresユーザ同士でのパスフレーズなしでの認証は通しているのですが、 その他に考慮すべき点はありますでしょうか? 篠田剛毅 (ty-shinoda @ ultra-soccer.co.jp) From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 13:10:39 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 13:10:39 +0900 Subject: [pgpool-general-jp: 502] =?iso-2022-jp?b?GyRCJUYlOSVIJWEhPCVrGyhC?= Message-ID: <20081112131020.12AC.20E134CF@ultra-soccer.co.jp> From saba.kann @ gmail.com Wed Nov 12 13:20:53 2008 From: saba.kann @ gmail.com (koji k) Date: Wed, 12 Nov 2008 13:20:53 +0900 Subject: [pgpool-general-jp: 503] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCIHBjcF9yZWNv?= =?iso-2022-jp?b?dmVyeV9ub2RlIEJhY2tlbmRFcnJvcg==?= In-Reply-To: <20081112125828.12AA.20E134CF@ultra-soccer.co.jp> References: <20081112125828.12AA.20E134CF@ultra-soccer.co.jp> Message-ID: <26b305080811112020v67fbcec2pdfa5d5ead7d1e300@mail.gmail.com> 篠田さん kuwanaと申します。 BackendErrorは「何かエラーが発生したよ」というメッセージなので、一体何が起こっているのかまでは解りません。 オンラインリカバリの設定は以下のページどおりになっていますか? http://pgpool.projects.postgresql.org/pgpool-ja.html#online-recovery 1stステージ用のスクリプトなどに、リダイレクト文を挿入してどの時点までスクリプトが実行されているかチェックするという のも一つの手だと思います。 ちなみに、私がオンラインリカバリの設定をした際に嵌った点はC言語関数のインストール部分でした。 以上、ご確認の程よろしくお願いいたします。 > オンラインリカバリ処理でpcp_recovery_nodeを実行したところ、BackendErrorが発生しており > pgpoolのログを見たところ、ダウンしているノードからマスタノードへの > コネクションが出来ていない状況です。 From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 14:31:00 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 14:31:00 +0900 Subject: [pgpool-general-jp: 504] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCICBwY3BfcmVj?= =?iso-2022-jp?b?b3Zlcnlfbm9kZSBCYWNrZW5kRXJyb3I=?= In-Reply-To: <26b305080811112020v67fbcec2pdfa5d5ead7d1e300@mail.gmail.com> References: <20081112125828.12AA.20E134CF@ultra-soccer.co.jp> <26b305080811112020v67fbcec2pdfa5d5ead7d1e300@mail.gmail.com> Message-ID: <20081112142231.2C50.20E134CF@ultra-soccer.co.jp> kuwanaさん 早速のお返事ありがとうございます。 > オンラインリカバリの設定は以下のページどおりになっていますか? > > http://pgpool.projects.postgresql.org/pgpool-ja.html#online-recovery 上記サイトの通りに設定は完了しております。 > 1stステージ用のスクリプトなどに、リダイレクト文を挿入してどの時点までスクリプトが 1ststage用のコマンドをどこまで実行進んでいるのかを確認したところ スクリプトの最上位からすでに動作がされていませんでした。 pgpool.confに記載している recovery_1st_stage_commandの対象スクリプトの認識が pgpoolサーバから出来ていないと思っているのですが、 現在はその原因が究明できていない状況です。 引き続き調査しますが、何か情報ご存知でしたら 改めてご教授いただけると幸いです。 From saba.kann @ gmail.com Wed Nov 12 15:01:32 2008 From: saba.kann @ gmail.com (koji k) Date: Wed, 12 Nov 2008 15:01:32 +0900 Subject: [pgpool-general-jp: 505] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCIHBjcF9yZWNv?= =?iso-2022-jp?b?dmVyeV9ub2RlIEJhY2tlbmRFcnJvcg==?= In-Reply-To: <20081112142231.2C50.20E134CF@ultra-soccer.co.jp> References: <20081112125828.12AA.20E134CF@ultra-soccer.co.jp> <26b305080811112020v67fbcec2pdfa5d5ead7d1e300@mail.gmail.com> <20081112142231.2C50.20E134CF@ultra-soccer.co.jp> Message-ID: <26b305080811112201m2922099dnb6e1cd9d0a570fa2@mail.gmail.com> 篠田さん > スクリプトの最上位からすでに動作がされていませんでした。 なるほどです。構成としてはpgpoolとPostgreSQLはそれぞれ別サーバですか? pgool.conf内の各DBノードの指定はどのようになっていますでしょうか? 私の実験サーバ上のpgpool.confは、最低でも各ノードに以下の様な4つの情報が必要になっています。 ※値は適当ですので読み替えてください。 backend_hostname0 = '127.0.0.1' backend_port0 = 5432 backend_weight0 = 1 backend_data_directory0 = '/usr/local/pgsql/data' 一番下の、「backend_data_directoryX」も必ず各DBノード毎に指定してください。 この指定がないとやはりBackendErrorになったと思います。 あと、backend_hostnameに関してですが、もしホスト名で指定されているのでしたら念のためIPアドレスで指定 しなおしてみてください。 以上、よろしくお願いいたします。 From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 15:48:05 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 15:48:05 +0900 Subject: [pgpool-general-jp: 506] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCICBwY3BfcmVj?= =?iso-2022-jp?b?b3Zlcnlfbm9kZSBCYWNrZW5kRXJyb3I=?= In-Reply-To: <26b305080811112201m2922099dnb6e1cd9d0a570fa2@mail.gmail.com> References: <20081112142231.2C50.20E134CF@ultra-soccer.co.jp> <26b305080811112201m2922099dnb6e1cd9d0a570fa2@mail.gmail.com> Message-ID: <20081112153930.4F35.20E134CF@ultra-soccer.co.jp> 篠田です。 素早いご回答ありがとうございます。 > 構成としてはpgpoolとPostgreSQLはそれぞれ別サーバですか? はい 別サーバとなっておりまして、pgpoolから 各DBサーバに対しての接続は問題なく出来ております。 > pgool.conf内の各DBノードの指定はどのようになっていますでしょうか? > もしホスト名で指定されているのでしたら念のためIPアドレスで 各DBノードの指定はホスト名で記載しておりました為、 IPアドレスに変更後、pgpool再起動>再度リカバリ実行しましたが 状況は変わらずでした。。 pgpoolのエラーログは下記の通りです。 2008-11-12 15:36:36 LOG: pid 23355: starting recovering node 1 2008-11-12 15:36:36 ERROR: pid 23355: start_recover: could not connect master node. 補足情報ですが、対象としているDBノード上のpostgreSQLは停止しており、 またpcp_node_infoではDownとなっているのは確認しております。 対象以外のDBノードに対して、リカバリスクリプトを実行すると (もちろんノードダウンしていない為)吐き出されるログは、 2008-11-12 15:46:34 LOG: pid 23355: starting recovering node 2 2008-11-12 15:46:34 ERROR: pid 23355: start_recovery: backend node 2 is alive となっております。 From saba.kann @ gmail.com Wed Nov 12 17:50:29 2008 From: saba.kann @ gmail.com (koji k) Date: Wed, 12 Nov 2008 17:50:29 +0900 Subject: [pgpool-general-jp: 507] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCIHBjcF9yZWNv?= =?iso-2022-jp?b?dmVyeV9ub2RlIEJhY2tlbmRFcnJvcg==?= In-Reply-To: <20081112153930.4F35.20E134CF@ultra-soccer.co.jp> References: <20081112142231.2C50.20E134CF@ultra-soccer.co.jp> <26b305080811112201m2922099dnb6e1cd9d0a570fa2@mail.gmail.com> <20081112153930.4F35.20E134CF@ultra-soccer.co.jp> Message-ID: <26b305080811120050r290cbf3bk7bfcd8590fc79742@mail.gmail.com> 篠田さん > 2008-11-12 15:36:36 LOG: pid 23355: starting recovering node 1 > 2008-11-12 15:36:36 ERROR: pid 23355: start_recover: could not connect master node メッセージ的にはサーバに接続できていないようですが、pcp_infoが通っているとの事ですので、 サーバ接続自体は確かに問題ないようですね。 2点確認なのですが、以下はどうなっているでしょうか? 1.backend_data_directoryX」は各DBノード毎に問題なく設定されているか。 2.各DBノード間で、パスフレーズ無しでSSH接続できるように設定されているか。 上記の2点が問題無く、最初に実行されるべき1stスクリプトが実行されないとなると、下記を疑うべきかもしれません。 1.各DBノードの$PGDATA内にリカバリスクリプトが全て揃っているのか。 2.各リカバリスクリプトのオーナーとグループ、及びパーミッションはpgpool.confに指定されているrecovery_userが実行できる権限になっているか 以上、よろしくお願いいたします。 From ty-shinoda @ ultra-soccer.co.jp Wed Nov 12 18:27:32 2008 From: ty-shinoda @ ultra-soccer.co.jp (=?ISO-2022-JP?B?GyRCPERFRCEhOWQ1IxsoQg==?=) Date: Wed, 12 Nov 2008 18:27:32 +0900 Subject: [pgpool-general-jp: 508] Re: =?iso-2022-jp?b?GyRCJSolcyVpJSQlcyVqJSslUCVqGyhCICBwY3BfcmVj?= =?iso-2022-jp?b?b3Zlcnlfbm9kZSBCYWNrZW5kRXJyb3I=?= In-Reply-To: <26b305080811120050r290cbf3bk7bfcd8590fc79742@mail.gmail.com> References: <20081112153930.4F35.20E134CF@ultra-soccer.co.jp> <26b305080811120050r290cbf3bk7bfcd8590fc79742@mail.gmail.com> Message-ID: <20081112181621.3ABE.20E134CF@ultra-soccer.co.jp> 篠田です。 度々お世話になります。 > 2点確認なのですが、以下はどうなっているでしょうか? > 1.backend_data_directoryX」は各DBノード毎に問題なく設定されているか。 > 2.各DBノード間で、パスフレーズ無しでSSH接続できるように設定されているか。 はい。今回の構成はDBノードが4基ありますので、 backend_data_directoryXは4個設定してあります。 また各ノード間でもパスフレーズ無しで接続出来ている状況です。 > 上記の2点が問題無く、最初に実行されるべき1stスクリプトが実行されないとなると、下記を疑うべきかもしれません。 > > 1.各DBノードの$PGDATA内にリカバリスクリプトが全て揃っているのか。 > 2.各リカバリスクリプトのオーナーとグループ、及びパーミッションはpgpool.confに指定されているrecovery_userが実行できる権限になっているか ここに関してですが、 $PGDATA内にリカバリスクリプトは揃っております。 ただ、2の実行権限に関しては、記述ミスを発見し記載を変えたところ 1stステージの最初の入り口だけではありますが、 動き始めた模様です。 そのログが下記になります。 2008-11-12 18:23:42 LOG: pid 25906: starting recovering node 1 2008-11-12 18:23:42 LOG: pid 25906: CHECKPOINT in the 1st stage done 2008-11-12 18:23:42 LOG: pid 25906: starting recovery command: "SELECT pgpool_recovery('pgpool_copy_backup',ホスト名, $PGDATA)" 2008-11-12 18:23:42 ERROR: pid 25906: exec_recovery: pgpool_copy_backup command failed at 1st stage ※一部加工しました。 このログにあるのから推測すると、 XXX.XXX.XXX.XXX:$PGDATA/pgpool_copy_backup というスクリプトを実行してるがエラーを起こしてるようですので、 スクリプト自体の見直しをしてみます。