가상화 종류 비교(Type 1, Type 2, Container)

· VirtualizationHypervisorContainerInfra


Type 비교

Type 1 하이퍼바이저, Type 2 하이퍼바이저, 컨테이너의 차이를 설명하는 도표

항목Type 1 하이퍼바이저Type 2 하이퍼바이저컨테이너
정의하드웨어 위에서 직접 실행되는 하이퍼바이저.기존 운영체제 위에서 실행되는 하이퍼바이저.호스트 OS 커널을 공유하는 격리된 환경.
호스트 운영체제호스트 OS 없음, 하드웨어에서 직접 실행.호스트 OS가 필요함.호스트 OS 커널을 공유, 별도의 OS 필요 없음.
성능높은 성능 (거의 네이티브에 가까움).운영체제 오버헤드로 인해 성능이 다소 낮음.매우 높은 성능 (경량화).
사용 용도데이터 센터, 기업 수준의 가상화.데스크탑 가상화, 테스트 환경.클라우드 네이티브 애플리케이션, 마이크로서비스.
부팅 시간빠름, 시스템과 함께 부팅.느림, 호스트 OS에 의존.매우 빠름, 최소한의 부팅 시간.
자원 활용도효율적, 하드웨어 자원을 직접 관리.덜 효율적, 호스트 OS에 의존.매우 효율적, 최소한의 오버헤드.
보안성가상 머신 간의 높은 격리.중간 정도, 호스트 OS 보안에 의존.중간 정도, 커널 수준의 취약점은 모든 컨테이너에 영향.
예시VMware ESXi, Microsoft Hyper-V, Xen.VMware Workstation, Oracle VirtualBox.Docker, Kubernetes (오케스트레이션).
게스트 OS 요구사항여러 OS 유형 실행 가능 (Linux, Windows 등).여러 OS 유형 실행 가능 (Linux, Windows 등).호스트 OS 커널을 공유, 주로 Linux 기반.

Type 1 (Bare-metal)

하드웨어
└── Type 1 하이퍼바이저 (Bare-metal Hypervisor)
    ├── 가상 머신 1 (Guest OS)
    ├── 가상 머신 2 (Guest OS)
    └── 가상 머신 N (Guest OS)
┌─────────────────────────┐
│      Guest Process      │
├─────────────────────────┤
│         Guest OS        │
├─────────────────────────┤
│           VM            │
├─────────────────────────┤
│       Hypervisor        │
├─────────────────────────┤
│        Hardware         │
└─────────────────────────┘

Type 2 (Hosted Hypervisor)

하드웨어
└── 호스트 운영체제 (Host OS)
    └── Type 2 하이퍼바이저 (Hosted)
        ├── 가상 머신 1 (Guest OS)
        ├── 가상 머신 2 (Guest OS)
        └── 가상 머신 N (Guest OS)
┌─────────────────────────┐
│      Guest Process      │
├─────────────────────────┤
│         Guest OS        │
├─────────────────────────┤
│           VM            │
├─────────────────────────┤
│       Hypervisor        │
├─────────────────────────┤
│         Host OS         │
├─────────────────────────┤
│        Hardware         │
└─────────────────────────┘

Container

하드웨어
└── 호스트 운영체제 (Host OS)
    └── 컨테이너 런타임 (Docker 등)
        ├── 컨테이너 1 (애플리케이션 1)
        ├── 컨테이너 2 (애플리케이션 2)
        └── 컨테이너 N (애플리케이션 N)
┌─────────────────────────┐
│  Guest Microservices    │
├─────────────────────────┤
│       Libs/Bins         │
├─────────────────────────┤
│        Container        │
├─────────────────────────┤
│   Container Engine      │
├─────────────────────────┤
│         Host OS         │
├─────────────────────────┤
│        Hardware         │
└─────────────────────────┘


예전 블로그에 적었던 작업 기록을 옮겨온 글입니다.


← Blog 목록