VMware vSphere เคยเป็นตัวเลือกหลักสำหรับ virtualization ทั้งในองค์กรและ home lab แต่หลังจาก Broadcom เข้าซื้อ VMware และเปลี่ยน licensing model ทำให้ค่าใช้จ่ายพุ่งสูง Proxmox VE จึงกลายเป็นทางเลือกที่ได้รับความนิยมอย่างมาก โดยเฉพาะเมื่อเป็น open source และใช้ฟรีสำหรับ non-production
บทความนี้จะพาตั้งแต่เข้าใจ Proxmox VE คืออะไร ไปจนถึง setup cluster พร้อม HA และ backup
Proxmox VE คืออะไร
Proxmox Virtual Environment (Proxmox VE หรือ PVE) เป็น open-source virtualization platform สร้างบน Debian Linux รองรับทั้ง KVM (Kernel-based Virtual Machine) สำหรับ VM เต็มรูปแบบ และ LXC (Linux Containers) สำหรับ lightweight container
จุดเด่นหลัก:
- Web UI ใช้งานง่าย ไม่ต้องพิมพ์ command ส่วนใหญ่
- ฟรีสำหรับ non-commercial และ home lab (มี enterprise subscription เพิ่มเติม)
- รองรับ clustering ตั้งแต่ 3 node ขึ้นไป
- Built-in storage solution (ZFS, Ceph)
- HA failover อัตโนมัติ
- Backup solution ผ่าน Proxmox Backup Server
เปรียบเทียบกับ VMware ESXi
| Feature | Proxmox VE | VMware ESXi |
|---|---|---|
| ราคา | ฟรี (community) | ต้องซื้อ license |
| OS | Debian Linux | Custom VMkernel |
| Container support | KVM + LXC | VM only |
| Storage | ZFS, Ceph, NFS, iSCSI | VMFS, NFS, iSCSI |
| Backup | PBS (ฟรี) | veeam (จ่ายเพิ่ม) |
| Community | ใหญ่มาก | ใหญ่ แต่กำลังลด |
Hardware Requirements
สำหรับ single node Home Lab:
- CPU: x86-64 ที่รองรับ hardware virtualization (Intel VT-x หรือ AMD-V)
- RAM: อย่างน้อย 8GB แต่ 16GB+ จะสบายกว่า
- Storage: SSD สำหรับ OS อย่างน้อย 32GB และ storage เพิ่มสำหรับ VM
- Network: อย่างน้อย 1 NIC แต่ 2 NIC ดีกว่าสำหรับ storage network แยก
สำหรับ cluster ต้องการอย่างน้อย 3 node เพื่อให้ quorum ทำงานได้ถูกต้อง
การติดตั้ง Proxmox VE
# 1. ดาวน์โหลด ISO จาก proxmox.com
# 2. Flash ลง USB ด้วย Balena Etcher หรือ dd
dd if=proxmox-ve_8.x-1.iso of=/dev/sdX bs=1M status=progress
# 3. Boot จาก USB และทำตาม installer
# - เลือก target disk
# - ตั้ง country, timezone, keyboard
# - ตั้ง password, email
# - ตั้ง network (static IP แนะนำ)
# 4. หลังติดตั้ง เข้า Web UI ที่
# https://server-ip:8006
หลังเข้า Web UI จะมี subscription nag screen สำหรับผู้ใช้ community ลบได้ด้วย
sed -i.bak "s/data.status !== 'Active'/false/" \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
เพิ่ม no-subscription Repository
# ลบ enterprise repo (ต้องใช้ subscription)
rm /etc/apt/sources.list.d/pve-enterprise.list
# เพิ่ม no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list
apt update && apt upgrade -y
VM vs LXC — เลือกอะไร
KVM Virtual Machine
เหมาะสำหรับ:
- Windows VM
- Isolation สูง ต้องการ kernel แยก
- OS ที่ไม่ใช่ Linux
- Network function (pfSense, OPNsense)
LXC Container
เหมาะสำหรับ:
- Linux service ทั่วไป (web server, database)
- ต้องการ overhead ต่ำ ใช้ resource น้อย
- Start/stop เร็ว
- Share kernel กับ host ได้
# สร้าง LXC container ผ่าน CLI
pct create 100 /var/lib/vz/template/cache/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname ubuntu-server \
--memory 2048 \
--cores 2 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--password YourPassword \
--unprivileged 1 \
--start 1
Storage: ZFS
ZFS เป็น storage solution ที่แนะนำสูงสุดสำหรับ Proxmox เพราะ built-in data integrity, snapshot, compression และ deduplication
# ดูดิสก์ทั้งหมด
lsblk
# สร้าง ZFS pool แบบ mirror (RAID-1) จาก 2 disk
zpool create -f rpool mirror /dev/sdb /dev/sdc
# เพิ่ม pool เข้า Proxmox storage
pvesm add zfspool zfs-storage --pool rpool --sparse
# ดู ZFS status
zpool status
zfs list
เปิด compression เพื่อลด storage ใช้งาน
zfs set compression=lz4 rpool
zfs get compression rpool
การสร้าง Cluster
Cluster ต้องการ node อย่างน้อย 3 เครื่อง และ network latency ต่ำระหว่าง node (ไม่เกิน 5ms)
# บน node แรก (pvem1) สร้าง cluster
pvecm create my-homelab-cluster
# ดูสถานะ
pvecm status
# บน node ที่ 2 และ 3 join cluster
pvecm add pvem1-ip-address
# ยืนยันสถานะ cluster
pvecm nodes
หลัง join cluster Web UI จะแสดง node ทั้งหมดใน left panel สามารถย้าย VM ระหว่าง node ได้
High Availability (HA)
HA ทำให้ VM restart อัตโนมัติบน node อื่นถ้า node ใดดาวน์ ต้องการ shared storage (Ceph หรือ NFS) และ cluster อย่างน้อย 3 node
# เปิด HA สำหรับ VM (ผ่าน CLI)
ha-manager add vm:101 --state started --group ha-group
# หรือผ่าน Web UI:
# VM > More > Manage HA > Enable HA
# ดูสถานะ HA
ha-manager status
Ceph Storage สำหรับ Cluster
Ceph ทำให้มี distributed shared storage โดยไม่ต้องใช้ NAS แยก
# ติดตั้ง Ceph บนทุก node
pveceph install
# สร้าง Ceph monitor บน node แรก
pveceph mon create
# เพิ่ม monitor บน node อื่น
pveceph mon create --exclude-manager
# สร้าง OSD จาก disk
pveceph osd create /dev/sdd
# สร้าง pool
pveceph pool create vm-pool --size 3 --min_size 2
# เพิ่มเข้า Proxmox storage
pvesm add rbd ceph-pool --monhost pvem1,pvem2,pvem3 --pool vm-pool
Backup ด้วย Proxmox Backup Server
Proxmox Backup Server (PBS) เป็น dedicated backup solution ที่ใช้ incremental backup และ deduplication ทำให้ backup ใช้พื้นที่น้อยและเร็ว
# ติดตั้ง PBS บน server แยก (หรือ VM ใน Proxmox)
# ดาวน์โหลด ISO จาก proxmox.com/en/downloads
# เพิ่ม PBS เข้า Proxmox storage
# Datacenter > Storage > Add > Proxmox Backup Server
# ใส่ Server IP, Datastore, Fingerprint (ดูจาก PBS UI)
# ตั้ง backup schedule
# Datacenter > Backup > Add Schedule
# - Storage: เลือก PBS
# - Schedule: daily
# - Retention: 7 daily, 4 weekly, 3 monthly
# Backup VM ผ่าน CLI
vzdump 101 --storage pbs-storage --compress zstd --mode snapshot
# Restore VM จาก PBS
qmrestore pbs-storage:vm/101/2026-01-01T00:00:00Z 102
Live Migration
ย้าย VM จาก node หนึ่งไปอีก node โดยไม่ต้อง shutdown
# Live migration ผ่าน CLI
qm migrate 101 pvem2 --online
# Migration ผ่าน Web UI:
# คลิกขวาที่ VM > Migrate > เลือก target node > Start Migration
สำหรับ LXC container ที่รัน Docker ดูบทความ Docker Compose สำหรับ Home Lab เพื่อ setup service บน VM หรือ LXC
Web UI Overview
Web UI ของ Proxmox จัดการด้วย left panel hierarchy:
- Datacenter — cluster-wide settings, HA, backup schedule
- Node — resources ของแต่ละ node, shell, network
- VM/CT — settings ของแต่ละ VM หรือ container
Tab สำคัญใน VM:
- Summary — resource usage real-time
- Hardware — CPU, RAM, disk, network config
- Options — boot order, QEMU agent, HA
- Snapshots — สร้างและ restore snapshot
- Backup — backup history
ดูเพิ่มเติมเรื่องการ secure server ที่รัน Proxmox ได้ที่ Linux Server Hardening Checklist 2026
คำถามที่พบบ่อย (FAQ)
Proxmox ฟรีจริงไหม? มีข้อจำกัดอะไร?
Proxmox VE เป็น open source ใช้ฟรีได้ทุก feature โดยไม่มี limitation แต่ถ้าไม่มี enterprise subscription จะเข้าถึง enterprise repository (ที่ผ่าน QA มากกว่า) ไม่ได้ ใช้ no-subscription repo แทนซึ่งมีทุก update เหมือนกันแค่ผ่าน QA น้อยกว่านิดหน่อย สำหรับ Home Lab ใช้ no-subscription ได้สบายๆ
Proxmox รองรับ Windows VM ไหม?
รองรับ Windows ทุก version ตั้งแต่ XP ถึง Windows 11 และ Windows Server ต้องติดตั้ง VirtIO drivers เพิ่มเพื่อ performance ที่ดี ดาวน์โหลด ISO จาก fedorapeople.org/groups/virt/virtio-win/ แล้ว attach เป็น CD-ROM ตอนติดตั้ง
Cluster 2 node ทำได้ไหม?
ทำได้แต่มีปัญหาเรื่อง quorum ถ้า node ใด node หนึ่ง down cluster จะ lose quorum และ VM จะหยุดทำงาน ต้องใช้ QDevice (Quorum Device) เพิ่มซึ่งเป็น Raspberry Pi หรือ server เล็กๆ ที่ join เป็น quorum device โดยไม่ต้องรัน VM ถ้าทำได้ใช้ 3 node จะดีกว่ามาก
ZFS กินRAM เยอะไหม?
ZFS ใช้ RAM สำหรับ ARC (Adaptive Replacement Cache) ค่าเริ่มต้นจะใช้ได้ถึงครึ่งหนึ่งของ RAM ทั้งหมด ถ้า RAM น้อยควร limit ARC เช่น echo "options zfs zfs_arc_max=2147483648" > /etc/modprobe.d/zfs.conf (จำกัดไว้ที่ 2GB)
Proxmox อัปเดตยังไง?
อัปเดตผ่าน Web UI ที่ Node > Updates หรือผ่าน shell
apt update && apt dist-upgrade -y
ควรอัปเดตทีละ node ไม่พร้อมกันเพื่อ HA ยังทำงานได้ระหว่างอัปเดต
backup PBS เก็บไว้นานแค่ไหน?
ขึ้นอยู่กับ retention policy ที่ตั้ง PBS รองรับ GFS (Grandfather-Father-Son) retention เช่น เก็บ 7 วัน, 4 สัปดาห์, 3 เดือน ใช้ deduplication ทำให้ backup หลายๆ version ใช้พื้นที่น้อยกว่าการ copy ไฟล์ธรรมดา
