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

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

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

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

生存ノードの決定と方法

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

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

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

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

タイブレーカ機構の実装

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

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

そのため、ハートビート (KA) の異常停止に弱く、N+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はノード間通信経路としても利用され、ノード間通信の可用性を高める。 不明

関連項目

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.