岩崎@サード
岩崎@サード
2011年 5月 23日 (月) 09:32:12 JST
岩崎@サードウェアです > heartbeat、DRBD、postgresqlを使用して、 > データベースクラスタサーバを構築しております > > xxx_ech_db01サーバ (master)障害が発生時、 > xxx_ech_db02サーバ(slave)にフェイルオーバーを行うように設定しております。 > > xxx_ech_db01サーバ障害(postgresにて処理に負荷が発生し、postgresのサービスが異常終了)が発生した時に、 > xxx_ech_db02サーバにフェイルオーバーされていたのですが(masterにはなっており、mountもされていました) > がpostgresのサービスが起動しておりませんでした。 この場合Heartbeatは正常にフェイルオーバー処理がされているようですね。 となると、PostgreSQLが起動しない原因は、PostgreSQL自体の起動プロセス中に問題が発生している可能性が 高いかと思います。PostgreSQLのログを見て何かエラーが発生しているか、長い処理が発生していないかを 確認してみてはいかがでしょうか。 異常終了したときにデータが壊れてしまって起動しないというのも考えられないことではありません。 DRBDは論理的な破壊が発生した場合、その破壊した情報も正常にレプリケーションしますので、フェイルオーバー 後にデータエラーで起動しない事も考えられます。