본문 바로가기
Study/디지털서비스

전가상화 반가상화 virtualization

by 구루마3단 2025. 5. 1.

좋습니다. 아래는 전가상화(Full Virtualization)반가상화(Paravirtualization)에 대한 정의와 비교입니다.


✅ 1. 전가상화 (Full Virtualization)

항목 설명
정의 게스트 OS가 수정 없이 그대로 실행되도록 하드웨어 전체를 가상화하는 방식
핵심 특징 하이퍼바이저가 CPU 명령어와 하드웨어 자원을 완전 에뮬레이션하여,
게스트 OS는 마치 실제 하드웨어에서 실행되는 것처럼 작동
장점 게스트 OS 수정 불필요 → 윈도우, 리눅스 등 대부분 그대로 실행 가능
단점 하드웨어 명령을 소프트웨어가 에뮬레이션하므로 성능 손실이 큼
예시 기술 VMware, VirtualBox, QEMU (기본 모드), KVM (초기 단계)

✅ 2. 반가상화 (Paravirtualization)

항목 설명
정의 게스트 OS를 수정하여, 하드웨어를 직접 접근하지 않고
하이퍼바이저에게 API 호출(PV Call)로 요청하게 만드는 방식
핵심 특징 게스트 OS가 가상화 환경을 인식하고, 하이퍼바이저와 협력적 작동
장점 하드웨어 명령을 직접 에뮬레이션하지 않음 → 성능 우수
단점 게스트 OS 커널 수정이 필요 → 윈도우 등 상용 OS에 적용 어려움
예시 기술 Xen (PV 모드), KVM 일부 모드, L4Linux 등

전가상화(Full Virtualization)반가상화(Paravirtualization)를 아래와 같이 13개 항목으로 상세 비교


✅ 전가상화 vs 반가상화 상세 비교표

구분 전가상화 (Full Virtualization) 반가상화 (Paravirtualization)
정의 하드웨어를 완전히 가상화하여 게스트 OS가 수정 없이 실행 게스트 OS를 수정해 하이퍼바이저와 직접 통신
게스트 OS 수정 여부 ❌ 불필요 (그대로 사용 가능) ✅ 필요 (커널 수준 수정 필요)
하이퍼바이저 종류 Type 1 또는 Type 2 모두 가능 주로 Type 1 (Xen 등)
성능 느림 (하드웨어 명령 에뮬레이션 필요) 빠름 (하드웨어 직접 호출 없음, API 통해 협조 작동)
I/O 처리 방식 하드웨어 수준의 에뮬레이션 필요 하이퍼바이저에 직접 요청 (성능 효율적)
하이퍼바이저 복잡도 복잡 (전체 하드웨어 가상화 필요) 비교적 단순 (API 중심 처리)
디버깅 용이성 낮음 (하드웨어 추상화로 인한 오버헤드) 높음 (OS-하이퍼바이저 간 인터페이스 명확)
호환성 매우 높음 (모든 OS 가능) 낮음 (수정 가능한 오픈 OS만 적용 가능)
보안 측면 하이퍼바이저에 대한 완전한 가상화 → 격리성 높음 수정된 OS가 하이퍼바이저에 의존 → 보안 검증 필요
하드웨어 의존성 낮음 (하드웨어 없이도 에뮬레이션 가능) 다소 있음 (효율적 동작 위해 구조 연계 필요)
대표 플랫폼/기술 VMware, VirtualBox, QEMU (기본), KVM (HVM 모드) Xen (PV 모드), KVM+VirtIO, L4Linux 등
응용 예 상용 가상화 환경, 범용 가상머신 (Windows 포함) 클라우드 환경 최적화 (Linux 기반 가상 서버)
현대 클라우드 사용 추세 점점 HVM+VirtIO 등 혼합형 구조 선호 단독 PV 사용은 줄고, 혼합 사용 증가

✅ 결론 요약

  • 🔹 전가상화는 OS 수정이 필요 없고 범용성이 높지만, 성능 손실이 큼
  • 🔹 반가상화는 성능이 뛰어나지만, OS 커널 수정이 필요해 도입이 복잡
  • 🔹 현대 가상화 환경은 HVM + PV 드라이버 혼합형 모델(KVM+VirtIO)로 성능과 호환성을 모두 확보하는 방향으로 진화 중
    좋습니다. 요청하신 내용에 따라, 아래에 KVM의 Virtio 구조Xen의 PV/HVM 하이브리드 구조를 정확하게 설명드리겠습니다.

✅ 1. KVM + Virtio 구조

🔹 개요

  • KVM(Kernel-based Virtual Machine)은 리눅스 커널 내장 하이퍼바이저 (Type 1 성격)
  • KVM은 기본적으로 HVM (전가상화) 기반이지만, Virtio(반가상화 드라이버)를 이용해 성능 향상

🔹 Virtio란?

항목 설명
정의 반가상화 I/O 프레임워크. 게스트 OS가 가상 디바이스 대신 하이퍼바이저와 직접 I/O 통신하도록 지원
역할 디스크, 네트워크 등 I/O 작업을 에뮬레이션 없이 고속 처리
필요성 기본 QEMU 에뮬레이션은 느림 → Virtio를 쓰면 거의 네이티브 속도에 가까움
요구 사항 게스트 OS 내에 Virtio 드라이버 설치 필요 (리눅스는 기본 탑재, 윈도우는 수동 설치)

🔹 동작 구조

[Guest OS]
  └─ Virtio 드라이버 → Hypervisor (KVM)
                        └─ Host 디바이스 (네트워크, 디스크 등)

게스트가 하이퍼바이저와 직접 통신함으로써 전가상화(HVM)의 성능 한계를 보완하는 구조


✅ 2. Xen의 PV/HVM 하이브리드 구조

🔹 Xen 하이퍼바이저 개요

  • Xen은 전통적으로 반가상화(PV) 기반으로 유명했으나,
  • 현대 CPU(Intel VT, AMD-V)가 가상화 지원을 하면서 HVM(전가상화)도 지원하게 됨

🔹 3가지 모드 구분

모드 설명
PV 모드 OS 커널 수정 필요, CPU 직접 접근 못함 → 성능 좋으나 호환성 낮음
HVM 모드 OS 수정 없이 실행 가능, CPU 가상화 확장(Intel VT) 사용 → 호환성 높음, 성능 보통
PV-on-HVM (Hybrid) HVM 기반에 PV 드라이버만 적용 → 성능과 호환성 모두 확보

🔹 Hybrid 구조 (PV-on-HVM) 동작 흐름

[Guest OS (HVM)] ← 수정 없음
  └─ PV 드라이버 (Disk/Net)
       ↓
    [Xen Hypervisor]
       ↓
    [Host HW 디바이스]
  • CPU와 메모리: HVM 방식 → 하드웨어 지원으로 실행
  • I/O: PV 드라이버 사용 → 고속 I/O 처리
  • 윈도우 등도 사용할 수 있고, 성능도 뛰어난 구조

✅ 비교 요약

항목 KVM + Virtio Xen PV/HVM Hybrid
기반 구조 HVM + Virtio 드라이버 HVM + PV 드라이버
게스트 OS 수정 없음 (Virtio만 설치) 없음 (드라이버만 설치)
I/O 처리 Virtio → KVM PV Driver → Xen
CPU 가상화 방식 하드웨어 가상화 (Intel VT 등) 동일
대표 게스트 OS Linux, Windows Linux, Windows (단, PV 모드는 Windows 불가)
장점 우수한 성능 + 높은 호환성 유연한 성능 조절 + 안정성

✅ 결론

  • 🔹 KVM + Virtio: 리눅스 환경에서 가장 일반화된 하이브리드 방식. 클라우드 VM에 널리 사용
  • 🔹 Xen Hybrid: 반가상화의 원조답게 유연한 최적화 구조, 특히 IaaS형 클라우드에 강점

'Study > 디지털서비스' 카테고리의 다른 글

URI URL URN  (0) 2025.05.01
REST API  (0) 2025.05.01
쿠버네티스 kubernates  (1) 2025.05.01
마이페이먼트, MyPayment  (0) 2025.05.01
오픈데이터 Open Data  (0) 2025.05.01