2025. 3. 2. 15:21ㆍNetwork 공부
https://idery-123.tistory.com/70
KVM (Kernel Based Virtual Machine )
1. KVMKVM은 리눅스 커널을 하이퍼바이저로 변환하여 VM 을 실행시키는 기술이다. CPU 하드웨어 가상화 기능을 활용하여 Full Virtualization 을 구현한다.KVM 은 Guest OS 를 실행할 때 물리적인 CPU 명령을
idery-123.tistory.com
앞서 KVM 과 Xen 에 대해서 살펴보았다. 그러면 두 Hypervisor 의 차이점은 무엇일까?
KVM 과 Xen 의 차이점은 무엇일까?
두 Hypervisor의 가장 큰 차이점은 "Hypervisor의 구조와 I/O 관리 방식" 이다.
Xen은 Dom0 (Control Domain)을 사용하고
KVM 은 libvirt 같은 Daemon을 사용해서 I/O 및 VM 관리를 수행하는 방식이다.
결국 둘 다 Hypervisor 이지만 소프트웨어적인 차이가 있는 것이다.
Xen vs KVM 차이점
위 표를 보게 되면 Xen은 Hypervisor를 독립적인 Xen Hypervisor 가 직접 실행하는 Type 1 방식이다. 하지만 이 때 Xen Hypervisor 가 I/O를 직접 처리하지 못하기 때문에 Dom0 (Control Domain)을 사용하게 되고 Dom0 이 모든 I/O 및 VM 관리를 담당하는 것이다.
반면 KVM 은 Linux Kernel Base Virtualization 이다.
KVM 은 Linux Kernel 내에 내장된 Hypervisor 기능이다. Xen 처럼 별도의 Hypervisor를 실행하는 것이 아니라 Linux 자체가 Hypervisor 역할을 하게 된다. 따라서 Dom0 같은 개념이 없고 대신 libvirt, qemu-kvm 같은 Daemon 들이 I/O 를 관리한다.
이와 같이 Linux Kernal과 통합되어 성능이 좋고 관리가 간단하다는 장점이 있다.
그러면 위의 내용을 보면
왜 Xen 은 Hypervisor Type 1 이고 KVM 은 Type 2 인가?
이를 이해하기 위해서는 Type 1과 2의 차이를 먼저 살펴봐야한다.
Bare Metal Hypervisor (Type-1) vs Hosted Hypervisor (Type-2)
Bare Metal Hypervisor ( Type -1 )
"Bare Metal = 하드웨어에서 직접 실행되는 소프트웨어"를 의미한다. Type-1 하이퍼바이저는 물리적인 하드웨어에서 직접 실행되는 하이퍼바이저이다. OS 없이 Hypervisor 자체가 CPU, Memory, Diks 등을 직접 제어한다. 그래서 성능이 우수하고 Enterprise Server Environment 에서 많이 사용된다.
대표적으로 Xen, AWS Nitro System 등이 있다.
Enterprise Server Environment - 대규모 기업에서 운영하는 서버 환경
주로 높은 가용성, 고성능, 확장성, 보안 능력이 필요하다.
Hosted Hypervisor ( Type-2 )
"Hosted = OS 위에서 실행되는 소프트웨어"를 의미한다. Type 2 Hypervisor 는 기존 OS (Linux, Window 등) 위에서 실행되는 프로그램이다. Hypervisor 가 OS에 의존하며 OS 가 모든 하드웨어 자원을 관리하고 Hypervisor 는 그 위에서 동작하게 된다.
일반적으로 Desktop Environment (컴퓨팅에서 GUI를 사용자에게 제공하는 인터페이스 스타일)에서 많이 사용되며 성능은 Type 1 보다 낮다.
대표적으로 VMware Workstation 이 있다.
- Hosted 하이퍼바이저의 실행 순서
1) 물리적인 하드웨어 (CPU, RAM, 디스크)
2) 호스트 운영체제 (Windows, macOS, Linux) → 기존 OS가 하드웨어를 직접 제어
3) 하이퍼바이저 (VirtualBox, VMware Workstation) → 일반 애플리케이션처럼 실행
4) 가상 머신 (VM) 실행 (게스트 OS: Linux, Windows 등)
그렇다면 KVM 은 Type 1 과 Type 2 중 어디인가?
KVM 은 Linux Kernel 에 내장된 가상화 기능이기 때문에 Type 2 처럼 보이지만 실질적으로 Type - 1 비슷하다.
KVM을 사용하면 Linux 가 Hypervisor 역할을 하게된다. (OS 위에서 실행되는 게 아니다)
하지만 KVM 은 Host OS(Linux) 가 필요하기 때문에 전통적인 의미의 Type - 1 과는 다르다.
그렇기 때문에 KVM 을 Type 1.5 또는 Type 2 에 가까운 Type 1 이라고 부르기도 한다.
결론적으로 KVM은 Linux 위에서 실행되지만, Linux 커널 자체가 하이퍼바이저 역할을 하므로 Type-1과 Type-2의 중간에서 작동한다고 이해하면 된다.
Xen 을 Type 2 처럼 사용하는 것은 가능할까?
가능하다
Xen 을 Host OS의 Kernel Module 또는 Process 로 실행하면 기존의 Host 자원을 활용하면서 VM 을 실행하게 된다.
또는 KVM 위에서 실행하면 KVM이 Xen 을 하나의 VM 처럼 다룰 수 있게 된다. 물론 비효율적인 방식이다.
'Network 공부' 카테고리의 다른 글
+ VM (OVS, Overlay Network, Tunneling) (0) | 2025.03.05 |
---|---|
Paravirtualization vs Full Virtualization (0) | 2025.03.01 |
KVM (Kernel Based Virtual Machine ) (0) | 2025.02.27 |
IaaS, PaaS and SaaS (0) | 2025.02.17 |
VPN vs Other Overlays (0) | 2025.02.17 |