Hyper-Vのエクスポートとインポート:概要、目的、および手順
仮想化の多くの利点の一つに"移植性"があります。これは、ダウンタイムやサービスの中断を招くことなく、選択した仮想マシン(VM)をある場所から別の場所に簡単に移動できることを意味します。Hyper-V 環境内での移植性は、Hyper-V のエクスポートおよびインポート機能によって保証されています。この機能を使用すると、Hyper-V VM を簡単にコピーして目的の場所に移動し、エクスポート時の状態に復元することができます。
では、Hyper-Vのエクスポートおよびインポート機能はどのように動作するのでしょうか?Hyper-V VMをエクスポートすると、VM構成ファイル、VHDファイル、およびVMスナップショットのコピーが作成されます。その後、VMのコピーをHyper-Vホスト内に配置するか、エクスポートしたVMを別のHyper-Vホストに移動するかを指定する必要があります。 最終的に、アーカイブされた仮想マシンは、ハードウェア障害やデータ損失が発生した場合に、仮想マシンのデータを復元するために後で使用できます。
本日のブログ記事では、Hyper-Vのエクスポートおよびインポート機能が、効果的な仮想マシンバックアップの代替手段となり得るかどうか、また包括的なデータ保護ソリューションと比較してどうなのかを探っていきます。
Hyper-V エクスポートとは何ですか?
Hyper-V エクスポートとは、選択した仮想マシン(VM)を、その仮想ハードディスクファイル、VM 構成ファイル、および Hyper-V スナップショットを含めて、単一のファイルにエクスポートするプロセスです。この操作は、VM がオンラインまたはオフラインのいずれの状態でも実行できます。以前の Windows バージョン(Windows Server 2012 以前)では、Hyper-V VM は電源がオフの状態でのみエクスポートできました。Hyper-V エクスポートは、オンデマンドでのみ実行できます。
また、以前は VM をネットワーク共有に直接エクスポートすることはできませんでした。以前の Windows バージョンでは、VM をまずローカル ストレージにエクスポートし、そこからネットワーク経由でアーカイブ ファイルが保存されている保存先にコピーする必要がありました。Windows Server 2012 のリリースにより、この問題は解消されました。
Hyper-V エクスポートは、不要になった VM のアーカイブや、特定の時点での VM データを取得できるアドホックなバックアップとして利用できます。さらに、Hyper-V エクスポートはテスト目的にも使用できます。例えば、本番環境の VM のコピーを作成し、テストやトラブルシューティングのために非本番環境にエクスポートすることができます。
Hyper-V VM のエクスポートプロセスは、しばしば Hyper-Vのスナップショットの取得 バックアップの作成に加え、VMのエクスポートも可能です。VMのエクスポートはスナップショットを作成するほど高速ではありませんが、Hyper-Vのスナップショットとは異なり、既存のVMの完全なコピーを作成し、別の場所に保存することができます。 一方で、Hyper-Vのエクスポートは完全なVMバックアップとは見なせません。データ保護ソリューションで広く採用されている圧縮、重複排除、暗号化といった技術が適用されないため、ストレージ容量の削減や利用可能なディスク領域の効率的な活用ができません。
Hyper-V インポートとは何ですか?
Hyper-V インポートを使用すると、以前に構成ファイルセットとしてエクスポートした選択した仮想マシンを復元できます。Hyper-V 仮想マシンは、元の Hyper-V ホストまたは新しいホストにインポートできます。以前は、Hyper-V インポートを行う前に Hyper-V エクスポートを行う必要がありました。しかし、Windows Server 2012 R2 以降では、事前にエクスポートを行わなくても Hyper-V 仮想マシンをインポートできるようになりました。 Hyper-V インポートを実行すると、VM は Hyper-V ホストに登録されます。
Hyper-V インポートには、以下の種類があります。
Register in-place.この場合、ソースファイルは一切変更または移動されません。さらに、VMの一意のIDは変更されないため、そのVMはすでにHyper-Vホストに登録されていることになります。IDを持つソースVMを事前に削除せずにVMのインポートを試みると、操作は失敗します。

このインポート方式は、ソースの場所から仮想マシンを実行したい場合や、仮想マシンに障害が発生し、Hyper-V ホストに再度登録する必要がある場合に利用できます。インポート操作が完了すると、エクスポートファイルは実行状態ファイルとなり、削除できなくなります。
- この場合、エクスポートされたファイルは指定された場所にコピーされ、VMの一意のIDはHyper-Vエクスポート時のまま維持されます。したがって、IDの競合を防ぐため、インポート操作を開始する前に元のVMを削除しておくことをお勧めします。そうしないと、前述のエラーが発生します。
Hyper-V のインポート操作が完了しても、エクスポートされたファイルはそのまま残ります。これらのファイルは削除したり、再度インポートしたりすることができます。
- アーカイブされたVMを復元する際は、"コピー"のインポートタイプを選択してください。この場合、VMファイルは対象の場所にコピーされ、VMには新しい一意のIDが割り当てられます。つまり、事前に構成済みのVMを同じHyper-Vホストに複数回インポートすることが可能です。
Hyper-V 仮想マシンのエクスポート方法
Hyper-V マネージャーを使用して Hyper-V 仮想マシンをエクスポートできます。 PowerShell コマンドレットの実行. ここでは、これらの方法について詳しく説明し、Hyper-V 仮想マシンのエクスポート手順を一つひとつ順を追って解説します。
Hyper-V マネージャーの使用
Hyper-V 仮想マシンをエクスポートするには、"仮想マシンのエクスポート"ウィザードを起動する必要があります:
1. Hyper-V マネージャーを開きます。
2. リストから仮想マシンを右クリックします。ご覧のとおり、ここでは実行中の仮想マシンを選択しています。

3. 選択 Export "仮想マシンのエクスポート"ウィザードを開くには、
4. をクリックします Browse 仮想マシンをエクスポートする先を指定します。

5. "ステータス"列で、Hyper-V エクスポート操作の進行状況を確認します。

6. 操作が完了したら、フォルダを開いて、すべてが正常にエクスポートされたことを確認してください。

上のスクリーンショットからわかるように、選択したVM(仮想ハードディスク、VM構成ファイル、VMスナップショットを含む)は、新しい場所に正常にエクスポートされました。
PowerShellの使用
次の方法は、PowerShell コマンドレットを実行することです。これにより、Hyper-V 仮想マシンのエクスポートプロセスを自動化できます。適切な PowerShell スクリプトを作成したら、タスク スケジューラを使用して、そのスクリプトを自動的に実行するようにスケジュール設定できます。これにより、システムのダウンタイムやサービスの中断を招くことなく、稼働中の仮想マシンを定期的にバックアップできます。
PowerShell を使用して Hyper-V 仮想マシンをエクスポートするには、次のコマンドレットを実行します。
Export-VM -Name DemoVM -Path 'C:Virtual Hard DisksExported VMs'
コマンドレットが正常に動作するように、PowerShellを"管理者として"実行することを忘れないでください。

対象フォルダを確認すると、VMおよび関連ファイルが正常にエクスポートされていることが確認できます。

次のコマンドレットを使用すると、利用可能なすべての仮想マシンをCドライブのルート(C:)にエクスポートできます。
Get-VM | Export-VM -Path C:
Hyper-V 仮想マシンのインポート方法
前述の通り、これまでエクスポートされていないHyper-V仮想マシンでもインポートすることができます。この目的のためには、Hyper-VマネージャーやPowerShellコマンドを使用することも可能です。
Hyper-V マネージャーの使用
Hyper-V 仮想マシンをインポートするには、以下の手順を実行してください:
1. Hyper-V マネージャーを開きます。
2. [操作] セクションで、[ Import Virtual Machine "仮想マシンのインポート"ウィザードを開くには。

3. "開始する前に"のセクションで、このウィザードの機能を確認し、[クリック] します Next.

4. "フォルダの指定"セクションで、インポートしたい仮想マシンが含まれているフォルダを選択してください。

5. "仮想マシンの選択"セクションで、インポートする仮想マシンを選択します。

6. "インポートタイプの選択"セクションでは、ご自身のニーズに応じて、以下の3つのインポートタイプから選択する必要があります: Register the virtual machine in-place, Restore the virtual machine, そして Copy the virtual machine. ここでは、VMをコピーして、新しい一意のIDを割り当てる方法について説明します。

7. [保存先を選択] セクションでは、VM ファイルを保存するフォルダーを指定できます。2 つの選択肢があります。VM ファイルを Hyper-V のデフォルトのフォルダーにインポートするか、手動でフォルダーを選択して別の場所に保存するかです。

8. "保存先フォルダを選択"セクションで、[クリック] Browse このVMの仮想ハードディスクを保存するフォルダを選択します。

9. "概要"セクションでは、このウィザードで行った設定内容を確認できます。クリックしてください Finish ウィザードを閉じて、Hyper-V 仮想マシンをインポートしたい場合は、

10. ファイルが保存先にコピーされています。

操作が完了すると、Hyper-V マネージャーを使用して、選択した Hyper-V ホスト上でインポートされた VM を確認できます。

PowerShellの使用
ご存知のように、Hyper-V 環境には 3 種類のインポート方式があり、Import-VM コマンドレットを使用してさまざまな種類の Hyper-V インポートを実行できます。
実行するには その場での登録 選択したVMのIDと同じIDを持つソースVMを、まず削除する必要があります。そのためには、次のコマンドレットを実行してください:
Get-VM DemoVM | Remove-VM
その後、Import-VM コマンドレットを実行して、仮想マシンがその場所に登録され、既存の一意の ID が使用されることを確認できます。
Import-VM –Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx'

次の選択肢は、VMを復元することです。この場合、エクスポートされたファイルは新しい場所にコピーおよび移動され、既存のIDが使用されます。このインポート方式でも、復元操作を開始する前にソースVMを削除する必要があります。
Import-VM -Path 'C:Virtual Hard DisksExported VMsHyper-V Server 2012Virtual Machines6E62C696-E3A1-41C3-A975-0E1CC9E67A31.vmcx' -Copy -VhdDestinationPath 'C:Program FilesImported VMsVHD Files' -VirtualMachinePath 'C:Program FilesImported VMsVM Files'
インポート処理は数秒で完了するはずです。

このコマンドレットを正常に実行するには、ソースの .vcmx ファイルが現在保存されている場所への完全なパスと、.vcmx ファイルおよび .vhdx ファイルをコピーする先の完全なパスを明確に指定する必要があります。
最後に、次の操作を行うことができます VMをコピーする 次のPowerShellコマンドレットを使用します。この場合、インポートされたVMには新しい一意のIDが割り当てられるため、元のVMを削除する必要はありません。この方法を使えば、同じホストにこのVMを複数回インポートすることができます。
Import-VM -Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx' -Copy -GenerateNewId

まとめ
Hyper-V 仮想マシンをエクスポートまたはインポートするには、Hyper-V マネージャーを使用するか、PowerShell スクリプトを実行します。これらの方法にはそれぞれ独自の利点と使用ケースがあるため、個々のニーズに応じてどちらを選択するか決める必要があります。
Hyper-V のエクスポートおよびインポート機能は、バックアップの代替手段として使用できます。つまり、実行中の仮想マシンのコピーを作成し、破損や障害が発生した場合に復元することができます。 ただし、Hyper-V VMのエクスポートおよびインポートのプロセスには、ユーザー側による多くの手動操作が必要であり、PowerShellスクリプトを使用する場合にのみ自動化が可能です。したがって、本格的なバックアップソリューションと比較すると、Hyper-Vのエクスポートおよびインポート機能はかなり限定的であり、小規模なHyper-V環境しか保護できない上、多くの時間と労力を要します。
Hyper-V VMの保護プロセスを簡単、迅速、かつ安全に行いたい場合は、高度なデータ保護ソリューションの導入を検討すべきです。 NAKIVO Backup & Replication 信頼性が高く強力なソリューションであり、わずかなコストで複数の環境を保護するのに役立ちます。