[pgsql-jp: 41427] Re: ストリーミング・レプリケーションでデータの同期が行われなくなった

朝倉 佑貴 asakura.yuuki @ nttcom.co.jp
2013年 6月 17日 (月) 19:25:59 JST


朝倉です。

pgpool-Ⅱは専門外なので、何ともいえませんが。。。

先ほどのメールでお伝えした、TimeLineIDの確認と、
レプリケーション状態の確認はやった方がいいと思います。

恐らく、レプリケーションが何らかの理由により打ち切られて、
(Slaveがpromoteされて、)両ノードとも更新できる状態になって
しまっているんだと思います。

PostgreSQLのログを、怪しい日あたりから追ってみると、
何かでているかもしれません。




(2013/06/17 19:11), Keiji Yoshida wrote:
> 朝倉様
>
> 吉田です。
> ご返信くださいまして、誠にありがとうございます。
>
> >DBサーバは2台で構成され、1台がMaster、もう1台がSlaveで、
> >ストリーミングレプリケーションを組んでいた、
> >であっていますか?
>
> はい、おっしゃる通りです。
> アプリケーションサーバからは、pgpool-II(マスタースレーブモード)経由でデータベースサーバへアクセスしております。
>
>
> >更新系SQLは、両方のサーバへ発行される構造となっておりましたため、
> >この部分が分かりません。
> >ストリーミングレプリケーション + ホットスタンバイの構成だと、
> >そもそもSlave側は参照専用で、更新はMaster側にだけしか
> >発行できないのですが。。。
>
> そもそもMasterへしか発行されないはずの更新系SQLが、現在はSlaveへも発行されるようになってしまっております。
>
> このようなことになってしまったことの原因を突き止めようしておりますが、調査に苦戦している状況でございます。
>
> ご多用のところ大変恐縮でございますが、何卒よろしくお願い申し上げます。
>
>
> 吉田
>
>
> On 2013/06/17, at 18:57, 朝倉 佑貴<asakura.yuuki @ nttcom.co.jp>  wrote:
>
>> 朝倉と申します。
>>
>> サーバ構成がよくわからないので、教えてください。
>> DBサーバは2台で構成され、1台がMaster、もう1台がSlaveで、
>> ストリーミングレプリケーションを組んでいた、
>> であっていますか?
>>
>>
>>> 更新系SQLは、両方のサーバへ発行される構造となっておりましたため、
>> この部分が分かりません。
>> ストリーミングレプリケーション + ホットスタンバイの構成だと、
>> そもそもSlave側は参照専用で、更新はMaster側にだけしか
>> 発行できないのですが。。。
>>
>>
>> Master側に発行した更新が、Slave側に反映されなくなった、
>> ということなら、Slave側がpromoteされてしまった可能性を
>> 考えます。
>>
>> この線で調査するなら、
>> ①それぞれのサーバで、「pg_controldata<PGDATA>」を実行して、
>> TimeLineIDを確認する
>> ②Master側で、「SELECT * FROM pg_stat_replication」を実行して、
>> レプリケーションの状態を確認する
>> といった調査方法があると思います。
>>
>>
>>
>>
>>
>>
>>
>> (2013/06/17 18:25), Keiji Yoshida wrote:
>>> 吉田と申します。
>>> お世話になります。
>>> 初めて投稿させて頂きます。
>>>
>>> 現在、Rails+PostgreSQL(9.1.4)で構築されたWEBアプリケーションを、約半年間運用しています。
>>>
>>> DBサーバは2台あり、ストリーミング・レプリケーションでデータの同期を行っています。
>>>
>>> 今までは問題なかったのですが、昨日急に、サーバ間でのデータの同期が行われなくなってしまいました(片方のサーバのみデータが更新される状態となってしまいました)。
>>> 更新系SQLは、両方のサーバへ発行される構造となっておりましたため、
>>> あるデータは1号機のみに存在し、またあるデータは2号機のみ存在するという、どちらのDBサーバも、独自のデータを抱える状態となってしまいました。
>>>
>>> どちらのDBサーバへ発行されたSQLも正常終了しているため、両方ともPostgreSQLのプロセスは正常に稼働していると認識しています。
>>>
>>> 現在、以下の不明点を抱えております。
>>>
>>> (1)なぜ同期できなくなったのか?
>>> (2)どのように同期処理を再開させるか?
>>> (3)どのようにデータを復旧させるか?
>>>
>>> 上記不明点の解消を試みておりますが、どのように調査を進めたら良いかが分からず、作業が止まっている状態です。
>>>
>>> 「こう調査すべき」、「このログを確認すべき」、「このようなことが原因として考えられるため、この点を確認すべき」など、もし考えられる点がございましたら、お知恵をお借りできませんでしょうか?
>>>
>>> お忙しいところお手数おかけ致しますが、何卒よろしくお願い申し上げます。
>>>
>>> 吉田
>>>
>>>
>
>



pgsql-jp メーリングリストの案内