- Authors

- Name
- Youngju Kim
- @fjvbn20031
들어가며
가상화 플랫폼 선택은 인프라의 성능, 비용, 운영 복잡도에 큰 영향을 미칩니다. 이 글에서는 QEMU/KVM, VirtualBox, VMware ESXi, KubeVirt 네 가지 플랫폼을 다양한 관점에서 비교 분석합니다.
플랫폼 개요
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
- 쿠버네티스 네이티브 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-backed 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-backed 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 웹 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 라이선스 |
TCO (Total Cost of Ownership) 고려사항
연간 비용 (10 GPU 서버 기준, 추정)
QEMU/KVM:
하드웨어: XXXX
소프트웨어: 0 (오픈소스)
vGPU 라이선스: 별도
운영 인력: 높음 (전문 인력 필요)
VMware vSphere:
하드웨어: XXXX
소프트웨어: vSphere + vCenter 라이선스
vGPU 라이선스: 별도
운영 인력: 중간 (UI 기반 관리)
KubeVirt:
하드웨어: XXXX
소프트웨어: 0 (오픈소스)
vGPU 라이선스: 별도
운영 인력: 높음 (K8s 전문 인력 필요)
주의: K8s 클러스터 자체 운영 비용 포함
의사결정 가이드
언제 어떤 플랫폼을 선택할 것인가
QEMU/KVM을 선택하세요
- Linux 환경에서 최대 성능이 필요한 경우
- GPU 패스스루로 네이티브에 가까운 성능이 필요한 경우
- 오픈소스로 비용을 절감하고 싶은 경우
- 높은 커스터마이징이 필요한 경우
VirtualBox를 선택하세요
- 개발/테스트용 데스크톱 가상화
- 크로스 플랫폼 지원이 필요한 경우
- GPU 가속이 필요 없는 경우
- 빠르고 간단한 VM 생성이 필요한 경우
VMware ESXi를 선택하세요
- 엔터프라이즈 프로덕션 환경
- 최고 수준의 vGPU 지원이 필요한 경우
- vMotion, DRS 등 고급 기능이 필요한 경우
- 벤더 기술 지원이 중요한 경우
KubeVirt를 선택하세요
- 이미 쿠버네티스 인프라를 운영 중인 경우
- 컨테이너와 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-backed vGPU와 DRS 연동까지 지원합니다.
Q3. 컨테이너와 VM을 동일 클러스터에서 관리할 수 있는 플랫폼은?
A) QEMU/KVM B) VirtualBox C) VMware ESXi D) KubeVirt
정답: D) KubeVirt는 쿠버네티스 네이티브로 컨테이너와 VM을 동일 클러스터에서 통합 관리할 수 있습니다.
Q4. VMware에서 KubeVirt로 마이그레이션 시 디스크 형식 변환 순서는?
A) VMDK -> VDI -> QCOW2 B) VMDK -> QCOW2 C) VMDK -> RAW -> QCOW2 D) VMDK -> IMG -> QCOW2
정답: B) qemu-img를 사용하여 VMDK를 직접 QCOW2로 변환할 수 있습니다.