Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
VMwareまたはVirtualBox上の仮想アプライアンスをKVM基盤プラットフォームへ移行する際、最初に直面する課題がフォーマット非互換性です。エクスポートしたOVAファイルはProxmox、KVMホスト、EVE-NG実験環境で直接利用できません。これらの環境はいずれもQCOW2イメージを要求するためです。
本ガイドではLinux、Windows、Proxmox環境での完全な変換手順を解説し、各種コマンドと頻出トラブルの解決策を記載します。
各種コマンドを実行する前に、対象ファイルの仕組みを理解しておくと作業がスムーズになります。
OVA(Open Virtualization Archive)は単一のディスクファイルではなく、3種類のファイルをまとめた圧縮TARアーカイブです。
QCOW2(QEMU Copy On Write v2)はKVM系ハイパーバイザーの標準ディスクフォーマットです。VMDKと異なり、シンプロビジョニング、標準スナップショット機能、AES暗号化にネイティブ対応しています。
OVAとQCOW2の簡易比較
| 機能項目 | OVA(VMDK) | QCOW2 |
|---|---|---|
| 対応基盤 | VMware、VirtualBox | KVM、QEMU、Proxmox、EVE-NG |
| ファイル種別 | TARアーカイブ | 単一ディスクイメージ |
| スナップショット | ハイパーバイザー側で管理 | 標準搭載、ネイティブ対応 |
| ディスク割り当て | 固定サイズまたは動的拡張 | シンプロビジョニング |
| 圧縮機能 | 手動でzlib圧縮 | 標準搭載 |
変換が必要な理由
OVAをQCOW2へ変換する主な目的はハイパーバイザー間の仮想マシン移行です。Proxmoxの自宅実験環境を構築する場合、EVE-NGにネットワークアプライアンスを導入する場合、古いVMwareワークロードをKVM環境へ移行する場合、仮想マシンを起動させるには事前に移行先プラットフォームに合わせたディスクフォーマットへ変換する必要があります。
Linuxのコマンドラインは本変換作業に最も適した環境です。大半の主要ディストリビューションに搭載されているqemu-imgツールで仮想ディスクのフォーマット変換を実行します。
作業開始前に以下の要素を準備してください。
OVAはTARアーカイブのため、変換前に展開作業が必須です。
tar -xvf your-appliance.ova
実行後複数のファイルが出力されます。変換に使用するのは.vmdkファイル(仮想ハードディスク)のみです。.ovf(設定ファイル)と.mf(マニフェストファイル)も同時に展開されますが、本変換作業では不要です。
VMDKファイルを展開後、下記コマンドを実行してフォーマット変換を実施します。
qemu-img convert -p -f vmdk -O qcow2 your-disk-image.vmdk output-image.qcow2
各オプションの説明
変換完了後、出力ファイルが正常か確認します。
qemu-img info output-image.qcow2
出力結果のfile format項目がqcow2と表示されているか確認します。出力内容には仮想ディスクの論理サイズと実際のディスク占有容量が記載され、想定外のサイズ増加を確認可能です。
手順4(任意):QCOW2ファイルの圧縮縮小
変換後のファイルは空きブロックがそのまま保持されるため、実データ量より大幅に大きくなる場合があります。再度変換コマンドを実行して容量を削減できます。
qemu-img convert -O qcow2 output-image.qcow2 output-shrunk.qcow2
本コマンドはファイルを再書き込みし、空きブロックを削除します。論理100GBの仮想ディスクで実データが5GBの場合、大幅にファイルサイズを削減可能です。元のファイルは上書きされないため、圧縮後ファイルの動作確認完了後に元ファイルを削除できます。
手順5:KVM/virt-managerでQCOW2イメージを使用
KVM環境の仮想マシンへディスクを接続する手順は下記の通りです。
1. ファイルを既定イメージディレクトリへ移動
sudo mv output-image.qcow2 /var/lib/libvirt/images/
2. virt-manager(仮想マシンマネージャー)を起動
3. 新規仮想マシンを作成をクリック
4. 既存ディスクイメージをインポートを選択
5. QCOW2ファイルを参照し、CPUとメモリを設定して作成完了
WindowsにはOVA・QCOW2の標準対応機能が存在しないため、Linux環境を用意せずに変換する手段は2種類あります。Windows Subsystem for Linux(WSL)を使用する方法、Windowsネイティブ版qemu-imgを使用する方法です。
事前準備
作業開始前に下記を準備してください。
WSLを導入するとWindows上でLinuxツールを直接実行可能で、最も安定した変換手段となります。実行するコマンドはLinux環境の手順と完全に同一です。
1. WSLをインストール:PowerShellを管理者権限で起動し、下記コマンドを実行
wsl --install
既定でWSL2とUbuntuがインストールされます。プロンプトが表示されたらPCを再起動してください。Ubuntuが既に導入済みの場合は手順2へ進みます。
2. qemu-utilsをインストール:WSLのUbuntuターミナル内で下記を実行
sudo apt update && sudo apt install qemu-utils -y
3. ファイルにアクセス:WindowsのドライブはWSL内で/mnt/配下にマウントされます。Cドライブのダウンロードフォルダへ移動する場合は下記コマンドを実行
cd /mnt/c/Users/ユーザー名/Downloads/
4. 展開と変換:前出のLinux手順のtarコマンド、qemu-imgコマンドを実行
WSLを使用したくない場合は、単体のWindows向けqemu-imgバイナリを利用可能です。
.\qemu-img.exe convert -p -f vmdk -O qcow2 "source-disk.vmdk" "output-disk.qcow2"
方法2の制限事項:Windows版qemu-imgはLinux版に比べアップデートの遅延や処理性能の低下が見られます。本番環境や大容量ディスクの変換にはWSLを推奨します。
Proxmox VEはOVAからの移行先として最も普及している環境の一つです。Web管理画面にOVA直接インポート機能は搭載されていないものの、コマンドラインツールにより安定した変換が可能です。
ローカルPCから大容量の変換済みディスクをアップロードする手間を省ける手法です。容量の小さいOVAファイルのみ先に転送し、ホスト側で展開・変換を実施します。
1. OVAファイルをアップロード:WinSCPなどのSCPクライアントまたはscpコマンドで/tmp/配下へOVAを転送(一時保管に適したパス)
2. ProxmoxへSSH接続:rootユーザーでログイン
ssh root<ProxmoxのIPアドレス>
3. 展開と変換を実行
tar -xvf your-appliance.ova
qemu-img convert -p -f vmdk your-disk.vmdk -O qcow2 managed-disk.qcow2
4. 仮想マシンへディスクをインポート:100を実際のVM ID、local-lvmを保存先ストレージ名へ置き換えて実行
qm importdisk 100 managed-disk.qcow2 local-lvm
一部の新しいqemu-imgバージョンではOVAのTARラッパーを直接読み込み、事前のVMDK展開なしで変換可能です。
qemu-img convert -p your-appliance.ova -O qcow2 output.qcow2
本手法はOVA内に仮想ディスクが1つだけ存在する場合のみ安定動作します。複数ディスクを含むアプライアンスでは変換に失敗する、または最初のディスクのみ変換されるため、確実な作業には方法1を使用してください。
方法3:qm importovf(Proxmox標準インポート機能)
Proxmox標準搭載のコマンドで.ovf設定ファイルを読み取り、CPU・メモリ設定を含むVMを自動作成できます。
1. OVAファイルを展開
tar -xvf appliance.ova
2. インポートコマンド実行:100をVM ID、local-lvmを保存先ストレージ名に置換
qm importovf 100 ./appliance.ovf local-lvm --format qcow2
頻出エラー:「invalid host resource」が表示される場合、OVFファイル内に「VM Network」などProxmox側に存在しないネットワーク名が記載されています。無視してWeb管理画面から後からネットワークインターフェースを手動設定可能です。
本手法の利用シチュエーション:OVFファイルの設定情報を元にProxmox側でVMパラメータを自動生成したい場合に適しています。VM設定を自身で細かく制御したい場合は方法1を選択してください。
ディスクをインポートしただけではVMは起動しないため、Web管理画面で下記手順を完了させてください。
ネットワークエンジニアはEVE-NG(次世代仮想環境エミュレータ)上でPalo Alto、FortiGate、Ciscoなどの仮想ファイアウォール・ルーターを実行するため、QCOW2イメージを必要とするケースが多いです。
基本的な変換手順はLinux環境と同一ですが、EVE-NGにはフォルダ名とディスクファイル名に厳格なルールが定められています。ルールに従わないとノードが画面に表示されない、または起動に失敗するため正確に実施してください。
1. 機器用ディレクトリ作成:EVE-NGは各機器タイプごとに/opt/unetlab/addons/qemu/配下に専用フォルダを作成するルールです。フォルダ名はEVE-NG上で設定するイメージ名と一致させます。例:Palo Alto PAN-OS 9.0.1の場合
mkdir -p /opt/unetlab/addons/qemu/paloalto-9.0.1/
2. OVAのアップロードと展開:SCPでOVAファイルを機器用フォルダへ転送後、展開を実行
tar -xvf your-appliance.ova
3. ディスク変換とリネーム:EVE-NGは機器種別に応じてvirtioa.qcow2またはhda.qcow2というファイル名を要求します。変換と命名を1コマンドで実施
qemu-img convert -p -f vmdk appliance-disk1.vmdk -O qcow2 virtioa.qcow2
4. 権限修正:イメージを追加するたびに下記コマンドを実行し、EVE-NGハイパーバイザーがファイルを読み取れるよう所有者と権限を適正化
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
本ガイドで解説するコマンドラインによる手法は、1回限りの変換に適しています。だが、VMware環境からKVMやProxmoxへ数十台の仮想マシンを移行する大規模作業、またはデータセンター間で業務システムを移行する場合、手動での展開・変換作業は手間がかかる上、ミスが発生しやすくなります。
フォーマットの互換性の問題は課題の一部に過ぎません。移行期間中の本番システムの稼働維持、移行後のデータ完全性検証、旧型OSへの対応といった複雑な要件に、qemu-img単体では対応しきれません。
i2Migrationは、こうした場面向けに開発された統合移行プラットフォームです。物理環境、仮想環境、クラウド環境をまたいだ停止なしライブ移行に対応しており、手動でのディスク展開やフォーマット変換作業が不要です。
大規模な移行が必要、または移行時にシステム停止の許可が得られない現場において、i2Migrationは手動変換より管理性・監査性に優れた移行手段を提供します。
仮想化基盤の再構築を検討している場合、データ保護も重要な課題となります。仮想マシンを新環境で稼働させた後は、i2Backupが物理サーバー、仮想マシン、データベース(Proxmox・KVM環境を含む)の一元バックアップを実現します。業務の高可用性が必須なシステムには、i2Availabilityによるリアルタイム複製と自動フェイルオーバーで、ホスト障害時のサービス継続を実現します。
ボタンをクリックしてInfo2soft製品の無料トライアルをお申し込みください!
Q1:展開作業なしでOVAを直接QCOW2に変換できますか?
条件によっては可能です。OVAにディスクが1つだけ格納されており、新しいバージョンのqemu-imgを使用する場合は直接変換に対応します。ただし、事前にTARファイルを展開する方が安全です。複数のディスクを含む仮想アプライアンスの場合、使用するVMDKファイルを事前に確認できるメリットがあります。
Q2:QCOW2はVMDKより優れていますか?
利用する基盤によります。VMDKはVMware環境の標準フォーマットです。QCOW2はProxmoxなどKVM系ハイパーバイザー向けに最適化されており、標準で圧縮機能、スナップショット機能を備え、コピーオンライト方式によりストレージ容量を効率的に使用します。KVMまたはProxmoxを運用する場合はQCOW2が適切な選択肢となります。
Q3:CentOSのQCOW2イメージをOVAに逆変換する方法は?
1コマンドで完了する手法は存在しません。2段階の手順が必要です。まずqemu-imgを使用しQCOW2をVMDKに変換し、そのVMDKをVirtualBoxまたはVMwareに読み込んだ後、OVA形式でエクスポートします。
変換コマンドは以下の通りです:
qemu-img convert -p -f qcow2 -O vmdk input.qcow2 output.vmdk
Q4:変換作業にかかる時間は?
ストレージの速度と仮想ディスク容量に依存します。NVMeドライブ上で40GBのVMDKを変換する場合、通常2~5分で完了します。従来型HDDの場合は大幅に時間を要します。qemu-imgの-pオプションで進捗バーを表示できるため、完了までの目安を把握可能です。
Q5:QCOW2からOVAに逆変換可能ですか?
可能です。qemu-imgでQCOW2をVMDKに変換した後、VMware WorkstationまたはVirtualBoxを使用しVMDKをOVF/OVAアーカイブにまとめます。手順は本ガイドの変換手順と逆の流れとなります。
OVAからQCOW2への変換の基本手順は統一されています:アーカイブ展開、qemu-imgによるVMDK変換、出力ファイルの検証、対象仮想マシンへのディスク接続。Linux、Windows、Proxmoxと実行環境によって使用ツールに若干の差異はあるものの、根本的な流れは同じです。
作業完了前に留意すべきポイントを記載します:
1台限りの移行であれば、本ガイドの手動手法は無料で実用的です。複数台のVMを一括移行する、または移行中に本番システムを停止させたくない場合は、Info2softのi2Migrationといった専用移行プラットフォームを活用することで、手作業を大幅に削減し、標準搭載の検証機能により安全性を高められます。