スプリットブレインとは?起こる仕組みと対策方法をご紹介

    冗長構成にしたらもう安心?いいえ、知っておくべきリスクがまだあります。

    今回はデータロストの危険がある「スプリットブレイン」とはなにか、そしてその対策として有効な「Storage Quorum/Witness」について解説します。

    スプリットブレインとは?

    スプリットブレインとは、クラスターシステムにおいてノード同士の通信が途絶えた際に、複数のノードが同時に稼働系としてふるまってしまう状態のことを指します。 

    スプリットブレインが発生する原因

    クラスターシステムにおいて、お互いに監視し合っていたノード同士の通信が途絶えることで、お互いが稼働しているのかが分らなくなってしまい、スプリットブレインが発生します。 

    スプリットブレイン発生による影響

    クラスター環境では、スプリットブレインは非常に注意が必要です。サービスが正しく機能しないばかりか、一つのストレージに複数のノードから同時にデータ書き込みが行われるために、最悪の場合、データロストやデータ破損につながる可能性があるからです。

    split-brain

    スプリットブレイン対策

    スプリットブレイン対策として有効なのが、I/Oフェンシングの仕組みです。I/Oフェンシングとは、障害ノードをデータから切り離すことにより、ストレージへの非協調的なアクセスを防止する機能です。複数のノードが同時に起動しないよう制御することで、スプリットブレインを防ぐことができます。

    弊社HAクラスタソフト「LifeKeeper」では、従来からスプリットブレイン回避のため、SCSIの仕組みをはじめとする複数のフェンシング機能を提供してきました。今回、LifeKeeper for Linux v9.3 から新たに加えられたのが、「Storage Quorum/Witness」です。

    storage quorum witness

    Storage Quorum/Witnessのメリット

    このStorage Quorum/Witnessは、これまでLifeKeeperが提供してきたフェンシング機能のなかでも特に、「低コストで高い障害性が得られる」ことが大きなポイントです。

    専用ノード一つ、専用のサポートストレージのLUNを一つ、クラスターの物理ノード用のラック…など、従来のI/O フェンシングのような、ややハードルの高い準備は必要ありません。Storage Quorum/Witnessは、クラスターの全ノードから読み書きができるものを用意できれば、それだけでOKです。

    具体的には、以下のうちいずれかがあれば、Storage Quorum/Witnessが構成できます。

    • blockストレージ(LifeKeeperサポートストレージである必要はありません)
    • ネットワークファイルシステム(NFS)領域
    • アマゾンウェブサービス提供のS3クラウドストレージサービス

     いずれも、従来のI/O フェンシングと比較すると、各段に低コストで実現できます。また、オプションのARK製品も不要です。

    弊社より、構築ガイドもご用意しています。ぜひ、実際に試してみてくださいね。

    お問い合わせ

    「機能について詳しく知りたい」「自分の持っている案件は対応できそうか?」といった場合は、下記までお気軽にお問い合わせください。

    SNSでもご購読できます。