[Linux-ha-jp] お問い合わせ

Zurück zum Archiv-Index

Takatoshi MATSUO matsu****@gmail*****
2016年 3月 17日 (木) 14:27:28 JST


伊藤さん
松尾と申します。

東さんが仰ってるカスケードは無理かもしれませんが、
以下のようなスター型なら、RAに実装はあります。

Master
        +------Slave
        +------Slave
        +------Slave

あまり需要がなくメンテされていない機能なので、
最近のPostgreSQLで動作するかどうかは全くわかりません。
※ 商用で使うなら、かなり注意が必要かと思います


ちなみに、実装コードはここですね。
※2台目以降のSlasveはPOTENTIAL (動きはASYNC)となります
---
"STREAMING|POTENTIAL")
change_data_status "$target" "$data_status"
change_master_score "$target" "$CAN_NOT_PROMOTE"
change_pgsql_status "$target" "HS:potential"
;;
----

2016年3月17日 11:52  <kazuh****@goo*****>:
> 伊藤様
>
> ひがしと申します。
> お世話になります。
>
>>PostgreSQL上に複数インスタンスを作成し、
>>さらに、Master1台+Slave2台構成にした場合でもPacemakerで制御可能でしょうか?
>
> 残念ながら、Pacemaker(というかpgsql RA)は、3台のPostgreSQLでレプリケーションの
> 制御をすることはできません。
>
> 3重化する場合、まず2台でPacemakerを用いMaster-Slave構成を組み、
> そのSlaveに3台目をPacemakerを使わずに接続させる、という方法が
> 考えられます。
>
>   Master <--- Slave(1) <--- Slave(2)
>      ↑         ↑           ↑
>     Pacemakerで管理         手動でSlave(1)に接続
>    (いわゆるPG-REX)
>
> MasterおよびSlave(1)はPacemakerで管理しているので、MasterまたはSlave(1)が
> 故障した場合は、自動的にフェイルオーバしサービスが継続します。
>
> Slave(2)(3台目)はPacemakerが管理していないので、MasterとSlave(1)が故障した場合は、
> 手動でpg_ctl promote コマンドを実行し、Master化する必要があります。
>
> Slave(2)には手動でrecovery.confを作成し、Slave(1)で稼働している仮想IPアドレス
> (vip-slave)に接続させます。
> こうすることで、MasterまたはSlave(1)が故障した場合でも、Pacemakerが仮想IPを
> 動かすことでSlave(2)のレプリケーション接続は自動的に継続します。
> なお、この動作のため、本構成には、PostgreSQL9.3以上が必須です。
>
>
> Slave(2)は、直接Masterに接続することもできますが、その場合、Slave(1)よりも
> データが進んでしまう場合があり、その瞬間にフェイルオーバが発生すると、
> 新Master(旧Slave(1))に接続できなくなる、という問題が発生する可能性があるため
> お勧めしません。
> 上記のように数珠つなぎ(カスケード)にすることをお勧めします。
>
>
> なお、PG-REXおよびPostgreSQLについては以下サイトなども参考になると思います。
>
> ■JPUG 第24回しくみ+アプリケーション勉強会 セミナー資料
>  http://linux-ha.osdn.jp/wp/archives/3404
>
> ■OSC 2015 Fukuoka講演
>  http://linux-ha.osdn.jp/wp/archives/4137
>  →PG-REXで学ぶPacemaker運用の実例
>
> ■PG-REX公式サイト:最新マニュアル
>  https://osdn.jp/projects/pg-rex/releases/63003
>  →PG-REX9.4利用マニュアル_第1.0版(公開用利用者マニュアル).docx
>
> ■PostgreSQL公式マニュアル:カスケードレプリケーション
>  https://www.postgresql.jp/document/9.4/html/warm-standby.html#CASCADING-REPLICATION
>
>
> 以上です。
> よろしくお願いいたします。
>
> ----- 元のメッセージ -----
> From: "itohysh" <itohy****@yahoo*****>
> 宛先: kazuh****@goo*****, linux****@lists*****
> 送信済み: 2016年3月17日, 木曜日 午前 5:38:41
> 件名: Re: [Linux-ha-jp] お問い合わせ
>
>
>
> ひがし様
>
>
> ご回答ありがとうございます。
> いただいた情報で試してみます。
>
>
> 追加で質問なのですが、
> PostgreSQL上に複数インスタンスを作成し、
> さらに、Master1台+Slave2台構成にした場合でも
> Pacemakerで制御可能でしょうか?
>
>
> 何か知見がありましたら、ご教授いただけると幸いです。
> よろしくお願いいたします。
>
>
>
>
>
>
>
>
> ----- Original Message -----
> From: "kazuh****@goo*****" <kazuh****@goo*****>
> To: 伊藤 康弘 <itohy****@yahoo*****>; linux****@lists*****
> Date: 2016/3/14, Mon 15:03
> Subject: Re: [Linux-ha-jp] お問い合わせ
>
> 伊藤様
>
> ひがしと申します。
> お世話になります。
>
>>PostgreSQL と Pacemaker を用いて HA クラスタ環境を構築し、
>>PostgreSQL のストリーミングレプリケーションでデータ同期しようとしていますが、
>>PostgreSQL 上に複数インスタンスを作成した場合でも
>>Pacemaker で HA クラスタ環境を構築可能なのでしょうか?
>
> 実際に構築したことは無いのですが、理論的には
> 可能なはずです。
>
> 具体的には、PGDATA領域やポート等をきちんと
> 個別のものに分けていただければ大丈夫と思います。
>
> pgsql RAのパラメータでいうと、以下は最低限、
> しっかり分ける必要があると思います。
>
> start_opt:ポートを記載している場合ポート
> pgdata:PGDATA領域
> pgport:ポート
> restore_command:アーカイブ配置ディレクトリ
>
> #他も環境に応じ適宜適切に設定してください。
>
>
> 以上です。
> よろしくお願いいたします。
>
> ----- 元のメッセージ -----
> From: "伊藤 康弘" < itohy****@yahoo***** >
> 宛先: linux****@lists*****
> 送信済み: 2016年3月11日, 金曜日 午後 3:12:38
> 件名: [Linux-ha-jp] お問い合わせ
>
>
>
>
> 伊藤と申します。
>
>
> 質問させていただきます。
>
>
> PostgreSQL と Pacemaker を用いて HA クラスタ環境を構築し、
> PostgreSQL のストリーミングレプリケーションでデータ同期しようとしていますが、
> PostgreSQL 上に複数インスタンスを作成した場合でも
> Pacemaker で HA クラスタ環境を構築可能なのでしょうか?
>
>
> よろしくお願いいたします。
>
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.osdn.me/mailman/listinfo/linux-ha-japan



Linux-ha-japan メーリングリストの案内
Zurück zum Archiv-Index