- CentOS
- etcd
- 우파푸른하늘
- web&was apche htaccess
- MotD
- mariadb
- maxscale
- vmware
- n1548
- Galera Cluster
- Path
- CEP
- unix_socket
- dell
- Netflix
- banner
- RHEL8
- port description
- snmp
- 웰카
- data-door
- 진상부모_물러가라
- mgmtip
- 참교육
- Network
- admin port
- 우파푸른하늘80만이벤트
- perplexity
- Auth
- pod
- openldap
- n15148
- docker
- drbd
- wildfly jboss
- Storage
- Kubernetes
전산쟁이의 기억노트
00. 하이퍼바이져 정보 본문

하이퍼바이저란
- 하이퍼바이저(Hypervisor)는 하나의 물리 서버에서 여러 가상 머신(VM)을 실행하고 관리하는 가상화 계층입니다.
- 각 VM은 vCPU, 메모리, 디스크, NIC를 독립 장치처럼 사용하지만, 실제 자원은 하이퍼바이저와 호스트 운영체제가 분배·제어합니다. 따라서 하나의 서버에서 Linux, Windows, 데이터베이스, GitLab, Kubernetes 노드처럼 서로 다른 역할의 시스템을 분리해 운영할 수 있습니다.
하이퍼바이저의 주요 역할은 다음과 같습니다.
| 역할 | 설명 |
|---|---|
| CPU/메모리 가상화 | 물리 CPU와 메모리를 VM별 자원으로 분리·할당 |
| 디스크 가상화 | 스토리지를 VM별 가상 디스크로 제공 |
| 네트워크 가상화 | 물리 NIC, 브리지, VLAN을 VM의 가상 NIC와 연결 |
| 장치 가상화 | 디스크 컨트롤러, NIC, USB, GPU, PCI 장치를 가상화하거나 직접 할당 |
| 격리와 운영 | VM 간 장애 영향을 줄이고 생성, 백업, 복구, 마이그레이션을 관리 |
가상화가 필요한 이유
가상화의 목적은 단순한 서버 통합이 아닙니다. 자원 활용, 서비스 격리, 표준화, 복구, 테스트 환경 재현에 더 큰 가치가 있습니다.
- 여러 워크로드를 하나의 서버 또는 클러스터에 배치해 자원 활용률을 높일 수 있습니다.
- 서비스별 운영체제와 의존성을 분리해 패키지 충돌과 장애 전파를 줄일 수 있습니다.
- 템플릿과 Cloud-Init으로 표준 OS와 보안 설정을 반복 배포할 수 있습니다.
- VM 단위 백업, 복구, 복제, 스냅샷을 사용할 수 있습니다.
- Kubernetes, CI/CD, 장애 시나리오를 동일한 조건에서 재현하기 쉽습니다.
다만 VM을 많이 만들 수 있다고 해서 안정적으로 운영할 수 있는 것은 아닙니다. CPU 경합, 메모리 부족, 디스크 I/O 경쟁, 네트워크 병목을 함께 설계해야 합니다.
스냅샷도 백업이 아닙니다. 스냅샷은 단기 변경 보호에 유용하지만, 스토리지 장애, 랜섬웨어, 사이트 장애까지 대비하려면 별도 저장소의 백업과 실제 복구 검증이 필요합니다.
Type 1과 Type 2
하이퍼바이저는 일반적으로 Type 1과 Type 2로 구분합니다.
| 구분 | Type 1 | Type 2 |
|---|---|---|
| 설치 방식 | 물리 서버에 전용 가상화 플랫폼으로 설치 | 일반 OS 위에서 애플리케이션으로 실행 |
| 주 용도 | 서버, 데이터센터, 프라이빗 클라우드 | 개인 PC, 개발, 교육, 실습 |
| 예시 | Proxmox VE, VMware ESXi, Nutanix AHV, Hyper-V 기반 서버 환경 | VirtualBox, VMware Workstation, Fusion, Parallels |
| 운영 기능 | 클러스터, HA, 백업, 마이그레이션 | 로컬 VM 생성과 테스트 중심 |
Proxmox VE는 Debian Linux와 KVM을 기반으로 하지만, 일반 데스크톱 OS에서 VirtualBox를 실행하는 방식이 아닙니다. 물리 서버에 전용 가상화 플랫폼으로 설치해 운영하므로 실무적으로 Type 1 또는 bare-metal Linux hypervisor로 이해하면 됩니다.
VM은 어떻게 동작하는가
VM은 독립 서버처럼 보이지만, 실제로는 하이퍼바이저가 제공하는 가상 하드웨어 위에서 실행됩니다.
Guest OS
├── vCPU / vMemory
├── Virtual Disk
├── Virtual NIC
└── BIOS or UEFI
│
▼
QEMU / KVM / VirtIO
│
▼
Linux Kernel, Storage, Network
│
▼
Physical CPU, RAM, Disk, NIC
CPU와 메모리
- VM에 할당한 vCPU는 물리 CPU 코어가 아니라 게스트 OS에 제공하는 논리 CPU입니다. 물리 코어보다 많은 vCPU를 할당하는 CPU overcommit은 가능하지만, 고부하 VM이 동시에 실행되면 CPU 경합과 응답 지연이 발생할 수 있습니다.
- 메모리 overcommit은 더 보수적으로 접근해야 합니다. CPU 부족은 주로 성능 저하로 이어지지만, 메모리 부족은 게스트 또는 호스트의 swap, OOM, VM 불안정으로 이어질 수 있습니다.
- Proxmox VE의 Ballooning은 VM 메모리를 동적으로 조정하는 기능입니다. 하지만 호스트 메모리가 부족하면 게스트가 메모리를 회수하거나 swap/OOM 상황에 놓일 수 있으므로, 데이터베이스처럼 메모리 요구량이 예측 가능한 핵심 서비스에는 신중히 적용해야 합니다.
디스크와 네트워크
VM 디스크는 LVM, ZFS, NFS, iSCSI, Ceph 같은 스토리지 위의 이미지 또는 논리 볼륨으로 제공됩니다.
Guest File System
→ Guest Block Layer
→ VirtIO SCSI / VirtIO Block
→ QEMU 또는 vhost backend
→ Host Kernel
→ Storage Backend
→ Physical Disk or Network Storage
따라서 VM 디스크 성능은 게스트 파일시스템만으로 결정되지 않습니다. 스토리지 종류, 캐시 정책, 디스크 성능, 스토리지 네트워크, 동시 I/O, 백업 및 스냅샷 작업이 함께 영향을 줍니다.
Proxmox VE에서는 일반적으로 Linux Bridge로 VM NIC를 물리 NIC에 연결합니다.
Physical NIC
└── Linux Bridge: vmbr0
├── VM 101
├── VM 102
└── VM 103
VLAN-aware Bridge를 사용하면 VM별 VLAN Tag로 관리망, 서비스망, 스토리지망 등을 논리적으로 분리할 수 있습니다. 다만 스토리지, 백업, VM 서비스, 클러스터 통신을 하나의 NIC 또는 스위치에 집중하면 병목과 장애 영향 범위가 커질 수 있습니다.
KVM, QEMU, VirtIO
Proxmox VE의 KVM 기반 VM은 KVM, QEMU, VirtIO가 함께 동작합니다.
| 구성 요소 | 역할 |
|---|---|
| KVM | Linux 커널의 가상화 기능입니다. Intel VT-x 또는 AMD-V를 사용해 게스트 CPU 실행을 하드웨어 가속합니다. |
| QEMU | VM의 주 실행 프로세스입니다. BIOS/UEFI, 디스크 컨트롤러, NIC 등 가상 하드웨어를 제공합니다. |
| VirtIO | 디스크·네트워크 등의 성능을 높이기 위한 반가상화 장치 인터페이스입니다. |
KVM 사용을 위해서는 CPU와 BIOS/UEFI에서 Intel VT-x 또는 AMD-V가 활성화되어야 합니다. PCI Passthrough나 SR-IOV를 사용하려면 Intel VT-d 또는 AMD IOMMU도 확인해야 합니다.
# Intel: vmx, AMD: svm 플래그 확인
$> grep -E -c '(vmx|svm)' /proc/cpuinfo
# CPU 가상화 관련 정보 확인
$> lscpu | grep -i virtualization
QEMU/KVM 기반 VM은 qm 명령으로 관리합니다.
$> qm list
$> qm config 101
$> qm start 101
$> qm shutdown 101
VirtIO는 게스트 OS가 가상화 환경을 인식하고 하이퍼바이저와 효율적으로 통신하도록 하는 반가상화 장치입니다. 일반적인 Linux VM에서는 다음 구성을 우선 검토할 수 있습니다.
| 항목 | 권장 |
|---|---|
| 디스크 컨트롤러 | VirtIO SCSI single |
| 디스크 버스 | SCSI |
| 네트워크 모델 | VirtIO |
| Guest Agent | 활성화 |
| 펌웨어 | SeaBIOS 또는 OVMF |
| 머신 타입 | i440fx 또는 q35 |
Windows는 VirtIO 드라이버를 설치 과정에서 별도로 로드해야 할 수 있습니다. 반면 대부분의 Linux 배포판은 VirtIO 드라이버를 기본 포함합니다.
VM과 LXC 컨테이너
Proxmox VE는 KVM 기반 VM과 LXC 컨테이너를 모두 관리합니다.
| 구분 | VM | LXC 컨테이너 |
|---|---|---|
| 커널 | VM마다 게스트 커널 사용 | 호스트 Linux 커널 공유 |
| 격리 | 하드웨어 가상화 기반의 상대적으로 강한 격리 | OS 수준 격리 |
| 운영체제 | Linux, Windows, BSD 등 | 일반적으로 Linux |
| 자원 사용량 | 상대적으로 큼 | 상대적으로 가벼움 |
| 적합한 용도 | Windows, DB, Kubernetes 노드, 강한 격리 필요 서비스 | 경량 Linux 서비스, 유틸리티, 테스트 |
Kubernetes와 LXC는 같은 의미가 아닙니다. 실무에서는 Kubernetes 노드를 VM으로 구성하고, VM 내부의 containerd 또는 CRI-O에서 애플리케이션 컨테이너를 실행하는 구조가 일반적입니다.
Proxmox VE
└── KVM VM
└── Linux
└── Kubernetes Node
└── containerd or CRI-O
└── Application Container
Proxmox VE 운영 관점
Proxmox VE는 단순한 VM 실행기가 아니라 VM/컨테이너, 스토리지, 네트워크, 백업, 클러스터, HA, 권한, API를 통합한 가상화 플랫폼입니다.
Web UI / CLI / REST API
│
Proxmox VE Management
│
QEMU / KVM / LXC / VirtIO
│
Linux Kernel / Storage / Network
│
Physical Hardware
운영 시에는 다음 원칙을 기억하면 좋습니다.
- VM 수보다 CPU, 메모리, I/O, 네트워크 대역폭을 먼저 산정합니다.
- CPU overcommit은 가능하지만 메모리 overcommit은 보수적으로 적용합니다.
- 스냅샷과 독립 백업을 구분하고, 백업은 실제 복구까지 검증합니다.
- 템플릿과 Cloud-Init으로 OS, 보안, 에이전트 구성을 표준화합니다.
- VirtIO 디스크/NIC와 QEMU Guest Agent를 우선 검토합니다.
- 관리망, 서비스망, 스토리지망, 클러스터망은 요구사항에 따라 분리합니다.
- 장애는 게스트 OS → VM 설정 → Proxmox 노드 → 스토리지 → 물리 네트워크 순서로 계층화해 점검합니다.
핵심 정리
- 하이퍼바이저는 물리 서버에서 여러 VM을 실행하고 자원을 분리·관리하는 계층입니다.
- Proxmox VE는 Debian 기반에서 KVM/QEMU VM과 LXC 컨테이너를 통합 관리하는 가상화 플랫폼입니다.
- KVM은 CPU 가상화 가속, QEMU는 VM과 가상 장치 제공, VirtIO는 고성능 반가상화 장치 인터페이스를 담당합니다.
- VM은 게스트 커널을 포함하고, LXC는 호스트 Linux 커널을 공유합니다.
- 안정적인 운영을 위해서는 VM 설정뿐 아니라 스토리지, 네트워크, 백업, 클러스터, 표준화, 복구 검증까지 함께 설계해야 합니다.
00. 하이퍼바이져 정보 - 이곤아이.kr
00. 하이퍼바이져 정보 하이퍼바이저란 하이퍼바이저(Hypervisor)는 하나의 물리 서버에서 여러 가상 머신(VM)을 실행하고 관리하는 가상화 계층입니다. 각 VM은 vCPU, 메모리, 디스크, NIC를 독립 장치
igoni.kr
