Hyper-V Replicaの再同期が話題に上ったとき、まず疑問に思うのは「なぜHyper-V Replicaに参加しているVMを再同期する必要があるのか」ということでしょう。どのような場合に再同期が必要なのでしょうか。Hyper-VマスターサーバーがVMのレプリケーションが****でないと認識した場合、または何をレプリケートすべきか分からなくなった場合、再同期操作が必要になります。
実際に再同期が必要になるのは、VMがクリティカルな状態にある場合、またはマスターサーバーが追跡された変更のコントロールを失い、レプリケーションの開始ポイントを決定できない場合です。この場合、マスターサーバはリカバリ履歴を削除し、レプリケートされるVHDファイルのベースラインを作成するなど、ゼロからやり直す必要があります。
再同期が必要なのは、以下のような場合です:
- Hyper-V Manager を使用して利用可能な方法以外の方法で VHD ファイルを変更した場合。つまり、Hyper-V Replication Engineに含まれるVHDファイルへの変更をHyper-V Replication Engineが認識し、その変更をHRLファイルに記録できるようにする必要があります。
- HRLは50%以上を蓄積。
- HRLファイルへの書き込みに問題がありました。
- HRL ファイルが正常に閉じられませんでした。
仮想マシンの再同期が必要な場合、Replication Healthにエラーメッセージが表示されます。エラーメッセージには、「仮想マシン<仮想マシン名>を再同期する必要があります。レプリケーションを再開して再同期を開始してください。" と表示されます。このメッセージが表示された場合は、レプリカ仮想マシンを使用して仮想マシンを再同期する必要があります。
注意:再同期を開始する前に、まずマスターサーバーとレプリカサーバー間の接続の問題を解決する必要があります。
仮想マシンの内容を再同期するには、Hyper-V Managerでプライマリ仮想マシンにレプリケートされた内容を復元する方法と、PowerShellコマンドレットコマンドを使用する方法の2つがあります。
Hyper-Vマネージャから、[仮想マシン]>[レプリケーション]>[レプリケーションの再開]を右クリックして、「レプリケーションの再開」オプションを選択すると、レプリケーションを再開したり、再同期プロセスを開始したりできます。
Resume-VMReplication -VMName "MyVM" -Resynchronize -ResynchronizeStartTime "02/11/2014 12:00:00"
再同期が不要な場合や、Hyper-VレプリカがVMをまだ「要再同期」状態にしていない場合でも、手動で再同期プロセスを開始することはできますが、絶対に必要な場合を除き、そのようなことは避けることをお勧めします。
手動による再同期は、仮想マシンのコンテンツが完全に同期されておらず、問題を修正するために再同期が必要であると考えられる場合にのみ実行してください。手動による再同期では、まず仮想マシンが一時停止され、次に再同期操作がオンになります。
- Suspend-VMReplication-VMN名 "MyVM"
- VMReplicationの再開 -VMN名「MyVM」 -再同期
Hyper-V Managerを使用して、各仮想マシンの再同期操作をスケジュールできます。Hyper-Vレプリカに参加しているVMを右クリックし、「設定」を選択します。左側のパネルで「再同期」オプションを選択し、右側のパネルで以下のスクリーンショットのように必要に応じて設定を変更します:
このスクリーンショットからわかるように、再同期には手動、自動、指定間隔の3つの設定が可能です。3番目のオプションを設定して使用し、再同期がオフピーク時間帯にのみ行われるように変更することをお勧めします。
次のコマンドに示すように、Set-VMReplicationおよびGet-VMReplication PowerShellコマンドレットを使用して、再同期設定を構成および表示することもできます:
自動再同期コマンドを無効にします:
- Set-VMReplication -VMNName "MyVM" -AutoResynchronizeEnabled 0
自動再同期を有効にするコマンド:
- Set-VMReplication -VMNName "RESYNC VM" -AutoResynchronizeEnabled 1 -AutoResynchronizeIntervalStart 00:00:00 - AutoResynchronizeIntervalStart 23:59:59 - AutoResynchronizeIntervalStart 23:59:59AutoResynchronizeIntervalEnd 23:59:59
- Get-VMReplication -VMN名 "MyVM" | ft * -auto
Hyper-V Replicaに参加しているすべての仮想マシンの設定を確認するには、このコマンドを使用します:
- Get-VMReplication * | ft * -auto
Get-VMReplication の出力で、列 AutoResynchronizeEnabled、AutoResynchronizeIntervalStart、および AutoResynchronizeIntervalEnd と、対応する値を探します。
再同期プロセスはどのように行われるのですか?
再同期プロセスは以下のステップで行われます:
1.手動または自動で再同期イベントが発生します。
2.プライマリVMとレプリカVMのVHDサイズがチェックされます。
3.再同期プロセス中、マスターサーバーはVHD側の変更を追跡し始めました。
4.書き込み操作はHRLファイルで追跡され、再同期処理が完了するとコピーされます。
5.イベント番号29242がログに入力され、仮想マシン名、VHDファイル、VHDファイルの開始データブロック、および終了データブロックが記録されます。
6.VHD用の差分ディスクを作成します。これは、再同期操作が必要な場合に簡単にキャンセルできるためです。
7.再同期操作の最後に、差分ディスクはVHDファイルにマージされます。
8.この段階で、VHDが比較され、同期化されます。この比較はブロックごとに行われ、異なるブロックだけがネットワーク経由で送信されます。このメカニズムにより、ネットワーク経由で送信されるデータ量が削減されます。
9.再同期処理後、マスターサーバーにイベントID 29244が記録されます。イベントID 29244には、レプリケーションが行われたVHD、仮想マシン名、送信されたデータブロック、実行時刻、および操作結果に関する情報が含まれます。
10.この段階で、変更は正常にVHDファイルに組み込まれ、操作をキャンセルすることはできません。
11.すべてのリカバリポイントとHRLファイルが削除されました。
ご存知のように、再同期はすべてのリカバリ・ポイントを削除し、プライマリVMを新しいレプリケーションのために準備するプロセスです。これはVMのレプリケーションを行う場合とよく似ています。
再同期プロセスの全体的な目的は、マスターサーバーがVHDファイルへの変更の追跡を再開し、レプリケーションを通常どおり再開できるようにすることです。したがって、「手動」再同期は次の場合にのみ使用されます:
- プライマリ・サーバがレプリカ・サーバにレプリケートしなくなり、プライマリVMでかなりの数の変更が行われた場合。
- マスターVMのコンテンツがレプリケートされたVMのコンテンツと一致しないと思われる場合。





