가상 머신(VM)과 Hyper-V: 가상화의 모든 것
🖥️ 가상 머신(Virtual Machine)이란?
가상 머신(VM)은 실제 컴퓨터(물리적인 하드웨어) 위에서 실행되는 소프트웨어 기반의 컴퓨터 환경입니다. 하드웨어를 가상화하여 여러 개의 독립적인 운영 체제(OS)를 실행할 수 있도록 해줍니다.
🛠️ VM의 주요 개념
1️⃣ 하이퍼바이저(Hypervisor)
가상 머신을 실행하고 관리하는 소프트웨어입니다.
- Type 1 (Bare-metal): 하드웨어 위에서 직접 실행됨 (예: VMware ESXi, Microsoft Hyper-V, KVM)
- Type 2 (Hosted): 운영 체제 위에서 실행됨 (예: VirtualBox, VMware Workstation)
2️⃣ 게스트 OS(Guest OS)
VM 안에서 실행되는 운영 체제입니다.
- 예: Windows에서 Linux VM 실행, macOS에서 Windows VM 실행 등
3️⃣ 호스트 OS(Host OS)
VM을 실행하는 실제 컴퓨터의 운영 체제입니다.
✅ VM의 장점
- 서버 가상화: 하나의 물리 서버에서 여러 개의 VM을 실행 가능
- 개발 및 테스트: 다양한 환경에서 애플리케이션을 쉽게 테스트 가능
- 보안 격리: 각 VM은 독립적으로 동작하여 다른 VM에 영향을 주지 않음
- 클라우드 컴퓨팅: AWS, Google Cloud, Azure 등의 클라우드 서비스에서 VM을 제공
🔥 VM vs 컨테이너(Docker)
비교 항목 VM (가상 머신) 컨테이너 (Docker)
실행 단위 | 운영 체제(OS) 수준 | 애플리케이션 수준 |
부팅 속도 | 느림 (OS 부팅 필요) | 빠름 (경량화된 실행) |
성능 | 무겁고 리소스 많이 사용 | 가벼움 |
격리 수준 | 강한 보안 격리 | 약한 보안 격리 |
사용 사례 | 서버 가상화, 멀티 OS 환경 | 마이크로서비스, 빠른 배포 |
👉 예제:
- AWS에서 EC2 인스턴스를 생성하면, 기본적으로 하나의 VM을 제공받습니다.
- VirtualBox를 사용해 Windows에서 Ubuntu VM을 실행할 수 있습니다.
🔥 Hyper-V란?
Hyper-V는 Microsoft에서 개발한 Type 1 하이퍼바이저로, Windows에서 가상 머신(VM)을 실행할 수 있도록 해주는 가상화 플랫폼입니다. 주로 서버 및 데스크톱 가상화를 위해 사용되며, Windows 10, Windows 11 Pro/Enterprise 및 Windows Server에서 기본적으로 제공됩니다.
📌 Hyper-V의 주요 개념
1️⃣ 하이퍼바이저 유형
Hyper-V는 **Type 1 하이퍼바이저(Bare-metal)**에 속합니다. 운영 체제(Windows) 위에서 실행되는 것이 아니라 하드웨어에서 직접 동작하여 성능과 보안이 뛰어납니다.
하이퍼바이저 유형 예시 특징
Type 1 (Bare-metal) | Hyper-V, VMware ESXi, KVM | 하드웨어에서 직접 실행, 성능 우수 |
Type 2 (Hosted) | VirtualBox, VMware Workstation | 운영 체제 위에서 실행, 비교적 느림 |
2️⃣ Hyper-V의 주요 기능
- ✅ VM(가상 머신) 생성 및 관리: Windows, Linux 등 다양한 운영 체제 실행 가능
- ✅ 동적 메모리 할당: 필요에 따라 RAM을 동적으로 조정 가능
- ✅ 스냅샷(체크포인트) 기능: 특정 시점의 VM 상태 저장 및 복원 가능
- ✅ 가상 네트워킹(Virtual Switch): VM 간 네트워크 연결 및 외부 연결 가능
- ✅ 리소스 제어 및 할당: CPU, 메모리, 스토리지 등 조정 가능
- ✅ RemoteFX(그래픽 가속 지원): GPU 가속 지원으로 그래픽 성능 향상
- ✅ Windows 컨테이너 지원: Hyper-V를 활용한 Windows 컨테이너 실행 가능
🖥️ Hyper-V 설치 방법 (Windows 10/11 Pro 이상)
Hyper-V는 Windows 10/11 Home에서는 기본적으로 제공되지 않으며, Pro/Enterprise 버전에서 활성화해야 합니다.
📌 Hyper-V 활성화 방법
- Windows 기능 설정에서 활성화
- Win + R → optionalfeatures 입력 후 실행
- "Hyper-V" 체크 후 "확인"
- 재부팅 후 활성화됨
- PowerShell 명령어 사용 (재부팅 필수)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- CMD (관리자 권한)으로 활성화
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
🏗️ Hyper-V의 네트워크 구성 (Virtual Switch)
Hyper-V에서는 VM이 네트워크에 연결될 수 있도록 **가상 스위치(Virtual Switch)**를 사용합니다. 3가지 모드가 있습니다.
네트워크 유형 설명 사용 예시
외부(External) | VM이 실제 네트워크와 연결됨 (공유 IP) | 인터넷 연결 필요할 때 |
내부(Internal) | VM 간의 통신 가능, 호스트와 연결 가능 | 내부 개발 테스트 |
전용(Private) | VM 간 통신만 가능, 호스트와 연결 불가 | 독립된 네트워크 환경 구축 |
🎯 Hyper-V vs. 다른 가상화 솔루션 비교
기능 Hyper-V VMware Workstation VirtualBox
하이퍼바이저 타입 | Type 1 (Bare-metal) | Type 2 (Hosted) | Type 2 (Hosted) |
성능 | 빠름 | 중간 | 느림 |
운영 체제 통합 | Windows 최적화 | Windows, Linux | Windows, Linux |
네트워크 기능 | 고급 가상 스위치 제공 | 네트워크 기능 우수 | 기본적인 네트워크 기능 |
스냅샷(체크포인트) | 지원 | 지원 | 지원 |
💡 Hyper-V는 Windows 환경에서 가장 적합한 가상화 솔루션!
하지만, Linux 호환성은 VMware ESXi나 KVM보다 떨어질 수 있습니다.
🚀 Hyper-V를 어디에 사용하면 좋을까?
- 개발 및 테스트 환경: 여러 운영 체제를 실행하여 애플리케이션을 테스트
- 서버 가상화: Windows Server 환경에서 여러 VM 운영 가능
- 보안 환경 구축: 메인 OS와 분리된 VM을 사용하여 보안 테스트 가능
- 네트워크 실습: 가상 네트워크를 구성하여 네트워크 구조 실습 가능
🎯 결론
Hyper-V는 Windows 환경에서 강력한 가상화 기능을 제공하는 Type 1 하이퍼바이저입니다. VM 성능이 뛰어나며, 개발/테스트, 서버 가상화, 보안 실험 등에 적합합니다. 하지만, Linux 환경에서는 KVM, VMware ESXi 같은 솔루션이 더 적합할 수도 있습니다.
'[====== Development ======] > Etc' 카테고리의 다른 글
애플 App Store Connect 계정을 다른 개발자에게 이관하는 방법 (0) | 2025.03.04 |
---|---|
하나의 리눅스 PC를 여러명이 사용하는 방법 (0) | 2025.02.04 |
테스팅 - Blackbox, Whitebox, Graybox (1) | 2025.01.20 |
SSR(Server-Side Rendering) VS CSR(Client-Side Rendering) (0) | 2025.01.16 |
HTTP 응답 코드 정리 (0) | 2024.10.30 |