Windows、または Linux クラスターでのハートビート、フェイルオーバー、およびクォーラム

Evidian SafeKit

Windows、および Linux 上のクラスターでハートビートおよびフェイルオーバーが機能する仕組み

2 つのサーバーを同期して、サーバー障害を検知する基本的なメカニズムはハートビートといい、ペアのサーバーによって共有されるネットワーク上のデータ フローを監視します。

SafeKit ソフトウェアは、2 つのサーバーが共有するネットワーク上にあるハートビートであればいくつでもサポート(英語)します。ハートビートのメカニズムは、Windows、および Linux クラスターの実装に使用されます。ハートビートはミラー クラスター アーキテクチャに統合されています。

通常の運用では、2 つのサーバーがハートビート チャネル経由で自らの状態 (PRIM、SECOND、リソースの状態) を交換して、アプリケーションの開始および停止手順を同期します。特に、ソフトウェア障害または手動での操作に起因するアプリケーション フェイルオーバーの場合には、開始スクリプトがセカンダリ サーバーで実行される前に、アプリケーションを停止する停止スクリプトがプライマリ サーバーで先に実行されます。したがって、セカンダリ サーバーで複製されたデータは、アプリケーションのクリーン ストップに応じて安全な状態になります。

すべてのハートビートが失われると、他のサーバーがダウンしていると解釈され、ローカル サーバーが ALONE 状態に切り替わります。アプリケーション ALONE 状態になったのが SECOND サーバーである場合、フェイルオーバーが発生して、セカンダリ サーバーのアプリケーションが再起動されます。必須ではありませんが、ネットワーク障害の場合とサーバー障害の場合を切り離すために、2 つの異なるネットワーク上に 2 つのハートビート チャネルを用意して 2 つのサーバーを同期することが推奨されます。

サーバーが 2 つのリモート コンピューター ルームにある場合のクラスター クォーラムの問題

ほとんどの場合、データ センターの重要なアプリケーションを保管する HA クラスターは、部屋全体の障害に対応するために 2 つの地理的に離れたコンピューター ルームにある 2 つのサーバーを使用して実装されます。

両方のコンピューター ルーム間の一時的なネットワーク分離の状況では、スプリット ブレインの問題が発生します。両方のサーバーが、重要なアプリケーションを開始する場合があります。

ハードウェア フェイルオーバー クラスターを使用すると、二重実行が共有ディスクへの同時アクセスおよび重要なアプリケーション データの破損の可能性を意味するため、この状況は発生しません。これが、重要なアプリケーションのこの同時実行を回避するために 3 番目のクォーラム サーバーまたは特別なクォーラム ディスクにクラスター クォーラムを実装する理由、あるいはリモート ハードウェア リセットを備える理由です。

残念なことに、この新しいクォーラム デバイスによってコストがさらにかかり、クラスタリング アーキテクチャ全体の複雑さが増します。そして、システムが OS のフリーズから逃れられるということはありません。つまり、OS がフリーズから回復する際に、前述のメカニズムがあったとしてもアプリケーションの二重実行が発生します。

SafeKit を使用したシンプルなクラスター クォーラム

クラスター クォーラムのビデオ: 専用のクォーラム サーバーおよびクォーラム ディスク不要SafeKit HA ソフトウェアを使用すると、Windows、および Linux クラスター内のクォーラムでは、3 番目のクォーラム サーバーを必要とせず、クォーラム ディスクおよびリモート ハードウェア リセットも必要ありません。SafeKit クォーラムにはシンプルなネットワーク チェッカー(英語)で充分です。

いかなる場合でも SafeKit HA クラスターは、データを破損することなく、重要なアプリケーションの二重実行に対応しています。クォーラム向けのネットワーク チェッカーがない状態で OS のフリーズまたはネットワーク分離が発生しても、プライマリ サーバーは ALONE 状態でアプリケーションの実行を継続します。そして、セカンダリ サーバーはアプリケーションを再起動して、同じく ALONE 状態になります。複製されたディレクトリは分離され、実行中の各アプリケーションは自身のディレクトリ内にある自身のデータに対して作業を行います。

ネットワークが再度接続されると、2 つのサーバーのうちの一方のアプリケーションをシャットダウンすることで犠牲を払う必要があります。この犠牲により一方のサーバーのアプリケーションがシャットダウンされ、プライマリ サーバーからデータが再統合されます。この再統合の後で、データはプライマリ サーバーとセカンダリ サーバーの間で再度ミラー モードとなります。

これらの操作すべてが自動的に行われます。クラスター内のハートビート、フェイルオーバーおよびクォーラム管理の複雑さは SafeKit 製品内部に統合され、SafeKit のユーザーがそれを意識することはありません。したがって、SafeKit を展開する人に特定のスキルがなくても、ローカルまたはリモートなどのあらゆる構成の 2 つの標準的なサーバー上に SafeKit を展開できます。さらに、構成は Windows、または Linux クラスターで同じです。

SafeKitモジュール

SafeKitのデモンストレーション

SafeKitウェビナー(英語)

Microsoft SQL Serverミラー(英語)

Apacheファーム(英語)

Hyper-V クラスタ(英語)

SafeKitの詳細

正しい選択

市場には様々な種類の高可用性ソリューションがありますが、SafeKit の特徴は、以下に示すようなシンプルさにあります。

ソフトウェア クラスタリング vs ハードウェア クラスタリング

サーバー クラスターを構築するときには2つの選択肢があります。SafeKit のようなソフトウェア クラスタリングと、ハードウェア クラスタリングです。SafeKit の方がはるかに実装が簡単です。

シェアード ナッシング クラスター vs 共有ディスク クラスター

SafeKit は、共有ディスク クラスターではなくシェアード ナッシング クラスターです。共有ディスクを構成する必要がないため、サーバーを簡単に遠隔地のコンピューター ルームに配置できます。 SAN や複製ディスクは必要ありません。

VM HA とアプリケーション HA

VM HA では高可用性が仮想マシン レベルで実装され、アプリケーション HA では高可用性がアプリケーション レベルで実装されます。VM HA とアプリケーション HA のどちらかを選択するには、この記事を参照してください

バイトレベル ファイル レプリケーション vs ブロックレベル ディスク レプリケーション

バイトレベル ファイル レプリケーションでは、ブロックレベルディスク レプリケーションとは違って、リアルタイムで複製するファイルのディレクトリを定義するだけで済みます。SafeKit はファイル ベースのレプリケーション ソリューションであるため、完全に複製される特別なディスクを構成する必要はありません。

同期レプリケーション vs 非同期レプリケーション

非同期レプリケーションではなく同期レプリケーションの SafeKit を選択すれば、フェールオーバー時にデータが失われることがありません。

ネットワークの前提条件のないネットワーク負荷バランス

SafeKit は、特別なネットワーク構成を必要としないマイクロソフトの NLB マルチキャストまたはVMware でのユニキャストに代わるものです。そして、それは、Windows および Linux 上で実行可能です。

SafeKit の高可用性アーキテクチャ