Proxmox VE Series

오픈소스 가상화 플랫폼 Proxmox VE — KVM/QEMU 아키텍처 이론부터 클러스터 운영, 자동화까지


🎯 시리즈 목적

왜 Proxmox인가?

2023년 Broadcom의 VMware 인수 이후, VMware 라이선스 정책이 크게 바뀌었음.

  • 영구 라이선스 → 구독 전용 전환
  • ESXi Free 라이선스 폐지, 소규모 번들(Essentials 등) 폐지
  • 가격 상승으로 중소 규모 환경에서 대안 검토 증가

Proxmox VE는 이 흐름에서 가장 주목받는 오픈소스 대안임.

비교VMware vSphereProxmox VE
라이선스구독 (고가)AGPL (무료), 유료 구독은 선택
하이퍼바이저ESXi (독자)KVM (Linux 커널 내장)
컨테이너없음 (별도 제품)LXC 기본 내장
관리 UIvCenter (별도 라이선스)웹 UI 기본 포함
API/자동화PowerCLI, REST APIREST API, Terraform, Ansible
스토리지VMFS, vSANLVM, ZFS, Ceph, NFS, iSCSI
클러스터/HAvSphere HA/DRSCorosync + HA Manager
백업별도 제품 (Veeam 등)PBS(Proxmox Backup Server) 무료

이 시리즈의 목표

  1. KVM/QEMU 아키텍처와 Proxmox 내부 동작 원리 이해
  2. CPU, 메모리, 네트워크, 스토리지의 가상화 이론과 설계 기준 학습
  3. 클러스터, HA, 백업의 동작 원리와 설계 패턴 파악
  4. Terraform/Ansible 연동으로 IaC 기반 가상화 관리
  5. VMware vSphere와의 아키텍처 비교를 통한 기술 시야 확보

누구를 위한 시리즈인가

  • 가상화 기술의 내부 동작 원리를 깊이 이해하려는 엔지니어
  • VMware 환경에서 Proxmox로 전환을 검토하는 인프라 엔지니어
  • KVM/QEMU 기반 가상화를 체계적으로 학습하려는 학습자
  • 홈랩/개발 환경에서 Proxmox를 활용하려는 엔지니어

📐 시리즈 구성 철학

이 시리즈는 “아키텍처 이해 → 리소스 계층별 심화 → 운영/고급 주제” 순서를 따름.

flowchart TD
    subgraph Phase1["Phase 1: 기초"]
        P1["#1 Overview"]
        P2["#2 KVM & QEMU Architecture"]
        P3["#3 Management Architecture"]
    end
    
    subgraph Phase2["Phase 2: 리소스 계층 심화"]
        P4["#4 Compute (CPU, Memory, VM & LXC)"]
        P5["#5 Network"]
        P6["#6 Storage"]
    end
    
    subgraph Phase3["Phase 3: 가용성과 운영"]
        P7["#7 Cluster & HA"]
        P8["#8 Backup & DR"]
        P9["#9 Automation & API"]
    end
    
    Phase1 --> Phase2 --> Phase3

Phase 1 → 2 → 3 순서를 따르는 이유:

Phase이유
1. 기초KVM/QEMU의 동작 원리를 이해해야 이후 리소스 관리의 맥락이 보임. 관리 아키텍처(API, pmxcfs)는 모든 작업의 기반.
2. 리소스 심화CPU/메모리 → 네트워크 → 스토리지 순서로 가상화 계층을 깊이 학습. 각 리소스의 이론과 설계 기준을 다룸.
3. 운영리소스 이해를 바탕으로 클러스터/HA/백업/자동화를 다룸. 이론적 기반 위에 운영 설계를 세우는 구조.

💡 이 순서는 VMware vSphere Series와 대칭 구조를 이루어, 양쪽을 교차 학습하며 비교할 수 있도록 설계됨.


📚 시리즈 목차

#제목설명Phase상태
1Proxmox VE Overview아키텍처, KVM/LXC, VMware 비교, 라이선스기초
2KVM & QEMU ArchitectureKVM 내부 동작, QEMU 장치 모델, VirtIO, PCI Passthrough기초
3Proxmox Management ArchitectureAPI, CLI, 웹 UI, 인증, RBAC, pmxcfs, 태스크 시스템기초
4Compute — CPU, Memory, VM & LXCCPU 스케줄링, NUMA, Ballooning, KSM, KVM vs LXC리소스
5Network ConfigurationLinux Bridge, VLAN, Bonding, OVS, SDN리소스
6Storage ConfigurationLVM, ZFS, NFS, iSCSI, Ceph, 스토리지 정책리소스
7Cluster & HACorosync, 쿼럼, HA Manager, 페일오버, 펜싱운영
8Backup & Restorevzdump, PBS, 3-2-1 규칙, 재해 복구운영
9Automation & APIREST API, Terraform, Ansible, Cloud-Init운영

📋 각 글의 상세 목차

#1 Overview ✅

1. Proxmox VE란 (Debian + KVM + LXC + 웹 UI + API)
2. 핵심 컴포넌트 (KVM/QEMU, LXC, 웹 UI, REST API, 클러스터/HA)
3. 시스템 요구사항, 노드 수별 구성
4. 하이퍼바이저 비교 (VMware, Hyper-V, oVirt)
5. 라이선스 모델 (AGPL, 유료 구독 티어)
6. 강점과 한계
7. 도입 판단 기준
8. VMware → Proxmox 용어 매핑
9. 버전 히스토리

→ VMware 대응: #1 Overview

#2 KVM & QEMU Architecture ✅

1. KVM 개요 — Linux 커널 모듈, Type 1 vs Type 2 논쟁
2. KVM 내부 동작
   - CPU 가상화 (VT-x, VMX Root/Non-Root, VMCS, VM Entry/Exit)
   - 메모리 가상화 (EPT/NPT, 2단계 주소 변환, VPID)
   - 인터럽트 가상화 (APICv/AVIC, Posted Interrupts)
3. QEMU의 역할
   - KVM과 QEMU의 분업 (CPU/메모리 vs 장치 에뮬레이션)
   - VM 프로세스 구조 (QEMU = Linux 프로세스)
   - QEMU 스레드 모델 (vCPU 스레드, 메인 스레드, I/O 스레드)
4. 머신 타입과 장치 모델 (i440fx vs q35, 디스크/네트워크 컨트롤러)
5. VirtIO 준가상화
   - Virtqueue 구조 (공유 메모리 링 버퍼)
   - vhost — 커널 레벨 I/O 가속
   - VirtIO 장치 목록
6. 디스크 이미지 포맷 (QCOW2 vs RAW, QCOW2 내부 구조)
7. PCI Passthrough와 IOMMU
8. QEMU Guest Agent
9. ESXi VMkernel과의 아키텍처 비교

→ VMware 대응: #2 ESXi Architecture (미작성)

#3 Management Architecture ✅

1. 관리 레이어 개요 — API 중심 아키텍처
   - pveproxy, pvedaemon, pvestatd, pve-ha-manager
   - 요청 처리 흐름 (브라우저 → pveproxy → pvedaemon → qm/pct)
2. API 구조
   - REST API 경로 체계 (/cluster, /nodes, /access, /storage)
   - 인증 방식 (Ticket vs API Token)
   - CLI 도구 (pvesh, qm, pct, pvecm, pvesm)
3. 인증과 권한
   - 인증 Realm (PAM, PVE, LDAP, AD, OpenID)
   - RBAC (경로 + 주체 + 역할, 권한 상속)
   - 2FA (TOTP, WebAuthn)
4. 클러스터 파일시스템 (pmxcfs)
   - /etc/pve/ 구조, SQLite + Corosync 동기화
   - Corosync과의 관계 (멤버십, 메시징, 쿼럼)
5. 태스크 시스템 (UPID, 태스크 로그)
6. vCenter와의 아키텍처 비교 (중앙 집중 vs 분산)

→ VMware 대응: #3 vCenter & 관리 (미작성)

#4 Compute — CPU, Memory, VM & LXC ✅

1. CPU 가상화와 스케줄링
   - vCPU와 물리 CPU 관계 (CFS 스케줄링)
   - CPU 토폴로지 (Sockets × Cores), CPU 타입 (host, x86-64-v2 등)
   - CPU Pinning(affinity), CPU 오버커밋
2. NUMA (Non-Uniform Memory Access)
   - NUMA 토폴로지, 로컬/리모트 메모리 지연 차이
   - Proxmox NUMA 설정, 모범 사례
3. 메모리 관리
   - Memory Ballooning (동적 조절)
   - KSM (Kernel Same-page Merging)
   - Huge Pages (2MB, 1GB)
   - 메모리 오버커밋 전략
4. 리소스 제어 — cgroups v2 (cpu.weight, memory.max, io.max)
5. KVM VM vs LXC 비교
   - 아키텍처 차이 (하드웨어 vs OS 가상화)
   - Namespace, cgroups 격리
   - Privileged vs Unprivileged LXC
   - 워크로드별 선택 기준
6. VMware Compute와의 비교 (CFS vs VMkernel Scheduler, KSM vs TPS)

→ VMware 대응: #4 Compute (미작성)

#5 Network

1. Proxmox 네트워크 기초
   - /etc/network/interfaces 구조
   - 물리 NIC → Linux Bridge → VM/CT 연결 흐름
   - VMkernel 포트와의 개념 대응 (관리, 마이그레이션, 스토리지)

2. Linux Bridge
   - 동작 원리 (MAC 학습, 프레임 포워딩)
   - Bridge + VLAN 조합 패턴
   - VLAN-aware Bridge vs 전통적 Bridge

3. VLAN
   - 802.1Q 태깅
   - 트렁크 포트, 액세스 포트
   - Proxmox에서 VLAN 구성 방법 (Bridge 수준, VM 수준)

4. NIC Bonding (Link Aggregation)
   - 모드별 특성 (balance-rr, active-backup, 802.3ad LACP, balance-alb)
   - 이중화 vs 대역폭 확장
   - Bonding + Bridge + VLAN 조합

5. Open vSwitch (OVS)
   - Linux Bridge와의 차이 (프로그래밍 가능, OpenFlow)
   - OVS를 선택해야 하는 경우

6. SDN (Software Defined Networking)
   - Proxmox SDN 아키텍처 (Zone, VNet, Subnet)
   - Simple Zone vs VXLAN/EVPN Zone
   - NSX와의 기능 격차

7. 방화벽
   - Proxmox 방화벽 구조 (Datacenter → Host → VM/CT 계층)
   - iptables/nftables 기반
   - Security Group

8. VMware 네트워크와의 비교
   - Linux Bridge vs vSwitch
   - VLAN-aware Bridge vs dvSwitch
   - Proxmox SDN vs NSX
   - 관리 트래픽 분리 방식 차이

→ VMware 대응: #5 Network (미작성)

#6 Storage

1. Proxmox 스토리지 아키텍처
   - Storage Plugin 구조 — 동일 인터페이스로 다양한 백엔드 관리
   - Content Type (images, rootdir, iso, vztmpl, backup, snippets)
   - pvesm CLI

2. 로컬 스토리지
   - Directory (dir) — 파일 기반, QCOW2 사용
   - LVM — 블록 기반, RAW 전용, Thin Provisioning(LVM-thin)
   - ZFS — CoW, 스냅샷, 압축, 중복 제거, 자가 복구
     - ZFS 풀 구성 (mirror, raidz1/2/3)
     - ARC 캐시와 메모리 요구사항
     - ZFS Send/Receive — 원격 복제

3. 네트워크 스토리지
   - NFS — 파일 기반, 간단, 성능 제한
   - iSCSI — 블록 기반, LUN 매핑
   - Ceph (RBD) — 분산 블록 스토리지
     - Ceph 아키텍처 (MON, OSD, MDS, CRUSH Map)
     - Proxmox 내장 Ceph vs 외부 Ceph
     - CephFS — 분산 파일시스템
   - GlusterFS — 분산 파일시스템 (비교용)

4. 스토리지 선택 기준
   - 환경별 추천 (단일 노드, 클러스터, 대규모)
   - 성능 특성 비교 (IOPS, 지연, 순차/랜덤)
   - 스냅샷/씬 프로비저닝 지원 여부

5. 디스크 I/O 경로
   - VM: QEMU → VirtIO → 스토리지 백엔드 → 물리 디스크
   - LXC: 직접 파일시스템 접근
   - iothread, io_uring 최적화

6. VMware 스토리지와의 비교
   - VMFS vs LVM/ZFS
   - vSAN vs Ceph — 아키텍처, 라이선스, 기능
   - VMDK vs QCOW2/RAW
   - SPBM(정책 기반) vs Proxmox Plugin 모델
   - VAAI vs Linux I/O 스택

→ VMware 대응: #6 Storage (미작성)

#7 Cluster & HA

1. 클러스터 아키텍처
   - Corosync — 멤버십, 메시징, 쿼럼 프로토콜
   - Totem 프로토콜 (링 기반 통신)
   - pmxcfs 연동 — 설정 동기화

2. 쿼럼(Quorum)
   - 쿼럼 개념 — 과반수 투표, Split-brain 방지
   - 노드 수별 장애 허용 (3노드=1대, 5노드=2대)
   - QDevice — 2노드 클러스터에서 외부 투표 노드
   - 쿼럼 상실 시 동작 (읽기 전용, 관리 불가)

3. HA Manager
   - CRM(Cluster Resource Manager) + LRM(Local Resource Manager)
   - HA 리소스 등록 및 상태 머신
   - 페일오버 동작 순서 (장애 감지 → 펜싱 → VM 재시작)
   - 마이그레이션 정책 (HA 그룹, 우선순위)

4. 펜싱(Fencing)
   - 왜 펜싱이 필요한가 — Split-brain 시 데이터 보호
   - 자체 펜싱 (Watchdog 기반)
   - 외부 펜싱 (IPMI, iLO, DRAC)

5. 라이브 마이그레이션
   - 온라인 마이그레이션 동작 (Pre-copy, 수렴 조건)
   - 오프라인 마이그레이션
   - 스토리지 마이그레이션 (로컬 → 로컬)
   - 마이그레이션 네트워크 분리

6. VMware HA/DRS/FT와의 비교
   - Corosync HA vs vSphere HA (Master/Slave vs Agent 기반)
   - DRS 부재 — 수동 밸런싱 또는 외부 스크립트
   - FT 부재 — 앱 레벨 이중화로 대체
   - 마이그레이션 비교 (기능, 제약, 성능)

→ VMware 대응: #7 HA, DRS, FT (미작성)

#8 Backup & DR

1. 백업 아키텍처
   - vzdump — Proxmox 내장 백업 도구
   - 백업 모드 3가지: Stop(정지) / Suspend(일시중단) / Snapshot(스냅샷)
   - 각 모드의 동작 원리, 데이터 일관성, 다운타임 차이

2. 백업 저장소와 포맷
   - 백업 파일 포맷 (.vma, .tar, .zst)
   - 압축 옵션 (none, lzo, gzip, zstd)
   - 로컬/NFS/PBS 저장소

3. Proxmox Backup Server (PBS)
   - PBS 아키텍처 — 전용 백업 서버
   - 증분 백업 (Changed Block Tracking)
   - 서버 사이드 중복 제거 (Deduplication)
   - 암호화 (클라이언트 사이드)
   - 무결성 검증 (Verify 작업)
   - GC (Garbage Collection)

4. 백업 전략
   - 3-2-1 규칙 (3카피, 2매체, 1오프사이트)
   - 백업 스케줄링 (일별, 주별, 보존 정책)
   - 백업 작업 모니터링

5. 복원
   - VM/CT 전체 복원
   - 파일 레벨 복원 (PBS)
   - 다른 노드/클러스터로 복원

6. 재해 복구(DR)
   - PBS 원격 동기화 (Datastore Sync)
   - Ceph 미러링
   - ZFS Send/Receive 기반 복제
   - DR 시나리오 설계 패턴

7. VMware 백업과의 비교
   - vzdump vs VMware 스냅샷 기반 백업
   - PBS vs Veeam (아키텍처, 라이선스 차이)
   - DR: PBS Sync vs VMware SRM
   - Changed Block Tracking 비교

→ VMware 대응: 없음 (VMware 8은 보안 주제. 백업은 7이나 별도 주제)

#9 Automation & API

1. Proxmox REST API
   - API 구조 (JSON 기반, /api2/json/)
   - 인증 (Ticket, API Token)
   - pvesh — CLI에서 API 직접 호출
   - 주요 API 엔드포인트 예시

2. Terraform
   - bpg/proxmox Provider 아키텍처
   - VM 프로비저닝 예시 (리소스 정의, Cloud-Init 연동)
   - LXC 프로비저닝
   - 상태 관리와 Import

3. Ansible
   - community.general.proxmox 모듈
   - VM/CT 생성, 설정 변경, 상태 관리
   - Proxmox 호스트 자체의 설정 자동화

4. Cloud-Init
   - Cloud-Init이란 — VM 초기 설정 자동화 표준
   - Proxmox에서 Cloud-Init 템플릿 생성
   - 사용자, SSH 키, 네트워크, 패키지 설정

5. 통합 워크플로우
   - Terraform(인프라) + Cloud-Init(OS 초기화) + Ansible(설정 관리)
   - GitOps 패턴 적용

6. VMware 자동화와의 비교
   - pvesh vs PowerCLI
   - bpg/proxmox vs hashicorp/vsphere Terraform Provider
   - community.general.proxmox vs vmware.vmware Ansible 컬렉션
   - Cloud-Init vs VMware Customization Spec
   - Content Library vs pveam

→ VMware 대응: #9 자동화 & 에코시스템 (미작성)


🔗 선행 학습


🔗 관련 문서


📝 참고 자료