Hyper-V レプリカ機能のフェールオーバーとレプリケーションの反転 (計画フェールオーバー編)

Last Update: feedback 共有

※ 本記事は弊社の Technet から移行した記事です。
いつも弊社製品をご利用いただきまして誠にありがとうございます。日本マイクロソフトの Windows サポートチームです。

今回は、前回に引き続き、Hyper-V レプリカ機能のフェールオーバーとレプリケーションの反転についてご紹介いたします。
Hyper-V レプリカのフェールオーバーには、 “計画フェールオーバー” と 計画外の”フェールオーバー” の 2 種類があります。
本ブログでは、”計画フェールオーバー” とその反転の具体的な処理内容についてご紹介いたします。
なお、Hyper-V レプリカの概要と計画外の “フェールオーバー” については、前回の記事
Hyper-V レプリカ機能のフェールオーバーとレプリケーションの反転 (計画外フェールオーバー編) をご参照ください。

計画フェールオーバーの処理内容

計画フェールオーバーは、データ センターの計画停電など、計画的に実施されるフェールオーバーのため、プライマリ サーバーとレプリカ サーバーの両方が稼働している状態で実行されます。
そのため、プライマリ サーバーおよびレプリカ サーバーの両方で作業が必要となります。

計画フェールオーバーおよびその反転を GUI から行う場合は、プライマリ サーバーとレプリカ サーバーの両方が稼働状態であることが前提であるため、PowerShell コマンドレットで両サーバーから実行する一つ一つの手順を、プライマリ サーバー側から一度に行うことができます。
先述の公開情報を参考にした PowerShell コマンドレットでの計画フェールオーバーおよびレプリケーションの反転の操作は、以下の通りです。
(1) 仮想マシンのシャットダウン (プライマリ サーバー)
Stop-VM $VMName -ComputerName $Primary
(2) 計画フェールオーバーの準備 (プライマリサーバー)
Start-VMFailover -VMName $VMName -ComputerName $Primary -Prepare
(3) 計画フェールオーバーの実行 (レプリカ サーバー)
Start-VMFailover -VMName $VMName -ComputerName $Replica
(4) (オプション) フェールオーバーの完了 (レプリカ サーバー)
Complete-VMFailover -VMName $VMName -ComputerName $Replica
(5) 仮想マシンの起動 (レプリカ サーバー)
Start-VM -VMName $VMName -ComputerName $Replica
(6) レプリケーションの反転 (レプリカ サーバー)
Set-VMReplication -VMName $VMName -Reverse -ReplicaServerName $Primary -ComputerName $Replica
※ 変数はそれぞれ以下の値を設定します。
$VMName = フェールオーバー対象の VM 名
$Primary = プライマリ サーバー名
$Replica = レプリカ サーバー名

本操作を GUI で実行する場合、まず、GUIもしくはPowerShell コマンドレットで (1) の作業を行ったのち、プライマリ サーバーに仮想マシン上で右クリックし、レプリケーション メニューから、”計画フェールオーバー” を実行してください。

その後、(2) (3) (5) (6) の作業は、GUIですべての処理を一括で行うことも、処理の一部を行うことも可能で、
計画フェールオーバーのウィザードのチェック ボックスから、以下のオプションを選択することで、処理工程を選択します。

□ フェールオーバー後にレプリケーションの方向を反転する
本チェック ボックスをオンにした場合は、 (6) までの処理 が実行されます。
本項目にチェックを入れた場合、前提条件の確認でレプリカ仮想マシンの状態を確認する処理が行われます。
WORKGROUP 環境の場合は、レプリカ仮想マシンの状態を確認する処理にて行われる WinRM のリモート接続に Kerberos 認証ではなく NTLM 認証が用いられるため、WinRM の信頼されたホスト (TrustedHosts) にリモート コンピューターを指定する必要があります。
TrustedHosts への追加は、管理者権限の PowerShell から以下のコマンドにて実施できます。
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "<リモート コンピューター名>"
<リモート コンピューター名> にはプライマリ サーバーからはレプリカ サーバーを指定し、レプリカ サーバーからはプライマリ サーバーを指定します。
なお、現在の設定の確認は以下のコマンドです。
> Get-Item WSMan:\localhost\Client\TrustedHosts

□ フェールオーバー後にレプリカ仮想マシンを起動する
本チェック ボックスをオンにした場合は、(5) までの処理が実行されます。このチェック ボックスは、既定でオンになっています。

全てのチェック ボックスがオフの場合は、(2) (3) の処理のみが実行されます。
(4) はオプションであり、実施しない場合でも (6) のレプリケーションの反転 (レプリカ サーバー) を実施した際に、内部で実行されます。
計画フェールオーバーのウィザードで、既定通りの処理を実行すると、(2) (3) (5) までの処理が行われます。
そのまま、(6) を実施しなくても、レプリカ サーバー側で業務を提供することは可能ですが、回復ポイントの情報が残されたままとなり、差分仮想ディスク (avhd/avhdx) が作成された状態となります。
万が一、フェールオーバー後、レプリケーションの反転前に、レプリカ サーバー側での稼働が長くなることが予想される場合は、予期せず差分仮想ディスクが大きくなることを防ぐためにも、(4) を行う運用をご検討ください。
ただし、(4) を行った時点で、フェールオーバーの取り消しができなくなる点については、あらかじめご留意ください。
既定通りの処理 (2) (3) (5) の場合は、計画フェールオーバーを取り消すことが可能です。
この場合は、プライマリ サーバー側から右クリックのレプリケーション メニューから “計画フェールオーバーの取り消し” 、および、レプリカ サーバー側から右クリックのレプリケーション メニューから “フェールオーバーの取り消し” と、両サーバーで取り消しを行ってください。

まとめ
Hyper-V レプリカのフェールオーバーには、”計画フェールオーバー” と計画外の “フェールオーバー” の 2 種類ありそれぞれの役割や操作手順が異なります。
計画フェールオーバーは、データ センターの計画停電や物理サーバーのメンテナンスなど、計画的に行うフェールオーバーです。
計画フェールオーバーの場合でも、フェールオーバー後にレプリカ サーバーでの稼働が長くなる場合は、事前に “フェールオーバーの完了” を行っておく必要があるなどの留意点がありますので、十分な検討とテストを実施の上、ご利用いただくことをお勧めします。
いかがでしたでしょうか。本投稿が少しでも皆様のお役に立てば幸いです。
(※ 2017 年 02 月 24 日に Ask Core Microsoft Japan Windows Technology Support に公開した情報のアーカイブです。)