ブログ - スプリットブレインシンドローム
データベースクラスタをActive/Standbyで運用している時に,ハートビートが異常動作してスタンバイ側のノードでデータベースシステムが起動してしまう問題をスプリットブレインシンドロームという.
クライアントからみると活きているノードが不明になるので接続先が特定できない問題があるのですが,それよりも難しいのはデータベースシステム側.両方のノードからの書き込みによるデータの不整合や,ストレージ装置からみるとI/Oコントローラに保持しているキャッシュがディスクと同期されてない場合,正しいデータがどこにも無い事になる.つまり,最悪はデータベースファイルが破壊される.
これを発生しづらくするにはハートビート回線を多重化して信頼性をあげる事です. 昔は,RJ11を使った心もとないハートビート回線もあったけれどなぁ.
クラスタソフトを選ぶ際には,このスプリットブレインシンドロームをどのように回避しているのかも確認した方が良いですね.
クライアントからみると活きているノードが不明になるので接続先が特定できない問題があるのですが,それよりも難しいのはデータベースシステム側.両方のノードからの書き込みによるデータの不整合や,ストレージ装置からみるとI/Oコントローラに保持しているキャッシュがディスクと同期されてない場合,正しいデータがどこにも無い事になる.つまり,最悪はデータベースファイルが破壊される.
これを発生しづらくするにはハートビート回線を多重化して信頼性をあげる事です. 昔は,RJ11を使った心もとないハートビート回線もあったけれどなぁ.
クラスタソフトを選ぶ際には,このスプリットブレインシンドロームをどのように回避しているのかも確認した方が良いですね.