従来、仮想マシンの設定や仮想ディスクファイルを複製したり、別のシステムに移行させたりするには、仮想マシンをいったんエクスポートする必要があった。ところがWindows 8/Server 2012のHyper-Vでは、エクスポートなしに仮想マシンを直接インポートできる。その方法は?
TIPS「Hyper-Vの仮想マシンをエクスポート/インポートする」「Hyper-Vの仮想マシンやスナップショットをエクスポート/インポートする(Hyper-V 2.0編)」では、Windows Server 2008/Windows Server 2008 R2のHyper-Vで、仮想マシンの設定をエクスポート/インポートする方法を紹介した。この機能を使うと、既に作成した仮想マシンの設定や関連するデータ(仮想ディスクファイルやスナップショット情報など)をまとめてほかのHyper-Vサーバへ移行させたり、仮想マシンの複製を行ったりできる。
Windows 8やWindows Server 2012のHyper-Vではこのインポート機能が強化され、「エクスポートしていない仮想マシンでも直接インポートできる」ようになった。これにより、仮想マシン環境の移行などが素早く行えるようになる。
例えば仮想マシンの構成情報(XMLファイル)や仮想ディスクファイル(VHD/VHDXファイル)を独立したハードディスクに保存していたとすると、そのディスクを新しいWindows Server 2012システムに接続してインポートすれば、すぐにHyper-Vマネージャに仮想マシンを登録できる。またWindows OSをインストールしたボリュームが障害を起こしたり、新しいWindows OSを(アップグレードではなく)新規インストールした場合でも、仮想マシンの構成ファイルや仮想ディスクファイルさえ残っていれば、容易に元の仮想マシン環境を復元できる。
以前のHyper-Vではエクスポートしていない仮想マシンはインポートできなかったため、障害などが発生してOSを新規インストールした場合は、まず空の仮想マシンを作成して、残っている仮想ディスクを1つずつアタッチし直したり、設定(CPU数やメモリサイズ、リソース割り当てなど)を見直したりする作業が必要だった。Windows 8やWindows Server 2012のHyper-Vではこのような場合、まずインポートウィザードを起動して既存の仮想マシンの設定情報から復元できないかどうか試してみるとよい。本TIPSでは、Hyper-Vマネージャを使って仮想マシンをインポートする方法を紹介する。PowerShellを使ってインポートする方法については今後別TIPSで取り上げる。
Windows 8やWindows Server 2012のHyper-Vにおいて、仮想マシンをいったんエクスポートしてからインポートする方法は従来のServer OSに付属しているHyper-Vの場合と同じである。具体的な操作方法については、TIPS「Hyper-Vの仮想マシンやスナップショットをエクスポート/インポートする(Hyper-V 2.0編)」を参照していただきたいが、Hyper-Vマネージャでエクスポートしたい仮想マシンやスナップショットを選んで右クリックし、ポップアップメニューから[エクスポート]を選べばよい。仮想マシン全体をエクスポートするだけでなく、特定のスナップショットだけを選んでエクスポートすることもできる。
エクスポートした仮想マシンのデータ(ファイル)は、[仮想マシンのインポート]ウィザードを起動してインポートする。具体的なウィザード画面の操作例は後述するが、ウィザードの最初の画面でエクスポートしたパス名(「Virtual Machines」フォルダを含むパス)を指定した後、インポートの種類を選択する(次の画面参照)だけである。
3つの選択肢のうち、上の2つはエクスポートした仮想マシンのIDをそのまま使うので、同じHyper-Vサーバに上にインポートすることはできない(元の仮想マシンを削除すればインポートできる)。一番下は、元の仮想マシンのコピーを作成するためのものである。これを選択すると、仮想マシンの構成ファイルやスナップショット、仮想ディスクファイルなどをどこに保存するかを聞いてくるので、適当な場所を指定すればよい。
正しくインポートが完了すれば、Hyper-Vマネージャの画面に仮想マシンが表示されるので、設定などを確認後、ほかの仮想マシンと同様に操作する。
次は、ウィザードを使って仮想マシンを直接インポートする手順を見ていく。インポートする元となる仮想環境(構成ファイルや仮想ディスクファイルなど)は、コピーやバックアップなどの手段で既にローカルのディスク上に用意されているものとする。
エクスポートしていない仮想マシンをインポートするには、まず操作ペインにある[仮想マシンのインポート]というリンクをクリックして、ウィザードを起動する。
ウィザードの最初の画面では、インポートしたい仮想マシンの構成情報(XMLファイル)が保存されているフォルダか(通常は「Virtual Machines」というフォルダ)、その1つ上のフォルダを指定する。以下の例では、Windows Server 2008 R2上のHyper-Vで管理していた「Win XP SP3」という仮想マシンをWindows Server 2012のHyper-V上へ直接インポートさせている。ただし元の環境とは保存先のドライブ名が異なっているので、元の構成ファイルの情報をそのまま使うことはできないが、ウィザードの途中でパスを手動で指定することにより、パス名の修正が行われる。
次の画面ではインポートする仮想マシンを選択する。ここでは1つしか表示されていないが、同じ場所に構成ファイルが複数ある場合には、適切なものを選ぶ。
その次の画面では、インポート方法を選択する。
次の画面では仮想マシンの保存先を指定する。
次の画面では、仮想ディスクの場所(元のファイルが置かれている場所)を指定する。
次の画面では、これから仮想ディスクを保存するための場所を指定する。
インポートする仮想マシンに実行中の「状態が保存」されている場合(仮想マシンが一時的にサスペンドしているような状態)、OSやHyper-V、CPU環境などに互換性がないとインポートできない(基本的には、エクスポートしたサーバでないと「状態」付きのままインポートできない)。その場合は「状態」を削除する必要がある。ただし状態を削除すると、仮想マシンの電源をいきなり切ったのと同じになり、障害が発生する可能性がある。そこでインポートする前に仮想マシンを正常にシャットダウンさせておくべきである。
構成ファイルに記録されているパスに仮想ディスクが見つからない場合、次のような画面が表示されるので、正しいパスを指定するか、仮想マシンから仮想ディスクを削除する。複数のスナップショットがある場合は、その数だけ聞いてくるので、スナップショット名やフルパス名などを参考に、それぞれフルパスを指定すること。
指定した仮想ディスクが差分ディスクの場合、実際にインポート作業を始めてからエラーとなりインポートできないことがある。リンク先が存在しない差分ディスクが含まれている場合は、あらかじめ[ディスクの検査]ウィザードでリンク先の親ディスク情報を修正するか、[ディスクの編集]ウィザードで親ディスクと結合するなどしておく
次の画面では仮想ネットワークスイッチを指定する。仮想ネットワークスイッチは、一見すると表記は同じでも、異なるWindows OSなら異なる内部識別番号が付いており、区別されている。同じHyper-Vサーバ上にインポートするのでない限り、仮想スイッチ名も選択し直す必要がある。
以上でウィザードは終了である。ウィザードのステップ数は多いが、インポート後のパス名などが同じなら実際には必要ない項目は表示されないので、もっと簡単に終了する。最後に[完了]ボタンをクリックすると実際の構成ファイルの作成や仮想ディスクファイルのコピーなどが行われる。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.