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

Evidian SafeKit

アプリケーション フェイルオーバー時にデータ損失が発生するか?

同期レプリケーション非同期レプリケーションの間には大きな違いがあります。選択によっては、アプリケーション フェイルオーバー時にデータ損失が発生する可能性があります。

同期レプリケーションはトランザクション アプリケーションのフェイルオーバーに不可欠です。同期レプリケーションでは、最初のサーバーのディスク上にあるコミット済みのデータがすべて 2 番目のサーバーのディスク上にあります。非同期レプリケーションでは、最初のサーバーのディスク上にあるコミット済みのデータは、障害が発生した場合に失われる可能性があります。半同期レプリケーションと呼ばれる代替ソリューションもあります。このソリューションでは、コミット済みのデータは 2 番目のサーバー上にありますが、必ずしもディスク上にあるとは限りません。

同期レプリケーションでは、多くの場合は拡張 LAN で接続された 2 つの地理的に離れたコンピューター ルームにあるサーバー間に LAN の帯域幅が必要になります。非同期レプリケーションは低速 WAN に実装できます。

同期レプリケーション

SafeKit 高可用性ソフトウェアによって実装される同期のファイルベースのレプリケーションでは、プライマリ サーバー上の複製されたファイル内にあるアプリケーションまたはファイル キャッシュ システムによってディスク IO が実行される場合、SafeKit はローカル ディスクとセカンダリ サーバーからの IO 受信確認を待ってから、アプリケーションまたはファイル システム キャッシュに IO受信確認を送信します。このメカニズムはトランザクション アプリケーションのフェイルオーバーに不可欠です。SafeKit は、ディスク全体ではなくディレクトリを複製することによってバイトレベル ファイル レプリケーションを行います。これにより、クラスターの構成が大幅に簡素化されます。

非同期レプリケーション

他のソリューションによって実装される非同期のファイルベースのレプリケーションで は、IO はプライマリ サーバーのキューに入れられますが、プライマリ サーバーはセカンダリ サーバーの IO 受信確認を待ちません。そのため、最初のサーバーで障害が発生した場合、2 番目のサーバーにネットワーク経由でコピーする時間がなかったデータはすべて失われます。特に、トランザクション アプリケーションでは、障害が発生するとコミット済みのデータが失われます。

半同期レプリケーション

SafeKit 高可用性ソフトウェアによって実装される半同期のファイルベースのレプリケーションでは、非同期処理はプライマリ サーバーではなくセカンダリ サーバーで行われます。このソリューションでは、SafeKit は常に 2 台のサーバーの受信確認を待ってから、アプリケーションまたはシステム キャッシュに受信確認を送信します。ただし、セカンダリ サーバーでは、非同期と同期の 2 つのオプションがあります。

半同期の場合には、セカンダリ サーバーは IO を受信したときにプライマリ サーバーに受信確認を送信し、その後でディスクに書き込みます。同期の場合には、セカンダリ サーバーはディスクに IO を書き込み、その後でプライマリ サーバーに受信確認を送信します。

結論

このように、セカンダリ サーバーへの書き込みが遅れるだけで重要なアプリケーションのフェイルオーバーに直接の影響が及びます。そのため、同期レプリケーションと非同期レプリケーションのいずれかを選択するときには細心の注意を払う必要があります。重要なアプリケーションの場合は、必ず同期または半同期が推奨されます。

ビデオ「サーバー障害により中断するデータ レプリケーション ソフトウェアのケース (同期と非同期)」では、同期レプリケーションと非同期レプリケーションの違いを説明しています。

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 の高可用性アーキテクチャ