+0 - 0  by

Pacemakerでのスプリットブレイン復旧手順

DRBD+Pacemaker+Corosyncを用いた冗長化構成における「スプリットブレイン問題の概要」と「基本的な復旧手順」について紹介します。

Pacemakerとは

Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。

Pacemakerの概要については、こちらも参照ください。

→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性

スプリットブレインとは

プライマリサーバが複数存在

スプリットブレインとは、プライマリ+スタンバイ型クラスタで、ネットワークが分断されてしまい2台のサーバ間の調整が上手くいかず、「両サーバがプライマリサーバとなってしまう状態」を意味します。

発生原因

サーバ1号機(プライマリ)+サーバ2号機(スタンバイ)構成の場合、ネットワーク障害が発生してサーバ同士で通信できなくなると、2号機(スタンバイ)は「1号機(プライマリ)がダウンした」と判定を行いプライマリに昇格します。

この結果、サーバ1号機と2号機の両方がプライマリとして動作してしまうことになります。

スプリットブレインにより引き起こされる問題

スプリットブレインが発生するとさまざまな深刻な問題が発生します。
・2台のサーバが同一IPアドレスを名乗る
・データ更新が行われるとデータ不整合が発生する可能性
・共有ハードディスクのファイルシステム破壊の可能性
・ログ混乱 など

基本的なスプリットブレイン復旧手順

DRBD+Pacemaker+Corosyncによる「プライマリ+スタンバイ」クラスタ構成における基本的なスプリットブレイン復旧手順は次の通りです。

①実アクセスサーバを確認

サーバ1号機とサーバ2号機のどちらに実際にアクセスが行われているかを確認します。

②ネットワークの復旧

ネットワーク障害の原因として「ルーティング異常」「LANケーブル断線」「サーバのネットワークインターフェースカード損壊」などがあります。

問題に対処してネットワーク復旧を行い、サーバ1号機/2号機のそれぞれからネットワーク接続を確認します。

③DRBDの復旧を確認

ネットワーク復旧後、DRBD復旧も確認します。

④同期される側のサーバデータを破棄

サーバ1号機/2号機について「どちらのデータが最新なのか?」について厳重に確認を行い、同期される側のサーバデータ破棄を実行します。

このデータ破棄対象サーバの確認作業は非常に重要であるため、慎重な確認作業が必要です。

⑤DRBDでの同期

DRBD同期を再実行して同期完了により正常状態に復旧します。

最後に

PacemakerでのHA環境構築におけるスプリットブレイン対策として、設計時から、「ネットワーク多重化」「スプリットブレイン発生時の対応手順策定」「運用マニュアル整備によるヒューマンエラー削減」など、さまざまな要因と対策について考慮しておく必要があります。特に、さまざまなネットワークが関わるような環境では、さらに手順が複雑になります。

弊社にご連絡をいただければ、運用開始後のスプリットブレイン発生対策までを含めたトータルでのご提案も行えます。まずは、お気軽にお問い合わせください。

 

参考元サイト