1.시스템&인프라/Docker

1.가상화 개요 – 하이퍼바이저 vs 컨테이너 차이

쿼드큐브 2025. 3. 27. 15:22
728x90
반응형

가상화 기술은 Docker를 이해하는 핵심입니다. 이 글에서는 하이퍼바이저 기반 가상화와 컨테이너 기반 가상화의 차이를 비교하며, VM과 컨테이너 기술의 특징을 설명합니다

 

 가상화 개요 – 하이퍼바이저 vs 컨테이너 차이

 

목차

1. 가상화란?

2. 하이퍼바이저(Hypervisor) 기반 가상화

3. 컨테이너(Container) 기반 가상화

4. VM과 Container 비교

관련 글 링크

 

 

1. 가상화란?

가상화(Virtualization)는 물리적인 컴퓨터 자원을 논리적으로 나눠 여러 독립 환경을 실행하는 기술입니다.

하나의 물리 서버에서 여러 운영 체제를 동시에 실행할 수 있으며, 비용 절감과 효율적인 리소스 활용이 가능합니다.

주요 방식으로는 서버, 네트워크, 스토리지, 애플리케이션 가상화가 있습니다.

가상화

 

 

2. 하이퍼바이저(Hypervisor) 기반 가상화

하이퍼바이저(Hypervisor)는 VM(가상 머신)을 실행시키는 핵심 소프트웨어입니다.

물리 리소스를 분리하고 각 가상 머신에 독립된 환경을 제공합니다.

하이퍼바이저는 실행 위치에 따라 두 가지 타입으로 나뉩니다.

 

  Type 1 (native, bare-metal)

  • 하이퍼바이저가 하드웨어 바로 위에서 실행되는 방식입니다.
  • 하이퍼바이저가 하드웨어를 직접 제어하기 때문에 자원을 효율적으로 사용할 수 있고,
  • 별도의 호스트OS가 없으므로 오버헤드가 적지만 여러 하드웨어 드라이버를 세팅해야 하므로 설치가 어렵습니다.
  • 대표적으로는 Xen, 마이크로소프트 Hyper-V, KVM이 네이티브 하이퍼바이저에 속합니다.
  • 네이티브형 하이퍼바이저는 전가상화, 반가상화 방식으로 세분화할 수 있습니다.

출처: https://velog.io/@infradeepdiver/1-%EA%B0%80%EC%83%81%ED%99%94-Virtualization저

         

1) 전 가상화(Full Virtualization)

  • 전 가상화는 하드웨어를 모두 가상화하는 방식입니다.
  • 게스트 OS가 하이퍼바이저에게 하드웨어 시스템 제어를 요구하면, 하이퍼바이저는 하드웨어에게 해당 요구 사항을 전달합니다.

 

2) 반가상화(Para Virtualization)

  • 반 가상화 방식은 하드웨어를 완전히 가상화하지 않고,게스트 OS의 커널을 일부 수정해 하드웨어와 인터랙션할 수 있도록 합니다.
  • OS를 수정해야 하므로 게스트 OS가 윈도우일 경우 별도의 Tool을 이용해야 해서 번거로움이 있습니다.
  • 게스트 OS는 Hyper Call이라는 명령어를 통해 하드웨어에 필요한 자원을 바로 하이퍼바이저에 전달하고, 하이퍼바이저는 바로 하드웨어를 제어합니다.

 

  Type 2 (hosted)

  • 호스트형 하이퍼바이저는 일반적인 소프트웨어처럼 호스트 OS 위에서 실행됩니다.
  • 하드웨어 자원을 VM 내부의 게스트 OS에 에뮬레이트 하기 때문에 네이티브 방식에 비해 오버헤드가 큽니다.
  • 게스트 OS 종류에 대한 제약이 없고 데스크톱뿐 아니라 노트북에서도 운영할 수 있습니다.
  • 대표적으로는 VMware server, VMware Workstation, Virtual box가 있습니다.

 

3. 컨테이너(Container) 기반 가상화

컨테이너는 운영체제 커널을 공유하면서도 각 애플리케이션에 독립 실행 환경을 제공하는 기술입니다.

VM보다 가볍고 빠르며, 독립된 파일 시스템과 네트워크 공간을 제공합니다.

Docker는 대표적인 컨테이너 기술입니다.

출처: https://www.docker.com/resources/what-container/

 

 

4. VM과 Container 비교

항목 컨테이너(Container) 가산머신(VM)
가상화 수준 운영체제 레벨의 가상화 기술 하드웨어 레벨의 가상화 기술
운영 방식 OS 커널 공유, 독립적인 프로세스로 실행 각 VM마다 독립적인 OS 포함
리소스 사용 가벼움 (MB 단위) 무거움 (GB 단위)
부팅 속도 빠름 (초 단위) 느림 (분 단위)
격리 수준 프로세스 단위 격리 (보안이 상대적으로 낮음) OS 단위 격리 (보안이 강함)
실행 가능한 애플리케이션 수 많음 (경량) 상대적으로 적음 (무거움)
대표 기술 Docker, Kubernetes VMware, KVM, Hyper-V

 


가상화의 개념과 하이퍼바이저, 컨테이너 기술을 비교했습니다. Docker를 이해하려면 컨테이너 기반 가상화가 무엇인지 이해하는 것이 중요합니다. VM은 보안과 격리성이 강하지만 무겁고 느리며, 컨테이너는 가볍고 빠르지만 비교적 낮은 격리 수준을 갖습니다.

 

 

관련 글 링크

 

What is a Container? | Docker

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of s

www.docker.com

 

가상화란 무엇인가요? - 클라우드 컴퓨팅 가상화 설명 - AWS

클라우드 컴퓨팅은 사용량에 따른 요금으로 인터넷을 통해 온디맨드로 컴퓨팅 리소스를 제공하는 것을 말합니다. 물리적 데이터 센터를 구매, 소유 및 유지 관리하는 대신, 필요할 때 클라우드

aws.amazon.com

 

가상화란? | IBM

가상화를 통해 단일 컴퓨터의 하드웨어 리소스를 가상 머신(VM)이라고 하는 여러 개의 가상 컴퓨터로 나눌 수 있습니다.

www.ibm.com

 

728x90
반응형