スプリットブレインの回避と対策
スプリットブレインの回避と対策
共有ディスク型はユーザデータが1ヶ所にしか存在しないため、スプリットブレイン状態の影響は深刻です。誤って複数のサーバより共有ディスクの中身を上書きしてしまい中身のデータを失う可能性があります。
Windows版はスプリットブレイン状態であると認識した場合、次のいずれかもしくは複数の手法により確認し、現用系を選択します。
- 共有ディスクを使った解決
- 各サーバよりクラスタパーティションへ書き出されたタイムスタンプ情報を元に現用系を選択します。
- COM接続を使った解決(2ノードの場合)
- RS-232Cクロスケーブルを用います。
- 多数決方式を使った解決(3ノード以上の場合)
- 相手サーバとの接続がより多く確認できるサーバを現用系とします。
- pingを使った解決
- クラスタサーバ以外でIPアドレスを持ったネットワーク機器に対してping応答の確認が取れたサーバを現用系とします。
Linux版は共有ディスクやCOM接続をイーサネットのインターフェースと同等レベルに位置づけており、常に並行で確認させてサーバ間の状態を把握しているため、スプリットブレイン状態にならない設計でデザインされています。
多様なストレージと接続可能
オリジナルのフィルタリングドライバを製品に内蔵し、排他制御をサーバ側で行っています。SCSI reservationは使用していません。特別なSCSIコマンドも使っていないため、多様なストレージと組み合わせて使用することができます。スト レージパス冗長化ドライバ(ソフトウェア)との相性もよく、ダイナミックロードバランスの機能と合わせて使用可能です。VERITAS Storage Foundationなどのディスク関連ソフトウェアとの相性もよいです。
共有ディスク不要のデータミラー型
小規模システム向けに共有ディスク不用で内蔵ディスクをミラーリングするデータミラー型も取り揃えています。サーバ2台だけでクラスタが組めるためコストパフォーマンスが高いのが特長です。
ミラードライバはファイルシステムの下位に位置し、ディスクをブロック単位で同期を行います。同期のタイミングはミラー領域へ書き出されるたびに同 期が行われる完全同期モードのため、データの保全性は高いです。ディスクへの書き出し性能は若干さがりますが、データベース用途でもたくさん使われていま す。
片側サーバダウンの縮退状態からの復帰は、ダウン中に変更の生じたブロックの位置情報をクラスタパーティションに圧縮して保持し、復帰させるサーバ に対して差分のブロックデータのみ同期を行うため、たいへん短時間で同期処理を終えて冗長構成の運転に戻ることが特長です。
もちろんこの差分同期は、計画的にミラーリングの機能のみ停止させて待機系のミラーパーティションよりデータをバックアップするスナップショットバックアップ運用の直後にもたいへん大きな効力を発揮します。
リソース編集
フェイルオーバーグループに登録するリソースの登録方法について説明します。いずれの場合も設定は1ヶ所からで済ますことができ、自動で設定内容の反映がサーバ間で同期されるので便利です。
Windows版ではOSに問い合わせて、IPアドレス、パーティションの情報を自動で読み込み、設定可能なリソースをリストアップした中から選択できるようになっています。
アプリケーションの開始停止の定義はスクリプト(バッチファイル記述)で実装されており、任意に編集できるオープンな設計です。コンパイラを必要と しないため構築途中のデバッグが容易です。また主要のアプリケーション用スクリプトをCDに収めたスタートアップキットがあり、スクリプトを編集する手間 を省く工夫がされています。
Linux版はトレッキングツールと呼ばれるGUIからパラメータを入力して、ファイルに格納します。そのファイルをいずれかのサーバで読み込ませ ると各クラスタサーバの間で自動的に展開され設定が反映されます。ファイルはUSBメモリやFDなどに格納できるため使い勝手がよく、オフサイトで利用で きる設計デザインとなっています。もしもサーバが故障して交換する場合でも、このトレッキングファイルを再度読み込ませることにより復元できるため、回復 力に優れています。
