Proxmox VE Admin Guide

🇹🇭 ภาษาไทย

คู่มือครอบคลุมฟีเจอร์ทั้งหมดของ Proxmox VE Appliance Edition — จาก installation, networking, storage, QEMU/KVM VMs, LXC Containers, Cluster, HA, User Management ไปจนถึง Firewall


1. การติดตั้ง (Installation)

ความต้องการขั้นต่ำ:

  • CPU 64-bit พร้อม Intel VT-x หรือ AMD-V
  • RAM 2 GB ขึ้นไป (production ควร 8+ GB)
  • Storage: local disk (SSD แนะนำ)

วิธีติดตั้ง:

  1. ดาวน์โหลด ISO จาก proxmox.com → burn เป็น USB
  2. Boot จาก USB → เลือก “Install Proxmox VE”
  3. เลือก target disk, timezone, รหัสผ่าน root, hostname
  4. ตั้งค่า network (IP, gateway, DNS)
  5. หลัง reboot เข้า web UI ที่ https://{IP}:8006

Package Repositories:

  • Enterprise: https://enterprise.proxmox.com/debian/pve (ต้องมี subscription)
  • No-subscription (ฟรี): http://download.proxmox.com/debian/pve pve-no-subscription

2. Networking

2.1 Network Devices และ Naming

Prefixประเภท
en*Ethernet NIC (modern naming)
eth*Ethernet NIC (legacy naming)
bond*Linux Bond
vmbr*Linux Bridge (สำหรับ VM/Container)

2.2 Linux Bridge (แนะนำ)

เป็นรูปแบบ default — สร้าง virtual switch บน host ให้ VM/Container ต่อเน้ตเวิร์ก

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports eth0
    bridge-stp off
    bridge-fd 0

รวม NIC หลายตัวเพิ่ม bandwidth หรือ failover:

  • balance-rr — Round-robin
  • active-backup — Failover
  • LACP (802.3ad) — ต้องการ managed switch ที่รองรับ

2.4 VLAN

กำหนด VLAN บน bridge/bond โดยใส่ vlan-aware บน bridge หรือสร้าง subinterface:

auto vmbr0.100
iface vmbr0.100 inet manual
    vlan-raw-device vmbr0

2.5 SDN (Software-Defined Networking)

ระบบ SDN ขั้นสูงผ่าน Web UI: Datacenter → SDN

Componentคำอธิบาย
Zoneกำหนดประเภท network (Simple, VLAN, VXLAN, EVPN, QinQ)
VNetVirtual network ภายใน Zone
Subnetกำหนด IP range + gateway ของ VNet
ControllerBGP/EVPN controller (ต้องการสำหรับ EVPN zone)
IPAMIP Address Management อัตโนมัติ
DHCPDHCP server สำหรับ VNet

3. Storage

3.1 ประเภท Storage

BackendชนิดSharedSnapshotsเหมาะกับ
Directory (dir)Fileไม่qcow2 เท่านั้นLocal testing
LVM (lvm)Blockไม่*ไม่Production VM images
LVM-thin (lvmthin)Blockไม่ใช่Production + snapshot
ZFS local (zfspool)Bothไม่ใช่Production (advanced)
NFS (nfs)Fileใช่qcow2 เท่านั้นShared VM storage
CIFS/SMB (cifs)Fileใช่qcow2 เท่านั้นWindows storage server
Ceph/RBD (rbd)Blockใช่ใช่HCI cluster
CephFS (cephfs)Fileใช่ใช่Shared file storage
iSCSIBlockใช่ไม่SAN storage
BTRFSFileไม่ใช่Technology preview
Proxmox BackupBothใช่n/aBackup target

*LVM รองรับ shared ถ้าอยู่บน iSCSI/FC

3.2 Content Types

images: VM disk images (QEMU)
rootdir: Container root directories
backup: vzdump backup files
iso: ISO images
vztmpl: Container templates
snippets: Hook scripts

3.3 Storage Configuration

ไฟล์ config: /etc/pve/storage.cfg (ซิงค์ทุก node อัตโนมัติ)

ตัวอย่าง default config หลัง install:

dir: local
    path /var/lib/vz
    content iso,vztmpl,backup

lvmthin: local-lvm
    thinpool data
    vgname pve
    content rootdir,images

# ZFS installation
zfspool: local-zfs
    pool rpool/data
    sparse
    content images,rootdir

3.4 CLI: pvesm

pvesm add nfs mynas --server 192.168.1.10 --export /data --content images,backup
pvesm set local --content iso,backup
pvesm remove mynas
pvesm status
pvesm list local-lvm

4. QEMU/KVM Virtual Machines

4.1 Emulated vs Paravirtualized Devices

DeviceEmulatedParavirtualized (virtio)
DiskIDE, SATAvirtio-scsi (แนะนำ)
NetworkE1000, RTL8139virtio (+3× throughput)
MemoryStandardBalloon device
GPUVGA, Cirrus

ใช้ virtio เสมอสำหรับ disk และ network ใน Linux/Windows VM เพื่อประสิทธิภาพสูงสุด

4.2 Firmware และ Chipset

ตัวเลือกรายละเอียด
SeaBIOSBIOS แบบ legacy (เหมาะกับ Windows รุ่นเก่า)
OVMF (UEFI)ต้องการ Secure Boot หรือ Windows 11
i440fxChipset default, stable
Q35รองรับ PCIe passthrough ได้ดีกว่า

4.3 Machine Version

Machine version ถูก pin ไว้เมื่อสร้าง VM เพื่อไม่ให้ hardware emulation เปลี่ยนโดยไม่ตั้งใจ:

  • pc-i440fx-9.2+pve1 — stable สำหรับ i440fx
  • อัปเกรดได้ใน VM hardware settings แต่ควรทดสอบก่อน

4.4 VM Features สำคัญ

Featureคำอธิบาย
Cloud-Initตั้งค่า VM อัตโนมัติ: hostname, IP, SSH key ตอน first boot
Snapshotsรองรับบน ZFS, LVM-thin, Ceph (ต้องการ storage ที่ support)
ClonesFull clone หรือ Linked clone จาก template
Templatesสร้างจาก VM แล้ว convert เป็น read-only template
Live Migrationย้าย VM ข้าม node โดยไม่ downtime (ต้องใช้ shared storage)
PCI Passthroughส่ง GPU/NIC ตัวจริงให้ VM ใช้โดยตรง
Hookscriptsรัน script ตาม lifecycle events

4.5 Cloud-Init Support

สร้าง VM template พร้อม Cloud-Init:

  1. ดาวน์โหลด cloud image (เช่น Ubuntu cloud)
  2. Import disk: qm importdisk 9000 ubuntu.img local-lvm
  3. เพิ่ม Cloud-Init Drive: qm set 9000 --ide2 local-lvm:cloudinit
  4. ตั้ง boot disk: qm set 9000 --boot c --bootdisk virtio0
  5. ตั้งค่า: qm set 9000 --ipconfig0 ip=dhcp --sshkeys ~/.ssh/id_rsa.pub

4.6 CLI: qm

qm list                        # รายการ VMs
qm start 100                   # เปิด VM 100
qm stop 100                    # ปิด VM 100
qm shutdown 100                # Graceful shutdown
qm snapshot 100 snap1 --vmstate  # สร้าง snapshot
qm clone 100 200 --full        # Clone VM 100 → 200
qm migrate 100 node2 --online  # Live migrate

5. LXC Containers

5.1 ข้อดี/ข้อจำกัด

ข้อดี:

  • เร็วกว่า VM (ไม่ต้อง boot full OS)
  • ใช้ RAM น้อยกว่า
  • แชร์ kernel กับ host

ข้อจำกัด:

  • Linux เท่านั้น (ต้องการ kernel ที่ compatible)
  • Security isolation ต่ำกว่า KVM
  • Docker ใน LXC ไม่แนะนำ (ใช้ KVM VM แทน)

5.2 Supported Distributions

รองรับ distros หลักๆ: Debian, Ubuntu, CentOS/AlmaLinux/Rocky, Fedora, Alpine, Arch, Gentoo

ดาวน์โหลด template ผ่าน:

pveam update                        # อัปเดต template list
pveam available --section system    # ดู template ที่มี
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

5.3 Security

  • AppArmor: เปิดโดย default — จำกัด syscalls อันตราย
  • seccomp: กรอง system calls เพิ่มเติม
  • Unprivileged containers (แนะนำ): UID/GID mapping — root ใน container ≠ root บน host
  • Privileged containers: สะดวกกว่าแต่ความปลอดภัยต่ำกว่า

5.4 CLI: pct

pct list                       # รายการ containers
pct start 200                  # เปิด container 200
pct enter 200                  # เข้า shell ของ container
pct stop 200                   # ปิด container
pct snapshot 200 snap1         # สร้าง snapshot
pct restore 200 /path/backup.tar  # กู้คืนจาก backup

6. Cluster Manager

6.1 ความต้องการ

  • ขั้นต่ำ 3 nodes สำหรับ quorum ที่ถูกต้อง (ป้องกัน split-brain)
  • Network latency ต่ำระหว่าง nodes สำหรับ corosync

6.2 สร้าง Cluster

# Node หลัก (node 1)
pvecm create mycluster
 
# Node ที่เหลือ (nodes 2, 3, ...)
pvecm add {IP-ของ-node1}
 
# ตรวจสอบ
pvecm status
pvecm nodes

6.3 Live Migration

ประเภทต้องการหมายเหตุ
Online (ไม่ downtime)Shared storageCPU ต้องใกล้เคียงกัน
Offlineไม่ต้องการ shared storageมี downtime
Online + local storageไม่ต้องการ sharedใช้ storage migration (ช้ากว่า)

7. High Availability (HA)

7.1 ความต้องการ

  • 3+ nodes พร้อม quorum
  • Shared storage (Ceph หรือ SAN) สำหรับ VM disks ที่ต้องการ HA
  • ha-manager service ทำงานอยู่บนทุก node

7.2 Failover Process

  1. Node ล้มเหลว → nodes อื่นตรวจพบผ่าน corosync heartbeat
  2. Dead Time: ~60 วินาที ก่อน node ถือว่า dead
  3. ha-manager เริ่ม migrate VM/Container ไป node อื่น
  4. รวมเวลา failover: ~2 นาที
  5. Availability สูงสุด: 99.999% (5-nines)

7.3 HA Resources

เพิ่ม VM/Container เข้า HA ผ่าน Web UI: Datacenter → HA → Add

หรือ CLI:

ha-manager add vm:100 --state started --max_restart 3 --max_relocate 1
ha-manager status

8. User Management และ Security

8.1 Authentication Realms

Realmคำอธิบาย
pamLinux PAM (system users บน node นั้น)
pvePVE local users (เก็บใน cluster config)
ldapLDAP server
adActive Directory
openidOpenID Connect (SSO)

8.2 Users และ Groups

pveum user add user@pve --password secret
pveum group add admins --comment "Administrators"
pveum user modify user@pve --groups admins

8.3 Roles และ Permissions

Role = ชุด privileges สำเร็จรูป:

Roleสิทธิ์
Administratorทุกอย่าง
PVEAdminบริหาร nodes, VMs, storage
PVEVMAdminจัดการ VM เท่านั้น
PVEAuditorดูอย่างเดียว
PVEDatastoreAdminบริหาร storage เท่านั้น

กำหนด Permission:

pveum acl modify /vms/100 --users user@pve --roles PVEVMAdmin
pveum acl modify /storage/local --groups admins --roles PVEDatastoreAdmin

8.4 API Tokens

สร้าง token สำหรับ automation (ไม่ต้องใช้ password):

pveum user token add user@pve mytoken --privsep 0
# ผลลัพธ์: PVEAPIToken=user@pve!mytoken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

รูปแบบ token: PVEAPIToken=USER@REALM!TOKENID=UUID

8.5 Two-Factor Authentication (2FA)

เปิดใช้งาน 2FA ผ่าน Datacenter → Two Factor:

  • TOTP: ใช้ app เช่น Google Authenticator
  • WebAuthn: hardware security key (YubiKey)
  • Recovery keys: ใช้กู้คืนถ้าหาย 2FA

9. Firewall

9.1 Zones

Zoneขอบเขต
Datacenterนโยบายรวมทั้ง cluster
Nodeกฎเฉพาะ node (host.fw)
VM/Containerกฎเฉพาะ VM หรือ container

9.2 Default Rules (เมื่อเปิด Firewall)

กฎคำอธิบาย
ACCEPT corosync (5405-5412 UDP)Cluster heartbeat
ACCEPT web GUI (8006 TCP)Management UI
ACCEPT SSH (22 TCP)Remote management
DROP allทุกอย่างที่เหลือ

9.3 Security Groups

กำหนด reusable rule groups:

# สร้าง security group
pvesh create /cluster/firewall/groups --group webservers
# เพิ่ม rule
pvesh create /cluster/firewall/groups/webservers/rules \
    --action ACCEPT --type in --dport 80 --proto tcp

10. Backup และ Restore

10.1 vzdump

เครื่องมือ backup หลัก:

vzdump 100                              # Backup VM 100 (interactive)
vzdump 100 --storage local --compress zstd --mode snapshot
vzdump --all --storage backup-nas       # Backup ทุก VM/CT

โหมด:

  • snapshot — ไม่ต้องหยุด VM (แนะนำ, ต้องการ storage ที่รองรับ snapshot)
  • suspend — หยุดชั่วคราวระหว่าง backup
  • stop — หยุด VM ระหว่าง backup (สะอาดที่สุด)

10.2 Proxmox Backup Server (PBS)

ระบบ backup เฉพาะทาง รองรับ:

  • Deduplication: ลด storage ใช้งานได้มาก
  • Incremental backups: ส่งเฉพาะ block ที่เปลี่ยน
  • Tape backup: รองรับ tape drives
  • Encryption: AES-256

ความเชื่อมโยง

  • Proxmox VE — index page หลัก
  • Proxmox VE Upgrade 8 to 9 — อัปเกรดจาก PVE 8 → PVE 9
  • n8n — สามารถ integrate กับ Proxmox API ผ่าน HTTP Request node

🇬🇧 English

Comprehensive reference for all Proxmox VE features — Installation, Networking, Storage, QEMU/KVM VMs, LXC Containers, Cluster, HA, User Management, Firewall, and Backup.


1. Installation

Minimum Requirements:

  • 64-bit CPU with Intel VT-x or AMD-V (virtualization enabled in BIOS)
  • 2 GB RAM minimum (8+ GB recommended for production)
  • Local storage (SSD recommended)

Install Steps:

  1. Download ISO from proxmox.com → burn to USB
  2. Boot from USB → select “Install Proxmox VE”
  3. Choose target disk, timezone, root password, hostname
  4. Configure network (IP, gateway, DNS)
  5. After reboot, access web UI at https://{IP}:8006

Package Repositories:

  • Enterprise (subscription): https://enterprise.proxmox.com/debian/pve
  • No-subscription (free): http://download.proxmox.com/debian/pve pve-no-subscription

2. Networking

2.1 Network Device Naming

PrefixType
en*Ethernet NIC (modern naming)
eth*Ethernet NIC (legacy)
bond*Linux Bond
vmbr*Linux Bridge (VM/Container bridge)

Creates a virtual switch on the host for VM/Container network access:

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports eth0
    bridge-stp off
    bridge-fd 0

Combine multiple NICs for increased bandwidth or failover:

  • balance-rr — Round-robin
  • active-backup — Failover
  • LACP (802.3ad) — Requires managed switch support

2.4 VLANs

Set vlan-aware on bridge, or create subinterface:

auto vmbr0.100
iface vmbr0.100 inet manual
    vlan-raw-device vmbr0

2.5 SDN (Software-Defined Networking)

Advanced network automation via Datacenter → SDN:

ComponentDescription
ZoneNetwork type (Simple, VLAN, VXLAN, EVPN, QinQ)
VNetVirtual network within a zone
SubnetIP range + gateway for a VNet
ControllerBGP/EVPN controller (required for EVPN zones)
IPAMAutomatic IP address management
DHCPDHCP server for VNets

3. Storage

3.1 Storage Backend Types

BackendLevelSharedSnapshotsBest for
Directory (dir)FileNoqcow2 onlyLocal testing
LVM (lvm)BlockNo*NoProduction VM images
LVM-thin (lvmthin)BlockNoYesProduction + snapshots
ZFS local (zfspool)BothNoYesAdvanced production
NFS (nfs)FileYesqcow2 onlyShared VM storage
CIFS/SMB (cifs)FileYesqcow2 onlyWindows storage server
Ceph/RBD (rbd)BlockYesYesHCI cluster
CephFS (cephfs)FileYesYesShared file storage
iSCSIBlockYesNoSAN storage
Proxmox Backup (pbs)BothYesn/aBackup target

*LVM can be shared when placed on iSCSI/FC

3.2 Content Types

images: QEMU/KVM VM disk images
rootdir: LXC container root filesystems
backup: vzdump backup archives
iso: ISO installation images
vztmpl: LXC container templates
snippets: Hook scripts and config snippets

3.3 Storage Configuration

Config file: /etc/pve/storage.cfg (auto-synced to all cluster nodes)

Default post-install config:

dir: local
    path /var/lib/vz
    content iso,vztmpl,backup

lvmthin: local-lvm
    thinpool data
    vgname pve
    content rootdir,images

3.4 CLI: pvesm

pvesm add nfs mynas --server 192.168.1.10 --export /data --content images,backup
pvesm set local --content iso,backup
pvesm remove mynas
pvesm status
pvesm list local-lvm
pvesm alloc local-lvm 100 '' 32G  # Allocate 32G volume for VM 100

4. QEMU/KVM Virtual Machines

4.1 Emulated vs Paravirtualized Devices

DeviceEmulatedParavirtualized (virtio)
DiskIDE, SATAvirtio-scsi (recommended) — ~2× faster
NetworkE1000, RTL8139virtio — ~3× throughput
MemoryStandardBalloon device (dynamic sizing)

Always use virtio drivers for disk and network in Linux and Windows VMs for best performance.

4.2 Firmware and Chipset

OptionDetails
SeaBIOSLegacy BIOS (compatible with older Windows)
OVMF (UEFI)Required for Secure Boot or Windows 11
i440fxDefault chipset, stable and widely compatible
Q35Better PCIe passthrough support

4.3 Machine Version Pinning

Machine version is pinned at VM creation to prevent unexpected hardware changes:

  • pc-i440fx-9.2+pve1 — stable for i440fx
  • Upgrade possible via VM hardware settings, but test first

4.4 Key VM Features

FeatureDescription
Cloud-InitAuto-configure hostname, IP, SSH keys at first boot
SnapshotsSupported on ZFS, LVM-thin, Ceph
Full CloneIndependent copy of VM
Linked CloneShares base disk with template (saves space)
TemplatesConvert VM to read-only base for cloning
Live MigrationMove running VM without downtime (requires shared storage)
PCI PassthroughAssign physical GPU/NIC directly to VM
HookscriptsRun scripts on VM lifecycle events
VM Generation IDWindows detects VM cloning/restore

4.5 Cloud-Init Workflow

# 1. Import cloud image
qm importdisk 9000 ubuntu-22.04-server-cloudimg-amd64.img local-lvm
 
# 2. Configure VM
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0
qm set 9000 --ide2 local-lvm:cloudinit
qm set 9000 --boot c --bootdisk scsi0
qm set 9000 --serial0 socket --vga serial0
 
# 3. Set Cloud-Init values
qm set 9000 --ipconfig0 ip=dhcp
qm set 9000 --sshkeys ~/.ssh/id_rsa.pub
qm set 9000 --ciuser ubuntu
 
# 4. Convert to template
qm template 9000

4.6 CLI: qm

qm list                              # List all VMs
qm start 100                         # Start VM 100
qm stop 100                          # Force stop VM 100
qm shutdown 100                      # Graceful shutdown
qm snapshot 100 snap1 --vmstate      # Create snapshot with memory
qm rollback 100 snap1                # Rollback to snapshot
qm clone 100 200 --full --name vm200 # Full clone
qm migrate 100 node2 --online        # Live migrate to node2
qm config 100                        # Show VM config

5. LXC Containers

5.1 Advantages and Limitations

Advantages:

  • Faster than VMs — no full OS boot required
  • Lower RAM overhead
  • Near-native performance

Limitations:

  • Linux guests only (must be kernel-compatible with host)
  • Lower security isolation than KVM
  • Running Docker inside LXC is not recommended — use a KVM VM instead

5.2 Container Templates

pveam update                                    # Refresh template list
pveam available --section system                # Show available templates
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

5.3 Security Modes

  • AppArmor (default enabled): Restricts dangerous syscalls
  • seccomp: Additional syscall filtering
  • Unprivileged containers (recommended): UID/GID remapping — root in container ≠ root on host
  • Privileged containers: Easier setup but reduced isolation

5.4 CLI: pct

pct list                           # List containers
pct start 200                      # Start container 200
pct enter 200                      # Enter container shell
pct exec 200 -- /bin/bash          # Execute command in container
pct stop 200                       # Stop container
pct snapshot 200 snap1             # Create snapshot
pct clone 200 201 --full           # Full clone
pct restore 200 /path/backup.tar.gz --storage local-lvm

6. Cluster Manager

6.1 Requirements

  • Minimum 3 nodes for proper quorum (prevents split-brain)
  • Low-latency network between nodes for corosync

6.2 Creating a Cluster

# On the primary node (node 1):
pvecm create mycluster
 
# On each additional node (2, 3, ...):
pvecm add {IP-of-node1}
 
# Verify:
pvecm status
pvecm nodes

6.3 Migration Types

TypeRequirementNotes
Online (zero downtime)Shared storageCPU models must be compatible
OfflineNoneHas downtime
Online + local storageNoneUses storage migration (slower)

7. High Availability (HA)

7.1 Requirements

  • 3+ nodes with quorum
  • Shared storage (Ceph or SAN) for HA VM disks
  • ha-manager service running on all nodes

7.2 Failover Behavior

  1. Node failure detected via corosync heartbeat
  2. Dead Time: ~60 seconds before node is declared dead
  3. ha-manager migrates VMs/containers to surviving nodes
  4. Total failover time: ~2 minutes
  5. Maximum achievable uptime: 99.999% (five nines)

7.3 Adding HA Resources

Via Web UI: Datacenter → HA → Add

Via CLI:

ha-manager add vm:100 --state started --max_restart 3 --max_relocate 1
ha-manager add ct:200 --state started
ha-manager status

8. User Management and Security

8.1 Authentication Realms

RealmDescription
pamLinux PAM (system users on that node)
pvePVE local users (stored in cluster config)
ldapLDAP server
adActive Directory
openidOpenID Connect (SSO)

8.2 Users and Groups

pveum user add user@pve --password secret --email [email protected]
pveum group add admins --comment "Administrators"
pveum user modify user@pve --groups admins
pveum user list

8.3 Roles and Permissions

Built-in roles:

RolePrivileges
AdministratorEverything
PVEAdminManage nodes, VMs, storage
PVEVMAdminVM management only
PVEAuditorRead-only access
PVEDatastoreAdminStorage management only
PVEVMUserUse VMs (start/stop, console)

Assign permissions at specific paths:

pveum acl modify /vms/100 --users user@pve --roles PVEVMAdmin
pveum acl modify /storage/local --groups admins --roles PVEDatastoreAdmin
pveum acl modify / --users user@pve --roles PVEAuditor   # Datacenter-wide

8.4 API Tokens

Create tokens for automation scripts (no password needed):

pveum user token add user@pve mytoken --privsep 0
# Output: PVEAPIToken=user@pve!mytoken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Use in API calls: Authorization: PVEAPIToken=user@pve!mytoken=UUID

8.5 Two-Factor Authentication (2FA)

Enable via Datacenter → Two Factor:

  • TOTP: App-based (Google Authenticator, Authy)
  • WebAuthn: Hardware security keys (YubiKey)
  • Recovery keys: Backup codes if 2FA device is lost

8.6 Resource Pools

Group VMs, containers, and storage for organized access:

pveum pool add devpool --comment "Development resources"
pveum pool modify devpool --vms 100,101 --storage local
pveum acl modify /pool/devpool --users dev@pve --roles PVEVMAdmin

9. Firewall

9.1 Zones (Three Levels)

ZoneScope
DatacenterCluster-wide policy (lowest priority)
NodePer-node host firewall rules
VM/ContainerPer-guest firewall rules (highest priority)

9.2 Default Permitted Ports (when firewall enabled)

RuleDescription
corosync UDP 5405-5412Cluster heartbeat
TCP 8006Web management GUI
TCP 22SSH
DROP all othersDefault deny

9.3 Security Groups

Reusable rule sets applicable to multiple VMs:

pvesh create /cluster/firewall/groups --group webservers
pvesh create /cluster/firewall/groups/webservers/rules \
    --action ACCEPT --type in --dport 80 --proto tcp
pvesh create /cluster/firewall/groups/webservers/rules \
    --action ACCEPT --type in --dport 443 --proto tcp

9.4 IP Sets and Aliases

# IP Alias
pvesh create /cluster/firewall/aliases --name myserver --cidr 192.168.1.50
# IP Set
pvesh create /cluster/firewall/ipset --name trusted_hosts
pvesh create /cluster/firewall/ipset/trusted_hosts --cidr 192.168.1.0/24

10. Backup and Restore

10.1 vzdump

Main backup tool for VMs and containers:

vzdump 100 --storage local --compress zstd --mode snapshot
vzdump --all --storage backup-nas --compress zstd --mode snapshot
vzdump --node node2 --all                  # Backup all on node2

Backup Modes:

ModeVM StatusNotes
snapshotRunning (no interruption)Requires snapshot-capable storage
suspendBriefly suspendedShorter inconsistency window
stopStopped during backupCleanest consistency

10.2 Restore

# Restore VM
qmrestore /path/vzdump-qemu-100-2026_04_23-12_00_00.vma.zst 100 --storage local-lvm
 
# Restore container
pct restore 200 /path/vzdump-lxc-200-2026_04_23-12_00_00.tar.zst --storage local-lvm

10.3 Proxmox Backup Server (PBS)

Dedicated backup solution with advanced features:

  • Deduplication: Dramatically reduces storage usage
  • Incremental backups: Only changed blocks are transferred
  • Encryption: AES-256 client-side encryption
  • Tape backup: Tape drive support for long-term archival

  • Proxmox VE — Main index page with overview and sub-page navigation
  • Proxmox VE Upgrade 8 to 9 — In-place upgrade guide from PVE 8 to PVE 9
  • n8n — Workflow automation tool that can integrate with Proxmox VE REST API