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 แนะนำ)
วิธีติดตั้ง:
- ดาวน์โหลด ISO จาก proxmox.com → burn เป็น USB
- Boot จาก USB → เลือก “Install Proxmox VE”
- เลือก target disk, timezone, รหัสผ่าน root, hostname
- ตั้งค่า network (IP, gateway, DNS)
- หลัง 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
2.3 Bond (Link Aggregation / Failover)
รวม NIC หลายตัวเพิ่ม bandwidth หรือ failover:
balance-rr— Round-robinactive-backup— FailoverLACP (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) |
| VNet | Virtual network ภายใน Zone |
| Subnet | กำหนด IP range + gateway ของ VNet |
| Controller | BGP/EVPN controller (ต้องการสำหรับ EVPN zone) |
| IPAM | IP Address Management อัตโนมัติ |
| DHCP | DHCP server สำหรับ VNet |
3. Storage
3.1 ประเภท Storage
| Backend | ชนิด | Shared | Snapshots | เหมาะกับ |
|---|---|---|---|---|
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 |
| iSCSI | Block | ใช่ | ไม่ | SAN storage |
| BTRFS | File | ไม่ | ใช่ | Technology preview |
| Proxmox Backup | Both | ใช่ | n/a | Backup 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 scripts3.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-lvm4. QEMU/KVM Virtual Machines
4.1 Emulated vs Paravirtualized Devices
| Device | Emulated | Paravirtualized (virtio) |
|---|---|---|
| Disk | IDE, SATA | virtio-scsi (แนะนำ) |
| Network | E1000, RTL8139 | virtio (+3× throughput) |
| Memory | Standard | Balloon device |
| GPU | VGA, Cirrus | — |
ใช้ virtio เสมอสำหรับ disk และ network ใน Linux/Windows VM เพื่อประสิทธิภาพสูงสุด
4.2 Firmware และ Chipset
| ตัวเลือก | รายละเอียด |
|---|---|
| SeaBIOS | BIOS แบบ legacy (เหมาะกับ Windows รุ่นเก่า) |
| OVMF (UEFI) | ต้องการ Secure Boot หรือ Windows 11 |
| i440fx | Chipset 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) |
| Clones | Full 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:
- ดาวน์โหลด cloud image (เช่น Ubuntu cloud)
- Import disk:
qm importdisk 9000 ubuntu.img local-lvm - เพิ่ม Cloud-Init Drive:
qm set 9000 --ide2 local-lvm:cloudinit - ตั้ง boot disk:
qm set 9000 --boot c --bootdisk virtio0 - ตั้งค่า:
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 migrate5. 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.zst5.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 # กู้คืนจาก backup6. 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 nodes6.3 Live Migration
| ประเภท | ต้องการ | หมายเหตุ |
|---|---|---|
| Online (ไม่ downtime) | Shared storage | CPU ต้องใกล้เคียงกัน |
| 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
- Node ล้มเหลว → nodes อื่นตรวจพบผ่าน corosync heartbeat
- Dead Time: ~60 วินาที ก่อน node ถือว่า dead
- ha-manager เริ่ม migrate VM/Container ไป node อื่น
- รวมเวลา failover: ~2 นาที
- 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 status8. User Management และ Security
8.1 Authentication Realms
| Realm | คำอธิบาย |
|---|---|
pam | Linux PAM (system users บน node นั้น) |
pve | PVE local users (เก็บใน cluster config) |
ldap | LDAP server |
ad | Active Directory |
openid | OpenID 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 admins8.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 PVEDatastoreAdmin8.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 tcp10. 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— หยุดชั่วคราวระหว่าง backupstop— หยุด 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:
- Download ISO from proxmox.com → burn to USB
- Boot from USB → select “Install Proxmox VE”
- Choose target disk, timezone, root password, hostname
- Configure network (IP, gateway, DNS)
- 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
| Prefix | Type |
|---|---|
en* | Ethernet NIC (modern naming) |
eth* | Ethernet NIC (legacy) |
bond* | Linux Bond |
vmbr* | Linux Bridge (VM/Container bridge) |
2.2 Linux Bridge (Recommended Default)
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
2.3 Bond (Link Aggregation / Failover)
Combine multiple NICs for increased bandwidth or failover:
balance-rr— Round-robinactive-backup— FailoverLACP (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:
| Component | Description |
|---|---|
| Zone | Network type (Simple, VLAN, VXLAN, EVPN, QinQ) |
| VNet | Virtual network within a zone |
| Subnet | IP range + gateway for a VNet |
| Controller | BGP/EVPN controller (required for EVPN zones) |
| IPAM | Automatic IP address management |
| DHCP | DHCP server for VNets |
3. Storage
3.1 Storage Backend Types
| Backend | Level | Shared | Snapshots | Best for |
|---|---|---|---|---|
Directory (dir) | File | No | qcow2 only | Local testing |
LVM (lvm) | Block | No* | No | Production VM images |
LVM-thin (lvmthin) | Block | No | Yes | Production + snapshots |
ZFS local (zfspool) | Both | No | Yes | Advanced production |
NFS (nfs) | File | Yes | qcow2 only | Shared VM storage |
CIFS/SMB (cifs) | File | Yes | qcow2 only | Windows storage server |
Ceph/RBD (rbd) | Block | Yes | Yes | HCI cluster |
CephFS (cephfs) | File | Yes | Yes | Shared file storage |
| iSCSI | Block | Yes | No | SAN storage |
Proxmox Backup (pbs) | Both | Yes | n/a | Backup 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 snippets3.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 1004. QEMU/KVM Virtual Machines
4.1 Emulated vs Paravirtualized Devices
| Device | Emulated | Paravirtualized (virtio) |
|---|---|---|
| Disk | IDE, SATA | virtio-scsi (recommended) — ~2× faster |
| Network | E1000, RTL8139 | virtio — ~3× throughput |
| Memory | Standard | Balloon device (dynamic sizing) |
Always use virtio drivers for disk and network in Linux and Windows VMs for best performance.
4.2 Firmware and Chipset
| Option | Details |
|---|---|
| SeaBIOS | Legacy BIOS (compatible with older Windows) |
| OVMF (UEFI) | Required for Secure Boot or Windows 11 |
| i440fx | Default chipset, stable and widely compatible |
| Q35 | Better 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
| Feature | Description |
|---|---|
| Cloud-Init | Auto-configure hostname, IP, SSH keys at first boot |
| Snapshots | Supported on ZFS, LVM-thin, Ceph |
| Full Clone | Independent copy of VM |
| Linked Clone | Shares base disk with template (saves space) |
| Templates | Convert VM to read-only base for cloning |
| Live Migration | Move running VM without downtime (requires shared storage) |
| PCI Passthrough | Assign physical GPU/NIC directly to VM |
| Hookscripts | Run scripts on VM lifecycle events |
| VM Generation ID | Windows 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 90004.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 config5. 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.zst5.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-lvm6. 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 nodes6.3 Migration Types
| Type | Requirement | Notes |
|---|---|---|
| Online (zero downtime) | Shared storage | CPU models must be compatible |
| Offline | None | Has downtime |
| Online + local storage | None | Uses 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
- Node failure detected via corosync heartbeat
- Dead Time: ~60 seconds before node is declared dead
- ha-manager migrates VMs/containers to surviving nodes
- Total failover time: ~2 minutes
- 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 status8. User Management and Security
8.1 Authentication Realms
| Realm | Description |
|---|---|
pam | Linux PAM (system users on that node) |
pve | PVE local users (stored in cluster config) |
ldap | LDAP server |
ad | Active Directory |
openid | OpenID 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 list8.3 Roles and Permissions
Built-in roles:
| Role | Privileges |
|---|---|
| Administrator | Everything |
| PVEAdmin | Manage nodes, VMs, storage |
| PVEVMAdmin | VM management only |
| PVEAuditor | Read-only access |
| PVEDatastoreAdmin | Storage management only |
| PVEVMUser | Use 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-wide8.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-xxxxxxxxxxxxUse 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 PVEVMAdmin9. Firewall
9.1 Zones (Three Levels)
| Zone | Scope |
|---|---|
| Datacenter | Cluster-wide policy (lowest priority) |
| Node | Per-node host firewall rules |
| VM/Container | Per-guest firewall rules (highest priority) |
9.2 Default Permitted Ports (when firewall enabled)
| Rule | Description |
|---|---|
| corosync UDP 5405-5412 | Cluster heartbeat |
| TCP 8006 | Web management GUI |
| TCP 22 | SSH |
| DROP all others | Default 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 tcp9.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/2410. 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 node2Backup Modes:
| Mode | VM Status | Notes |
|---|---|---|
snapshot | Running (no interruption) | Requires snapshot-capable storage |
suspend | Briefly suspended | Shorter inconsistency window |
stop | Stopped during backup | Cleanest 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-lvm10.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
Related Pages
- 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