Skip to content

Proxmox VE storage, backup, disk and snapshot inventory

Use this part to see how full each storage is, what is sitting on it (ISO images, templates, disk images) and which backups exist per guest, with their size, protection, encryption and verification state. The second half is the disk space of the guests: every configured disk, the space used inside each VM and the snapshots nobody cleaned up. These six sections are the Storage group of the sidebar in the HTML report.

How to read the tables
  • Excel / HTML is the column header, the same in both formats. JSON is the key in the JSON file.
  • Sizes (GB or MB in the header) are in that unit in Excel and HTML, and raw bytes in JSON.
  • Percentages (% in the header) are formatted as percentages in Excel and HTML; JSON has the raw value, a fraction from 0 to 1 for usage columns.
  • Flags show X in Excel, ✓ or · in HTML, true or false in JSON.
  • Multi-line cells hold one value per line; in JSON they are a string with line breaks (\n, or \r\n when the report was generated on Windows).
  • Links to other pages exist in Excel and HTML; JSON has the plain value. Empty values are null or "" in JSON.
  • Dates and times are in UTC.
  • How the JSON files are shaped: see JSON.

Storages, Storage Content and Backups work on the same storage list: storages from /cluster/resources, where a shared storage appears once (its Node column shows (shared)) and a local storage appears once per node. The list is sorted by node, then by storage name. It is not filtered by Node.Names.

Excel sheet Storages · HTML storages.html · JSON storages.json · always generated.

The table has no title, so storages.json is a plain array of rows. The Node column links to the node detail page; the Storage column links to this Storages page.

Excel / HTML JSON Content
Node node Node name, or (shared) for a shared storage.
Storage storage Storage ID.
Status status Storage status from /cluster/resources.
Health healthScore Health score 0-100: 100 − disk usage %.
Plugin Type pluginType Storage type (dir, lvmthin, zfspool, nfs, pbs…).
Content content Allowed content types, sorted, one per line.
Shared shared Flag: shared storage.
Disk Size GB diskSize Total size.
Disk Usage GB diskUsageBytes Used space.
Disk Usage % diskUsage Used / total.

Excel sheet Storage Content · HTML storage-content.html · JSON storage-content.json · enabled by Storage.IncludeContent (see Settings).

Everything stored on each storage except backups: ISO images, container templates, disk images and the other content types PVE lists. For every storage in the list that is not in unknown state, the report calls /nodes/{node}/storage/{storage}/content once (for a shared storage, through the node it was first listed on), up to MaxParallelRequests at a time. That single call also feeds the Backups section.

The table has no title, so storage-content.json is a plain array of rows. Node links to the node detail page, Storage to the Storages page, Vm Id to the guest detail page.

Excel / HTML JSON Content
Node node Node name, or (shared).
Storage storage Storage ID.
Content content Content type (iso, vztmpl, images, rootdir…).
File Name fileName Volume name (the part of the volume ID after storage:).
Format format Format (iso, raw, qcow2, subvol, tgz…).
Size GB size Volume size.
Storage Usage % storageUsage Volume size / storage total size; empty when the storage size is 0.
Vm Id vmId Owning guest ID, as text; empty when the volume has no owner. Links to the guest.
Guest Name guestName Name of the owning guest, when it exists in the cluster.
Creation Date creationDate Creation time. Volumes the API gives no creation time for (most disk images) show 1970-01-01.
Notes notes Notes, wrapped.
Parent parent Parent volume (linked clones, base images).

Excel sheet Backups · HTML backups.html · JSON backups.json · enabled by Storage.IncludeBackups (see Settings).

Backups is not an entry of its own in the report’s section list. It is written by the Storage Content step, from the same /content call, keeping only the volumes whose content type is backup. It gets its own sheet, page and file, placed right after Storage Content (in HTML it sits under the Storage group of the sidebar). Its row count is added to the Storage Content line of the cover page, and when Storage.IncludeContent is off but Storage.IncludeBackups is on, the Storage Content step still runs and only Backups is written.

The table has no title, so backups.json is a plain array of rows. Node links to the node detail page, Storage to the Storages page, Vm Id to the guest detail page.

Excel / HTML JSON Content
Node node Node name, or (shared).
Storage storage Storage ID.
File Name fileName Backup volume name (the part of the volume ID after storage:).
Format format Backup format (pbs-vm, pbs-ct, vma.zst, tar.zst…).
Size GB size Backup size.
Storage Usage % storageUsage Backup size / storage total size; empty when the storage size is 0.
Vm Id vmId Backed-up guest ID, as text. Links to the guest.
Guest Name guestName Name of the guest, when it still exists in the cluster; empty otherwise.
Creation Date creationDate Backup time.
Notes notes Backup notes, wrapped.
Protected protected Flag: backup is protected from pruning and removal.
Encrypted encrypted Flag: backup is encrypted.
Verified verified Flag: last verification state is ok (Proxmox Backup Server).
Parent parent Parent volume.

Excel sheet Disks · HTML disks.html · JSON disks.json · enabled by Guest.IncludeDisks.

All disk entries of every VM and container whose config could be read, one row per entry. VMs include CD-ROM and cloud-init drives. Rows are sorted by node, VM ID and entry id, with numbers compared as numbers (scsi2 before scsi10). The storage columns are looked up in cluster resources by node and storage name. The section is left out when there are no rows.

Excel / HTML JSON Content
Node node Node (link)
Vm Id vmId Guest ID (link)
Vm Name vmName Guest name
Vm Type vmType qemu or lxc
Vm Status vmStatus Guest status
Kind kind Disk (data disks, rootfs, mp*, efidisk*, tpmstate*, unusedN), Cdrom (media=cdrom) or CloudInit (cloud-init drive)
Id id Config key (scsi0, virtio1, rootfs, mp0, unused0, …)
Storage storage Storage name (links to the Storages section)
Storage Type storageType Storage plugin type (zfspool, lvmthin, rbd, …)
Storage Shared storageShared Flag: the storage is shared
File Name fileName Volume or file name
Size GB size Size parsed from size= (bytes in JSON)
Storage Usage % storageUsage Disk size divided by the storage’s total size. Empty when the storage size is unknown
Cache cache Cache mode
Backup backup Flag: included in backups. VM disks unless backup=0; container rootfs always, mp* only with backup=1; CD-ROM and cloud-init drives never
Is Unused isUnused Flag: detached (unusedN) but still on storage
Device device Device
Mount Point mountPoint Container mount point path
Mount Source Path mountSourcePath Container bind-mount source path
Passthrough passthrough Flag: passthrough device
Prealloc prealloc Preallocation mode
Format format raw, qcow2, vmdk, …

Excel sheet Partitions · HTML partitions.html · JSON partitions.json · enabled by Guest.IncludePartitions together with Guest.IncludeQemuAgent.

Filesystems reported by the QEMU guest agent (get-fsinfo), one row per filesystem. Only VMs whose agent was running during the VMs pass are included; containers never appear here. The section is left out when there are no rows.

Excel / HTML JSON Content
Node node Node (link)
Vm Id vmId VM ID (link)
Vm Name vmName VM name
Vm Type vmType Guest type (always Qemu)
Vm Status vmStatus VM status
Mount Point mountPoint Mount point inside the guest (/, C:\, …)
Type type Filesystem type
Total GB total Total size (bytes in JSON)
Used GB usedBytes Used space (bytes in JSON: the size takes the Bytes suffix because the percentage has the plain key, see Values)
Used % used Used divided by total. Empty when total is 0
Error error Error reported by the agent for this filesystem
Name name Device name inside the guest
Disks disks One line per backing disk: dev (bus-type:bus:target:unit) [domain:bus:slot.function], PCI address in hex

Excel sheet Snapshots · HTML snapshots.html · JSON snapshots.json · enabled by Guest.IncludeSnapshots.

Snapshots of every selected VM and container whose status is not unknown, read from /nodes/{node}/qemu|lxc/{vmid}/snapshot. Rows are sorted by guest, then by snapshot time. If a guest’s snapshot list cannot be read, a warning goes to the Issues page and the guest is skipped. The current entry that Proxmox VE returns for the running state is not a snapshot and is left out.

Excel / HTML JSON Content
Node node Node (link)
Vm Id vmId Guest ID (link)
Vm Name vmName Guest name
Vm Type vmType Qemu or Lxc
Snapshot snapshot Snapshot name
Parent parent Parent snapshot
Date date Snapshot time (snaptime)
Include Ram includeRam Flag: the snapshot includes RAM state (vmstate)
Size GB size Snapshot size (bytes in JSON). Filled only when the host application provides a size calculator: the command-line tool does not, so the column stays empty
Description description Snapshot description