가상 머신(Virtual Machine, VM)

2경빈·2025년 5월 6일

CS

목록 보기
11/11

가상 머신(Virtual Machine)

"하나의 컴퓨터 안에서, 또 다른 컴퓨터(운영체제)를 소프트웨어로 흉내 내는 것"

즉, 진짜 컴퓨터는 하나인데, 마치 여러 대의 컴퓨터가 있는 것처럼 만들어서 운영하는 기술이다.

ex)

  • 윈도우에서 리눅스를 써야 하는 상황
    *서버 운영, 도커, 개발 등..
  • 리눅스를 위해 다른 컴퓨터를 살 수는 없음.
    → 내 컴퓨터 안에, 가상의 컴퓨터를 하나 더 만들어서 그 안에 리눅스를 설치한다.

가상머신의 구조

[실제 컴퓨터 (호스트 OS: Windows)]
        ↓
[가상머신 소프트웨어 (예: VMware, VirtualBox, Hyper-V)]
        ↓
[가상의 컴퓨터 (가상 CPU, RAM, 디스크)]
        ↓
[게스트 OS (예: Ubuntu, CentOS, etc.)]

가상머신의 특징

항목설명
독립성가상머신은 실제 컴퓨터와 완전히 분리된 환경처럼 동작함. 다른 OS 설치 가능.
실험 용이OS를 날려도 본체는 멀쩡함. 테스트 환경으로 아주 유용함.
여러 OS 실행 가능한 대 컴퓨터에서 Windows, Linux, macOS를 동시에 실행할 수 있음.
느릴 수 있음진짜 하드웨어를 100% 쓰는 게 아니기 때문에 성능은 다소 떨어짐.

가상머신을 만드는 소프트웨어 예시

  • Windows 전용:
    • Hyper-V (윈도우에 기본 내장됨)
  • 모든 플랫폼 공용:
    • VirtualBox (오라클 제품)
    • VMware (유료/무료 둘 다 있음)
    • Parallels (Mac 전용)

가상머신 vs 도커

항목가상머신(VM)도커(Docker)
OS 격리전체 OS 격리 (완전 분리)OS 공유 (리눅스 커널 공유)
속도느림빠름
자원 사용무겁고 RAM/디스크 많이 필요가벼움
사용 목적실험, 멀티 OS 운영 등배포, 마이크로서비스 등

정리

가상머신은 '소프트웨어로 만든 가짜 컴퓨터'이다.
내 컴퓨터 안에 또 다른 운영체제를 설치할 수 있게 해준다.
Docker보다 무겁지만, 완전히 분리된 환경을 원할 때 아주 유용하다.


가상머신이 가능한 이유

CPU와 메모리 같은 하드웨어 자원을 ‘가짜로 흉내 내는 기술’이 발전했기 때문이다.

이걸 **가상화 기술(Virtualization Technology)**이라고 한다.

하이퍼바이저(Hypervisor) - 가상화의 핵심

가상머신을 실행시키기 위해선 '하이퍼바이저'라는 소프트웨어가 필요하다.

하이퍼바이저란?

실컴퓨터(호스트)의 CPU, 메모리, 하드디스크, 네트워크 자원 등을 나눠서 가상 머신에게 배분해주는 소프트웨어이다.
*컴퓨터 자원(CPU, RAM, 저장소 등) 중 남는 공간이나 여유 자원을 가상머신에게 나눠준다.


🎯 하이퍼바이저의 두 종류

종류설명예시
Type 1 (Native)운영체제 없이 하드웨어 위에서 직접 실행됨Hyper-V, VMware ESXi
Type 2 (Hosted)운영체제 위에서 실행됨VirtualBox, VMware Workstation

ex)

  1. 하이퍼바이저 설치
    → 내 컴퓨터가 "가짜 하드웨어 자원"을 만들 준비를 한다.
  2. 가상 머신 생성
    → CPU 2개, RAM 4GB, 디스크 20GB짜리 가짜 컴퓨터 하나 생성한다.
  3. 게스트 OS 설치
    → 이 가상 컴퓨터에 Ubuntu, CentOS 같은 운영체제를 설치한다.
  4. 운영체제가 가짜를 진짜처럼 인식
    → 게스트 OS는 이걸 진짜 하드웨어라고 착각하고 그대로 동작한다.

하드웨어가 속는 이유

인텔, AMD 같은 CPU 제조사들이
"하드웨어 가상화 지원 기술(Intel VT, AMD-V)"을 CPU 안에 내장했기 때문이다.
그래서 소프트웨어만으로도
"가상 CPU", "가상 RAM", "가상 디스크"를 만들 수 있게 된 것이다.


정리

질문답변
가상머신이 가능한 이유하드웨어 자원을 가짜로 흉내 내는 가상화 기술 덕분에 가능함
자원을 흉내내는 주체하이퍼바이저가 실제 자원을 쪼개서 가짜로 만듦
운영체제가 속는 이유CPU 자체가 가상화를 지원해서, 진짜처럼 동작함
profile
eggs before hatching

0개의 댓글