- Authors

- Name
- Youngju Kim
- @fjvbn20031
はじめに
仮想化プラットフォームの選択は、インフラのパフォーマンス、コスト、運用の複雑さに大きな影響を与えます。この記事では、QEMU/KVM、VirtualBox、VMware ESXi、KubeVirtの4つのプラットフォームを様々な観点から比較分析します。
プラットフォーム概要
QEMU/KVM
- Linuxカーネルに内蔵されたType 1ハイパーバイザー(KVM)+ ハードウェアエミュレータ(QEMU)
- オープンソース(GPL v2)
- libvirt、virsh、virt-managerなどで管理
VirtualBox
- Oracleが管理するType 2ハイパーバイザー
- デスクトップ仮想化に特化
- クロスプラットフォーム(Windows、macOS、Linux)
VMware ESXi
- VMware(Broadcom)のエンタープライズType 1ハイパーバイザー
- vCenter Serverによる集中管理
- 商用ライセンス
KubeVirt
- KubernetesネイティブVMオーケストレーション
- 内部的にQEMU/KVMを使用
- CNCF Incubatingプロジェクト
総合比較表
| 項目 | QEMU/KVM | VirtualBox | VMware ESXi | KubeVirt |
|---|---|---|---|---|
| タイプ | Type 1(KVM) | Type 2 | Type 1 | Type 1(KVM) |
| ホストOS | Linux | Win/Mac/Linux | 専用(ESXi) | Linux(K8s) |
| ライセンス | GPL v2(無料) | GPLv3/PUEL | 商用 | Apache 2.0(無料) |
| 管理ツール | libvirt、virsh | GUI、VBoxManage | vCenter、vSphere | kubectl、virtctl |
| APIサポート | libvirt API | COM/SOAP API | REST/SOAP API | Kubernetes API |
| ライブマイグレーション | サポート | 非サポート | サポート(vMotion) | サポート |
| スナップショット | サポート | サポート | サポート | 制限あり |
| コンテナ統合 | 手動 | 非サポート | 制限あり(Tanzu) | ネイティブ |
| 最大VM数 | 数百(ノードあたり) | 数十 | 数百(ホストあたり) | 数千(クラスタ) |
| コミュニティ | 活発 | 普通 | ベンダー主導 | 活発(CNCF) |
GPUサポート比較
GPU機能詳細比較表
| GPU機能 | QEMU/KVM | VirtualBox | VMware ESXi | KubeVirt |
|---|---|---|---|---|
| GPUパススルー | VFIO | 非サポート | DirectPath I/O | VFIO Manager |
| vGPU | NVIDIA vGPU Manager | 非サポート | 最高水準 | GPU Operator |
| MIGサポート | 手動設定 | 非サポート | MIGバックvGPU | GPU Operator |
| 仮想ディスプレイ | virtio-gpu/virgl | VMSVGA | VMware SVGA | virtio-gpu |
| OpenGLサポート | 4.5(virgl) | 3.0(部分) | 3.3(SVGA) | virgl経由 |
| CUDAサポート | パススルー/vGPU | 非サポート | パススルー/vGPU | パススルー/vGPU |
| マルチGPU | サポート | 非サポート | サポート | サポート |
| GPUホットプラグ | 制限あり | 非サポート | サポート | 制限あり |
GPUパススルー方式比較
QEMU/KVM:
+----------+ +--------+ +--------+
| IOMMU | --> | VFIO | --> | VM |
| 設定 | | バインド | | GPU |
+----------+ +--------+ +--------+
手動設定が必要、最大の柔軟性
VMware ESXi:
+----------+ +------------+ +--------+
| ESXi | --> | DirectPath | --> | VM |
| 設定 | | I/O | | GPU |
+----------+ +------------+ +--------+
vCenter UIで簡単設定
KubeVirt:
+----------+ +-------------+ +---------+ +--------+
| GPU | --> | VFIO | --> | Sandbox | --> | VM |
| Operator | | Manager | | Plugin | | GPU |
+----------+ +-------------+ +---------+ +--------+
自動化された設定、K8s API統合
VirtualBox:
+----------+
| 非サポート |
+----------+
GPUパススルーサポートなし
vGPUサポート比較
QEMU/KVM:
- NVIDIA vGPU Managerが必要(ライセンス)
- Mediated Device(MDEV)フレームワーク
- 手動でMDEV作成・管理
VMware ESXi:
- エンタープライズ最高水準のvGPUサポート
- vCenterでvGPUプロファイル管理
- MIGバックvGPU完全サポート
- DRS(Distributed Resource Scheduler)連携
KubeVirt:
- GPU Operatorで自動化
- Sandbox Device Pluginでスケジューリング
- ClusterPolicyで宣言的管理
VirtualBox:
- vGPU非サポート
パフォーマンス比較
CPUオーバーヘッド
| プラットフォーム | CPUオーバーヘッド | 説明 |
|---|---|---|
| QEMU/KVM | 1-3% | KVMハードウェアアクセラレーション、最小オーバーヘッド |
| VirtualBox | 5-10% | Type 2ハイパーバイザー、ホストOS経由 |
| VMware ESXi | 2-5% | 専用ハイパーバイザー、最適化されたスケジューリング |
| KubeVirt | 3-5% | QEMU/KVM + K8s Podオーバーヘッド |
I/Oパフォーマンス
| プラットフォーム | ディスクI/O | ネットワークI/O |
|---|---|---|
| QEMU/KVM | virtio: 90-95% | virtio-net: 90-95% |
| VirtualBox | 70-80% | 80-85% |
| VMware ESXi | PVSCSI: 90-95% | VMXNET3: 90-95% |
| KubeVirt | virtio: 85-90% | Podネットワーク経由 |
パフォーマンス数値はベアメタル比の割合です。
メモリオーバーヘッド
| プラットフォーム | VMあたりオーバーヘッド | メモリオーバーコミット |
|---|---|---|
| QEMU/KVM | 50-100 MB | サポート(KSM) |
| VirtualBox | 100-200 MB | 非サポート |
| VMware ESXi | 100-200 MB | サポート(TPS、Ballooning) |
| KubeVirt | 200-300 MB | Podレベルで制限あり |
管理と運用
管理の複雑さ
簡単 複雑
|------|------|------|------|------|------|------|------|
VBox VMware QEMU/KVM KubeVirt
VirtualBox: GUI中心、数クリックでVM作成
VMware: vCenter Web UI、直感的なエンタープライズ管理
QEMU/KVM: CLI/XML設定、学習曲線が高い
KubeVirt: YAML/kubectl、K8s知識が必須
自動化レベル
| プラットフォーム | IaCツール | API | CI/CD統合 |
|---|---|---|---|
| QEMU/KVM | Terraform(libvirt) | libvirt | 可能 |
| VirtualBox | Vagrant | VBoxManage | 制限あり |
| VMware ESXi | Terraform(vSphere) | REST API | 優秀 |
| KubeVirt | Kubernetes YAML | K8s API | ネイティブ |
ライセンスとコスト
ライセンスモデル比較
| プラットフォーム | 基本ライセンス | GPU関連追加コスト |
|---|---|---|
| QEMU/KVM | GPL v2(無料) | vGPU: NVIDIAライセンス |
| VirtualBox | GPLv3(無料)/ PUEL(拡張機能) | GPU機能制限 |
| VMware ESXi | vSphere Standard/Enterprise | vGPU + VMwareライセンス |
| KubeVirt | Apache 2.0(無料) | vGPU: NVIDIAライセンス |
意思決定ガイド
いつどのプラットフォームを選択するか
QEMU/KVMを選択する場合
- Linux環境で最大パフォーマンスが必要な場合
- GPUパススルーでネイティブに近いパフォーマンスが必要な場合
- オープンソースでコストを削減したい場合
- 高いカスタマイズが必要な場合
VirtualBoxを選択する場合
- 開発/テスト用デスクトップ仮想化
- クロスプラットフォームサポートが必要な場合
- GPUアクセラレーションが不要な場合
- 素早く簡単なVM作成が必要な場合
VMware ESXiを選択する場合
- エンタープライズプロダクション環境
- 最高水準のvGPUサポートが必要な場合
- vMotion、DRSなどの高度な機能が必要な場合
- ベンダー技術サポートが重要な場合
KubeVirtを選択する場合
- 既にKubernetesインフラを運用中の場合
- コンテナとVMを統合管理したい場合
- GitOps/IaCベースのVM管理が必要な場合
- VMwareからのマイグレーションを計画中の場合
ワークロード別推奨プラットフォーム
| ワークロード | 第1候補 | 第2候補 | 備考 |
|---|---|---|---|
| ML/AI学習(大規模) | QEMU/KVM | KubeVirt | GPUパススルー性能 |
| VDI(企業) | VMware | KubeVirt | vGPU + 管理利便性 |
| 開発/テスト | VirtualBox | QEMU/KVM | 簡単な設定 |
| レガシーマイグレーション | KubeVirt | VMware | K8s統合管理 |
| マルチテナントGPU | VMware | KubeVirt | vGPU分離 |
| CI/CD環境 | KubeVirt | QEMU/KVM | 自動化統合 |
| エッジコンピューティング | QEMU/KVM | KubeVirt | 軽量環境 |
マイグレーションパス
VMwareからKubeVirtへ
1. VMディスクをエクスポート(VMDK形式)
|
v
2. qemu-imgでQCOW2に変換
qemu-img convert -f vmdk -O qcow2 vm-disk.vmdk vm-disk.qcow2
|
v
3. CDIでイメージインポート(HTTPまたはS3)
|
v
4. KubeVirt VM CRDを作成
|
v
5. ネットワーク/ストレージマッピングを確認
|
v
6. VMを起動して検証
VirtualBoxからQEMU/KVMへ
1. VDIディスクをQCOW2に変換
qemu-img convert -f vdi -O qcow2 disk.vdi disk.qcow2
|
v
2. virsh/virt-managerでVMを作成
|
v
3. virtioドライバをインストール(Windowsの場合)
|
v
4. ネットワークを再設定
将来展望
プラットフォーム別発展方向
| プラットフォーム | 発展方向 |
|---|---|
| QEMU/KVM | Confidential Computing(SEV/TDX)、ARM仮想化 |
| VirtualBox | デスクトップ仮想化維持、ARMサポート拡大 |
| VMware | Broadcom買収後不確実、ライセンス変更 |
| KubeVirt | CNCF Graduation、GPUサポート強化、エッジ拡張 |
おわりに
各仮想化プラットフォームには固有の強みと限界があります。パフォーマンス重視ならQEMU/KVM、デスクトップ環境ならVirtualBox、エンタープライズ環境ならVMware、クラウドネイティブ環境ならKubeVirtが最適です。
最近のBroadcomによるVMware買収とライセンス変更により、KubeVirtのようなオープンソース代替案への関心が大幅に増加しています。
次の記事では、仮想化技術の未来を展望します。コンフィデンシャルコンピューティング、GPUディスアグリゲーション、WebAssemblyなど次世代技術を取り上げます。
クイズ:仮想化プラットフォーム比較理解度チェック
Q1. GPUパススルーをサポートしないプラットフォームは?
A) QEMU/KVM B) VirtualBox C) VMware ESXi D) KubeVirt
答え:B) VirtualBoxはGPUパススルーをサポートしていません。デスクトップ仮想化に特化したType 2ハイパーバイザーです。
Q2. vGPUサポートが最も優れたプラットフォームは?
A) QEMU/KVM B) VirtualBox C) VMware ESXi D) KubeVirt
答え:C) VMware ESXiはエンタープライズレベルの最高のvGPUサポートを提供し、MIGバックvGPUとDRS連携まで対応しています。
Q3. コンテナとVMを同一クラスタで管理できるプラットフォームは?
A) QEMU/KVM B) VirtualBox C) VMware ESXi D) KubeVirt
答え:D) KubeVirtはKubernetesネイティブでコンテナとVMを同一クラスタで統合管理できます。
Q4. VMwareからKubeVirtへのマイグレーション時のディスク形式変換順序は?
A) VMDK -> VDI -> QCOW2 B) VMDK -> QCOW2 C) VMDK -> RAW -> QCOW2 D) VMDK -> IMG -> QCOW2
答え:B) qemu-imgを使用してVMDKを直接QCOW2に変換できます。