同期レプリケーション vs 非同期レプリケーション:データ損失とフェイルオーバーに関するガイド
Evidian SafeKit
同期・非同期レプリケーション:アプリケーションのフェイルオーバー時にデータ損失は発生するか?
同期レプリケーションと非同期レプリケーションには大きな違いがあります。選択する方法によっては、アプリケーションのフェイルオーバー中にデータ損失が発生する可能性があります。
- SafeKitソフトウェアで実装されている同期レプリケーションは、トランザクションアプリケーションのフェイルオーバーに不可欠です。同期レプリケーションでは、プライマリサーバーのディスクにコミットされたすべてのデータが、セカンダリサーバーのディスクにも存在することが保証されます。
- 非同期レプリケーションには、プライマリサーバーのディスクにコミットされたデータがセカンダリサーバーにコピーされる前に障害が発生した場合、そのデータが失われるリスクがあります。
- 準同期レプリケーションは代替ソリューションであり、コミットされたデータはセカンダリサーバーに到達しますが、必ずしもそのディスクに書き込まれているとは限りません。
同期レプリケーションと非同期レプリケーションのどちらを選択すべきか、正しい判断を支援するために、以下で技術的な仕組みとアプリケーションのフェイルオーバーへの影響を説明します。

非同期レプリケーションの仕組み
非同期レプリケーションでは、プライマリサーバーは書き込み操作を即座に承認し、その後、遅延を伴うスケジュールされたバッチ処理によってレプリカを更新します。この切り離し(デカップリング)により、長距離レプリケーションにおけるレイテンシ(遅延)の問題を克服できるため、遠隔拠点間でのバックアップや災害復旧(DR)に適した戦略となります。
しかし、この効率性の反面、整合性という課題が生じます。セカンダリサーバーが保持する情報が最新でない可能性があるためです。プライマリ側での書き込みが確定した後にセカンダリ側の更新が行われるため、プライマリサーバーで障害が発生した場合、転送中であった未反映データ(in-flight data)は消失することになります。
同期レプリケーションの仕組み
SafeKitが実装している同期レプリケーションでは、プライマリサーバー上のアプリケーションまたはファイルシステムキャッシュによってディスクI/O操作が行われる際、二重の確認応答(ダブルアクノリッジメント)プロセスを通じてデータの整合性を保証します。
SafeKitは、ローカルディスクとセカンダリサーバーの両方からのI/O確認応答を待機してから、アプリケーションまたはファイルシステムキャッシュに最終的な確認応答を返します。この同期メカニズムは、トランザクションアプリケーションのフェイルオーバーにおいて不可欠であり、トランザクションがコミットされたと見なされる前に、両方のノードでデータが完全に保護されていることを保証します。
準同期レプリケーションの仕組み
準同期レプリケーションは、データの完全性に対するハイブリッドなアプローチとして機能します。同期レプリケーションと同様に、SafeKitはアプリケーションやファイルシステムキャッシュに対してI/O操作を確定させる前に、プライマリサーバーとセカンダリサーバーの両方からの確認応答を待機します。
決定的な違いは、セカンダリサーバーの応答タイミングにあります。準同期の場合、セカンダリサーバーはメモリ上でデータを受信した直後にプライマリサーバーへ確認応答を送信し、ディスクへの書き込みはその直後に行われます。対照的に、同期レプリケーションでは、セカンダリサーバーが物理ディスクにI/Oを書き込んでからでないと確認応答を送信しません。
最終判断:高可用性のための最適なレプリケーション選択
同期レプリケーションと非同期レプリケーションの選択は、完全なデータの整合性とネットワークパフォーマンスの間のトレードオフです。ミッションクリティカルなインフラにおいて、この決定は**目標復旧時点(RPO)**を直接左右します。
レプリケーション比較のまとめ
- 非同期レプリケーション:バックアップの標準ですが、高可用性(HA)には適していません。長距離接続をサポートしていますが、セカンダリノードのデータがプライマリノードのデータより遅れるため、本質的にデータ損失のリスクがあります。
- 同期レプリケーション:高可用性(HA)の標準ですが、バックアップ用ではありません。セカンダリノードのファイルをプライマリのリアルタイムクローンに保ち、データ損失ゼロのフェイルオーバーを保証します。
- 準同期レプリケーション:高可用性(HA)において高いパフォーマンスを実現する中間的な手法です。ディスクへの書き込み前にメモリレベルでデータを確認することで、非同期方式よりも優れたデータ保護を維持しながら、レイテンシを最小限に抑えます。
⭐ SafeKitの推奨事項: 重要なアプリケーションでは、ビジネスの継続性を保証し、パフォーマンスを最大化し、不整合なフェイルオーバーに伴うリスクを排除するために、常に同期または準同期レプリケーションを優先してください。
比較表:同期 vs 非同期 vs 準同期レプリケーション
| 機能・項目 | 同期 (Synchronous) | 準同期 (Semi-Synchronous) | 非同期 (Asynchronous) |
|---|---|---|---|
| RPO (潜在的なデータ損失) | ゼロ | ゼロ | ゼロではない(最後の非同期コピーに依存して損失あり) |
| リモートI/O確認応答 | リモートディスクへの書き込み後 | リモートRAM(メモリ)への書き込み後 | 確認応答を待機しない |
| パフォーマンスへの影響 | 低遅延ネットワークが必要 - ラウンドトリップタイム(通常RTT<2ms)に依存 | 低遅延ネットワークが必要 - ラウンドトリップタイム(通常RTT<2ms)に依存 | 低遅延ネットワークをサポート |
| 距離制限 | ローカル / ストレッチVLAN | ローカル / ストレッチVLAN | 広域ネットワーク (WAN) |
| 最適な用途 | 高可用性(自動フェイルオーバー) | 高可用性(自動フェイルオーバー) | バックアップソリューション(手動フェイルオーバー) |
同期リアルタイムレプリケーションと高可用性(HA)の設定
FAQ:高可用性クラスタにおけるレプリケーション戦略
レプリケーションの技術と仕組み
SafeKitはファイルが更新されるたびに、ファイル全体をネットワーク経由で送信しますか?
レプリケーションは、アプリケーションがファイルに書き込むたびに実行されますか?
同期レプリケーションによってアプリケーションの速度は低下しますか?
導入戦略:高可用性(HA)vs バックアップ
同期と非同期、どちらのレプリケーションを選択すべきですか?
SafeKitは非同期レプリケーションをサポートしていますか?
高可用性があれば、バックアップソリューションは不要になりますか?
いいえ。高可用性ソリューションを導入しても、包括的なバックアップソリューションは依然として必要です。
SafeKitのようなリアルタイムレプリケーションは継続的なビジネス継続性を提供しますが、バックアップとは目的が異なります。リアルタイムレプリケーションはハードウェア障害やサーバーのダウンタイムから保護するように設計されていますが、両方のノードを同時に暗号化するランサムウェアなどのサイバー脅威から保護することはできません。保持ポリシー(リテンションポリシー)を備えたバックアップソリューションのみが、この問題を解決できます。
同期レプリケーションと非同期レプリケーションを組み合わせることはできますか?
詳細情報はこちら: SafeKit の高可用性と災害復旧 (HADR)
🔍 SafeKit 高可用性ナビゲーションハブ
| リソースタイプ | 説明 | ダイレクトリンク |
|---|---|---|
| 主な機能 | シンプルでコスト効率の高い高可用性に SafeKit が選ばれる理由 | SafeKit が選ばれる理由を見る |
| 導入モデル | オールインワンの SANレス HA:共有ディスク不要のソフトウェアクラスタリング | SafeKit オールインワン SANレス HA を見る |
| パートナー | SafeKit:パートナー向け高可用性ソリューションのベンチマーク | パートナーにとっての HA ベンチマークである理由を見る |
| HA 戦略 | SafeKit:インフラ(VM)レベル vs. アプリケーションレベルの高可用性 | SafeKit HA と冗長性:VM vs. アプリレベルを見る |
| 技術仕様 | SafeKit クラスタリングの技術的制限事項 | SafeKit 高可用性の制限事項を見る |
| 概念実証(PoC) | SafeKit:高可用性構成とフェイルオーバーのデモ | SafeKit フェイルオーバーチュートリアルを見る |
| アーキテクチャ | SafeKit ミラークラスターの仕組み(リアルタイムレプリケーションとフェイルオーバー) | SafeKit ミラークラスター:リアルタイム複製とフェイルオーバーを見る |
| アーキテクチャ | SafeKit ファームクラスターの仕組み(ネットワーク負荷分散とフェイルオーバー) | SafeKit ファームクラスター:負荷分散とフェイルオーバーを見る |
| 競争優位性 | 比較:SafeKit vs. 伝統的な高可用性(HA)クラスター | SafeKit と伝統的 HA クラスターの比較を見る |
| 技術リソース | SafeKit 高可用性:ドキュメント、ダウンロード、トライアル | SafeKit HA 無料トライアルと技術ドキュメントを見る |
| 構成済みソリューション | SafeKit アプリケーションモジュールライブラリ:すぐに使える HA ソリューション | SafeKit 高可用性アプリケーションモジュールを見る |