Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
By: Emma

VMwareの仮想マシンをProxmoxといったKVMハイパーバイザーへ移行する際、最初に直面する互換性の課題が存在します。QEMUはVMDKファイルを直接起動できず、拡張子の名称変更だけでは解決できないため、正しい形式変換作業が必須となります。

本ガイドではLinux、Proxmox、Windows環境でのVMDKからQCOW2への変換手順を解説します。qemu-imgによる処理フロー、Proxmoxのimportdisk操作、ドライバ再設定が必要な場面で活用するvirt-v2vを紹介し、末尾に頻出する起動エラーのトラブルシューティング表を記載しています。

VMDKとQCOW2:形式の違いとは

変換作業を開始する前に、2つのディスク形式が相互利用できない理由を把握しておくと便利です。

VMDKはVMware独自のディスク形式で、ESXiやVMware Workstationで使用されます。QCOW2はQEMU・KVM標準形式で、スナップショット、圧縮、AES暗号化機能を標準搭載しており、Proxmoxや大半のOpenStack環境でデフォルト採用されています。

.vmdkファイルの拡張子を単純に.qcow2へ変更しても起動できません。ハイパーバイザーが有効な起動ヘッダーを検出できず、仮想マシンが起動失敗するためです。正しい変換処理で内部データ構造を再構築することで、KVM上で正常に動作するディスクが作成されます。

VMDKからQCOW2への変換

事前準備:変換前チェックリスト

以下の手順を省略することが、変換後のイメージ破損や仮想マシン起動失敗の最も多い原因です。

  • 元のVMDKファイルを事前検証。変換前にqemu-img info source.vmdkを実行し、ファイルサイズ、形式、ディスク種別を確認します。
  • 全てのスナップショットを統合。スナップショットチェーンに属するVMDKを変換すると、古い不完全なイメージが生成されるため、事前にVMware側でスナップショットを削除・統合し、最新の単一ディスクファイルを用意します。
  • 正しいVMDKファイルを選択。ESXiはディスクを小さな記述子ファイルと-flat.vmdkで終わる大容量データファイルに分割することが多いため、変換ツールには-flat.vmdkを指定するか、2つのファイルを同一ディレクトリに配置します。
  • 十分なディスク空き容量を確保シンプロビジョニングされたVMDKは変換時に容量が大幅に膨らむため、保存先ドライブに元のVMDKと出力用QCOW2ファイル両方を格納可能な空き領域を確保します。
  • 仮想マシンを正常にシャットダウン起動中またはサスペンド状態のディスクを変換してはいけません。ゲストOSを完全停止させ、ファイルシステムに未完了の書き込みが残らない整合性の取れた状態にします。

Linux上でqemu-imgを使用しVMDKをQCOW2へ変換する方法

Linux環境でディスク形式を変換する最も簡単な手段は、QEMUツールセットに含まれるqemu-imgユーティリティです。

手順1:qemu-utilsをインストール

大半のLinuxディストリビューションにはqemu-imgが標準搭載されていないため、各ディストリビューションのパッケージマネージャーでインストールします。

Ubuntu・Debian系の場合:

bash
sudo apt update && sudo apt install qemu-utils

RHEL、CentOS、Fedoraの場合:

bash
# RHEL/CentOS 7
sudo yum install qemu-img

# RHEL/CentOS 8以降、Fedora
sudo dnf install qemu-img

手順2:変換コマンドを実行

元のVMDKファイルが存在するディレクトリへ移動後、以下を実行します。

bash
qemu-img convert -f vmdk -O qcow2 source.vmdk output.qcow2

各オプションの役割は以下の通りです。

  • -f vmdk:入力元のディスク形式を指定
  • -O qcow2:出力先のディスク形式を指定
  • -p:(オプション)変換中の進捗バーを表示
  • -c:(オプション)出力ファイルを圧縮し容量を削減

手順3:出力ファイルの検証

変換完了後、出力ファイルが正常か確認します。

bash
qemu-img info output.qcow2

コマンド実行後に仮想ディスクサイズ、実際の使用容量、フォーマット種別が出力されます。形式がqcow2と表示され、仮想ディスクサイズが元のディスクと一致していれば変換成功です。

手順4:Windowsゲストのドライバ対応

移行元の仮想マシンがWindowsの場合、変換後KVM上で起動失敗する可能性が高くなります。Windowsには標準でVirtIOドライバが搭載されておらず、KVMのストレージコントローラーと通信できないためです。

対応方法は2種類存在します。

  • 移行前対応:VMware上で稼働中のWindows仮想マシン内にVirtIOゲストツールをインストールしてから、変換・インポートを実施。
  • 移行後対応:新規KVM仮想マシン作成時、ディスクバスをVirtIO SCSIではなくIDEに設定。Windows標準のIDEドライバで起動した後、Red Hat公式リポジトリからWindows用VirtIOドライバを導入し、ディスクコントローラーをVirtIO SCSIへ切り替え。

Proxmox上でVMDKをQCOW2へ変換する方法

Proxmox VEはDebianを基盤とし、qemu-imgが事前インストール済みです。ただし、インポート手順は一般的なLinux環境と異なります。単純に.qcow2ファイルをストレージディレクトリへコピーしても認識されず、qm importdiskコマンドでディスクを正しく登録する必要があります。

手順1:ディスク形式変換を実行

VMDKファイルをSCPまたはWebUIのファイルアップロード機能でProxmoxホストへ転送し、変換コマンドを実行します。

bash
qemu-img convert -f vmdk -O qcow2 source.vmdk output.qcow2

手順2:仮想マシンへディスクをインポート

変換完了後、qm importdiskコマンドでQCOW2ファイルを指定の仮想マシンにインポートします。

bash
qm importdisk <VMID> output.qcow2 <ストレージ名>

<VMID>は移行先仮想マシンの番号(例:101)、<ストレージ名>はProxmoxの保存先ストレージ(例:localまたはlocal-lvm)に置き換えます。

インポート完了後、Proxmox WebUIの対象VMのハードウェアタブへ移動し、新規インポートしたディスクを接続してから起動します。

ストレージ形式の制限事項

全てのProxmoxストレージバックエンドがQCOW2ファイルに直接対応しているわけではありません。

  • ディレクトリ型ストレージlocalなど、/var/lib/vz配下にファイルを保管):.qcow2形式にネイティブ対応。
  • ブロック型ストレージlocal-lvm、ZFSなど):QCOW2ファイルを直接保管できない。これらのバックエンドを対象にqm importdiskを実行すると、Proxmoxが自動的にデータを展開しraw論理ボリュームとして書き出します。これは正常な動作で、一般的にI/Oパフォーマンスが向上します。
ヒント:使用するストレージ種別が不明な場合、検証環境でのQCOW2インポートにはlocalが最も安全です。rawボリュームのパフォーマンスが重視される本番VMにはlocal-lvmへ切り替えてください。

Windows上でVMDKをQCOW2へ変換する方法

qemu-imgはWindowsネイティブアプリケーションとして提供されていないため、別の仮想マシンを起動するオーバーヘッドなしで完全なLinux環境を利用できるWindows Subsystem for Linux(WSL)経由で実行する手法が最も安定しています。

手順1:WSLを有効化しUbuntuをインストール

PowerShellを管理者権限で起動し、以下を実行します。

powershell
wsl --install

本コマンドでWSL2とデフォルトディストリビューションのUbuntuがインストールされ、設定完了にはPCの再起動が必要です。再起動後、ターミナルウィンドウが起動しUbuntuの初期設定が開始されます。

手順2:WSL内にqemu-utilsをインストール

Ubuntuターミナル上で以下を実行します。

bash
sudo apt update && sudo apt install qemu-utils

手順3:VMDKファイルをWSLファイルシステムへコピー

WSLはWindowsのドライブを/mnt/配下にマウントします。C:\VMs\my_disk.vmdkのファイルはWSL上で/mnt/c/VMs/my_disk.vmdkとしてアクセス可能です。

ただし/mnt/c/配下のパスから直接変換を実行すると、ファイルシステムを跨ぐオーバーヘッドにより処理速度が大幅に低下するため、パフォーマンス向上のため事前にVMDKファイルをWSLのホームディレクトリへコピーします。

bash
cp /mnt/c/VMs/my_disk.vmdk ~/my_disk.vmdk
cd ~

手順4:変換処理を実行

bash
qemu-img convert -f vmdk -O qcow2 my_disk.vmdk output.qcow2

手順5:出力ファイルをWindows側へ戻す

変換完了後、QCOW2ファイルをWindowsのドライブへコピーします。

bash
cp ~/output.qcow2 /mnt/c/VMs/output.qcow2

これでWindowsエクスプローラーからファイルにアクセス可能となり、KVMまたはProxmoxホストへ転送できます。

virt-v2vを使用しVMDKをQCOW2へ変換

qemu-imgはディスク形式の変換のみを実行し、ディスク内部のOSに対する設定変更は行いません。ESXiからKVMへWindows仮想マシンを移行する際、新しいハイパーバイザーに必要なVirtIOドライバが存在しないため、ゲストOSが起動失敗するケースが多発します。

virt-v2vはこの課題を解決するツールで、一連の手順で完全な移行を実施します。ディスク形式変換、VirtIOストレージ・ネットワークドライバの埋め込み、ブートローダーの調整、競合を引き起こすVMware Toolsの削除を自動処理します。

qemu-imgの代わりにvirt-v2vを使用する場面

以下の状況ではvirt-v2vを選択します。

  • 移行元がWindows仮想マシンで、手動によるドライバ導入が現実的でない場合
  • エクスポートしたファイルを介さず、稼働中のESXiまたはvCenterホストから直接移行したい場合
  • ゲストOSを新しいハイパーバイザー環境向けに自動再設定したい場合

Linuxゲストの場合はqemu-imgで十分なケースが大半です。Linuxカーネルには標準でVirtIOドライバが内蔵されているため、形式のみの変換で起動トラブルが発生しにくくなります。コマンドライン以外の各種V2V変換ツールを比較検討する場合は、当社のV2Vコンバーターガイドに主要なオプションを記載しています。

virt-v2vの基本的な使用方法

virt-v2vは大半のLinuxディストリビューションでパッケージマネージャーからインストール可能です。

bash
# Debian/Ubuntu
sudo apt install virt-v2v

# RHEL/CentOS/Fedora
sudo dnf install virt-v2v

vCenterサーバー上の仮想マシンを直接移行するコマンド:

bash
virt-v2v -ic vpx://ユーザー名@vcenter.example.com/データセンター/esxiホスト \
  -it vddk \
  -o local -os /var/tmp \
  Windows移行対象VM名

スタンドアロン型ESXiホストに接続する場合は、vpx://esx://に置き換えます。

bash
virt-v2v -ic esx://ユーザー名@esxi-host.example.com \
  -it vddk \
  -o local -os /var/tmp \
  Windows移行対象VM名

 

注記:-it vddkオプションを使用するにはVMware Virtual Disk Development Kit(VDDK)を別途インストールする必要があります。VMware開発者ポータルからダウンロードし、virt-v2vのドキュメントに従ってライブラリパスを設定した後、上記コマンドを実行してください。

ツールは指定したディレクトリへ変換済みQCOW2ディスクとメタデータファイル(.xml)を出力し、これらをKVMまたはProxmoxへインポート可能です。

VMDK→QCOW2変換 トラブルシューティング:頻出エラーと解決策

変換時の不具合は主に2つの要因に起因します。間違ったソースファイルを選択した、またはゲストOSが期待するハードウェア構成とKVMの環境が不一致することです。

下表に最も頻出するエラーと対処法を記載します。

エラー内容 原因 解決策
Invalid footer データファイルではなく記述子ファイルを選択 -flat.vmdkファイルを使用
起動失敗:「not a bootable disk」 ディスクコントローラー種別の不一致、または変換イメージの破損 コントローラーをIDE、SCSI、VirtIOのいずれかに切り替え
local-lvm上でqcow2が非対応 .qcow2ファイルをブロックストレージへ直接コピー qm importdiskを使用
Windowsゲストでブルースクリーン VirtIOドライバが未導入 IDEコントローラーで起動後、VirtIOドライバをインストールし切り替え
出力ファイル容量が想定より大きい シンプロビジョニングVMDKが変換時に展開 -cオプションを追加し圧縮

i2MigrationでVMDKからQCOW2への移行を簡素化

本ガイドで紹介したqemu-img、virt-v2vによる処理フローは単一のディスク変換には適しています。しかし複数の仮想マシンを環境間で一括移行する場合、または移行処理中も本番システムを稼働させ続ける必要がある場合、手動のコマンドラインツールには限界が生じます。標準の検証機能、一元的な進捗管理、転送途中の障害から再開する仕組みが搭載されていないため、失敗時に最初から作業をやり直す必要があります。

i2Migrationは上記の課題に特化した統合移行プラットフォームです。物理、仮想、クラウド環境を跨いだ無停止ライブ移行に対応し、大規模なVMware→KVM移行時に発生する各種課題を解消します。

i2Migrationの主な機能:

  • 無停止移行:ブロックレベル+ファイルレベルのハイブリッドレプリケーションを活用し、本番ワークロードを停止させず移行を実施。オフラインでのエクスポート・変換作業が不要になります。
  • BIOS/UEFI変換とドライバ自動埋め込み:形式変換後の起動障害が多発するWindowsゲスト向けに、ドライバ挿入とファームウェア変換を自動処理し、移行後のシステムが新環境で正常起動するよう保証します。
  • 複数環境対応:P2V、V2V、物理→クラウド、仮想→クラウド移行に対応し、VMware→KVM以外の移行シナリオにも活用可能です。
  • 標準搭載の検証機能エンドツーエンドのデータセット検証と自動修正機能を備え、各ディスクごとに手動でqemu-img infoを実行し検証する手間を削減します。
  • 安全なデータ転送AES/SM4暗号化、帯域制御、並列転送、中断再開機能を搭載し、長距離や不安定な回線でも安定したデータ転送を実現します。

移行完了後も継続的なデータ保護が必要な運用チームには、i2Backupが仮想・物理・クラウド環境を統合したバックアップを提供します。高可用性要件の厳しいワークロードには、i2Availabilityが本番環境と災害復旧環境間のリアルタイムレプリケーションと自動フェイルオーバーを実現します。

60日間無料トライアル

まとめ

VMDKからQCOW2への変換は、用途に適したツールを選ぶことがポイントとなります。

大半のLinuxユーザーは、qemu-img を使用すれば数行のコマンドでスムーズに変換可能です。Proxmox環境では、ストレージにディスクを正しく登録するため、追加で qm importdisk の実行が必要です。WindowsユーザーはWSL経由でLinuxと同じ手順を実行できます。ESXi上のWindows仮想マシンを移行しドライバの再設定が必要な場合は、フォーマットのみ変換する手法より virt-v2v の方が安定します。

いずれの手法を利用する場合も共通のルールが適用されます。エクスポート前にすべてのスナップショットを統合し、ツールには -flat.vmdk データファイルを指定し、インポート前に qemu-img info で出力ファイルを検証してください。

大規模な移行作業や停止時間を許容できない業務環境を扱う企業向けには、Info2soft のi2Migrationが適しています。本製品は検証機能、ドライバ自動挿入機能、異種環境間のライブ移行機能を標準搭載し、体系的な移行フローを提供します。

概要は準備中です

関連記事

vCenter 間で VMware 仮想マシンを移行する 4 つの手法
本記事ではvCenter間でVMware仮想マシンを移行する4つの安定的な手法を紹介し、停止時間、規模、環境の複雑さに応じて適切な移行方式を選定するための参考情報を提供します。
記事を読む
Linux、Windows、Proxmox上でOVAをQCOW2に変換する方法
VMwareまたはVirtualBoxの仮想アプライアンスをKVM基盤環境に移行したいですか?本ガイドではLinux、Windows、ProxmoxにおけるOVAからQCOW2への変換手順、コマンド、インポート方法、変換時の一般的なトラブル解決策を解説します。
記事を読む
Oracleリドログ完全解説:DBAが知っておくべきすべての知識
Oracle上のすべてのコミット済みトランザクションはリドログに依存しています。しかし多くのDBAはパフォーマンスまたは復旧のトラブルが発生した際に初めてリドログに気付きます。本ガイドはDBAに対し、リドログの動作原理、適切なサイズ設定と管理手法などを理解させるための資料です。
記事を読む
QCOW2からOVAへの変換方法:KVMからVMwareへの移行手順
KVMからVMwareへの仮想マシン移行は、単純なファイル変換だけでは完了しないことが多い。本ガイドではqemu-imgとOVFツールを使用し、LinuxとWindows上でQCOW2形式をOVA形式に変換する手順を紹介するとともに、頻出する移行エラーの回避方法を解説する。
記事を読む
目次:
最新情報を購読
最新のインサイト、ニュース、限定コンテンツをお届けします。いつでも配信解除が可能です。
購読する
ビジネスデータのセキュリティ強化を始めませんか?
60日間の無料トライアルまたはデモで、Info2softが企業データをどのように保護するかをご確認ください。
フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}