Proxmox VE
🇹🇭 ภาษาไทย
Proxmox VE คืออะไร
Proxmox Virtual Environment (PVE) คือแพลตฟอร์ม server virtualization แบบ open-source ที่พัฒนาบนฐานของ Debian Linux รวม KVM (Kernel-based Virtual Machine สำหรับ full virtual machines) และ LXC (Linux Containers) ไว้บนแพลตฟอร์มเดียวกัน บริหารจัดการผ่าน web interface และรองรับการทำงานในระดับ enterprise
ฟีเจอร์หลักที่มาพร้อมกัน ได้แก่:
- Web-based management interface (port 8006)
- Built-in clustering และ High Availability (HA)
- ระบบ backup และ restore
- Software-Defined Networking (SDN)
- Firewall ในตัว
- REST API พร้อม JSON Schema สำหรับ automation
Proxmox VE มีสองช่องทางการอัปเดต: subscription (enterprise) สำหรับองค์กรที่ต้องการ SLA และ no-subscription repository สำหรับใช้งานฟรี (เหมาะกับ homelab และ testing)
สถาปัตยกรรม Hyper-Converged Infrastructure (HCI) ช่วยให้รัน compute และ Ceph distributed storage บน node เดียวกันได้โดยไม่ต้องแยก hardware
เวอร์ชันและระบบฐาน
| รุ่น PVE | Debian Base | Kernel |
|---|---|---|
| PVE 8.x | Debian 12 Bookworm | 6.8 |
| PVE 9.x | Debian 13 Trixie | 6.14 |
pmxcfs (Proxmox Cluster File System): filesystem พิเศษที่ใช้เก็บ cluster configuration ทั้งหมด ทำงานใน RAM สูงสุด 30 MB ใช้ SQLite เป็น backend และ sync ข้ามทุก node ใน cluster อัตโนมัติ
Hardware Requirements
| Component | Minimum | แนะนำ (Production) |
|---|---|---|
| CPU | 64-bit Intel/AMD + VT-x/AMD-V | Multi-core พร้อม IOMMU |
| RAM | 2 GB | 8 GB ขึ้นไป |
| Storage | Local disk | SSD + ZFS หรือ Ceph |
| Network | 1 GbE | 10+ GbE (สำหรับ Ceph/migration) |
ต้องเปิด virtualization support ใน BIOS: Intel VT-x หรือ AMD-V
Concepts หลัก
- VMID: ID เฉพาะของแต่ละ VM หรือ Container (ตัวเลข)
- Node: เซิร์ฟเวอร์ physical ที่รัน PVE
- Cluster: กลุ่ม node 1–N ตัวที่บริหารจัดการร่วมกัน (ใช้ corosync)
- Storage Pool: จัดการผ่าน
pvesmรองรับ dir, NFS, LVM, ZFS, Ceph และอื่นๆ - Pool: การจัดกลุ่ม resource เชิง logic สำหรับ RBAC
KVM vs LXC
| KVM/QEMU | LXC | |
|---|---|---|
| Guest OS | ทุก OS (Linux, Windows, BSD) | Linux เท่านั้น |
| Isolation | Full hardware emulation | Shared kernel กับ host |
| Performance | ใกล้เคียง native (ด้วย virtio) | ใกล้เคียง native |
| Use case | Windows VMs, full isolation | Linux services น้ำหนักเบา |
| Docker | รันข้างในได้ | ไม่แนะนำ (ด้านความปลอดภัย) |
REST API และ Automation
Proxmox VE เปิด REST API เต็มรูปแบบที่ https://{node}:8006/api2/json/ ครอบคลุมการควบคุม node, VM, storage และ network ทั้งหมด
รูปแบบ API Token:
PVEAPIToken=USER@REALM!TOKENID=UUID
รองรับ automation ผ่าน:
- REST API โดยตรง (curl, Python, etc.)
- Ansible modules (
community.general.proxmox) - Terraform provider (
bpg/proxmox)
Sub-pages
- Proxmox VE Admin Guide — ครอบคลุมทุกฟีเจอร์: KVM, LXC, Storage, Cluster, HA, Networking, Firewall, User Management
- Proxmox VE Upgrade 8 to 9 — การอัปเกรดจาก PVE 8 เป็น PVE 9 (Debian Bookworm → Trixie)
🇬🇧 English
What is Proxmox VE
Proxmox Virtual Environment (PVE) is an open-source server virtualization platform built on top of Debian Linux. It combines KVM (Kernel-based Virtual Machine, for full virtual machines) and LXC (Linux Containers) on a single platform, managed through a web-based interface with enterprise-grade capabilities.
Key built-in features:
- Web-based management interface (port 8006)
- Built-in clustering and High Availability (HA)
- Integrated backup and restore system
- Software-Defined Networking (SDN)
- Built-in firewall
- Full REST API with JSON Schema for automation
Proxmox VE is available through two update channels: a subscription (enterprise) channel for organizations requiring SLA support, and a no-subscription repository for free use (suitable for homelabs and testing).
The Hyper-Converged Infrastructure (HCI) architecture allows running compute and Ceph distributed storage on the same nodes without requiring separate hardware tiers.
Version and Base System
| PVE Version | Debian Base | Kernel |
|---|---|---|
| PVE 8.x | Debian 12 Bookworm | 6.8 |
| PVE 9.x | Debian 13 Trixie | 6.14 |
pmxcfs (Proxmox Cluster File System): a specialized filesystem that stores all cluster configuration. It operates entirely in RAM (max 30 MB), uses SQLite as its backend, and automatically synchronizes across all nodes in the cluster.
Hardware Requirements
| Component | Minimum | Recommended (Production) |
|---|---|---|
| CPU | 64-bit Intel/AMD + VT-x/AMD-V | Multi-core with IOMMU |
| RAM | 2 GB | 8 GB or more |
| Storage | Local disk | SSD + ZFS or Ceph |
| Network | 1 GbE | 10+ GbE (for Ceph/live migration) |
Virtualization support must be enabled in BIOS: Intel VT-x or AMD-V.
Core Concepts
- VMID: Unique numeric identifier for each VM or container
- Node: A physical server running PVE
- Cluster: A group of 1–N nodes managed together (corosync-based)
- Storage Pool: Managed via
pvesm; supports dir, NFS, LVM, ZFS, Ceph, and more - Pool: Logical resource grouping for RBAC access control
KVM vs LXC
| KVM/QEMU | LXC | |
|---|---|---|
| Guest OS | Any (Linux, Windows, BSD) | Linux only |
| Isolation | Full hardware emulation | Shared kernel with host |
| Performance | Near-native with virtio | Near-native |
| Use case | Windows VMs, full isolation | Lightweight Linux services |
| Docker | Can run inside | Not recommended (security) |
REST API and Automation
Proxmox VE exposes a complete REST API at https://{node}:8006/api2/json/ covering full control of nodes, VMs, containers, storage, and networking.
API Token format:
PVEAPIToken=USER@REALM!TOKENID=UUID
Automation is supported via:
- Direct REST API calls (curl, Python, etc.)
- Ansible modules (
community.general.proxmox) - Terraform provider (
bpg/proxmox)
Sub-pages
- Proxmox VE Admin Guide — covers all features: KVM, LXC, Storage, Cluster, HA, Networking, Firewall, User Management
- Proxmox VE Upgrade 8 to 9 — in-place and fresh-install upgrade from PVE 8 to PVE 9 (Debian Bookworm → Trixie)