[pgcluster: 1023] Re: クラスタの復旧手段について

At.Mitani mitani @ sraw.co.jp
2008年 2月 21日 (木) 13:51:27 JST


田中様、

rsyncの一回目と二回目の違いについて、お答えするのを忘れておりました。
やっている内容はほぼ同じですが、ロードバランサがサービスを遮断するかどうかが異なります。

まず、一回目のrsync中は、ロードバランサはマスタDBへのアクセスを止めません。
外部からのアクセスを受け付けつつ、マスタDBのスナップショットを取ってきます。

ですので、二回目のrsyncは(一回目との差分しか取りませんので)短時間で終了することが期待できます。
マスタDBと完全にデータを一致させるため、二回目のrsync中はロードバランサが、外部からマスタDBへのアクセスを遮断します。

ですが、(マスタDBとターゲットDB以外に)もう1台クラスタDBがある場合、
ロードバランサはそちらにセッションを張りますので、外部へのサービスを止めずに
二回目のrsyncを実行できます。

二回目のrsync中に受けた更新クエリーは、レプリケーションサーバ内のキューに貯められます。
二回目のrsyncが終了すると、キューに貯まったクエリーがマスタDBとターゲットDBで実行されます。

キューに溜ったクエリーを全て実行し終わるとリカバリーが終了したと認識し、
ロードバランサでのサービス遮断を解除し、ターゲットDBがホストテーブルに追加されます。

オンライン・リカバリーの内部はこんな感じです。


On Thu, 21 Feb 2008 13:07:18 +0900
田中 美紀雄 <comsosys @ mb.snowman.ne.jp> wrote:

> 田中です。
> 
> 三谷様、早速のご回答ありがとうございます。
> 
> >リカバリーのrsyncの1stフェーズで失敗する事例は幾つか報告を受けています。
> >殆どの場合、
> >(1)DB Clusterのサイズが大きい
> 
> 現在、DBのサイズは90Mbyteなのでサイズ的には問題ないかと・・・
> レコード件数は13万件となっております。
> 
> >(2)ネットワークの実効速度が遅い
> >(3)ネットワークカード、ハードディスクのハードウェアトラブル
> >が原因のようです。
> >(3)の場合はハード交換しか手がないのですが、
> >(1)と(2)が複合している場合、rsyncのパラメータにbwlimitを加えることで
> >ほぼ解決されることが分かっています。
> 
> こちらは調べてみたところスイッチングHUBと ギガビット I/F で
> 接続しているのですが何かのはずみに数秒間 リンクダウンしているようです。
> さしあたってリンクダウンの原因から調査していきたいと思います。


-- 
At.Mitani <mitani @ sraw.co.jp>



pgcluster メーリングリストの案内