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 →