Skip to content

Storage

Every VM disk, ISO, template, and backup lives on storage — Proxmox's word for "a place files can go." Understanding the two default storages and the content types they allow answers most "where did my file go?" questions before they happen.

The two defaults

A fresh install gives you:

  • local — a plain directory on the host (by default under /var/lib/vz). Holds ISOs, container templates, and backups. Not for VM disks.
  • local-lvm — an LVM thin pool carved from the install disk. Holds VM and container disks. You won't see individual files here — just volumes.

This split is deliberate: bulk files (ISOs) live as files; guest disks live as block volumes where snapshots and performance behave better.

From the docs: these defaults and their content types match the official Proxmox storage documentation.

Content types

Each storage declares which kinds of content it accepts:

Content type What it is Lives on
iso OS install images local
vztmpl Container templates local
backup vzdump backup files local
images VM/container disks local-lvm
rootdir Container filesystems local-lvm

When the Create VM wizard's storage dropdown doesn't show what you expect, it's almost always a content-type mismatch: you're looking at a storage that doesn't allow that kind of file.

Adding a network share

The classic home-lab move: keep backups (or ISOs) on the NAS instead of the Proxmox disk. From the docs — the UI path:

  1. Datacenter → Storage → Add → NFS (or CIFS/SMB for a Windows share).
  2. Enter the server, export path, and which content types it should hold (e.g. backup only).
  3. It appears in the resource tree like any other storage.

A backup that lives on a different physical box than the VMs it protects is the entire point of backups.

Disk formats, briefly

Proxmox VM disks are usually qcow2 (file-based, supports snapshots, grows as data is written) or raw on LVM (fast, simple). You rarely need to choose: the defaults are sane. One thing to know: qcow2's grow-as-needed behavior means a "100 GB disk" might only occupy 8 GB on the host — until the guest actually writes 100 GB.

Growing a disk

Disks only grow, never shrink — so start modest. When a guest fills up, grow it from the host (verified against the official qm man page):

qm resize 100 scsi0 +10G

That grows VM 100's scsi0 disk by 10 GB. Then grow the partition/filesystem inside the guest — Proxmox enlarges the virtual disk; the guest OS still needs to claim the new space (growpart + resize2fs on ext4, or Disk Management on Windows).

Honestly labeled: command form verified against the official man page; not executed here.

The one idea to keep

Storage = places + content types. ISOs, templates, and backups are files on local; guest disks are volumes on local-lvm. When something "isn't there," check the content type first. Next: the difference between rewinding and restoring, in Snapshots and Backups.