
이 글에서 다룰 내용
이 글에서는 PART 2에서 다룬 하드웨어 추상화를 실제로 가능하게 만든 핵심 구성 요소인 Hypervisor가 무럿인지, 그리고 왜 Hypervisor가 Type 1과 Type2로 구분되는지를 다룸
각 타입이 어떤 환경을 전제로 등장했느지에 초첨을 맞춰 설명
학습 목표
아 글을 통해 다음을 이해하는 것을 목표로 함
- Hypervisor의 역할을 구조적으로 설명할 수 있음
- Type 1과 Type 2 Hypervisor의 차이를 "성능"이 아닌 "전제 환경" 관점에서 이해함
- 왜 서버 환경에서는 Type 1이 표준이 되었는지 설명할 수 있음
- 이후 vCPU, vRAM 설명의 기반을 마련함
PART 2에서 살펴본 VM 환경의 핵심은 운영체제가 더 이상 물리 하드웨어를 직접 인식하지 않는다는 점이었음
하나의 물리 서버 위에서 여러 운영체제가 동시에 실행되기 시작하면서,
기존 Bare Metal 환경에서는 전혀 고려하지 않아도 되었던 문제가 발생함
즉, 여러 운영체제가 하나의 하드웨어를 직접 제어하려는 구조적 충돌이 발생함
이 충돌을 해결하지 않으면 VM은 개념적으로만 존재할 뿐, 안정적인 시스템으로 동작할 수 없음
이 문제를 해결하기 위해 등장한 계층이 바로 Hypervisor임
Hypervisor는
여러 운영체제가 하나의 물리 서버를 공유하더라도 각각이 독립된 서버처럼 동작할 수 있도록 하드웨어 사용의 전제를 바꾸는 역할을 수행함
Hypervisor의 역할을 한 문장으로 정리하면 다음과 같음
여러 운영체제가 하나의 물리 서버를 공유하더라도, 각 운영체제가 자신만의 서버를 사용하는 것 처럼 동작하도록 만드는 계층
VM 환경에서 운영 체제는 자신이 단독 서버위에서 실행된다고 가정하고 동작함
Hypervisor는 이 가정을 깨지 않으면서도, 실제 하드웨어 자원은 질서 있게 공유되도록 만듦
그 결과,
VM 환경에서 운영체제는 CPU를 독점적으로 사용할 수 있다고 전제하고 동작함
Hypervisor는 이 전제를 깨지 않은 채, 실제 CPU는 여러 VM이 시간 단위로 나누어 사용하도록 관리함
그 결과
VM 환경에서 운영체제는 자신에게 할당된 메모리 공간을 완전히 소유하고 있다고 전제함
Hypervisor는 이 전제를 유지한 채, VM마다 접근 가능한 메모리 범위를 분리하여 서로의 메모리를 침범하지 못하도록 강제함
그 결과
VM 환경에서 각 VM은 자신만의 디스크와 네트워크 인터페이스가 존재한다고 전제함
Hypervisor는 이 전제를 유지한 채, 각 VM의
I/O요청을 물리 자원으로 중재하고 결과를 다시 해당 VM에 전달함
그 결과,
Hypervisor는 항상 물리 하드웨어와 VM 사이에 존재함
하지만 어디에 위치하느냐에 따라 전체 가상화 구조의 성격이 완전히 달라짐
이 차이를 기준으로 Hypervisor는
Type 1과Type 2로 구분됨
Type 1 Hypervisor는 물리 하드웨어 위에직접 설치되는 구조임
![]()
이 구조에서는 운영체제가 하드웨어를 직접 제어하지 않음.
하드웨어 자원에 대한 판단과 통제는 Hypervisor가 담당함
Type 1 구조의 핵심은 Host OS가 없다는 사실 차제가 아님.
중요한 점은 운영체제의 역할이 바뀌었다는 것
운영체제는 더이상
- CPU 스케줄링의 주체가 아니며,
- 메모리 과리의 기준이 아니고,
- 디스크와 네트워크 제어의 최종 판단자가 아님
운영체제는 Hypervisor 위에서 실행되는 하나의 실행 단위가 됨
이 구조 덕분에,
여러 운영체제가 동시에 실행되더라도,
하드웨어 자원 사용은 하나의 기준 으로 조율 됨
서버 환경에서는 다수의 VM을 동시에 운영해야 하고, 장시간 안정적으로 동작해야 하며, 특정 VM의 문제로 전체 시스템이 흔들리면 안 됨
Type 1 구조에서는 하드웨어 자원에 대한 판단이 Hypervisor 기준으로 일관되게 이루어지기 때문에,
- 자원 사용 패턴이 예측 가능하고,
- 장애 영향 범위를 VM 단위로 제한할 수 있으며,
- 대규모 VM운영이 가능함
이 때문에 데이터센터와 클라우드 환경에서는 구조가 표준으로 사용됨
Type 2 Hypervisor는 기존 운영체제 위에서 실행되는 소프트웨어 형태의 구조임
![]()
이 구조에서는 하드웨어에 대한 최종 제어 권한이 Host OS에 있음
Hypervisor는 Host OS가 제공하는 자원 위에서 동작함
Type 2 구조는 서버 운영을 전제로 설계된 구조가 아님
Type 2 구조에서는 모든 자원 요청이
Guest OS→Hypervisor→Host OS→하드웨어
경로를 거치게됨
이로 인해
이 한계는 구현이 아닌 구조적 위치에서 발생하는 한계임
Type 1과 Type 2의 차이는 단순히 "성능이 좋다/나쁘다"의 관점이 아님
차이는
가상화를 어디까지 운영 책임 범위로 보느냐에 있음
- Type 1
→ 가상화를 서버 인프라의 일부로 다룸
- Type 2
→ 가상화를 사용자 환경에서 사용하는 도구로 다움
이 전제 차이가 구조, 안정성, 확장성의 차이로 이어짐
- Hypervisor는 여러 운영체제가 하나의 물리 서버를 공유할 수 있도록 실행 환경과 자원 사용을 조율하는 계층
- Hypervisor의 위치에 따라 가상과 구조는 Type 1r과 Type 2로 나뉨
Type 1: 가상화를 서버 인프라의 일부로 다루기 위한 구조Type 2: 가상화를 개인 환경에서 활용하기 위한 구조
이제 다음 글에서는 이러한 Type 1 Hypervisor 구조 위에서 제공되는
vCPU,vRAM,Disk가 실제로 무엇을 보장하는지 살펴봄