Proxmox Backup Server (PBS) คือซอฟต์แวร์ backup โอเพนซอร์สจากทีม Proxmox ที่ออกแบบมาสำหรับ Proxmox VE โดยเฉพาะ รองรับ Incremental Backup, Deduplication และ Encryption ช่วยประหยัดพื้นที่และเวลา backup ได้อย่างมาก
PBS คืออะไร แตกต่างจาก Proxmox VE Backup อย่างไร
Proxmox VE มีฟีเจอร์ backup ในตัวแล้ว แต่ PBS นำเสนอความสามารถที่เหนือกว่าในหลายด้าน:
| ฟีเจอร์ | PVE Backup | Proxmox PBS |
|---|---|---|
| Incremental Backup | ❌ | ✅ ผ่าน Changed Block Tracking |
| Deduplication | ❌ | ✅ ลดขนาดได้ 60-80% |
| Encryption (AES-256) | ❌ | ✅ Client-side encryption |
| Verify Backup | ❌ | ✅ ตรวจ integrity อัตโนมัติ |
| Web UI | ผ่าน PVE | ✅ Web UI แยกต่างหาก |
| Retention Policy | จำกัด | ✅ Flexible (daily/weekly/monthly) |
สถาปัตยกรรมของ PBS
PBS แยกออกเป็น 2 ส่วน:
- PBS Server — ติดตั้งบนเครื่องแยก (dedicated server หรือ VM) เก็บ backup data ไว้
- PVE Client — Proxmox VE node ที่ต้องการ backup ส่ง backup ไปยัง PBS Server
💡 แนะนำ: ติดตั้ง PBS บนเครื่องหรือ datacenter ต่างกับ PVE เพื่อป้องกัน Single Point of Failure
ความต้องการระบบ
- CPU: 2 cores ขึ้นไป (สนับสนุน AES-NI สำหรับ encryption)
- RAM: 2GB ขึ้นไป (แนะนำ 4GB+)
- Storage: Disk สำหรับเก็บ backup (ZFS หรือ ext4)
- OS: Debian 12 (Bookworm) — PBS รองรับ Debian เท่านั้น
- Network: เชื่อมต่อถึง PVE node ได้
ติดตั้ง Proxmox Backup Server บน Debian 12
ขั้นที่ 1: เพิ่ม PBS Repository
# เพิ่ม PBS no-subscription repo
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" \
> /etc/apt/sources.list.d/pbs-no-subscription.list
# เพิ่ม Proxmox GPG key
wget -qO- https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
| gpg --dearmor > /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update
ขั้นที่ 2: ติดตั้ง PBS
apt install -y proxmox-backup-server
หลังติดตั้ง PBS จะ start service อัตโนมัติ เข้า Web UI ได้ที่ https://<PBS-IP>:8007
ขั้นที่ 3: ตั้งค่า Datastore
Datastore คือพื้นที่เก็บ backup บน PBS เข้า Web UI → Administration → Storage/Disks → Directory → ระบุ path เช่น /backup
# สร้าง directory สำหรับ backup storage
mkdir -p /backup
# (แนะนำ mount disk แยกที่ /backup)
# หรือใช้ CLI
proxmox-backup-manager datastore create main /backup
เชื่อม PBS กับ Proxmox VE
ขั้นที่ 1: เพิ่ม Storage บน PVE
บน Proxmox VE Web UI → Datacenter → Storage → Add → Proxmox Backup Server
- ID: ชื่อ storage เช่น
pbs-main - Server: IP หรือ hostname ของ PBS
- Username:
root@pamหรือ user ที่สร้างบน PBS - Password: รหัสผ่านของ user นั้น
- Datastore: ชื่อ datastore บน PBS เช่น
main
ขั้นที่ 2: Verify Fingerprint
# ดู fingerprint ของ PBS server
proxmox-backup-manager cert info | grep "Fingerprint"
นำค่า fingerprint ใส่ใน PVE Storage configuration เพื่อยืนยัน identity ของ PBS
ตั้งค่า Backup Job บน PVE
Datacenter → Backup → Add → เลือก Storage เป็น PBS, เลือก VM/CT ที่ต้องการ backup, กำหนดเวลาและ Retention
ตัวอย่าง Retention Policy
| ประเภท | ตัวอย่าง | ความหมาย |
|---|---|---|
| keep-last | 3 | เก็บ backup ล่าสุด 3 ชุด |
| keep-daily | 7 | เก็บ backup รายวัน 7 วัน |
| keep-weekly | 4 | เก็บ backup รายสัปดาห์ 4 สัปดาห์ |
| keep-monthly | 3 | เก็บ backup รายเดือน 3 เดือน |
เปิดใช้ Encryption บน PBS
PBS รองรับ Client-side Encryption ด้วย AES-256-GCM ทำให้ข้อมูลถูก encrypt ก่อนส่งออกจาก PVE
# สร้าง encryption key บน PVE
proxmox-backup-client key create /etc/pve/priv/backup-encryption.key
# ใช้ key นี้ใน backup job โดยระบุ Encryption ใน Storage config
⚠️ สำคัญมาก: เก็บ encryption key ไว้ในที่ปลอดภัยแยกจาก PBS Server ถ้าสูญหายจะ restore ไม่ได้เลย
Restore จาก PBS
Restore ผ่าน Web UI
PVE Web UI → Storage → PBS → เลือก backup → Restore → กำหนด VM ID ปลายทาง
Restore ผ่าน CLI
# Restore VM ID 100 จาก PBS backup ล่าสุด
qmrestore pbs-main:backup/vm/100/2026-09-11T00:00:00Z 200 --start
# Restore CT ID 101
pct restore 201 pbs-main:backup/ct/101/2026-09-11T00:00:00Z
ตรวจสอบ Backup Integrity
# Verify backup ทั้ง datastore
proxmox-backup-manager verify-job create verify-all \
--datastore main --schedule "06:30"
# หรือ verify ด้วยมือ
proxmox-backup-client verify pbs-main:backup/vm/100/2026-09-11T00:00:00Z
Garbage Collection และ Pruning
# ลบ backup เก่าตาม retention policy
proxmox-backup-manager prune-job create prune-daily \
--datastore main \
--keep-last 3 --keep-daily 7 --keep-weekly 4 --keep-monthly 3 \
--schedule "02:00"
# คืนพื้นที่จาก chunk ที่ไม่ใช้แล้ว
proxmox-backup-manager garbage-collection start main
Troubleshooting ปัญหาที่พบบ่อย
Backup ช้าหรือ timeout
- ตรวจสอบ bandwidth ระหว่าง PVE และ PBS (แนะนำ 100Mbps+)
- เพิ่ม
--chunk-sizeสำหรับ large VM - เปิด
--compressถ้า CPU ไม่เป็นคอขวด
Authentication Error
# ตรวจ PBS service
systemctl status proxmox-backup.service
# ตรวจ port 8007
ss -tlnp | grep 8007
# ดู log
journalctl -u proxmox-backup.service -n 50
Datastore full
- รัน garbage collection ก่อน
- ลด retention policy หรือเพิ่ม disk
- ตรวจดู deduplication ratio ที่ Web UI → Datastore → Summary
สรุป
Proxmox Backup Server เป็นโซลูชัน backup ที่ทรงพลังและประหยัดพื้นที่สำหรับ Proxmox VE โดยเฉพาะ ด้วย Incremental Backup + Deduplication + Encryption ทำให้ปลอดภัยและมีประสิทธิภาพสูงกว่า backup แบบเดิมอย่างมาก แนะนำให้ติดตั้งบนเครื่องแยกและทดสอบ restore สม่ำเสมอ