Bare-metal vs Hosted 하이퍼바이저
1. 하이퍼바이저(Hypervisor)란?
하이퍼바이저는 단일 물리 머신의 리소스를 가상화하여 여러 개의 가상 머신(VM)을 생성하고, 이 VM들은 서로 격리된 환경에서 실행되도록 한다. 이 덕분에 하나의 VM에서 장애가 발생해도 다른 VM에는 영향을 미치지 않는다.
하이퍼바이저는 구조에 따라 두 가지 방식으로 나뉜다:
- Bare-metal 하이퍼바이저 (Type 1)
- Hosted 하이퍼바이저 (Type 2)
두 방식 모두 물리 자원을 VM에게 논리적으로 분할한다. 주의해야 할 점은 VM은 단일 물리 머신에서 생성되므로 하나의 물리 자원을 공유하지만, 가상화 기술을 통해 논리적으로 분리하여 사용된다.
단일 물리 머신에 다수 VM 실행 구조:
graph TD
A[물리 하드웨어 - CPU, RAM, Disk, NIC] --> B[하이퍼바이저 - Type 1 또는 Type 2]
B --> C1[가상 머신 VM1 - Guest OS, App]
B --> C2[가상 머신 VM2 - Guest OS, App]
B --> C3[가상 머신 VM3 - Guest OS, App]
2. 하이퍼바이저 종류
2-1. Bare-metal 하이퍼바이저 (Type 1)
Bare-metal 하이퍼바이저는 물리 하드웨어 위에 직접 설치되는 하이퍼바이저로, 운영체제가 필요하지 않으며 하드웨어를 직접 제어한다.
Bare-metal 하이퍼바이저는 Host OS가 존재하지 않으므로 하이퍼바이저가 OS의 역할인 하드웨어 자원 초기화,. 장치 드라이버 로딩, VM 관리 등 OS의 일부 기능을 직접 수행한다.
Host OS가 없기 때문에 하이퍼바이저는 물리 자원을 중간 계층 없이 직접 제어하며, 이로 인해 VM에 물리 자원을 할당할 때 latency가 줄어든다.
Bare-metal 하이퍼바이저 예시:
- KVM
- VMware vSphere
2-2. Hosted 하이퍼바이저 (Type2)
Hosted 하이퍼바이저는 Host OS 위에 소프트웨어 형태로 설치되는 구조이다. Host OS 위에서 하이퍼바이저가 동작하므로 Bare-metal 방식과 달리 VM에게 자원을 할당하는 과정에서 오버헤드가 발생한다. 왜냐하면 하이퍼바이저 -> Host OS -> 하드웨어 경로를 거쳐 VM에게 자원을 할당하고 I/O 처리를 해야 하므로 오버헤드가 발생한다.
Hosted 하이퍼바이저 예시:
- VMware Workstation
- Oracle VirtualBox
하이퍼바이저 방식 비교:
graph TD
subgraph Hosted 방식 [Type 2 - Hosted 방식]
A[물리 하드웨어] --> B[Host OS]
B --> C[Hosted 하이퍼바이저]
C --> D1[VM 1]
C --> D2[VM 2]
end
subgraph Bare-metal 방식 [Type 1 - Bare-metal 방식]
E[물리 하드웨어] --> F[Bare-metal 하이퍼바이저]
F --> G1[VM 1]
F --> G2[VM 2]
end