공든탑앱 열기

가상화

리눅스마스터 2급 · 응용분야 · 약 10분

쉽게 말하면

컴퓨터 한 대 안에 가짜 컴퓨터(가상 머신) 여러 대를 만들어 각각 다른 운영체제를 돌리는 기술이에요. 큰 건물을 칸막이로 나눠 여러 가게에 빌려주는 것과 같고, 그 칸막이를 관리하는 프로그램이 하이퍼바이저예요.

시험용 정의

가상화는 한 대의 물리 컴퓨터에서 여러 개의 가상 머신(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 HVMXen PV

리눅스 가상화 도구

도구설명
KVM리눅스 커널에 포함된 가상화 모듈(kvm.ko). CPU의 하드웨어 가상화 기능 필요. 커널 2.6.20부터
QEMU하드웨어 에뮬레이터. KVM과 함께 쓰면 빠른 전가상화
Xen케임브리지 대학에서 시작한 Type 1 하이퍼바이저. 전·반가상화 모두 지원. 관리용 VM을 Dom0이라 부름
libvirt · virsh · virt-managerKVM·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으로 분류하는 경우가 많다.

시험에 이렇게 나와요

확인 문제

Q1. 게스트 운영체제의 커널을 고치지 않고 그대로 가상 머신에서 돌리려면 어떤 가상화 방식이 필요할까?

  1. 전가상화
  2. 반가상화
  3. 에뮬레이션 불가
  4. 컨테이너
정답 보기

1번 전가상화

전가상화(Full Virtualization)는 하드웨어를 완전히 흉내 내서 게스트 OS를 수정 없이 실행한다(윈도우도 가능). 반가상화는 게스트 커널을 가상화에 맞게 고쳐서 하이퍼바이저와 직접 대화(하이퍼콜)하게 해 성능을 얻는다.

Q2. CPU의 하드웨어 가상화 기능을 이용해 리눅스 커널 자체를 하이퍼바이저로 만드는 기술은?

  1. Hyper-V
  2. Docker
  3. Xen PV
  4. KVM
정답 보기

4번 KVM

KVM(Kernel-based Virtual Machine).

Q3. 게스트 OS의 커널을 수정해 하이퍼바이저와 협력하는 반가상화를 지원하는 것은?

  1. QEMU
  2. VirtualBox
  3. Xen
  4. VMware Workstation
정답 보기

3번 Xen

Xen이다. 반가상화(PV) 모드에서 게스트 커널을 고쳐 하이퍼바이저와 직접 협력해 빠르다. VirtualBox·VMware Workstation은 주로 전가상화, QEMU는 에뮬레이터다.

Q4. 리눅스 커널에 포함된 가상화 기술은?

  1. Xen
  2. VirtualBox
  3. VMware ESXi
  4. KVM
정답 보기

4번 KVM

KVM(Kernel-based Virtual Machine).

Q5. 게스트 OS의 커널을 수정해야 하는 가상화 방식은?

  1. 반가상화
  2. 전가상화
  3. 컨테이너
  4. 하드웨어 지원 가상화
정답 보기

1번 반가상화

반가상화(Para-virtualization).

Q6. Type 2(호스티드) 하이퍼바이저는?

  1. Xen
  2. VirtualBox
  3. Hyper-V
  4. ESXi
정답 보기

2번 VirtualBox

VirtualBox는 기존 OS 위에서 실행된다.

Q7. Intel CPU의 하드웨어 가상화 지원을 /proc/cpuinfo에서 나타내는 플래그는?

  1. vmx
  2. ht
  3. lm
  4. 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.

함께 보면 좋은 개념