この記事では、Microsoft System Center 2012 Virtual Machine Manager で Hyper-V ネットワーク仮想化と Hyper-V レプリカを操作する方法について説明します。
元の製品バージョン: Microsoft System Center 2012 R2 Virtual Machine Manager、System Center 2012 Virtual Machine Manager
元の KB 番号: 3034191
まとめ
Microsoft Azure Site Recovery (ASR) は、エンドツーエンドの Hyper-V レプリカ管理に推奨される製品です。 これには、System Center 2012 Virtual Machine Manager (VMM 2012) 環境でのレプリカ仮想マシン (VM) のネットワーク管理が含まれます。 ただし、VMM 2012 では、ASR なしで Hyper-V レプリカをネイティブに管理することはありませんが、Hyper-V レプリカ PowerShell コマンドレットを使用して Hyper-V レプリカ関連の操作を自動化することはできます。 このような操作には、HYPER-V レプリカを使用した VM のフェールオーバーが含まれますが、ASR は使用しません。
この記事では、Hyper-V レプリカ管理に推奨される方法について説明します。 この記事では、Hyper-V レプリカを使用して VM をフェールオーバーするために必要なスクリプトについても説明します。
Note
- このプロセスは、プライマリ VM とレプリカ VM の両方が同じ Hyper-V ネットワーク仮想化 (HNV) ネットワーク上にある状況に適用されます。
- これらのスクリプトを使用しない場合、プライマリ VM とレプリカ VM の両方が同じネットワークに同時に接続されているため、CA-PA レコードが破損する可能性があります。
障害復旧のセットアップでは、推奨されるガイダンスは、プライマリとセカンダリの HNV ネットワークを分離することです。 これらのネットワークでは、プライマリ VM をプライマリ HNV ネットワークに接続し、レプリカ VM をセカンダリ VM ネットワークに接続する必要があります。 プライマリ サイトとセカンダリ サイトの両方に 1 つの VM ネットワークを使用する場合は、ネットワーク マッピング機能を使用してレプリカ VM のネットワーク管理を自動化するため、ASR を使用することをお勧めします。 ASR を使用しない場合は、VM がネットワークに接続される順序と、添付ファイルを作成するための前提条件の両方に注意する必要があります。
注意事項
添付ファイルの順序と前提条件の手順については、これらのセクションのガイダンスに従う必要があります。 そうしないと、VMM の CA-PA レコードが削除され、ネットワーク接続が失われる可能性があります。
次のスクリプトは、次の条件が当てはまる VMM 2012 (VMM 2012 R2 を含む) 管理環境に適用されます。
- 1 つの VMM 2012 構成を使用して、プライマリ サイトとセカンダリ サイトの両方を管理します。
- プライマリ VM とレプリカ VM の両方に 1 つの HNV ネットワークが使用されます。
Note
プライマリ VM とレプリカ VM に個別のプライマリ HNV ネットワークとセカンダリ HNV ネットワークを使用することで、両方の VM を同時にネットワークに接続できることを確認できます。 この構成は、次の条件に対して推奨されます。
- VM でフェールオーバーを実行する予定です。
- VM には IPv4 アドレスがあります。
- 計画フェールオーバーの後に VM の IP アドレスを維持する必要があります。
前提条件のステップ
フェールオーバー操作を実行する前に、次の手順に従います。
仮想スイッチと論理スイッチの設定が VMM コンソールで準拠していることを確認します。 詳細については、「 How to View Host Network Adapter Settings and Increase Compliance with Logical Switch Settings in VMM」を参照してください。
設定が準拠していない場合、フェールオーバー後にネットワークを接続するための VMM 操作が失敗する可能性があります。
プライマリ VM が HNV ネットワークに接続されていることを確認します。
レプリカ VM がネットワークに接続されていないことを確認します。
重要
レプリカ VM をプライマリ VM と同時に HNV ネットワークに接続することはできません。 同時接続により、CA-PA レコードの状態が正しくない可能性があります。
プライマリ VM の各ネットワーク アダプターに割り当てられている IP アドレスは 1 つだけであることを確認します。 これを行うには、コマンド プロンプトで次のコマンドを実行します。
$VMOnPD = Get-SCVirtualMachine -Name "VM Name" | where {$_.IsPrimaryVM -eq $true} Get-SCIPAddress -GrantToObjectId $VMOnPD.VirtualNetworkAdapters[0].ID
VM に接続されているネットワーク アダプターが複数ある場合は、配列インデックスを変更して、すべてのネットワーク アダプターに対してこれらのコマンドを実行します。
オペレーティング システム上の VM に割り当てられている IP アドレスが、手順 4 で説明した IP アドレスと同じであることを確認します。 これを行うには、VM にログオンし、コマンド プロンプトで次のコマンドを実行します。
ipconfig
プライマリ サーバーとレプリカ サーバーで参照テーブルが正しく設定されていることを確認します。 これを行うには、各サーバーで次のコマンドを実行し、手順 4 で返される IP アドレスに対応するエントリがあることを確認します。
Get-NetVirtualizationLookupRecord
使用される IP アドレスが IPv6 アドレスではなく IPv4 アドレスであることを確認します。
スクリプトを実行する前に、両方の VM がオフになっていることを確認します。
両方の VM で Replication State 値が Replication enabled に設定されていることを確認します。
Hyper-V レプリカを使用して VM をフェールオーバーするスクリプト
計画フェールオーバー スクリプトを実行してフェールオーバーを実行します。 このスクリプトには、フェールオーバーと共に逆レプリケーションを完了するオプションが含まれています。
このスクリプトは、次の引数を受け取ります。
$VMName
: 仮想マシンの名前$ReverseRep
: 逆レプリケーションを実行するかどうかを指定するブール引数$trueが渡されると、レプリケーションの反転がすぐに開始され、フェールオーバーを後で取り消すことはできません。
$trueとして渡
$ReverseRep
このスクリプトが正常に完了すると、次の条件が満たされます。- プライマリ VM は、計画フェールオーバーレプリケーションの状態でPrepared になっている必要があります。
- レプリカ VM が Failover complete レプリケーション状態になっている必要があります。
$falseが渡された場合、リバース レプリケーションは実行されません。 レプリケーション/キャンセル スクリプトを実行して次のセクションでレプリケーションの反転を実行するか、フェールオーバーを取り消します。 $falseとして渡
$ReverseRep
、このスクリプトが正常に完了すると、次の条件が満たされます。- プライマリ VM は、計画フェールオーバーレプリケーションの状態でPrepared になっている必要があります。
- レプリカ VM が Failover complete レプリケーション状態になっている必要があります。
スクリプトでフェールオーバーの 1 つ以上の手順が実行されない場合は、失敗した手順を手動で完了してから、PowerShell ウィンドウに戻る必要があります。 フェールオーバーの手順には、次の順序が含まれます。
- プライマリ VM をフェールオーバーします。
- レプリカ VM をフェールオーバーします。
- (
$ReverseRep
の値に基づいて) レプリケーションの反転を実行します。
エラーを監視し、指定された順序で失敗した手順を手動で完了します。 手順を完了したら、PowerShell ウィンドウで任意のキーを押します。 スクリプトは完了するまで続行されます。
レプリケーションの反転またはフェールオーバーのキャンセルをトリガーするスクリプト
レプリケーション/取り消しスクリプト 実行して 逆レプリケーションをトリガーするか、フェールオーバーをキャンセルします。 このスクリプトは、PlannedFailOver.PS1 が$falseとして渡 $ReverseRep
実行された場合に実行する必要があります。
このスクリプトは、次の引数を受け取ります。
$VMName
: 仮想マシンの名前$ReverseRep
: 逆レプリケーションを実行するかどうかを指定するブール引数:- $trueが渡された場合、VM でレプリケーションの反転が完了します。
- $falseが渡された場合、レプリケーションの反転は実行されません。
$CancelFO
: フェールオーバーを取り消す必要があるかどうかを指定するブール引数:- $trueが渡されると、プライマリ サイトと復旧サイトの両方でフェールオーバーが取り消されます。
- $falseが渡された場合、フェールオーバーは取り消されません。
Note
$ReverseRep
と$CancelFO
の一度に渡すことができるインスタンスは 1 つだけ$true。
このスクリプトが正常に完了したら、両方の VM で Replication State 値を Replication enabled に設定する必要があります。
関連情報
上記のセクションで説明したプロシージャのスクリプトを次に示します。