Home –  未分類 – PacemakerとPostgreSQLの組み合わせがやっと出来ました。

PacemakerとPostgreSQLの組み合わせがやっと出来ました。

最初わけがわからず挫折した、PacemakerとPostgreSQL 9.1の同期レプリケーションによるマスター・スレーブ構成の設定がなんとか完了しました。

未だに意味のわからない設定とか多々あるので、これから学習しなければ・・・と思います。

えと、使ったリソースエージョントは「PostgreSQL 9.1 ストリーミングレプリケーション対応 リソースエージェント」です。

さて設定についてですが基本的にPacemakerわかる人はすぐわかると思いますし、私がやった設定をここで書いても私自身解説できないのでなんの意味もないのでここでは書かない事とします(;´Д`)

個人的にハマったのは、nodeリストにうっかりホスト名を間違えて記載してしまって気がつかずに数時間・・・もしくは一日ぐらいはまってました(;´Д`)

あと、スレーブ側のPostgreSQLのpgsql-statusがHS:aloneのまま上手くいきませんでした。

これはどうやって直したのかよく覚えてないのですが、多分yumでインストールしたPostgreSQLではenable-nls設定されているためうまく動作せず、改めてソースから–enable-nlsオプションは付けずにコンパイルしたものを使いました。
たぶんそれで解決出来ると思います。

pg_controldataコマンドがローカライズされてしまって、うまく認識できないんじゃないかと推測しています。

まったくもって勘違いでした。もう一度やってみたら普通に動作しました。お騒がせいたしましたm(_ _)m

そうこうしてやった結果、なんとか動作しましたcrm_mon -fAをしてみるとこんな感じになりました。

============
Last updated: Sun Jan 8 18:40:50 2012
Stack: Heartbeat
Current DC: postgres02 (94f13cd6-969f-42e8-afb1-121484975bb3) - partition with quorum
Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87
2 Nodes configured, unknown expected votes
4 Resources configured.
============

Online: [ postgres02 postgres01 ]

vip-master (ocf::heartbeat:IPaddr2): Started postgres02
vip-slave (ocf::heartbeat:IPaddr2): Started postgres01
 Master/Slave Set: msPostgresql
 Masters: [ postgres02 ]
 Slaves: [ postgres01 ]
 Clone Set: clnPingCheck
 Started: [ postgres02 postgres01 ]

Node Attributes:
* Node postgres02:
 + default_ping_set : 100
 + master-postgresql:0 : 1000
 + master-postgresql:1 : -INFINITY
 + pgsql-data-status : LATEST
 + pgsql-master-baseline : 11:0000000011000078
 + pgsql-status : PRI
* Node postgres01:
 + default_ping_set : 100
 + master-postgresql:0 : -INFINITY
 + master-postgresql:1 : 100
 + pgsql-data-status : STREAMING|SYNC
 + pgsql-status : HS:sync

Migration summary:
* Node postgres02:
* Node postgres01:

構成がサンプルと微妙に違うせいかcrm_mon -fAの結果も結構違うのが気になっていますが、幾つかやってみた感じだ問題なく動いているように感じます。

 

あとは色々試してみて問題無いことを確認するのと障害発生時の対応HOW TO集を準備できればよい・・・と。

5 thoughts on “PacemakerとPostgreSQLの組み合わせがやっと出来ました。

  1. こんにちは。
    開発中のRA使って頂いてありがとうございます。

    pg_controldataコマンドがローカライズされて
    しまうことが気になりました。
    Pacemaker起動するrootユーザは日本語環境になっているのでしょうか?
    また、Pacemkaer自体の起動ってどのように行われました?
    (serviceコマンド? or /etc/init.d/heartbeat start?)

    よろしければ、今後の改善に繋げたいので
    教えて頂けると助かります。

  2. saitou

    こんな過疎なところまで来ていただきありがとうございますΣ(゚д゚lll)ガーン
    まずyumでのインストールですがこちらのリポジトリを利用しております。
    http://yum.pgrpms.org/
    ここから9.1系のPostgreSQLをインストールしました。

    今はソースからインストールしなおしてしまったので、当時の状況は記憶でしかないので申し訳ありませんが・・・。

    >Pacemaker起動するrootユーザは日本語環境になっているのでしょうか?
    素のScientificLinux 6.1でインストール時に日本語していしている感じです。
    特に何もしておりませんので日本語環境?と思っています・・・が勘違いでしたらすいません。

    >(serviceコマンド? or /etc/init.d/heartbeat start?)
    最初は/etc/init.d/heartbeat startでやっています。
    ただ その後はchkconfig で自動起動に設定しています。

    あと、ここまで書いていて申し訳ないのですが、yumで設定してうんうん唸ってたときは実は他の設定も間違っていたような気がします(;´Д`)

    私自身も気になってますので、ちょっと今は手をつける余裕がないのですが後ほどまた試してみたいと思っています。
    それとPacemaker自体が始めたばっかりでよくわかってないので設定とかも間違ってそうですので話半分に聞いていただけると助かります。

  3. その後確認しましたが、pg_controldataコマンドの結果
    が日本語といっても、日付部分ぐらいしか日本語に
    なっていないので、影響はなさそうな気がします。
    (実機未確認ですが・・・)
    情報ありがとうございました。

    PS
    RAの仕様はまだ変わってくるので、とりあえず安定した物を使いたいならば pg-rexブランチの使用をお勧めします。ドキュメントも分けました。
    https://github.com/t-matsuo/resource-agents/wiki

  4. saitou

    情報ありがとうございます。
    pg_control_dataの件は私の勘違いかもしれないと思っていたところでしたので、個人的にも後ほどチェックしたいと思います。

    あとRAの仕様の件も了解です。
    現時点では別に運用に載せる事はまだ考えておらず個人的なレベルでとどまっているので、安定感は求めていませんが情報ありがとうございます。

  5. saitou

    –enable-nlsされているyumからのインストールでも問題なく動作したので記事修正しました(;´ρ`)

コメントを残す