Windows Server 2016 への Hyper-V 仮想マシンの移行について

こんにちは、 Windows & Device グループの松村です。
サーバーのOSをアップグレードする際、 Hyper-V 上に構成された仮想マシンも新しい OS に移行する必要がありますが、どのように移行すればよいか困ったことはありませんか?
今回はよくあるお問い合わせの一つとして、 Windows Server 2016 の Hyper-V へ仮想マシンを移行する手順についてご紹介いたします。

Windwos Server 2016 では Hyper-V の構成バージョンとして 5.0 以降をサポートしています。
構成バージョン 5.0 以降となるホスト OS は、 Windows Server 2012 R2 以降となります。
そのため移行元の仮想マシンを作成された環境によって、移行の手順が異なります。

◆ Windows Server 2012 R2 以降の場合
Windows Server 2012 R2 以降の Hyper-V 環境で作成された仮想マシンは、少ない手順で仮想マシンを移行することができ、スナップショットやネットワーク構成の移行も可能です。
移行は次の手順で行います。

移行手順

  1. 移行元サーバーで、移行したい仮想マシンをオフにします。
  2. 移動する仮想マシンの仮想ハード ディスクやスナップショットを含むフォルダをコピーし、以下のように構成します。
    ※移動する仮想マシンを右クリック→「エクスポート」を選択することでも同様のフォルダが作成されます。 blog-test12r2 (仮想マシンのフォルダ)
        ┣- Snapshots (スナップショットを作成していない場合、必要ありません)    ┣- Virtual Hard Disks (仮想ハード ディスクを含むフォルダ)
        ┗- Virtual Machines (仮想マシンの構成ファイル (XML ファイル) を含むフォルダ)
  3. 仮想マシンのフォルダごとコピーし、移行先の Windows Server 2016 の任意の場所へ配置します。
  4. Windows Server 2016 で Hyper-V マネージャーを起動し、仮想マシンを配置するサーバーを選択します。「操作」→「仮想マシンのインポート」を選択すると、「仮想マシンのインポート ウィザード」が開始します。
  5. 「フォルダーの検索」で、手順 3. で配置した仮想マシンのフォルダを指定します。
  6. 「仮想マシンの選択」では、インポートする仮想マシンを選択します。「インポートの種類の選択」では、インポート方法を選択し、[次へ] ボタンをクリックします。 例では以下のインプレースでのインポートを実施するとします。
    ※インポート方法の詳細につきましては、仮想マシンのエクスポートとインポートの概要をご確認ください。
  7. 「ネットワークへの接続」で仮想スイッチのエラーが出た場合、移行元の仮想マシンの構成に沿う適切な仮想スイッチを選択してください。
  8. 要約が表示され、問題がなければ完了を選択すると仮想マシンの移行が完了します。

◆ Windows Server 2012 以前の場合
Windows Server 2012 以前の Hyper-V 環境で作成された仮想マシンの構成バージョンについては、 Windows Server 2016 では動作がサポートされていません。
そこでインポートではなく、移行元仮想マシンの VHDX (または VHD )ファイルを用いて仮想マシンを新規作成する必要があります。
※Windows Server 2012 R2 の環境がご用意できる場合、 Windows Server 2012 R2 にインポートし、上記の「 Windows Server 2012 R2 以降の場合」の手順で移行していただくことも可能です。 Windows Server 2012 以前から、 Windows Server 2012 R2 への仮想マシンの移行については、こちらをご参考ください。

既存の VHDX ファイルを用いて仮想マシンを新規作成する場合、ゲスト OS 内のネットワーク構成は保持されません。
そのため、移行前に IP アドレスなどのネットワーク構成をメモしておくことをおすすめします。
Hyper-V ホストとしては、 CPU やメモリ構成、スナップショット( 2008 R2 以前ではチェックポイント)なども移行できません。
そのため、移行前に CPU やメモリ構成などの仮想マシンの構成をメモしておくことをおすすめします。
また、スナップショットは VHDX ファイルではなく AVHDX( AVHD )ファイルに書き込まれますが、以下の方法でスナップショットを VHDX ファイルに結合することで、最新の仮想マシンのデータを移行することが可能です。
(スナップショットを作成していない環境の場合、以下の方法はスキップしていただけます。)

実行前に移行したい仮想マシンはオフにします。
スナップショットを結合する方法(結合を行うと、元のスナップショットは消えてしまうためご注意ください。)

  1. 移行元サーバーで移行したい仮想マシンを選択し、一番上のスナップショットを右クリックします。
  2. 右クリックメニューから「スナップショットのサブツリーを削除」を選択します。この操作により、スナップショットが変更の古い順に結合され削除されます。
    ※結合するファイルのサイズにより、処理に時間がかかる場合がございます。
  3. 仮想ハード ディスクの保存先を確認し、 AVHDX ファイルが削除されていれば結合は完了です。

スナップショットが結合された移行元の仮想ハード ディスクを元に、移行を行います。

移行手順

  1. 移行したい仮想マシンの仮想ハード ディスク ファイル( VHDX ファイル)をコピーし、移行先の Windows Server 2016 の任意の場所へ配置する。
  2. Windows Server 2016 で Hyper-V マネージャーを起動し、仮想マシンを配置するサーバーを選択します。「操作」→「新規」→「仮想マシン」を選択すると、仮想マシンの新規作成ウィザードが開始します。
  3. 「名前と場所の指定」、「世代の指定」、「メモリの割り当て」、「ネットワークの構成」は適宜適切な設定をお願いします。
  4. 「仮想ハード ディスクの接続」で、「既存の仮想ハード ディスクを使用する」を選択し、手順 1. の VHDX ファイルを指定します。
  5. 要約が表示され、問題がなければ完了を選択すると仮想マシンの移行が完了します。

※注意点
既存の VHDX ファイルを使用して作成された仮想マシンは、レジストリ キーに既存の NIC の情報が残っている場合があります。
そのため、移行先の NIC に移行前と同一の IP アドレスを設定しようとすると、以下のエラーが表示されます。

こちらのエラーは、新規作成で移行された仮想マシン上で以下の操作を行うことにより回避することができます。
♦ネットワーク アダプターに IP アドレスを設定する際のエラー メッセージ https://support.microsoft.com/ja-jp/help/269155/error-message-when-you-try-to-set-an-ip-address-on-a-network-adapter