[前][次][番号順一覧][スレッド一覧]

mysql:8379

From: "HIROSE, Masaaki" <"HIROSE, Masaaki" <hirose31@xxxxxxxxxx>>
Date: Thu, 06 Nov 2003 02:05:56 +0900
Subject: [mysql 08379] Re: レプリケーションの整合性チェック

ひろせです

on "[mysql 08375] Re: レプリケーションの整合性チェック"
   <20031104161852.5828.ryo@xxxxxxxxxx>
at Wed, 5 Nov 2003 01:18:49 +0900
   Okamoto RYO <ryo@xxxxxxxxxx> wrote:

> >> 理想的には、master の Position、slave の Read_Master_Log_Pos,
> >> Exec_Master_Log_Pos の 3 つの値が常に一致しているとよいのですが、
> >> master に更新系のクエリが多かったり、master - slave 間のネットワークが
> >> 遅かったり、master に比べて貧弱だったり他の要因で負荷がかかったりして
> >> いて slave の SQL スレッドの処理が遅れているなどなどの理由で、これら 3
> >> つの値がいつも同一となるとは限らないと思いますし、同一でないからといっ
> >> てレプリケーションが正常動作していないとは言えないと思います。
> >
> >次のようなロジックのスクリプトを書いたことがあります。
> >
> >1. log_file と log_pos の値がマスタとスレーブで一致していれば OK
> >2. でなければ、数秒待って log_pos が更新されていれば OK
> >3. でなければ、NG
> 
> これは、マスタサーバのバイナリログである(例えば)server-bin.001
> ファイルのバイト数と log_pos カラムの値が一致していれば、と
> いうことですね。とりあえず、次のようなロジックを組むことに
> しました。

マスターでの show master status の 「File」と
スレーブでの show slavestatus の「Master_Log_File」の値が等しく、
かつ、
マスターでの show master status の 「Position」と
スレーブでの show slavestatus の「Exec_master_log_pos」の値が等しい
ということなのではないでしょうか?

だとして話を進めると、

> 1. log_file のバイト数と log_pos の値が一致していれば OK

これはその時点でマスターとスレーブが完全に同期しているかが分かり、

> 2. でなければ、Slave_IO_Running, Slave_SQL_Running
> 	両カラムの値をチェック
> 3. どちらかが 'YES' でなければ NG

これは (両方が Yes ならば) 同期しているかどうかは分からないが、正常に
レプリケートは動いている、ということになると思います。


あとは「レプリケーションが正常動作している」の定義とスレーブの使われ方
によって、正常か異常かの判断が異なってくると思います。

例えば、1 のチェックだけだと、更新系のクエリが少ない使われ方の場合、レ
プリケートが停止してから次にマスターが更新系のクエリを受け付けるまでの
間の異常が検出できませんし、スレーブを参照系専用に使っている場合はマス
ターとのレプリケート遅延が発生するとまずいので 1 と 2 の両方のチェック
が必要ですし、完全にバックアップ目的でスレーブを使っているのならば小幅
な遅延は無視できるので、2 だけもしくは 2 に加え 1 もやるけどある程度の
Position の差は異常とみなさないとかとか…ケースバイケースなのではない
かと思います。

ではでは

-- 
ひろせ

[前][次][番号順一覧][スレッド一覧]

      8341 2003-10-30 16:42 [Okamoto RYO <ryo@xxx] レプリケーションの整合性チェック        
      8359 2003-11-03 18:08 ┗["HIROSE, Masaaki" <h]                                       
      8360 2003-11-03 18:37  ┣[Okamoto RYO <ryo@xxx]                                     
      8361 2003-11-03 21:52  ┗[とみたまさひろ <tomm]                                     
      8375 2003-11-05 01:18   ┗[Okamoto RYO <ryo@xxx]                                   
->    8379 2003-11-06 02:05    ┗["HIROSE, Masaaki" <h]                                 
      8380 2003-11-07 00:05     ┗[とみたまさひろ <tomm]