ディザスター リカバリーからディスクを除外する

この記事では、Azure Site Recovery を使用したオンプレミスから Azure へのディザスター リカバリー中に、レプリケーションからディスクを除外する方法について説明します。 レプリケーションからディスクを除外するには、いくつかの理由があります。

  • 除外対象のディスク上で頻繁に変更される重要でないデータがレプリケートされないようにするため。
  • 消費されるレプリケーションの帯域幅やターゲット側のリソースを最適化するため。
  • 必要のないデータをレプリケートしないことで、ストレージとネットワークのリソースを節約するため。
  • Azure VM が Site Recovery のレプリケーションの制限に達したため。

サポートされるシナリオ

表にまとめられているように、レプリケーションからディスクを除外できます。

Azure から Azure VMware から Azure Hyper-V から Azure 物理サーバーから Azure
はい はい はい はい (クラシック アーキテクチャの場合のみ)

除外の制限事項

制限事項 Azure VM VMware VM Hyper-V VM
ディスクの種類 レプリケーションからベーシック ディスクを除外できます。

オペレーティング システム ディスクまたはダイナミック ディスクは除外できません。 一時ディスクは既定で除外されます。
レプリケーションからベーシック ディスクを除外できます。

オペレーティング システム ディスクまたはダイナミック ディスクは除外できません。
レプリケーションからベーシック ディスクを除外できます。

オペレーティング システム ディスクは除外できません。 ダイナミック ディスクは除外しないことをお勧めします。 Site Recovery では、ゲスト VM 内のどの VHD がベーシックまたはダイナミック であるかを識別できません。 依存するダイナミック ボリューム ディスクすべてが除外されていない場合、保護されたダイナミック ディスクはフェールオーバー VM 上で障害が発生したディスクになり、そのディスク上のデータにアクセスすることができなくなります。
ディスクのレプリケート レプリケートしているディスクを除外することはできません。

VM でのレプリケーションを無効にしてから、再度有効にします。
レプリケートしているディスクを除外することはできません。 レプリケートしているディスクを除外することはできません。
Mobility Service (VMware) 関連性なし Mobility Service がインストールされている VM 上のディスクのみを除外できます。

これは、ディスクを除外する VM に Mobility Service を手動でインストールする必要があることを意味します。レプリケーションが有効になった後にのみ Mobility Service がインストールされるため、プッシュ インストール メカニズムを使用することはできません。
関連性なし。
追加/削除 マネージド ディスクを使用して、レプリケーションが有効な Azure VM にマネージド ディスクを追加できます。 レプリケーションが有効な Azure VM のディスクを削除することはできません。 レプリケーションが有効になった後で、ディスクを追加または削除することはできません。 ディスクを追加するには、レプリケーションを無効にしてから再度有効にします。 レプリケーションが有効になった後で、ディスクを追加または削除することはできません。 レプリケーションを無効にしてから再度有効にします。
[フェールオーバー] 除外したディスクがアプリで必要な場合は、フェールオーバー後に、レプリケートされたアプリを実行できるように、そのディスクを手動で作成する必要があります。

別の方法として、Azure Automation を復旧計画に組み込んで、VM のフェールオーバー中にディスクを作成することもできます。
アプリに必要なディスクを除外する場合は、フェールオーバー後に Azure でそのディスクを手動で作成します。 アプリに必要なディスクを除外する場合は、フェールオーバー後に Azure でそのディスクを手動で作成します。
オンプレミスのフェールバック - 手動で作成したディスク 関連性なし Windows VM:Azure で手動で作成したディスクはフェールバックされません。 たとえば、3 つのディスクをフェールオーバーし、Azure VM 上に 2 つのディスクを直接作成した場合、フェールオーバーされた 3 つのディスクだけがフェールバックされます。

Linux VM:Azure で手動で作成したディスクはフェールバックされます。 たとえば、3 つのディスクをフェールオーバーし、Azure VM 上に 2 つのディスクを作成した場合、5 つのディスクがすべてフェールバックされます。 手動で作成したディスクは、フェールバックから除外できません。
Azure で手動で作成したディスクはフェールバックされません。 たとえば、3 つのディスクをフェールオーバーし、Azure VM 上に 2 つのディスクを直接作成した場合、フェールオーバーされた 3 つのディスクだけがフェールバックされます。
オンプレミスのフェールバック - 除外されたディスク 関連性なし 元のマシンにフェールバックした場合、フェールバック VM のディスク構成に、除外されたディスクは含まれません。 VMware から Azure へのレプリケーションで除外されたディスクは、フェールバック VM では利用できません。 元の Hyper-V の場所にフェールバックした場合、フェールバック VM のディスク構成は、元のソース VM のディスク構成と同じままです。 Hyper-V のサイトから Azure へのレプリケーションで除外されたディスクは、フェールバック VM で利用できます。

一般的なシナリオ

除外対象の候補して最適な、変更頻度の高いデータの例には、ページング ファイル (pagefile.sys) への書き込みと Microsoft SQL Server の tempdb ファイルへの書き込みがあります。 ワークロードとストレージ サブシステムによっては、ページング ファイルと tempdb ファイルの変更が膨大な量に上る可能性があります。 このようなデータを Azure にレプリケートする操作は、リソースを大量に消費します。

  • 1 つの仮想ディスクにオペレーティング システムとページング ファイルの両方を含む VM のレプリケーションを最適化するには、次の操作を行います。

    1. 1 つの仮想ディスクを 2 つの仮想ディスクに分割します。 1 つの仮想ディスクにオペレーティング システムを格納し、もう 1 つの仮想ディスクにページング ファイルを格納します。
    2. ページング ファイル用のディスクをレプリケーションから除外します。
  • Microsoft SQL Server の tempdb ファイルとシステム データベース ファイルの両方を含むディスクを最適化するには、次の操作を行います。

    1. システム データベースと tempdb を 2 つの異なるディスクに格納します。
    2. tempdb 用のディスクをレプリケーションから除外します。

例 1:SQL Server の tempdb 用ディスクを除外する

ソース SQL Server Windows VM - SalesDB* のディスクの除外、フェールオーバー、およびフェールオーバーを処理する方法を見てみましょう。ここでは、tempdb を除外します。

レプリケーションからディスクを除外する

ソース Windows VM SalesDB には、これらのディスクがあります。

ディスク名 ゲスト OS ディスク ドライブ文字 ディスク データの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク。
DB-Disk1 Disk1 D:\ SQL システム データベースとユーザー データベース 1。
DB-Disk2 (保護対象から除外するディスク) Disk2 E:\ 一時ファイル。
DB-Disk3 (保護対象から除外するディスク) Disk3 F:\ SQL tempdb データベース。

フォルダー パス - F:\MSSQL\Data。 フェールオーバーの前にフォルダー パスをメモします。
DB-Disk4 Disk4 G:\ ユーザー データベース 2
  1. SalesDB VM のレプリケーションを有効にします。
  2. Disk2 と Disk3 上のデータの変更は一時的であるため、それらのディスクをレプリケーションから除外します。

フェールオーバー中のディスクの処理

ディスクはレプリケートされないため、Azure にフェールオーバーすると、これらのディスクは、フェールオーバー後に作成された Azure VM 上には存在しません。 Azure VM には、この表にまとめられているディスクがあります。

ゲスト OS ディスク ドライブ文字 ディスク データの種類
Disk0 C:\ オペレーティング システム ディスク。
Disk1 E:\ 一時ストレージ

このディスクは Azure によって追加されます。 Disk2 と Disk3 はレプリケーションから除外されたため、一覧の利用可能な最初のドライブ文字は E: となります。 一時的な記憶域のボリュームには、Azure によって E: が割り当てられます。 レプリケート対象のディスクのその他のドライブ文字は変わりません。
Disk2 D:\ SQL システム データベースとユーザー データベース 1
Disk3 G:\ ユーザー データベース 2

この例では、Disk3 (SQL tempdb ディスク) がレプリケーションから除外されており、Azure VM では使用できないため、SQL サービスは停止状態となり、F:\MSSQL\Data パスが必要とされます。 このパスは 2 つの方法で作成できます。

  • フェールオーバー後に新しいディスクを追加し、tempdb フォルダーのパスを割り当てます。
  • 既存の一時記憶域ディスクを tempdb フォルダー パスに使用します。

フェールオーバー後に新しいディスクを追加する

  1. フェールオーバーの前に、SQL の tempdb.mdf と tempdb.ldf のパスをメモします。
  2. Azure portal から、フェールオーバー Azure VM に新しいディスクを追加します。 ディスクは、レプリケーション元の SQL tempdb ディスク (Disk3) と同じ (またはそれ以上の) サイズにする必要があります。
  3. Azure VM にサインインします。
  4. ディスク管理 (diskmgmt.msc) コンソールから、新しく追加したディスクを初期化してフォーマットします。
  5. SQL tempdb ディスクに使用されていたものと同じドライブ文字を割り当てます (F:)。
  6. F: ボリューム (F:\MSSQL\Data) に tempdb フォルダーを作成します。
  7. サービス コンソールから SQL サービスを開始します。

既存の一時記憶域ディスクを使用する

  1. コマンド プロンプトを開きます。

  2. コマンド プロンプトから SQL Server を回復モードで実行します。

    Net start MSSQLSERVER /f / T3608
    
  3. 次の sqlcmd を実行して、tempdb のパスを新しいパスに変更します。

    sqlcmd -A -S SalesDB		**Use your SQL DBname**
    USE master;		
    GO		
    ALTER DATABASE tempdb		
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\MSSQL\tempdata\tempdb.mdf');
    GO		
    ALTER DATABASE tempdb		
    MODIFY FILE (NAME = templog, FILENAME = 'E:\MSSQL\tempdata\templog.ldf');		
    GO
    
  4. Microsoft SQL Server サービスを停止します。

    Net stop MSSQLSERVER
    
  5. Microsoft SQL Server サービスを開始します。

    Net start MSSQLSERVER
    

VMware VM:元の場所へのフェールバック中のディスク

次に、元のオンプレミスの場所にフェールバックしたときの VMware VM のディスクの処理方法を見てみましょう。

  • Azure で作成されたディスク:この例では Windows VM を使用しているため、Azure で手動で作成したディスクは、VM をフェールバックまたは再保護しても、サイトにはレプリケートされません。
  • Azure の一時記憶域ディスク:一時記憶域ディスクは、オンプレミス ホストにはレプリケートされません。
  • 除外されたディスク:VMware から Azure へのレプリケーションで除外されたディスクは、フェールバック後にオンプレミスの VM で利用できません。

VMware VM を元の場所にフェールバックする前の Azure VM ディスクの設定は次のようになります。

ゲスト OS ディスク ドライブ文字 ディスク データの種類
Disk0 C:\ オペレーティング システム ディスク。
Disk1 E:\ 一次記憶域。
Disk2 D:\ SQL システム データベースとユーザー データベース 1。
Disk3 G:\ ユーザー データベース 2。

フェールバック後、元の場所の VMware VM には、表にまとめられているディスクがあります。

ゲスト OS ディスク ドライブ文字 ディスク データの種類
Disk0 C:\ オペレーティング システム ディスク。
Disk1 D:\ SQL システム データベースとユーザー データベース 1。
Disk2 G:\ ユーザー データベース 2。

Hyper-V VM:元の場所へのフェールバック中のディスク

次に、元のオンプレミスの場所にフェールバックしたときの Hyper-V VM のディスクの処理方法を見てみましょう。

  • Azure で作成されたディスク:Azure で手動で作成したディスクは、VM をフェールバックまたは再保護しても、サイトにはレプリケートされません。
  • Azure の一時記憶域ディスク:一時記憶域ディスクは、オンプレミス ホストにはレプリケートされません。
  • 除外されたディスク:フェールバック後、VM ディスク構成は元の VM ディスク構成と同じになります。 Hyper-V から Azure へのレプリケーションで除外されたディスクは、フェールバック VM で利用できます。

Hyper-V VM を元の場所にフェールバックする前の Azure VM ディスクの設定は次のようになります。

ゲスト OS ディスク ドライブ文字 ディスク データの種類
Disk0 C:\ オペレーティング システム ディスク。
Disk1 E:\ 一次記憶域。
Disk2 D:\ SQL システム データベースとユーザー データベース 1。
Disk3 G:\ ユーザー データベース 2。

Azure からオンプレミスの Hyper-V に対して計画されたフェールオーバー (フェールバック) を実行した後、元の場所の Hyper-V VM には、表にまとめられているディスクがあります。

ディスク名 ゲスト OS ディスク番号 ドライブ文字 ディスク データの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク。
DB-Disk1 Disk1 D:\ SQL システム データベースとユーザー データベース 1。
DB-Disk2 (除外されたディスク) Disk2 E:\ 一時ファイル。
DB-Disk3 (除外されたディスク) Disk3 F:\ SQL tempdb データベース

フォルダー パス (F:\MSSQL\Data)。
DB-Disk4 Disk4 G:\ ユーザー データベース 2

例 2:ページング ファイル用のディスクを除外する

ソース Windows VM のディスクの除外、フェールオーバー、およびフェールオーバーを処理する方法を見てみましょう。ここでは、D ドライブと代替ドライブの両方で pagefile.sys ファイル用ディスクを除外します。

D ドライブ上のページング ファイル

ソース VM には、これらのディスクがあります。

ディスク名 ゲスト OS ディスク ドライブ文字 ディスク データの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク
DB-Disk1 (レプリケーションから除外) Disk1 D:\ pagefile.sys
DB-Disk2 Disk2 E:\ ユーザー データ 1
DB-Disk3 Disk3 F:\ ユーザー データ 2

ソース VM におけるページング ファイルの設定は次のとおりです。

[仮想メモリ] ダイアログのスクリーンショット。D: Drive [Pagefile ボリューム] の行が強調表示されており、ページング ファイル (MB) サイズが 3000-7000 になっています。

  1. VM のレプリケーションを有効にします。
  2. レプリケーションから DB-Disk1 を除外します。

フェールオーバー後のディスク

フェールオーバー後、Azure VM には、表にまとめられているディスクがあります。

ディスク名 ゲスト オペレーティング システム ディスク番号 ドライブ文字 ディスクに格納されているデータの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク
DB-Disk1 Disk1 D:\ 一時記憶域/pagefile.sys

DB-Disk1 (D:) は除外されているため、一覧の利用可能な最初のドライブ文字は D: となります。

一時的な記憶域のボリュームには、Azure によって D: が割り当てられます。

D: は使用可能なので、VM のページング ファイルの設定は変わりません。
DB-Disk2 Disk2 E:\ ユーザー データ 1
DB-Disk3 Disk3 F:\ ユーザー データ 2

Azure VM におけるページング ファイルの設定は次のとおりです。

Azure 仮想マシンにおけるページング ファイルの設定

別のドライブ (D: 以外のドライブ) 上のページング ファイル

ページング ファイルが D ドライブにない例を見てみましょう。

ソース VM には、これらのディスクがあります。

ディスク名 ゲスト OS ディスク ドライブ文字 ディスク データの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク
DB-Disk1 (レプリケーションから除外) Disk1 G:\ pagefile.sys
DB-Disk2 Disk2 E:\ ユーザー データ 1
DB-Disk3 Disk3 F:\ ユーザー データ 2

オンプレミスの VM におけるページング ファイルの設定は次のとおりです。

オンプレミスの仮想マシンにおけるページング ファイルの設定

  1. VM のレプリケーションを有効にします。
  2. レプリケーションから DB-Disk1 を除外します。

フェールオーバー後のディスク

フェールオーバー後、Azure VM には、表にまとめられているディスクがあります。

ディスク名 ゲスト OS ディスク番号 ドライブ文字 ディスク データの種類
DB-Disk0-OS Disk0 C:\ オペレーティング システム ディスク
DB-Disk1 Disk1 D:\ 一時ストレージ

利用可能な最初のドライブ文字は D: であるため、一時記憶域ボリュームには Azure によって D: が割り当てられます。

レプリケート対象のディスクについては、いずれもドライブ文字は変化しません。

G: ディスクは利用できないため、ページ ファイルには C: ドライブが使用されます。
DB-Disk2 Disk2 E:\ ユーザー データ 1
DB-Disk3 Disk3 F:\ ユーザー データ 2

Azure VM におけるページング ファイルの設定は次のとおりです。

[仮想メモリ] ダイアログのスクリーンショット。C:Drive の行が強調表示されており、[システム管理] のページング ファイル サイズ設定を確認できます。

次のステップ

  • 一時記憶域ディスクのガイドラインの詳細を確認します。
    • Azure VM で SSD を使用した SQL Server TempDB とバッファー プール拡張機能の保存の詳細を確認します
    • Azure VM における SQL Server のパフォーマンスに関するベスト プラクティスを確認します。
  • デプロイをセットアップし、実行状態にできたら、各種フェールオーバーの 詳細を確認 します。