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 (
GBorMBin 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
Xin Excel,✓or·in HTML,trueorfalsein JSON. - Multi-line cells hold one value per line; in JSON they are a string with line breaks (
\n, or\r\nwhen the report was generated on Windows). - Links to other pages exist in Excel and HTML; JSON has the plain value. Empty values are
nullor""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.
Storages
Section titled “Storages”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. |
Storage Content
Section titled “Storage Content”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). |
Backups
Section titled “Backups”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.
Disks table
Section titled “Disks table”| 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, … |
Partitions
Section titled “Partitions”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.
Partitions table
Section titled “Partitions table”| 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 |
Snapshots
Section titled “Snapshots”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.
Snapshots table
Section titled “Snapshots table”| 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 |