[CLUSTERPRO]ミラーディスク方式でデータ破壊しないよう起動時に気をつけること

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CLUSTERPRO関連記事

コンニチハ。千葉です。

AWSでCLUSTERPROを利用する場合、共有領域はミラーディスク方式となります。

ミラーディスク方式では、ActiveサーバからStandbyサーバへデータ同期するのですが、クラスタサーバの起動順番を気をつけないと思わぬデータ破損につながります。

本エントリーでは、AWSでCLUSTERPROを利用する場合の起動時のディスク同期処理の整理しつつ、絶対やってはいけない起動順番について書こうと思います。

通常時のデータ同期パターン(やっても問題ないパターン)

1号機2号機同時起動

clusterpro-start-1

同時起動時はマスターサーバである1号機がActiveサーバとなります。

1号機から2号機にディスクがミラー同期されます。

clusterpro-mirror-1

では、どれくらい1号機2号機起動タイミングにずれがあってもよいか?

「同期待ち時間」というパラメータがあり、デフォルト5分となっています。

つまり、起動時間差を5分以内にすれば1号機から2号機へミラー同期するという動作になります。

1号機起動後、ある程度(デフォルト5分)してから2号機を起動する

clusterpro-start-2

これは、1号機2号機同時起動パターンと同じ挙動になります。

clusterpro-mirror-1

2号機起動後、ある程度(デフォルト5分)してから1号機を起動する

clusterpro-start-3

起動時間差以上の時間をあけると、2号機にて自動で業務起動します(もちろん、5分待たずとも手動で起動することも可能です)

その後に、1号機を起動すると2号機から1号機にディスクがミラー同期されます。

clusterpro-mirror-2

やっては行けない起動順序:1号機2号機ともに孤立起動するタイミングがある

clusterpro-start-4

1号機のみが起動、データ更新が発生。データ更新があったが、2号機にデータ同期せず。1号機にのみ更新データが存在。

clusterpro-mirror-3

2号機のみが起動、データ更新が発生

clusterpro-mirror-4

この時点で、1号機・2号機でデータ差分が発生してしまいます。

この状態で同期してしまうと、2号機のデータを失うことになります。

clusterpro-mirror-5

最後に

あたりまえのようですが、緊急時に焦っているとやってしまう可能性があるなーと思いました。

データは大切です、気をつけるに越したことはありません!