Chapter 4

Proxmox VE Fundamentals

Nodes, VMs, LXC, web UI, storage pools.

Learning objectives

  • Navigate the Proxmox VE web interface and core concepts
  • Create a VM from ISO and from a template
  • Understand nodes, storage pools, and resource allocation

Proxmox VE in one paragraph

Proxmox Virtual Environment (VE) is an open-source Type 1 hypervisor built on Debian, KVM, and LXC. You manage it through a web UI at https://your-host:8006. Workshop Co. chose Proxmox because it is free to start, supports ZFS, and includes backups without a separate VMware license.

Core vocabulary

TermMeaning
NodeOne physical Proxmox host (e.g. pve-workshop-01)
ClusterMultiple nodes sharing config (optional for Workshop Co. initially)
VM IDNumeric identifier (100–999999); e.g. VM 110 = web
StorageWhere disks, ISOs, and backups live (local-lvm, zfs-pool)
BridgeVirtual switch connecting VMs to physical NIC (vmbr0)

Worked example — create Workshop Co. web VM

Marcus installs Proxmox on a Dell T640, then creates the website VM:

  1. Datacenter → Node → Create VM
  2. VM ID: 110, Name: workshop-web
  3. OS: Debian 12 ISO from storage
  4. System: Default BIOS or UEFI; enable QEMU guest agent after install
  5. Disks: 32 GB on local-lvm, SSD-backed
  6. CPU: 2 cores, type host for best performance
  7. Memory: 4096 MB
  8. Network: Bridge vmbr0, model VirtIO
# After Debian install — install guest agent inside VM
apt update && apt install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent
VirtIO

Always use VirtIO network and disk drivers in Proxmox VMs when the guest OS supports them. Workshop Co.'s web VM will handle Saturday booking spikes better with paravirtualized I/O.

Templates and cloning

After configuring one VM with cloud-init, SSH keys, and base packages, Marcus converts it to a template. Cloning workshop-web to workshop-web-staging takes minutes:

  1. Shut down VM 110 → Convert to template
  2. Full clone → new VM ID 111, name workshop-web-staging
  3. Change IP and hostname inside guest

CLI equivalents

The UI wraps the same API. Useful for scripts:

# List VMs on node
qm list

# Start VM 110
qm start 110

# Snapshot before PostgreSQL client upgrade
qm snapshot 120 pre-pg-upgrade --description "Before pg client 16"

Try it yourself

Plan VM IDs for Workshop Co.:

  • 110 — production web
  • 111 — staging web
  • 120 — production database
  • 130 — Nextcloud files

Assign vCPU, RAM, and disk for each. Total must fit a 64 GB / 8-core host with 16 GB reserved for Proxmox.

Sample allocation
VMvCPURAMDisk
110 web24 GB32 GB
111 staging web12 GB32 GB
120 db412 GB100 GB
130 nextcloud24 GB500 GB
Host reserve16 GB

Total: 9 vCPU (oversubscription OK for light loads), 22 GB guest RAM + 16 GB host = 38 GB of 64 GB used.

Check your understanding

  1. What does the QEMU guest agent enable from the Proxmox UI?
  2. Why clone from a template instead of installing Debian four times?
Answers
  1. Clean shutdown, IP address reporting, and filesystem freeze for consistent backups.
  2. Consistency and speed — same base packages, hardening, and SSH keys every time.