Interactive ยท Simulated ยท Zero install required

Understand Proxmox
like water.

A hands-on course that takes you from "what even is a hypervisor" to fluently reading a Proxmox cluster's architecture, storage, networking, and CLI โ€” with simulations you can actually click, drag, and break.

13Topics covered
6Live simulations
35+CLI commands
10Quiz questions
Scroll
01 ยท Orientation

What Proxmox actually is

Not a black box. Not an appliance. It's Debian Linux, wearing a very good web interface.

Proxmox VE (Virtual Environment) is free, open-source virtualization software you install directly on a physical server (this is called "bare metal" โ€” no host OS underneath it). Once installed, it lets you carve that one machine into many independent virtual machines and containers, each with their own OS, resources, and network identity โ€” and manage all of it, plus other Proxmox servers, from one web dashboard.

The trick to understanding Proxmox quickly is this: it is not a proprietary format you have to learn from scratch. Underneath, a Proxmox node is a Debian Linux server. VMs run on QEMU/KVM โ€” the same virtualization stack used by big cloud providers. Containers run on LXC. Networking is plain Linux bridges. Storage is ZFS, LVM, or Ceph โ€” all mainstream, well-documented Linux technology. Proxmox's actual product is the glue: a clustering layer, a web UI/API, a scheduler, and sane defaults, stitched over tools that already exist. That's why, when something breaks, you can always drop to a shell and debug it like any Linux box.

๐Ÿ–ฅ๏ธType-1-ish hypervisor

Installs directly on hardware (no host OS to maintain separately), like ESXi โ€” but it's a full Linux distribution you can SSH into, apt update, and inspect.

๐ŸงฑTwo guest types

Full VMs (QEMU/KVM) for any OS and strong isolation, and lightweight LXC containers for Linux workloads that don't need a separate kernel.

๐Ÿ†“Free & open source

The entire platform is AGPLv3. A paid Enterprise subscription buys you a more conservative update repo and official support โ€” nothing is feature-gated.

๐Ÿ”—Clusters natively

Group multiple physical nodes into one cluster, managed from a single pane of glass, with live migration and optional automatic failover (HA) between them.

๐Ÿ—„๏ธStorage-agnostic

Plugs into local disks, ZFS pools, LVM, NFS/CIFS shares, iSCSI, or a distributed Ceph cluster โ€” pick what fits your hardware and scale.

๐Ÿ”ŒAPI-first

Every button in the UI calls the same REST API you can script against โ€” with Perl, Python, Terraform, Ansible, or plain curl.

common.mental_model

If you remember one sentence: Proxmox = Debian + (QEMU/KVM for VMs, LXC for containers) + Corosync/pmxcfs for clustering + a web UI/API layered on top of all of it. Everything else in this course is detail on that one sentence.

02 ยท Core Concepts

Architecture, layer by layer

Click any block in the diagram to see what it does and how it connects to the rest of the stack.

architecture-diagram.svg
Click a block above to learn what it does. Start with the Web UI / API โ€” that's your entry point into everything else.
03 ยท Core Concepts

Virtual machines vs. containers

The single most important decision you'll make per-workload. Here's how to make it correctly.

๐Ÿ–ฅ๏ธ Virtual Machine (QEMU/KVM)

Full hardware emulation, its own kernel
  • โœ… Run any OS โ€” Windows, BSD, a different Linux kernel version
  • โœ… Strongest isolation โ€” separate kernel means a VM crash/exploit can't touch the host kernel
  • โœ… Live migration between nodes, snapshots of full state including RAM
  • โš ๏ธ Higher overhead โ€” boots its own kernel, emulates virtual hardware
  • โš ๏ธ Slower to provision and slightly heavier on resources
VS

๐Ÿ“ฆ Container (LXC)

Shares the host kernel, isolated userspace
  • โœ… Starts in ~1 second โ€” no kernel boot, no hardware emulation
  • โœ… Much lower memory/CPU overhead โ€” near-native performance
  • โœ… Feels like a lightweight VPS; can be unprivileged for extra isolation
  • โš ๏ธ Must run Linux, and share the host's kernel version
  • โš ๏ธ Weaker isolation boundary than a VM (kernel is shared attack surface)
Use caseRecommendedWhy
Windows server / desktopVMContainers can't run a non-Linux kernel at all.
Lightweight Linux service (nginx, Postgres, app server)ContainerFast boot, tiny footprint, easy to template and scale out.
Untrusted / multi-tenant workloadVMKernel-level isolation matters more than the perf cost.
pfSense / OPNsense firewall applianceVMThese are BSD-based and need PCI passthrough for NICs โ€” needs a VM.
Home-lab "just run 20 small services"ContainerResource efficiency lets modest hardware run far more workloads.
Needs GPU/PCI passthroughUsually VMCleaner passthrough model; some GPU-in-LXC setups exist but are fiddlier.
04 ยท Core Concepts

Installing Proxmox VE

The real installer is a guided ISO wizard. Here's the walkthrough in plain language, in order.

1Prepare the target machine

64-bit CPU with virtualization extensions enabled in BIOS/UEFI (Intel VT-x/VT-d or AMD-V/AMD-Vi โ€” enable VT-d/AMD-Vi too if you'll ever want PCI passthrough). At least one disk to install onto, and ideally a second for VM storage.

2Write the ISO & boot it

Download the official Proxmox VE ISO, write it to a USB stick, boot the target machine from it, and choose "Install Proxmox VE."

3Pick a target disk & filesystem

Choose ext4 for simplicity, or ZFS (mirror/RAIDZ) if you want built-in snapshots, checksumming, and software RAID on the boot disk itself.

4Set locale, password, network

Give the root account a password, set the node's hostname/FQDN and a static IP โ€” Proxmox really wants a stable IP, since the cluster filesystem and web UI depend on it.

5Reboot into the web UI

After install, the console shows a URL like https://192.168.1.50:8006. Open it in a browser (self-signed cert warning is expected on first run) and log in as root.

6Sort out the update repo

Fresh installs point at the Enterprise repo, which needs a subscription key. For free use, switch to the "no-subscription" repository in Node โ†’ Updates โ†’ Repositories (or edit the .list files directly), then apt update && apt upgrade.

7Add storage

Datacenter โ†’ Storage โ†’ Add whatever backend you're using (Directory, LVM-thin, ZFS, NFS...) so VM disks and ISOs/backups have somewhere to live.

8Upload an ISO & create your first VM

Upload an installer ISO to a storage's ISO content type, then Create VM in the top-right โ€” walk the wizard (General โ†’ OS โ†’ System โ†’ Disks โ†’ CPU โ†’ Memory โ†’ Network โ†’ Confirm).

note

Proxmox releases move fast and access tiers/URLs change โ€” always check the current official Proxmox VE documentation for the exact download link and version-specific installer steps before you actually install.

05 ยท Core Concepts

The web UI, live

This is a simulated Proxmox dashboard โ€” real interaction, fake data. Click nodes in the tree, start/stop guests, and watch the resource graphs move.

https://pve1.lab:8006 โ€” simulated
CPU usage
0%
Memory
0 MB
Network I/O
0 KB/s
06 ยท Deep Dive

Storage backends

Proxmox doesn't force one storage technology โ€” it abstracts over many. Choosing right depends on your hardware and how many nodes need to see the same data.

BackendShared across nodes?SnapshotsThin provisioningBest for
DirectoryNoNo*Depends on file formatISOs, backups, templates, simple single-node setups
LVM (thick)On shared LUN onlyNoNoSimple, predictable block storage
LVM-thinNoYesYesFast local storage with snapshots on a single node
ZFS (local)No (unless replicated)YesYesData integrity, snapshots, compression on local disks
NFS / CIFSYesBackend-dependentUsuallySimple shared storage from a NAS
iSCSIYesNo (raw LUN)NoBlock-level shared storage from a SAN
Ceph (RBD/CephFS)YesYesYesDistributed, self-healing, scale-out shared storage for larger clusters

*Directory storage snapshots are possible only if the underlying filesystem (e.g. ZFS mounted as a directory) supports it.

๐ŸงŠZFS in one breath

A filesystem + volume manager combo. Checksums every block (catches silent corruption), pools disks into mirrors or RAIDZ1/2/3, and snapshots are cheap copy-on-write โ€” no separate LVM layer needed.

๐Ÿ•ธ๏ธCeph in one breath

Spreads data as replicated (or erasure-coded) objects across many disks on many nodes. Survives whole-node failure by design. Needs at least 3 nodes and reasonable networking (10GbE+ recommended) to perform well.

๐Ÿ’งThin provisioning, honestly

You can allocate more virtual disk space than you physically have, as long as it's not all written yet. Powerful, but monitor real usage โ€” running out of backing space mid-write can crash guests.

07 ยท Deep Dive

Networking, built from Linux primitives

Drag pieces onto the canvas to build a network: NIC โ†’ Bridge โ†’ VM. Add a bond for redundancy, or a VLAN to segment traffic.

network-builder

Drag onto canvas

๐Ÿ”Œ Physical NIC
๐Ÿ”€ Bridge (vmbr)
๐Ÿ”— Bond
๐Ÿท๏ธ VLAN tag
๐Ÿ–ฅ๏ธ VM / CT

Drag a piece onto the canvas to place it. Toggle "Connect mode," then click two pieces in a row to link them. Click a piece to remove it.

๐Ÿ”€Bridge (vmbr)

A software Ethernet switch living on the host. Physical NICs and VM/CT virtual NICs plug into it exactly like ports on a real switch โ€” this is how a VM gets onto your LAN.

๐Ÿ”—Bonding

Two or more NICs combined into one logical link. active-backup gives failover only; LACP (802.3ad) needs switch support but gives failover + combined throughput.

๐Ÿท๏ธVLANs

Tag traffic with an 802.1Q VLAN ID so one physical link can carry several isolated logical networks โ€” e.g. a "management" VLAN and a "guest" VLAN on the same cable.

๐Ÿ•ธ๏ธSDN

Proxmox's newer layer for defining zones/VNets/subnets once at the Datacenter level and having it consistently applied across every node in the cluster โ€” instead of hand-editing /etc/network/interfaces everywhere.

08 ยท Deep Dive

Clustering & High Availability

Click a node to take it offline and watch quorum โ€” and HA's response โ€” update live.

5-node cluster
Quorum status
QUORATE
5 of 5 votes online (need 3)

๐Ÿ’“Corosync

Nodes constantly exchange heartbeats over Corosync (ideally on a dedicated, low-latency link). This is the raw signal quorum and cluster membership are computed from.

๐Ÿ—ณ๏ธQuorum

Each node normally gets one vote. The cluster needs strictly more than half of total votes online to remain "quorate" and allow config changes โ€” this is what prevents split-brain.

๐Ÿš‘HA manager

For guests flagged HA-managed, if their node disappears and the cluster is still quorate, the HA stack fences the dead node and restarts the guest elsewhere automatically.

09 ยท Deep Dive

Backup & restore

Snapshots are not backups. Here's the actual safety net, and the three ways vzdump can take it.

๐Ÿ“ธSnapshot mode

Guest keeps running. Uses the storage layer's own snapshot capability (or QEMU's) to get a consistent point-in-time copy. Minimal downtime โ€” the default, most-used mode.

โธ๏ธSuspend mode

Briefly pauses the guest to guarantee a fully consistent copy, then resumes it. A middle ground when snapshot mode isn't available for a given storage.

โน๏ธStop mode

Fully shuts the guest down for the duration of the backup. Safest for absolute consistency (e.g. databases without app-level consistency guarantees), but causes real downtime.

why a separate Backup Server exists

Proxmox Backup Server (PBS) is a dedicated product your PVE nodes push backups to. It adds client-side deduplication (only changed chunks are transferred/stored after the first backup), compression, optional encryption before data ever leaves the source, and configurable retention (keep last N, N daily, N weekly...). Storing backups on PBS โ€” physically separate from the cluster โ€” is what actually protects you if a whole node or its local storage dies.

Restore a VM

qmrestore <archive> <new-vmid> --storage local-zfs

Restore a container

pct restore <new-ctid> <archive> --storage local-zfs

10 ยท Deep Dive

Users, permissions & the API

Three moving parts: where an identity comes from, what it's allowed to do, and where that permission applies.

๐ŸŒRealm

The authentication source: Linux PAM, Proxmox VE's own built-in auth server, or an external LDAP / Active Directory / OpenID Connect provider.

๐ŸŽญRole

A named bundle of privileges โ€” built-in ones like PVEAdmin, PVEVMAdmin, PVEAuditor, or a custom role you assemble from individual privilege bits.

๐Ÿ“Path (ACL)

Where in the resource tree a role applies โ€” the whole Datacenter, one node, a resource pool, or a single VM. A user/group + role + path = one ACL entry.

worked example

You want a junior admin to manage only VMs in the "webteam" pool, without touching storage or other teams' VMs:

  1. Create the user in an appropriate realm (or add them via LDAP sync).
  2. Create โ€” or use the built-in โ€” PVEVMAdmin role (start/stop/console/snapshot, no storage/network admin).
  3. Add an ACL: User = that admin, Path = /pool/webteam, Role = PVEVMAdmin.
  4. They can now fully manage VMs in that pool and nothing else in the cluster.

๐Ÿ”‘API Tokens

For scripts, Terraform, or CI: create a token under a user (User โ†’ API Tokens). It gets its own secret and, if you uncheck "Privilege Separation," inherits the user's ACLs โ€” or you can scope it independently with its own ACL entries, and revoke it without touching the user's password.

11 ยท Deep Dive

GPU & PCI passthrough

Handing real hardware directly to a VM โ€” near-native performance, but a few prerequisites have to line up.

1Enable IOMMU in firmware & kernel

Turn on Intel VT-d / AMD-Vi in BIOS/UEFI, then add intel_iommu=on (or amd_iommu=on) plus iommu=pt to the kernel command line and reboot.

2Check IOMMU groups

The target device needs to sit in its own (or a cleanly separable) IOMMU group โ€” otherwise everything sharing that group must be passed through together.

3Bind the device to vfio-pci

Blacklist the host driver for that device (e.g. nvidia/nouveau/amdgpu) and load vfio-pci against its PCI ID so the host itself stops using it.

4Add it as a PCI device on the VM

In the VM's Hardware tab: Add โ†’ PCI Device โ†’ select the physical device โ†’ enable "All Functions" and, for GPUs, "PCI-Express" and ROM-BAR as needed.

common pitfalls

Consumer GPUs sometimes throw "Code 43" in Windows guests unless you hide the hypervisor signature (args: -cpu host,hv_vendor_id=null,kvm=off style tweaks). Motherboard IOMMU grouping varies wildly โ€” some boards need a kernel patch or ACS override to split groups cleanly. Always keep a way to reach the host's console/SSH before rebooting into a passthrough config, in case the GPU output disappears with it.

12 ยท Practice

Terminal playground

A simulated Proxmox shell. Try the real command syntax โ€” qm, pct, pvesm, pvecm โ€” and get realistic canned output. Type help to start.

root@pve1:~#
help
pveversion -v
qm list
pct list
pvecm status
pvesm status
qm start 101
13 ยท Practice

CLI cheat sheet

Every command from the playground above, organized and copyable.

14 ยท Practice

Proxmox vs. the alternatives

Where it fits relative to the other names you'll hear.

PlatformLicenseBaseBest fit
Proxmox VEFree / open-source (AGPLv3)Debian + KVM + LXCHome labs to mid-size clusters, full control, no license fees
VMware ESXi / vSphereProprietary, licensedCustom VMkernelLarge enterprises already invested in the VMware ecosystem
XCP-ngFree / open-sourceXenXen fans wanting a free ESXi-like alternative with Citrix Hypervisor roots
Hyper-VBundled with Windows ServerWindows kernel hypervisorShops already standardized on Windows Server infrastructure
Plain libvirt/KVMFree / open-sourceAny Linux + KVMMaximum flexibility for people who want to assemble the stack themselves

๐ŸŽฏWhy people pick Proxmox specifically

No per-core or per-socket licensing, a genuinely usable web UI without needing a separate management server (vCenter-equivalent is built in), first-class support for both VMs and containers in one tool, and โ€” because it's just Debian โ€” nothing is a black box when you need to debug it at 2am.

15 ยท Reference

Glossary

Every term used across this course, in one searchable place.

16 ยท Test yourself

Quiz: do you actually get it?

Ten scenario-based questions. No fluff โ€” each one tests something that actually trips people up.

Question 1 of 10 ยท Score: 0