こんにちは。Windows プラットフォーム サポートの加藤です。

 

本日は、Hyper-V のクラスター構成の環境で、仮想マシンの設定変更における注意事項についてお伝えします。

通常、仮想マシンの設定変更は、Hyper-V マネージャーから実施しますが、クラスター環境では、フェールオーバー クラスター マネージャーから、設定を変更する必要があります。
Hyper-V マネージャーから変更をした場合、変更後の情報がクラスターに伝わらず、Hyper-V の仮想マシンの保持する情報と、クラスターの仮想マシン構成リソースの情報に矛盾が発生し、以下のような事象が発生する場合があります。

 

・事象 1. クイック マイグレーションやライブ マイグレーションが失敗する。

マイグレーション失敗時には、以下のようなエラーが記録されます。

 

ソース:VMSMP
イベント ID:32
イベント種類:エラー
イベント内容
スイッチ '<スイッチ名>' のポート '<ポート名>' へ NIC '<NICのID>' を接続できませんでした。状態 = C000003A"

ソース:Microsoft-Windows-Hyper-V-High-Availability
イベント ID:21502
イベント種類:エラー
イベント内容
'<仮想マシン名>' は開始できませんでした。  '<仮想マシン名>' は復元できませんでした。(仮想マシン ID  <仮想マシン ID>)  '<仮想マシン名>' Microsoft Synthetic Ethernet Port (インスタンス ID {<インスタンス ID>}): 復元できませんでした。エラー: '指定されたパスが見つかりません。' (0x80070003)。(仮想マシン ID <仮想マシン ID>)  '<仮想マシン名': 'ネットワーク アダプター' (ネットワーク アダプター ID) のスイッチ ポート接続が無効です。"

 

上記のイベントは、Hyper-V の各仮想マシン上で保持している仮想スイッチの情報と、クラスターの仮想マシン リソース上で保持している仮想スイッチの情報に矛盾がある場合などに発生します。

仮想マシンは移動先ノードで、接続先すべき仮想スイッチを探す際に、クラスターの仮想マシン リソースのレジストリに保存されたVmSwitchPorts の値を確認します。
仮想マシンはここから得た情報をもとに、移動先ノードの仮想スイッチに接続を試みますが、Hyper-V の情報と、クラスターの情報が異なると接続ができず、エラーとなります。

 この現象は、Hyper-V マネージャーから設定をした場合に、仮想マシンの変更後の情報がクラスターへ反映されないために発生します。

 

・事象 2. 設定変更後、元の設定に戻ってしまう。

この問題は、Hyper-V マネージャーから仮想マシンの設定を変更を実施した場合、マイグレーションを実行、もしくはクラスターの仮想マシン構成リソースのオンライン → オフラインを実行すると、変更前の状態に戻ってしまいます。
仮想マシン構成リソースのオンライン時に、クラスターが保持する古い情報が、Hyper-V の仮想マシンの情報として、上書きされるため、この事象が発生します。

仮想マシンの変更は、フェールオーバー クラスター マネージャーから、設定を変更することで、変更した情報は直ちにクラスターの仮想マシン リソースにも保存されるため、上記の問題を防ぐことが可能です。
手順:
当該の仮想マシンを右クリックし、[設定] を選択して変更画面を起動します。
(または、右ペインから [設定] をクリックします。)

 

 また、万が一、Hyper-V マネージャーから設定を変更してしまった場合には、以下の手順を行うことで、情報の更新を行うことができます。

  1) フェールオーバー クラスター マネージャーを開きます。

  2) [サービスとアプリケーション] を展開し、仮想マシンの構成を変更した
     仮想マシンをクリックします。

  3) 中央に表示された仮想マシン リソースを右クリックします。

  4) メニューから [その他のアクション]->[仮想マシン構成を最新の状態に更新]
     を選択します。

 

- 参考
Windows Server 2008 でフェールオーバー クラスタのクイック マイグレーション構成後 仮想マシンの構成を変更して仮想マシン リソースを移動すると フェール オーバーに失敗する場合がある
http://support.microsoft.com/kb/961782/ja

※ 上記 KB はWindows Server 2008 のクイック マイグレーションについての情報ですが、Windows Server 2008 R2 のライブ マイグレーションでも同様です。

なお、Windows Server 2012 からは、クラスター化された仮想マシンの設定の一部は、Hyper-V マネージャーから変更ができなくなっているため、同様の問題は発生しません。