記憶域レプリカの概要
記憶域レプリカは Windows Server のテクノロジであり、サーバーまたはクラスター間で障害復旧用にボリュームのレプリケーションを実現します。 また、すべてのノードを同期させたまま、2 つのサイトにまたがるストレッチ フェールオーバー クラスターを作成することもできます。
記憶域レプリカでは、以下の同期および非同期レプリケーションをサポートしています。
- 同期レプリケーションは、クラッシュ前後の整合性が維持されるボリュームを使用して待機時間の短いネットワーク サイト内のデータをミラーリングし、障害時のファイル システム レベルでのデータ損失をゼロにします。
- 非同期レプリケーションは、大都市圏外のサイト間で待機時間の長いネットワーク リンクを通じてデータをミラーリングしますが、障害時に両方のサイトでデータが一致する保証はありません。
記憶域レプリカを使用する理由
記憶域レプリカによって、Windows Server でのディザスター リカバリーと準備の機能が提供されます。 Windows Server は、さまざまなラック、フロア、ビル、キャンパス、郡、都市にあるデータを同期的に保護する機能と共に、データ損失ゼロの安心感を提供します。 障害が発生しても、損失の可能性はまったくなく、すべてのデータが他のどこかの場所に存在します。 同じことが障害の発生前にも該当します。記憶域レプリカによって、直前に警告があった場合、災害が発生する前にワークロードを切り替えて安全な場所に移動 できます。この場合もデータの損失は発生しません。
記憶域レプリカにより、複数のデータ センターをより効率的に使用できます。 クラスターを拡大またはレプリケートすると、ワークロードを複数のデータセンターで実行できるようになり、ローカルで近接するユーザーやアプリケーションによるすばやいデータアクセス、負荷分散の向上、コンピューティング リソースの活用が実現します。 障害によって1 つのデータセンターがオフラインになった場合、このデータセンターの一般的なワークロードを一時的に別の別のサイトに移動できます。
記憶域レプリカを使用することで、ローエンドの障害復旧ソリューションとしての役割を強いられていた、DFS レプリケーションなどの既存のファイル レプリケーション システムの使用を中止できる場合があります。 DFS レプリケーションは狭い帯域幅のネットワークでも問題なく機能しますが、待機時間は長く、数時間から数日単位の時間がかかることも少なくありません。 これは、ファイルを閉じるための要件や、ネットワークの輻輳を回避するための人為的なスロットルに起因します。 このような設計上の特性により、DFS レプリケーション レプリカの最新のファイルは最もレプリケートされる可能性が低くなります。 記憶域レプリカはファイル レベルの下で動作し、これらの制限はありません。
記憶域レプリカは、より長い時間範囲と待機時間の長いネットワークの非同期レプリケーションもサポートします。 これはチェックポイント ベースではなく、継続的にレプリケートするため、変更の差分はスナップショット ベースの製品よりはるかに少なくなる傾向があります。 記憶域レプリカはパーティション レイヤーで動作するため、Windows サーバーまたはバックアップ ソフトウェアによって作成されたすべての VSS スナップショットをレプリケートします。 VSS スナップショットを使用すると、特に非同期にレプリケートされた非構造化ユーザー データについて、特定の時点への復旧にアプリケーション整合性データ スナップショットを使用できます。
サポートされている構成
記憶域レプリカは、ストレッチ クラスター、クラスター間、サーバー間の各構成で展開できます (図 1-3 を参照)。
拡張クラスターによって、単一のクラスターでコンピュータと記憶域を構成できます。いくつかのノードによって一連の非同期記憶域が、他のいくつかのノードによって別の非同期記憶域が共有され、その後サイト認識によって同期的または非同期的にレプリケートされます。 このシナリオでは、共有 SAS 記憶域を使用した記憶域スペース、SAN、iSCSI 接続の LUN を利用できます。 これは PowerShell とフェールオーバー クラスター マネージャーのグラフィカルなツールで管理され、ワークロードの自動フェールオーバーを行うことができます。
図 1: 記憶域レプリカを使用した、ストレッチ クラスターでの記憶域のレプリケーション
クラスター間では 2 つの個別クラスター間でレプリケーションが行われ、一方のクラスターが同期または非同期で、もう一方のクラスターとレプリケートします。 このシナリオでは、記憶域スペース ダイレクト、共有 SAS 記憶域を使用した記憶域スペース、SAN、iSCSI 接続の LUN を利用できます。 これは Windows Admin Center と PowerShell で管理され、フェールオーバーには手動介入が必要です。
図 2: 記憶域レプリカを使用した、クラスター間の記憶域レプリケーション
サーバー間では、共有 SAS 記憶域を使用した記憶域スペース、SAN、iSCSI 接続の LUN、ローカル ドライブを利用し、2 つのスタンドアロン サーバー間で同期および非同期のレプリケーションを行うことができます。 これは Windows Admin Center と PowerShell で管理され、フェールオーバーには手動介入が必要です。
図 3: 記憶域レプリカを使用した、サーバー間の記憶域レプリケーション
注意
4 つの個別のボリュームを 1 台のコンピューターで使用して、サーバー内レプリケーションを構成することもできます。 ただし、このガイドでは、このシナリオは扱いません。
記憶域レプリカの機能
データ損失ゼロ、ブロック レベルのレプリケーション。 同期レプリケーションでは、データ損失の可能性はありません。 ブロック レベルのレプリケーションでは、ファイルのロックが発生する可能性はありません。
シンプルなデプロイと管理。 記憶域レプリカの設計には、必須条件として使いやすさがあります。 2 つのサーバー間のレプリケーション パートナーシップの作成では、Windows Admin Center を利用できます。 ストレッチ クラスターのデプロイには、使いやすいフェイルオーバー クラスター マネージャー ツールの直感的なウィザードが使用されます。
ゲストとホスト。 記憶域レプリカのすべての機能は、仮想化されたゲスト ベースのデプロイとホスト ベースのデプロイの両方で公開されます。 つまり、ゲストで Windows Server を使用している限り、Windows 以外の仮想化プラットフォームやパブリック クラウドで実行されている場合でも、ゲストはデータ ボリュームをレプリケートできます。
SMB3 ベース。 記憶域レプリカは、Windows Server 2012 で初めてリリースされた SMB 3 の実績のある成熟したテクノロジを使用します。 つまり、マルチ チャネル、RoCE での SMB ダイレクトのサポート、iWARP、InfiniBand RDMA のネットワーク カードなど、すべての SMB の高度な特性は、記憶域レプリカで使用されます。
セキュリティ。 多くのベンダーの製品とは異なり、記憶域レプリカには、業界最先端のセキュリティ テクノロジが組み込まれています。 これには、パケットの署名、AES 128-GCM の完全なデータ暗号化、Intel AES NI 暗号化アクセラレーションのサポート、および "man-in-the-middle"攻撃の防止の事前認証の整合性が含まれます。 記憶域レプリカは、ノード間のすべての認証に Kerberos AES256 を使用します。
高パフォーマンスの初期同期。記憶域レプリカでは、古いコピー、バックアップ、または出荷済みのドライブからのデータのサブセットが既にターゲットに存在する、シードされた初期同期がサポートされます。 初期レプリケーションでは異なるブロックのみがコピーされるため、初期同期時間が短縮され、限られた帯域幅がデータによって使い果たされることはなくなる可能性があります。 記憶域レプリカはチェックサムの計算をブロックし、集計は、初期同期のパフォーマンスが記憶域とネットワークの速度によってのみ制限されることを意味します。
整合性グループ。 書き込み順序により、Microsoft SQL Server などのアプリケーションは複数のレプリケートされたボリュームに書き込み、宛先サーバーでデータが順番に書き込まれたことを確実に確認できるようになります。
ユーザー委任。 レプリケートされたノードで、組み込みの管理者グループのメンバーにならずにレプリケーションを管理する権限をユーザーに委任できるため、関係のない領域へのこれらのユーザーのアクセスは制限されます。
ネットワークの制約。 記憶域レプリカは、アプリケーション、バックアップ、および管理ソフトウェアの帯域幅を提供するため、サーバー別およびレプリケートされたボリューム別に、個々 のネットワークに制限することができます。
仮想プロビジョニング。 記憶域スペースと SAN デバイスでの仮想プロビジョニングは、多くの状況において、ほぼ瞬時の初期レプリケーションを提供するためにサポートされます。 初期レプリケーションが開始されると、ボリュームは縮小やトリミングをできなくなります。
圧縮。 記憶域レプリカは、転送元と転送先のサーバーの間でネットワーク経由で転送されるデータの圧縮機能を提供します。 データ転送用の記憶域レプリカ圧縮は、Windows Server Datacenter: Azure Edition の: OS ビルド 20348.1070 以降 (KB5017381) でのみサポートされています。
記憶域レプリカには、次の機能が含まれています。
機能 | 詳細 |
---|---|
Type | ホスト ベース |
Synchronous | はい |
非同期 | はい |
記憶域ハードウェア非依存 | はい |
レプリケーション単位 | ボリューム (パーティション) |
Windows Server ストレッチ クラスターの作成 | はい |
サーバー間のレプリケーション | はい |
クラスター間のレプリケーション | はい |
トランスポート | SMB3 |
ネットワーク | TCP/IP または RDMA |
ネットワークの制約のサポート | はい |
ネットワーク圧縮 | はい** |
RDMA* | iWARP、InfiniBand、RoCE v2 |
レプリケーションのネットワーク ポートのファイアウォール要件 | 単一の IANA ポート (TCP 445 または 5445) |
マルチパス/マルチ チャネル | はい (SMB3) |
Kerberos のサポート | はい (SMB3) |
ネットワーク経由の暗号化および署名 | はい (SMB3) |
ボリュームごとのフェールオーバーの許可 | はい |
仮想プロビジョニングされた記憶域のサポート | はい |
管理 UI インボックス | PowerShell、フェールオーバー クラスター マネージャー |
*追加の長距離機器とケーブルが必要になる場合があります。 **Windows Server Datacenter: Azure Edition の OS ビルド 20348.1070 以降を使用するとき
記憶域レプリカの前提条件
Active Directory ドメイン サービス フォレスト。
SAS JBOD を使用した記憶域スペース、記憶域スペース ダイレクト、ファイバー チャネル SAN、共有 VHDX、iSCSI ターゲット、またはローカル SAS/SCSI/SATA 記憶域。 SSD 以上の速度 (推奨) のレプリケーションのログ ドライブ。 ログ ストレージは、データ ストレージより高速にすることをお勧めします。 ログ ボリュームは、絶対に他のワークロードに使用しないでください。
同期レプリケーションのために各サーバーで少なくとも 1 つのイーサネット/TCP 接続 (可能であれば RDMA)。
サーバーごとに 2 GB 以上の RAM と 2 つのコア。
書き込みの IO ワークロードに十分対応できる帯域幅を持ちラウンド トリップ遅延時間が平均 5 ミリ秒以下である、同期レプリケーション用のサーバー間ネットワーク。 非同期レプリケーションには待機時間に関する推奨事項はありません。
Windows Server Datacenter Edition または Windows Server Standard Edition。 Windows Server Standard Edition で実行されている記憶域レプリカには、次の制限があります。
- Windows Server 2019 以降を使用する必要があります。
- 記憶域レプリカでは、無制限の数のボリュームではなく 1 つのボリュームをレプリケートします。
- ボリュームのサイズは、無制限ではなく最大 2 TB です。
バックグラウンド
このセクションには、基本的な業界用語、同期および非同期レプリケーション、主な動作についての情報が記載されています。
高レベルの業界用語
障害復旧 (DR) は、ビジネスが運用を継続できるように、サイトの壊滅状態から回復するための代替計画を参照します。 データの DR とは、個別の物理的な場所での実稼働データの複数コピーを意味します。 たとえば、ストレッチ クラスターの場合、ノードの半数が 1 つのサイト、残りの半数が別のノードにあります。 障害対策 (DP) は、ハリケーンなどの災害が近づく前に、先制的にワークロードを別の場所に移動するための代替計画を参照します。
サービス レベル アグリーメント (SLA) は、計画済みおよび計画外の停止の際の、ビジネス アプリケーションの可用性、およびそのダウン時間とデータ損失の許容範囲を定義します。 回復時刻の目標 (RTO) は、ビジネスが完全にデータにアクセスできない時間をどの程度許容できるかを定義します。 回復ポイントの目標 (RPO) は、ビジネスのデータ損失をどの程度許容できるかを定義します。
同期レプリケーション
同期レプリケーションは、アプリケーションが、IO 操作の完了前に一度に 2 つの場所にデータを書き出すことを保証します。 このレプリケーションは、ネットワークと記憶域への投資が必要であり、2 つの場所で書き込みを実行する必要があることでアプリケーションのパフォーマンスが低下するリスクがあるため、ミッション クリティカルなデータに適しています。
アプリケーションの書き込みがソース データのコピーで発生したとき、元の記憶域は IO をすぐには認識しません。 代わりに、それらのデータ変更はリモート宛先のコピーにレプリケートされ、確認を返します。 その後にのみ、アプリケーションは IO 確認を受信します。 これにより、ソース サイトとリモート サイトの同期が定期的に行われ、実質的にネットワーク全体のストレージ IO が拡張されます。 ソース サイトの障害が発生した場合、アプリケーションはリモート サイトにフェール オーバーして、データの損失なしが保証された状態で操作を再開できます。
モード | ダイアグラム | 手順 |
---|---|---|
Synchronous データの損失なし RPO |
1. アプリケーションがデータを書き込む 2. ログ データが書き込まれ、そのデータがリモート サイトにレプリケートされる 3. リモート サイトでログ データが書き込まれる 4. リモート サイトから確認が返される 5. アプリケーションの書き込みが確認される t & t1: データはボリュームにフラッシュされ、ログは常にライトスルーされます |
非同期レプリケーション
同期レプリケーションとは反対に、非同期レプリケーションは、アプリケーションがデータを書き込むと、データは即時の確認保証なしでリモート サイトにレプリケートされることを意味します。 このモードでは、アプリケーションおよび地理的に機能する DR ソリューションに対する応答時間が短縮されます。
アプリケーションがデータを書き込むと、レプリケーションエンジンが書き込みをキャプチャして、ただちにアプリケーションに対して確認します。 キャプチャしたデータは、リモートの場所にレプリケートされます。 リモート ノードがデータのコピーを処理し、後からソースに確認を送信します。 レプリケーションのパフォーマンスがアプリケーションの IO パス内ではなくなったため、リモート サイトの応答性と距離の重要度は低くなります。 ソース データが失われ、レプリケーション先のデータのコピーがまだソースを離れずバッファー内にあった場合は、データ損失のリスクがあります。
RPO が 0 より大きな場合、非同期レプリケーションは冗長性があってデータ損失のない継続的な運用向けに設計されているため、フェールオーバー クラスターのような高可用性ソリューションには適していません。
モード | ダイアグラム | 手順 |
---|---|---|
非同期 データ損失はほぼなし (複数の要因によって異なります) RPO |
1. アプリケーションがデータを書き込む 2. ログ データが書き込まれる 3. アプリケーションの書き込みが確認される 4. データがリモート サイトにレプリケートされる 5. リモート サイトでログ データが書き込まれる 6. リモート サイトから確認が返される t & t1: データはボリュームにフラッシュされ、ログは常にライトスルーされます |
主な評価ポイントと動作
最も高速な記憶域のネットワーク帯域幅と待機時間。 同期レプリケーションに関する物理的な制限があります。 記憶域レプリカはログを使用した IO のフィルタリング メカニズムを実装しており、ネットワークのラウンド トリップが必要であるため、同期レプリケーションによってアプリケーションの書き込み時間が長くなる可能性があります。 ログに対して、低待機時間で高帯域幅のネットワークと、高スループットのディスク サブシステムを使用すると、パフォーマンスのオーバーヘッドが最小限に抑えられます。
Windows Server 2016 でレプリケート中に、レプリケーション先のボリュームにアクセスすることはできません。 レプリケーションを構成すると、レプリケーション先のボリュームがマウント解除され、ユーザーによる読み取りまたは書き込みへのアクセスができなくなります。 そのドライブ文字は、エクスプローラーなどの一般的なインターフェイスに表示されることがありますが、アプリケーションがボリューム自体にアクセスすることはできません。 ブロック レベルのレプリケーション テクノロジは、ボリュームにマウントされているレプリケーション先のファイル システムへのアクセス許可と互換性がありません。 NTFS および ReFS では、ユーザーによるボリュームへのデータの書き込みはサポートされませんが、ブロックがその下で変更されます。
Test-Failover コマンドレットは Windows Server バージョン 1709 で導入され、Windows Server 2019 にも含まれていました。 これにより、バックアップやテストなどのための宛先ボリュームの読み取り/書き込みスナップショットの一時的なマウントがサポートされるようになりました。詳細については、「記憶域レプリカについてよく寄せられる質問」を参照してください。
マイクロソフトの非同期レプリケーション実装は、その他の実装と大きく異なります。 業界の非同期レプリケーションの実装のほとんどは、定期的なな差分転送が他のノードに移動して結合する、スナップショット ベースのレプリケーションを使用します。 記憶域レプリカの非同期レプリケーションは、レプリケーション先からのシリアル化された同期確認が不要な点を除いて、同期レプリケーションと同じように動作します。 記憶域レプリカは継続的にレプリケートするため、これは理論上の RPO が低いことを意味します。 ただし、これはスナップショットを使用してアプリケーション ファイル内の一貫性を強制するのではなく、内部のアプリケーション一貫性の保証に依存しているということも意味します。 記憶域レプリカでは、すべてのレプリケーション モードでのクラッシュ整合が保証されます。
DFS レプリケーションは開いているファイルをレプリケートすることができず、パフォーマンスを犠牲にして帯域幅の使用量を最小限に抑えるように設計されているため、結果的に回復ポイントでの差分が大きくなるという、実用的ではない場面が頻繁にあるにもかかわらず、多くのお客様が DFS レプリケーションをディザスター リカバリー ソリューションとして利用しています。 記憶域レプリカを利用することで、このような障害復旧の役割の一部から DFS レプリケーションを解放することができます。
記憶域レプリカは、バックアップ ソリューションではありません。 一部の IT 環境では、毎日のバックアップと比較して、データ損失ゼロのオプションがあるため、レプリケーション システムをバックアップ ソリューションとしてデプロイしています。 記憶域レプリカでは、ボリューム上の全データ ブロックに対するすべての変更が、変更の種類とは無関係にレプリケートされます。 ユーザーがボリュームのすべてのデータを削除した場合、記憶域レプリカでは、その削除をもう一方のボリュームに直ちにレプリケートし、そのデータを両方のサーバーから完全に削除します。 記憶域レプリカを、特定の時点でのバックアップ ソリューションの代わりに使用しないでください。
記憶域レプリカは、Hyper-V レプリカや Microsoft SQL AlwaysOn 可用性グループではありません。 記憶域レプリカは、一般的な用途の、ストレージに依存しないエンジンです。 定義上、記憶域レプリカの動作をアプリケーションレベルのレプリケーションのように理想的になるように調整することはできません。 これによって、ユーザーが特定のアプリケーションのレプリケーション テクノロジをデプロイしたり、このテクノロジを使用し続けたりしやすくする、特定の機能ギャップが生じる可能性があります。
記憶域レプリカの用語
このガイドでは、次の用語を頻繁に使用します。
ソースは、ローカルの書き込みが可能で、送信をレプリケートするコンピューターのボリュームです。 "プライマリ" とも呼ばれます。
宛先は、ローカルの書き込みができず、受信をレプリケートするコンピューターのボリュームです。 "セカンダリ" とも呼ばれます。
レプリケーション パートナーシップは、1 つまたは複数のボリュームのソースとレプリケーション先コンピューター間の同期リレーションシップであり、単一のログを使用します。
レプリケーション グループは、パートナーシップ内の、サーバー ベースのボリュームの組織とボリュームのレプリケーション構成です。 グループには、1 つまたは複数のボリュームが含まれることがあります。
記憶域レプリカの新機能
Windows Server 2019 での記憶域レプリカの新機能の一覧については、ストレージの新機能に関するページを参照してください。