하이퍼바이저
하이퍼바이저는 가상 머신을 생성하고 관리합니다.
가상 머신 모니터(VMM)라고도 하는 하이퍼바이저는 가상 머신(VM)을 생성하고 관리하는 소프트웨어, 펌웨어 또는 하드웨어 계층입니다. 이는 기본 물리적 하드웨어 리소스(CPU, 메모리, 스토리지, 네트워크)를 추상화하고 이를 여러 독립적인 VM에 할당합니다. 하이퍼바이저는 단일 물리적 머신에서 여러 운영 체제 및 애플리케이션을 동시에 실행할 수 있도록 하여 리소스 활용도를 높이고, 격리를 제공하며, 이식성을 용이하게 합니다. 주요 유형은 두 가지입니다. 호스트의 하드웨어에서 직접 실행되는 Type 1(베어메탈) 하이퍼바이저(예: VMware ESXi, Microsoft Hyper-V, KVM)와 기존 운영 체제 위에서 실행되는 Type 2(호스트형) 하이퍼바이저(예: VMware Workstation, Oracle VirtualBox)입니다. Type 1 하이퍼바이저는 직접적인 하드웨어 액세스로 인해 일반적으로 더 나은 성능과 보안을 제공하는 반면, Type 2 하이퍼바이저는 데스크톱 가상화를 위해 설치 및 관리가 더 간단합니다. 주요 기능에는 VM 프로비저닝, 스케줄링, 리소스 할당, 스냅샷 및 마이그레이션이 포함됩니다. 성능 오버헤드, 하이퍼바이저 계층 자체의 잠재적인 보안 취약점, 가상화된 환경 관리의 복잡성 등의 절충점이 있습니다.
graph LR
Center["하이퍼바이저"]:::main
Rel_virtualization["virtualization"]:::related -.-> Center
click Rel_virtualization "/terms/virtualization"
Rel_virtual_machine["virtual-machine"]:::related -.-> Center
click Rel_virtual_machine "/terms/virtual-machine"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5살도 이해할 수 있게 설명
컴퓨터의 특별한 관리자 같은 것으로, 하나의 실제 컴퓨터에서 여러 개의 '가짜' 컴퓨터 버전을 각각 따로 작동하도록 실행할 수 있게 해줍니다.
🤓 Expert Deep Dive
하이퍼바이저는 게스트 운영 체제로부터의 특권 명령어 및 하드웨어 액세스 요청을 가로채고 관리함으로써 작동합니다. Type 1 하이퍼바이저는 종종 하드웨어 지원 가상화를 위해 CPU 가상화 확장(Intel VT-x, AMD-V)을 활용하여 직접적인 하드웨어 제어를 통해 이를 달성합니다. 이를 통해 게스트 OS는 대부분의 명령어를 CPU에서 직접 실행할 수 있으며, 하이퍼바이저는 민감한 작업에 대해서만 개입합니다. 메모리 관리에는 게스트 물리 주소를 호스트 물리 주소에 매핑하기 위한 섀도우 페이지 테이블 또는 중첩 페이지 테이블과 같은 기술이 포함됩니다. Type 2 하이퍼바이저는 하드웨어를 에뮬레이션하거나 하드웨어 액세스를 위해 OS 커널 모듈에 의존하여 더 많은 오버헤드를 발생시킵니다. 아키텍처 절충점은 성능과 유연성에 중점을 둡니다. 직접적인 하드웨어 액세스(Type 1)는 오버헤드를 최소화하지만 특정 하드웨어 지원이 필요하며 복잡할 수 있습니다. 에뮬레이션(Type 2)은 더 이식성이 좋지만 느립니다. 보안은 하이퍼바이저가 제공하는 격리에 크게 의존합니다. 하이퍼바이저의 취약점은 호스팅되는 모든 VM을 손상시킬 수 있습니다.
❓ 자주 묻는 질문
Type 1 하이퍼바이저와 Type 2 하이퍼바이저의 차이점은 무엇인가요?
Type 1 하이퍼바이저는 호스트의 하드웨어에서 직접 실행되며 운영 체제 자체 역할을 합니다. 일반적으로 더 나은 성능과 보안을 위해 엔터프라이즈 서버 환경에서 사용됩니다. Type 2 하이퍼바이저는 기존 운영 체제(Windows 또는 macOS와 같은) 위에서 애플리케이션으로 실행되므로 개인 또는 개발 목적을 위해 설정하고 사용하기가 더 간단합니다.
하드웨어 지원 가상화 기술이란 무엇인가요?
Intel VT-x 및 AMD-V와 같은 하드웨어 지원 가상화 기술은 가상 머신 실행을 직접 지원하는 CPU 기능입니다. 이를 통해 하이퍼바이저는 소프트웨어 기반 에뮬레이션과 관련된 오버헤드를 줄이고 전반적인 VM 성능을 향상시키면서 특권 명령어를 더 효율적이고 안전하게 실행할 수 있습니다.