クイック マイグレーションをすると仮想スイッチが「構成エラー」になる(Windows Server 2012)

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

Windows Server 2012 フェールオーバー クラスター + Hyper-V の環境で、仮想マシンのクイック マイグレーションを行った後に仮想スイッチが「構成エラー」と表示される件について説明します。

 

この記事でご案内する現象は、仮想マシン リソースを停止した状態でクイック マイグレーション (仮想マシンのオーナー ノードの変更操作) を行った後、マイグレーション先のターゲット ノードで仮想マシンの設定画面を表示することで確認することができますが、他にイベント ログやエラー ダイアログなどは表示されません。また、この状態で仮想マシンを起動すると「構成エラー」だった表示は正しい仮想スイッチの設定に更新され、起動後の仮想マシン(ゲスト OS )は正常に動作します。

また仮想マシンがオンライン状態で行われるマイグレーション処理ではこの表示は表面化することはなく、影響もありません。

 

 

なお、Windows Server 2008 R2 までのフェールオーバー クラスター + Hyper-V 構成ではこの表示は発生しません。

結論から申し上げますと、この表示は Windows Server 2012 に含まれる Hyper-V のデザイン変更によるものであり、この「構成エラー」は無視していただいて問題ありません。

 

この動作について

Windows Server 2012 ではクイック マイグレーションによってターゲット ノードに仮想マシンが移動した際のリソース (ネットワーク デバイスなど) の修正は仮想マシンのワーカー プロセス (vmwp.exe) の起動時に、動的に仮想マザーボードの Power On 処理内で実行するよう変更されました。そのため、仮想マシンの起動のタイミングで正しい値に更新が行われる動作となります。

Windows Server 2008 R2 ではクイック マイグレーション時に仮想マシン管理サービス (vmms.exe) が仮想マシン構成リソースのオンライン処理の延長でターゲット ノード側の仮想スイッチ/ポート情報に適用させるよう構成ファイルの修正を行っていました。そのため、仮想マシンを起動する前のタイミングで既に構成情報は更新済みとなっています。

Windows Server 2012 からは仮想マシンのワーカー プロセス (vmwp.exe) が起動時に変更を行うため、上記のようにオフライン状態で クイック マイグレーションを行いターゲット ノードに移動した場合、このタイミングではまだ仮想マシン プロセスは起動していないため、仮想スイッチ/ポート情報の変更が行われておらず構成情報上は「構成エラー」という形で見えてしまうようになります。この動作の違いは仮想マシン内のリソースの管理を仮想マシン管理サービス (vmms.exe) ではなく、仮想マシンのワーカー プロセス (vmwp.exe) が個別にすべての権限持って行うよう、Windows Server 2012 の仕様として変更されたことに起因しています。

上記の通り、Windows Server 2012 ではクイック マイグレーション後に仮想マシンのワーカー プロセス (vmwp.exe) が起動するタイミングで初めて構成ファイルからターゲットホスト側の仮想スイッチを検索し、検出できれば仮想 NIC の割り当てが行われます。そして、その構成変更処理の延長で構成情報が正しい内容へ修正されます。そのため、仮想マシンの起動前のタイミングで表示される「構成エラー」は無視していただいて問題ありません。