1. 가상화(Virtualization)란 무엇일까?

- 물리적인 컴퓨터 자원(하드웨어)을 논리적인 객체로 추상화하는 기술
- 쉽게 말해, 한 대의 강력한 서버를 여러 대의 작은 서버처럼 나누어 사용하거나(Partitioning) , 여러 대의 서버를 하나로 묶어(Aggregation) 사용하는 것을 가능하게 해줌
- 이 기술이 중요한 이유는 자원 효율성에 있음
- 대부분의 서버는 평소에 전체 용량의 10~15% 정도만 사용하는데, 이는 상당한 자원 낭비
- 가상화를 이용하면 놀고 있는 자원을 필요한 곳에 동적으로 할당하여 서버 사용률을 70% 이상으로 끌어올릴 수 있음
- 1960년대 IBM 메인프레임에서 처음 시작되었고, 2001년 VMware가 x86서버용 상용 솔루션을 내놓으며 본격적으로 알려지기 시작
2. 하이퍼바이저(Hypervisor) 기반 가상화
서버 가상화의 중심에는 하이퍼바이저(Hypervisor)와 가상 머신(Virtual Machine, VM)이 있음
- 가상 머신(VM):
- 물리적 컴퓨터와 거의 동일한 환경을 제공하는 복제된 컴퓨팅 환경
- 각 VM은 독립된 운영체제(Guest OS)와 애플리케이션을 설치하고 실행할 수 있음
- 하나의 물리 서버에서 서로 다른 여러 환경을 동시에 운영할 수 있음
- 하이퍼바이저:
- 가상 머신 모니터(VMM)라고도 불림
- 물리적 하드웨어와 VM 사이에서 CPU, 메모리 같은 자원을 각 VM에 할당하고 관리하는 중간 관리자 역할을 함
하이퍼바이저는 작동 방식에 따라 두 가지 유형으로 나뉨

-
타입 2 (호스트 기반):
- 윈도우나 리눅스 같은 기존 운영체제(Host OS) 위에 애플리케이션처럼 설치
- 설치가 쉽고 편리하지만, Host OS를 한 번 더 거치기 때문에 타입 1에 비해 성능이 다소 떨어질 수 있음 - 타입 1 (네이티브/베어메탈):
- 하드웨어 위에 바로 설치되어 운영체제 없이 직접 하드웨어를 제어
- Guest OS가 하드웨어 위에서 두 번째 수준으로 실행되므로 성능이 우수하여 데이터센터 환경에 적합
3. 가상화 기술의 발전: 전가상화 vs 반가상화 vs 하드웨어 지원

- 하이퍼바이저가 VM을 어떻게 제어하고 하드웨어에 접근하는지에 따라 가상화 기술은 더 세분화
- 이를 이해하려면 먼저 CPU 보호 링(Protection Ring)에 대한 이해가 필요
- x86 CPU는 4개의 권한 레벨(Ring 0~3)을 통해 시스템 자원을 보호
가장 높은 권한인 **Ring 0(커널 모드)**에서만 OS 커널이 하드웨어에 직접 접근할 수 있음
소프트웨어 기반 전가상화 (Software-based Full Virtualization)
-
작동 방식:
- 하이퍼바이저가 Ring 0에서 실행되고, Guest OS는 권한이 낮은 Ring 1에서 실행
- Guest OS가 하드웨어 제어 명령(특권 명령)을 내리면, CPU는 권한 부족으로 예외(Trap)를 발생
- 이때 하이퍼바이저가 Trap을 감지하여 해당 명령을 소프트웨어적으로 대신 처리(에뮬레이션) -
특징:
- Guest OS를 수정할 필요가 없어 호환성이 높지만, 에뮬레이션 과정에서 발생하는 오버헤드 때문에 성능 저하
- 초기 가상화 모델에서 사용된 방식
반가상화 (Paravirtualization)
-
작동 방식:
- Guest OS 커널을 수정하여 자신이 가상 환경에서 실행 중임을 인지하게 만듬
- 하드웨어 접근이 필요할 때 Trap을 발생시키는 대신, 하이퍼바이저에게 직접 요청(Hypercall)을 보내 처리 -
특징:
- 불필요한 Trap & Emulate 과정이 없어 성능이 우수
- OS 커널을 직접 수정해야 하므로 호환성이 제한된다는 단점이 있음
하드웨어 지원 가상화 (Hardware-Assisted Virtualization)
-
작동 방식:
- Intel VT-x, AMD-V 등 CPU에 내장된 가상화 지원 기능을 활용
- 하이퍼바이저는 새로운 최상위 권한 모드인 'Root Mode'
- Guest OS는 별도의 'Non-root Mode'에 있는 Ring 0에서 실행
- Guest OS가 특권 명령을 실행하면 CPU가 이를 자동으로 감지해 하이퍼바이저에게 제어권을 넘김 - 특징:
- Guest OS 수정 없이 높은 호환성과 우수한 성능을 동시에 달성 가능
- 현대 가상화 기술의 표준
'CLAUD COMPUTERING' 카테고리의 다른 글
| [클라우드 컴퓨터링] 하둡 분산 파일 시스템이란?(Hadoop Distributed File System, HDFS) (0) | 2025.09.25 |
|---|---|
| [클라우드 컴퓨터링] 가상 머신(VM), 도커, 쿠버네티스 란? (0) | 2025.09.23 |
| [클라우드 컴퓨터링] 클라우드 컴퓨터링이란? (0) | 2025.09.16 |
| [클라우드 컴퓨터링] 머신러닝, 딥러닝과 빅데이터 (2) | 2025.09.11 |
| [클라우드 컴퓨터링] 클라우드와 빅데이터, 그리고 하둡 (0) | 2025.09.09 |