🎁 New User? Get 20% off your first purchase with code NEWUSER20 Register Now →
Menu

Categories

Proxmox VE Complete Guide: VMs, Containers & Clustering (2026)

Proxmox VE Complete Guide: VMs, Containers & Clustering (2026)

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.

Proxmox VE virtualization platform

📥 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

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
💡 VMs vs Containers: Use VMs for Windows, different kernels, or maximum isolation. Use LXC containers for Linux workloads where you need lightweight, fast deployment with minimal overhead (containers share the host kernel).

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

  1. Use ZFS or Ceph for production storage — Built-in data integrity, snapshots, replication
  2. Always set up regular backups — Schedule via Datacenter > Backup in the web UI
  3. Use templates for rapid deployment — Create golden images and clone from them
  4. Separate storage for ISOs, VMs, and backups — Different performance requirements
  5. Enable HA for critical VMs — Automatic failover to healthy nodes
  6. Use VLANs for network segmentation — Isolate management, storage, and VM traffic
  7. Monitor with built-in tools — Check CPU, memory, storage, and network from the web UI
  8. 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 →

Related Articles

Share this article:
Dargslan Editorial Team (Dargslan)
About the Author

Dargslan Editorial Team (Dargslan)

Collective of Software Developers, System Administrators, DevOps Engineers, and IT Authors

Dargslan is an independent technology publishing collective formed by experienced software developers, system administrators, and IT specialists.

The Dargslan editorial team works collaboratively to create practical, hands-on technology books focused on real-world use cases. Each publication is developed, reviewed, and...

Programming Languages Linux Administration Web Development Cybersecurity Networking

Stay Updated

Subscribe to our newsletter for the latest tutorials, tips, and exclusive offers.