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
| Term | Meaning |
|---|---|
| Node | One physical Proxmox host (e.g. pve-workshop-01) |
| Cluster | Multiple nodes sharing config (optional for Workshop Co. initially) |
| VM ID | Numeric identifier (100–999999); e.g. VM 110 = web |
| Storage | Where disks, ISOs, and backups live (local-lvm, zfs-pool) |
| Bridge | Virtual 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:
- Datacenter → Node → Create VM
- VM ID:
110, Name:workshop-web - OS: Debian 12 ISO from storage
- System: Default BIOS or UEFI; enable QEMU guest agent after install
- Disks: 32 GB on
local-lvm, SSD-backed - CPU: 2 cores, type
hostfor best performance - Memory: 4096 MB
- 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
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:
- Shut down VM 110 → Convert to template
- Full clone → new VM ID 111, name
workshop-web-staging - 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
| VM | vCPU | RAM | Disk |
|---|---|---|---|
| 110 web | 2 | 4 GB | 32 GB |
| 111 staging web | 1 | 2 GB | 32 GB |
| 120 db | 4 | 12 GB | 100 GB |
| 130 nextcloud | 2 | 4 GB | 500 GB |
| Host reserve | — | 16 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
- What does the QEMU guest agent enable from the Proxmox UI?
- Why clone from a template instead of installing Debian four times?
Answers
- Clean shutdown, IP address reporting, and filesystem freeze for consistent backups.
- Consistency and speed — same base packages, hardening, and SSH keys every time.