スプリットブレインシンドローム

スプリットブレインシンドロームsplit-brain syndrome)またはネットワークパーティション問題とは、複数のコンピュータノード)を相互接続して1台のサーバのように動作させるシステム密結合クラスター)において、ハードウェアインターコネクト障害によりシステムが分断され、1つのサービス(仮想IPを含む)がクラスタ内の複数のノード群で同時に起動してしまい、サービス供給が停止してしまう状況のこと。

スプリットブレインシンドロームが発生すると、クラスター外からのサービスへのアクセスが不能な状態に陥ったり、複数のノードのデータベースへの書き込みが競合し、データベースを破壊したり一貫性を喪失するなど、さまざまな致命的現象を引き起こすことになる。

ミッションクリティカルな密結合クラスターには、障害が発生した場合もクラスターを動的に再構成してサービスを維持する対障害機構が備わっており、スプリットブレインシンドロームはこの機構によって発生する副産物といえる。

生存ノードの決定と方法

編集

 多くの密結合クラスターではスプリットブレインシンドロームを防ぐために、ある生存ノード群はそのノード数があらかじめ定めたクラスター定足数(多くの場合は全ノードの過半数)を占めているときにのみ、Vote(ラテン語の投票)によるマスタノードの決定を行い、マスタノードの制御に従って処理を継続する。

一方、ノード数がクラスターノードの定足数に対して1/2となる場合、Voteによるマスタノードの決定や生存ノードの決定時の均衡を破る機構(機能からタイブレーカと呼ばれる)を利用して、自らをマスタノードとしてよいかどうかを判断する。

判りやすい例として、2ノードクラスタにおいてインターコネクト障害などによりノード間通信が停止した場合、このタイブレーカ機構により、マスタノードとなった方が生き残り、スレイブとなった方が緊急停止(強制パニック)してサービスの継続を図る。

なお、このマスタノードはマジョリティノード/マネージャノードなど、各クラスタパッケージにおいて呼び方が異なる。多くの場合、Voteからマジョリティノードと呼ばれる。

タイブレーカ機構の実装

編集

商用Unix系の高可用クラスターパッケージにおいては、Vote数が同票の場合、それぞれマスタノードを決定するスキームがある。特に2ノードクラスターの場合、サバイバルノードを決定する方法に特色がある。 各パッケージのサバイバルノードを決定するスキームは以下の通り。

パッケージ名称 対応OS ベンダ 実装方式 クラスタノードの強制移行の名称
HACMP AIX IBM 共用ディスクがある場合、ディスクを使用したキープアライブチェック機構をサポートしている。ちなみにスプリットブレインシンドロームを防ぐため、優先ノードを生存させるノード間調停機構 (DSGP) はあるが、状況を判断してシステムの強制停止を行うようなロジックはサポートされていない。

そのため、ハートビート (KA) の異常停止に弱く、N+1クラスタ構成や両現用構成を取った場合、ノード間通信が阻害された時にスプリットブレインシンドロームが発生しやすいというデメリットがある[1])。

DGSP
MC/ServiceGuard HP-UXLinux HP日立製作所NEC 接続方式によらないクォーラムサーバ機構とSCSI/FC接続のロックディスクをサポート。LVM(VERITAS製)のVG管理領域にロック管理情報を持ち、対応する。 TOC
Oracle Solaris Cluster Solaris オラクル SCSIロックとロックディスクによるタイブレーカ機構をサポート。LVMとしては、VERITASVxVMかSolaris自体の持つSVMを使用する。SVM使用時には、SMF配下で監視管理されるrpc.metadにより定足数デバイスの管理が行われる。 強制パニック
CLUSTERPRO Linux/Windows/商用UNIX(予定) NEC SCSI/FC接続のロックディスクをサポート。LVM(VERITAS互換)のVG管理領域にロック管理情報やDisk管理領域に独自の設定方法を持ち、対応する。 強制パニック
ClusterPerfect Linux 東芝 SCSI/FC接続のロックディスクをサポート。LVM(VERITAS互換)のVG管理領域にロック管理情報を持ち、対応する。 不明
VxClusterServer 各商用UNIX/Linux VERITAS SCSI/FC接続のロックディスクをサポート。LVM(VERITAS互換)のVG管理領域にロック管理情報を持ち、対応する。 不明
LifeKeeper Linux SteelEye Technology SCSIロックをサポート。FC接続の場合、仮想SCSI上にフェンシング機能を実装する。 不明
Red Hat Cluster Suite Linux Red Hat 共有ディスクにvoteを持たせるquorum diskによるタイブレーク機構を持つ。quorum diskはノード間通信経路としても利用され、ノード間通信の可用性を高める。 不明

関連項目

編集