本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Import-VM」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、可搬性のある形式に書き出された「Hyper-V」の仮想マシンを読み込んでHyper-Vホスト上で実行可能にする「Import-VM」コマンドレットです。
Hyper-Vホスト上で稼働する仮想マシンを他のHyper-Vホストに移動したい場合、ネットワークで接続されたHyper-Vホスト間であれば本連載第154回で紹介した「Move-VM」コマンドレットで移動できます。しかし、ネットワークで接続されていないHyper-Vホスト間を移動する場合は、仮想マシンを構成するファイル群をオフラインメディアで運んでコピーし、ファイル群を仮想マシンとしてHyper-Vホストに認識させる必要があります。
本連載第155回で紹介した「Export-VM」コマンドレットを使用することで、可搬性のある形式に仮想マシンをエクスポートできます。このエクスポートした仮想マシンを移動先のHyper-Vホストで読み込んで仮想マシンとして復元するコマンドレットがImport-VMコマンドレットです。
Import-VMコマンドレットによるインポート作業は、GUI(グラフィカルユーザーインタフェース)ツールである「Hyper-Vマネージャー」でも実施可能です(画面1)。
【注】Import-VMは「Windows PowerShell用Hyper-Vモジュール」に含まれるコマンドレットになります。GUIの「Windowsの機能の有効化」や「役割と機能の追加」からHyper-Vを有効化するか、PowerShellから「Enable-WindowsOptionalFeature」コマンドレットを使用して有効化します。
| オプション | 意味 |
|---|---|
| -Path | インポートする仮想マシンの「VMCX」ファイルを指定する |
| -Register | インプレースで仮想マシンをインポートする場合に指定する。省略可能 |
| -Copy | 別のフォルダにコピーしてインポートする場合に指定する。省略可能 |
| -GenerateNewId | 新しいVM IDでインポートする場合に指定する。省略可能 |
| -VhdDestinationPath | 仮想ハードディスクのインポート先パスを指定する。省略可能 |
| -VirtualMachinePath | 仮想マシンの構成ファイルのインポート先パスを指定する。省略可能 |
| -SnapshotFilePath | 仮想マシンのチェックポイントフォルダのインポート先パスを指定する。省略可能 |
| -SmartPagingFilePath | 仮想マシンのスマートページングフォルダのインポート先パスを指定する。省略可能 |
| -ComputerName | リモートのHyper-Vホストで仮想マシンをインポートする場合にコンピュータ名を指定する。省略可能 |
インポートファイルをあらかじめ仮想マシンを格納するフォルダへコピーして、そのファイルパスを変更せずに仮想マシンをインポートする場合、必須オプションであるインポートする仮想マシンのVMCXファイル(Hyper-V仮想マシンで使用される主要な設定構成ファイル)のパスと「-Register」オプションを指定してImport-VMコマンドレットを実行します(画面2)。なお、Import-VMコマンドレットは管理者権限での実行が必要となります。
Import-VM -Path "D:\Hyper-V\Test-VM01\Virtual Machines\DA3B7123-FCA9-48ED-9FE6-9BE1F391B6D8.vmcx" -Register
「Hyper-Vマネージャー」からインポートする場合の「インプレースでのインポート」と同じ挙動となり、インポート後に本連載第118回で紹介した「Get-VM」コマンドレットで各種ファイルのパスを確認すると、あらかじめエクスポートフォルダをコピーしたフォルダ構成と同じ状態で表示されていることが確認できます。
インポートする仮想マシンのファイル群を指定したフォルダにコピーしてインポートする場合、「-Copy」オプションとともに、各種ファイルを配置するフォルダパスを個別に設定します。
例えば、Test-VM01(インポート元は「D:\import」フォルダ)をコピーしてインポートする際、構成ファイルは「D:\VMConfig\Test-VM01」に、チェックポイントとスマートページングは「D:\VMFiles\Test-VM01」に、仮想ハードディスクは「D:\VHDs\Test-VM01」に移動したい場合は以下のようなコマンドレット実行例になります(画面3)。
Import-VM -Path "D:\import\Test-VM01\Virtual Machines\DA3B7123-FCA9-48ED-9FE6-9BE1F391B6D8.vmcx" -Copy -VhdDestinationPath "D:\VHDs\Test-VM01" -VirtualMachinePath "D:\VMConfig\Test-VM01" -CheckpointFileLocation "D:\VMFiles\Test-VM01" -SmartPagingFilePath "D:\VMFiles\Test-VM01"
画面3ではファイルパスの確認とともに、インポートした仮想マシンのVM IDも確認しています。
仮想マシンをエクスポートしたHyper-Vホストで、エクスポート元の仮想マシンのVM IDを確認していますが、エクスポート元とインポートした仮想マシンでVM IDが同じ値であることが分かります。つまり、同一の仮想マシンとして復元しているということです。「Hyper-Vマネージャー」からインポートした場合の「同一VM IDでの復元」と同じ挙動になります。
「Hyper-Vマネージャー」でのインポート作業で指定できるインポート方式の最後が「異なるVM IDでのコピー」になります。この方式でインポートする場合、「-GenerateNewId」オプションを「-Copy」オプションとともに使用します(画面4)。
Import-VM -Path "D:\import\Test-VM01\Virtual Machines\DA3B7123-FCA9-48ED-9FE6-9BE1F391B6D8.vmcx" -Copy -GenerateNewId -VhdDestinationPath "D:\VHDs\Test-VM01" -VirtualMachinePath "D:\VMConfig\Test-VM01" -CheckpointFileLocation "D:\VMFiles\Test-VM01" -SmartPagingFilePath "D:\VMFiles\Test-VM01"
画面4でもファイルパスとともにVM IDを確認していますが、異なるVM IDが割り当てられていることが分かります。
株式会社ネットワールド所属。Microsoft MVP for Cloud and Datacenter Management(2012-2026)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.