Proxmox VE (Virtual Environment) is an open-source server virtualization platform that combines KVM virtual machines and LXC containers in a single, powerful web-based management interface. It's the top choice for home labs, SMBs, and organizations seeking enterprise features without VMware licensing costs.
๐ฅ Free Proxmox VE Cheat Sheet
Complete qm, pct, and pvesm CLI command reference for Proxmox administration.
Download Free PDF โTable of Contents
- Proxmox VE Overview
- Installation
- VM Management (QEMU/KVM)
- Container Management (LXC)
- Storage Configuration
- Networking
- Backup & Snapshots
- Clustering & HA
- Best Practices
Proxmox VE Overview
Proxmox VE is built on Debian Linux and provides:
- KVM virtual machines โ Full virtualization for any OS (Windows, Linux, BSD, etc.)
- LXC containers โ Lightweight OS-level virtualization for Linux workloads
- Web UI โ Full-featured management at
https://host:8006 - REST API โ Complete API for automation
- Built-in firewall โ Per-node and per-VM/container firewall rules
- Clustering โ Multi-node clusters with live migration and HA
- Software-defined storage โ Ceph, ZFS, and traditional storage backends
Installation
Proxmox VE installs from its own ISO image, replacing the existing OS:
# Download ISO from proxmox.com/downloads
# Boot from ISO, follow installer
# After install, access web UI:
https://<proxmox-ip>:8006
# Update package repositories
apt update && apt dist-upgrade -y
# Check version
pveversion -v
VM Management (QEMU/KVM)
# List VMs
qm list
# Create VM
qm create 100 --name web1 --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0
# Attach ISO
qm set 100 --cdrom local:iso/ubuntu-22.04.iso
# Add disk
qm set 100 --scsi0 local-lvm:40
# Power operations
qm start 100
qm shutdown 100 # Graceful
qm stop 100 # Force
qm reboot 100
qm reset 100 # Hard reset
# VM configuration
qm config 100
qm set 100 --memory 8192
qm set 100 --cores 4
qm set 100 --boot order=scsi0
# Clone and template
qm clone 100 101 --name web2 --full
qm template 100 # Convert to template (irreversible)
# Migration
qm migrate 100 node2 # Migrate to another node
Container Management (LXC)
# Update template list
pveam update
pveam available | grep ubuntu
# Download template
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst
# Create container
pct create 200 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--rootfs local-lvm:8 --hostname web-ct --memory 2048 --cores 2 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp --password
# Container operations
pct list
pct start 200
pct shutdown 200
pct stop 200
pct enter 200 # Enter container shell
pct config 200
pct set 200 --memory 4096
pct clone 200 201
pct destroy 200
Storage Configuration
# Storage status
pvesm status
pvesm list local
# Add storage backends
pvesm add dir backup --path /mnt/backup --content backup
pvesm add nfs nas --server 192.168.1.100 --export /share --content images,iso
pvesm add lvm local-lvm --vgname pve --content images,rootdir
# Import disk image
qm importdisk 100 /tmp/disk.qcow2 local-lvm
# Remove storage
pvesm remove backup
Networking
# Network config is in /etc/network/interfaces
# Default bridge: vmbr0
# View network
pvesh get /nodes/$(hostname)/network
# Set VM network
qm set 100 --net0 virtio,bridge=vmbr0,tag=100 # With VLAN tag
# Set container network
pct set 200 --net0 name=eth0,bridge=vmbr0,ip=192.168.1.50/24,gw=192.168.1.1
# Firewall
pve-firewall status
pve-firewall start
pve-firewall stop
Backup & Snapshots
# Backup VM
vzdump 100 --storage local --mode snapshot --compress zstd
vzdump 100 --mode stop # Stop-mode (consistent but downtime)
# Restore VM
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100
# Snapshots
qm snapshot 100 pre-update
qm listsnapshot 100
qm rollback 100 pre-update
qm delsnapshot 100 pre-update
# Container snapshots
pct snapshot 200 pre-update
pct rollback 200 pre-update
Clustering & HA
# Create cluster
pvecm create mycluster
# Add node to cluster
pvecm add 192.168.1.11 # Run on joining node
# Cluster status
pvecm status
pvecm nodes
# Enable HA for a VM
ha-manager add vm:100
ha-manager set vm:100 --state started
ha-manager status
Best Practices
- Use ZFS or Ceph for production storage โ Built-in data integrity, snapshots, replication
- Always set up regular backups โ Schedule via Datacenter > Backup in the web UI
- Use templates for rapid deployment โ Create golden images and clone from them
- Separate storage for ISOs, VMs, and backups โ Different performance requirements
- Enable HA for critical VMs โ Automatic failover to healthy nodes
- Use VLANs for network segmentation โ Isolate management, storage, and VM traffic
- Monitor with built-in tools โ Check CPU, memory, storage, and network from the web UI
- Keep Proxmox updated โ Regular
apt update && apt dist-upgrade
๐ฅ Download the Proxmox VE Cheat Sheet
Complete qm, pct, and pvesm CLI commands in a printable PDF.
Download Free PDF โ