[CLUSTERPRO]ミラーディスク方式でデータ破壊しないよう起動時に気をつけること
コンニチハ。千葉です。
AWSでCLUSTERPROを利用する場合、共有領域はミラーディスク方式となります。
ミラーディスク方式では、ActiveサーバからStandbyサーバへデータ同期するのですが、クラスタサーバの起動順番を気をつけないと思わぬデータ破損につながります。
本エントリーでは、AWSでCLUSTERPROを利用する場合の起動時のディスク同期処理の整理しつつ、絶対やってはいけない起動順番について書こうと思います。
通常時のデータ同期パターン(やっても問題ないパターン)
1号機2号機同時起動
同時起動時はマスターサーバである1号機がActiveサーバとなります。
1号機から2号機にディスクがミラー同期されます。
では、どれくらい1号機2号機起動タイミングにずれがあってもよいか?
「同期待ち時間」というパラメータがあり、デフォルト5分となっています。
つまり、起動時間差を5分以内にすれば1号機から2号機へミラー同期するという動作になります。
1号機起動後、ある程度(デフォルト5分)してから2号機を起動する
これは、1号機2号機同時起動パターンと同じ挙動になります。
2号機起動後、ある程度(デフォルト5分)してから1号機を起動する
起動時間差以上の時間をあけると、2号機にて自動で業務起動します(もちろん、5分待たずとも手動で起動することも可能です)
その後に、1号機を起動すると2号機から1号機にディスクがミラー同期されます。
やっては行けない起動順序:1号機2号機ともに孤立起動するタイミングがある
1号機のみが起動、データ更新が発生。データ更新があったが、2号機にデータ同期せず。1号機にのみ更新データが存在。
2号機のみが起動、データ更新が発生
この時点で、1号機・2号機でデータ差分が発生してしまいます。
この状態で同期してしまうと、2号機のデータを失うことになります。
最後に
あたりまえのようですが、緊急時に焦っているとやってしまう可能性があるなーと思いました。
データは大切です、気をつけるに越したことはありません!