【通信プロトコル|実務向け】【 Export-VM 】コマンドレット――Hyper-V仮想マシンをエクスポートする:Windows PowerShell基本Tips(155)

導入:なぜ仮想マシンのエクスポートが重要なのか

Hyper-V環境の運用において、仮想マシンを別のホストへ移行したり、バックアップとして切り出したりする作業は避けられません。ネットワーク経由のライブマイグレーションが利用できない環境や、オフラインでの搬送が必要な場合、仮想マシンを構成する複数のファイル(構成ファイル、仮想ハードディスクなど)を正確に一箇所にまとめる必要があります。

手動でファイルをコピーすると、ファイル漏れや整合性の欠如といった事故が発生しやすく、移行先でインポートできないというトラブルを招きます。今回解説するExport-VMコマンドレットは、これらを安全かつ確実に「可搬性のある形式」で書き出すための必須ツールです。

基礎知識:エクスポートの仕組みと前提条件

Export-VMとは、Hyper-V仮想マシンの全構成要素を単一のフォルダにパッケージングして書き出すためのコマンドレットです。

利用上の注意:このコマンドレットは「Windows PowerShell用Hyper-Vモジュール」に含まれています。また、実行には管理者権限が必要です。
整合性:単純なコピーとは異なり、Hyper-Vの管理下で整合性を保った状態でファイルを書き出します。

実装/解決策:具体的な活用法

基本的なエクスポートは「対象のVM名」と「出力先パス」を指定するだけで完結します。また、稼働中の仮想マシンをエクスポートする際は、メモリ状態を含めるか、あるいはデータ整合性を優先するかを指定することで、環境に応じた最適なバックアップが可能です。

サンプルプログラム:現場で使える実行例

以下に、実務でよく利用されるパターンをまとめました。PowerShellコンソールを管理者として起動し、実行してください。

1. 基本的なエクスポート
指定したパスに仮想マシン名のフォルダが作成され、構成ファイルが書き出されます
Export-VM -Name “Test-VM01” -Path “D:\Export”

2. 複数の仮想マシンを一括エクスポート
“Web-” で始まる名前の仮想マシンをすべて抽出し、一括でエクスポートします
Get-VM | Where-Object { $_.Name -like “Web-” } | Export-VM -Path “D:\Export”

3. 実行中の仮想マシンをデータ整合性を保ってエクスポート
運用チェックポイントと同様に、整合性の取れた状態で書き出します
Export-VM -Name “Test-VM01” -Path “D:\Export” -CaptureLiveState CaptureDataConsistentState

4. メモリ状態(保存状態)を含めてエクスポート
インポート後にすぐ作業を再開したい場合に有効です
Export-VM -Name “Test-VM01” -Path “D:\Export” -CaptureLiveState CaptureSavedState

応用・注意点:現場で役立つ補足情報

容量の確保:エクスポート先(-Path)のストレージ容量は、仮想ハードディスクのサイズ分だけ消費されます。十分な空き容量があることを事前に確認してください。
エクスポート後の確認:エクスポート終了後、指定したフォルダ内に「Virtual Machines」や「Virtual Hard Disks」といったサブフォルダが正しく生成されているか確認する癖をつけましょう。
トラブル回避:稼働中のエクスポート(CaptureLiveState)は、仮想マシンのI/O負荷を高める可能性があります。業務時間外や負荷の低い時間帯に実行することを推奨します。
インポート時の注意:エクスポートした仮想マシンを別のホストへ戻す際は、Import-VMコマンドレットを使用します。その際、仮想スイッチの名前が移行先と一致していないとエラーになることがあるため、ネットワーク設定の再割り当てが必要になる点に注意してください。

コメント

タイトルとURLをコピーしました