가상화
쉽게 말하면
컴퓨터 한 대 안에 가짜 컴퓨터(가상 머신) 여러 대를 만들어 각각 다른 운영체제를 돌리는 기술이에요. 큰 건물을 칸막이로 나눠 여러 가게에 빌려주는 것과 같고, 그 칸막이를 관리하는 프로그램이 하이퍼바이저예요.
시험용 정의
가상화는 한 대의 물리 컴퓨터에서 여러 개의 가상 머신(VM)을 돌리는 기술이다. VM을 만들고 관리하는 소프트웨어를 하이퍼바이저라 한다.
비유로 이해하기
큰 건물(물리 서버)을 칸막이로 나눠 여러 가게(VM)에 임대하는 것이다. 관리사무소(하이퍼바이저)가 전기·수도(CPU·메모리)를 나눠 준다.
자세히
하이퍼바이저 유형
| 유형 | 구조 | 예 |
|---|---|---|
| Type 1 (베어메탈, 네이티브) | 하드웨어 위에 바로 설치 | Xen, VMware ESXi, Microsoft Hyper-V, KVM* |
| Type 2 (호스티드) | 일반 OS 위에 프로그램으로 설치 | VirtualBox, VMware Workstation, Parallels |
전가상화 vs 반가상화
| 전가상화 | 반가상화 | |
|---|---|---|
| 게스트 OS 수정 | 필요 없음 | 필요 (하이퍼콜 사용) |
| 성능 | 예전엔 느렸으나 CPU 지원(Intel VT-x, AMD-V)으로 개선 | 빠름 |
| 예 | KVM, VMware, VirtualBox, Xen HVM | Xen PV |
리눅스 가상화 도구
| 도구 | 설명 |
|---|---|
| KVM | 리눅스 커널에 포함된 가상화 모듈(kvm.ko). CPU의 하드웨어 가상화 기능 필요. 커널 2.6.20부터 |
| QEMU | 하드웨어 에뮬레이터. KVM과 함께 쓰면 빠른 전가상화 |
| Xen | 케임브리지 대학에서 시작한 Type 1 하이퍼바이저. 전·반가상화 모두 지원. 관리용 VM을 Dom0이라 부름 |
| libvirt · virsh · virt-manager | KVM·Xen 등을 공통으로 관리하는 API · 명령행 · GUI 도구 |
| Hyper-V | 마이크로소프트 윈도용 하이퍼바이저. 리눅스를 게스트로는 돌리지만 리눅스 위에 설치하는 가상화 도구는 아니다 |
| VMware 디스크 형식 | 가상 디스크 파일 .vmdk(VirtualBox는 .vdi, KVM은 .qcow2) |
확인 명령
CPU가 하드웨어 가상화를 지원하는지: grep -E 'vmx|svm' /proc/cpuinfo (vmx = Intel VT-x, svm = AMD-V). KVM 모듈 확인: lsmod | grep kvm. *KVM은 리눅스 커널 자체를 하이퍼바이저로 만들기 때문에 Type 1으로 분류하는 경우가 많다.
시험에 이렇게 나와요
- 리눅스 커널 기반 가상화·하드웨어 지원 전가상화 → KVM
- 게스트 OS를 고쳐 쓰는 반가상화를 지원 → Xen
- 리눅스와 거리가 먼(윈도 전용) 가상화 → Hyper-V, VMware 가상 디스크 형식 → VMDK
확인 문제
Q1. 게스트 운영체제의 커널을 고치지 않고 그대로 가상 머신에서 돌리려면 어떤 가상화 방식이 필요할까?
- 전가상화
- 반가상화
- 에뮬레이션 불가
- 컨테이너
정답 보기
1번 전가상화
전가상화(Full Virtualization)는 하드웨어를 완전히 흉내 내서 게스트 OS를 수정 없이 실행한다(윈도우도 가능). 반가상화는 게스트 커널을 가상화에 맞게 고쳐서 하이퍼바이저와 직접 대화(하이퍼콜)하게 해 성능을 얻는다.
Q2. CPU의 하드웨어 가상화 기능을 이용해 리눅스 커널 자체를 하이퍼바이저로 만드는 기술은?
- Hyper-V
- Docker
- Xen PV
- KVM
정답 보기
4번 KVM
KVM(Kernel-based Virtual Machine).
Q3. 게스트 OS의 커널을 수정해 하이퍼바이저와 협력하는 반가상화를 지원하는 것은?
- QEMU
- VirtualBox
- Xen
- VMware Workstation
정답 보기
3번 Xen
Xen이다. 반가상화(PV) 모드에서 게스트 커널을 고쳐 하이퍼바이저와 직접 협력해 빠르다. VirtualBox·VMware Workstation은 주로 전가상화, QEMU는 에뮬레이터다.
Q4. 리눅스 커널에 포함된 가상화 기술은?
- Xen
- VirtualBox
- VMware ESXi
- KVM
정답 보기
4번 KVM
KVM(Kernel-based Virtual Machine).
Q5. 게스트 OS의 커널을 수정해야 하는 가상화 방식은?
- 반가상화
- 전가상화
- 컨테이너
- 하드웨어 지원 가상화
정답 보기
1번 반가상화
반가상화(Para-virtualization).
Q6. Type 2(호스티드) 하이퍼바이저는?
- Xen
- VirtualBox
- Hyper-V
- ESXi
정답 보기
2번 VirtualBox
VirtualBox는 기존 OS 위에서 실행된다.
Q7. Intel CPU의 하드웨어 가상화 지원을 /proc/cpuinfo에서 나타내는 플래그는?
- vmx
- ht
- lm
- svm
정답 보기
1번 vmx
Intel vmx, AMD svm.
헷갈리기 쉬운 O·X
KVM은 CPU의 하드웨어 가상화 기능(VT-x, AMD-V)이 있어야 제대로 동작한다.
정답 보기
O 없으면 QEMU 순수 에뮬레이션으로 느리게 동작.
Xen은 반가상화만 지원한다.
정답 보기
X 전가상화(HVM)도 지원한다.
virsh는 libvirt 기반으로 가상 머신을 관리하는 명령행 도구다.
정답 보기
O GUI는 virt-manager.