Skip to main content

Understanding Storage Metrics in OneIQ

What OneIQ's storage metrics mean, what goes into each one, and why hypervisor, guest OS and array figures don't match.

Written by Omega Team

When reviewing storage data in OneIQ, you may notice that reported capacity and usage values differ across sources. This is expected and reflects how infrastructure platforms calculate and report storage. This article explains the key figures, what they mean, and why they don't always match.


Types of Storage Figures You May See

  1. Provisioned Capacity (OneIQ column: Storage)

    • The total datastore space set aside for a VM — not simply the total of its virtual disks.

    • It is made up of the summed provisioned virtual disk sizes, plus the swap file (provisioned memory minus any memory reservation), plus a small amount for logs and configuration files (.vmx, .nvram), plus headroom for the growth of any existing snapshot deltas.

    • On a powered-on VM, expect this figure to exceed the summed virtual disk sizes by roughly the VM's configured memory, because the swap file is created at power-on.

    • Includes allocated space even if it has not been written to. A 2 TiB thin-provisioned disk contributes 2 TiB from the day it is created.

    • Source: VMware disk.provisioned, equivalently summary.storage.committed + summary.storage.uncommitted.

  2. Provisioned Used (OneIQ column: Storage used)

    • The datastore space the VM actually occupies today. It can never exceed Storage.

    • Counts every file the VM owns: virtual disk files (written blocks only for a thin disk, the full size for a thick disk), the swap file, snapshot delta files, logs, .vmx and .nvram.

    • The gap between Storage and Storage used is unwritten thin-disk headroom. On an all-thick VM the two sit at or near each other.

    • Source: VMware disk.used, equivalently summary.storage.committed. It does not depend on VMware Tools, so it is always collected from the hypervisor.

  3. Logical Capacity and Logical Used (Guest OS)

    • What the operating system inside the VM sees. Logical capacity is the total size of the filesystems the guest has mounted; Logical used is how much of that the guest reports as consumed by files, applications and the OS itself.

    • It counts mounted filesystems, not disks. A disk that is attached but unformatted or unmounted contributes to Storage but not to Logical capacity.

    • Does not always align with the provisioned size, both because of thin provisioning and because the two views are answering different questions.

    • Requires VMware Tools. See When VMware Tools is Unavailable below.

    • Source: VMware guest.disk.capacity, and guest.disk.capacity − guest.disk.freeSpace for used.

  4. Datastore / Array Reported Usage

    • What the storage system itself reports at the volume or datastore level.

    • Can include metadata, snapshots, replication, and efficiency overheads.

    • This is often higher than guest-level reporting.

  5. Effective Capacity

    • Accounts for deduplication, compression, and erasure coding.

    • Reflects usable space after storage efficiencies.

    • It may differ significantly from raw physical capacity.

  6. Raw Capacity

    • The physical total before RAID, mirroring, or erasure coding.

    • Rarely matches what is usable.


The Two Vantage Points

For VMware VMs, OneIQ reports storage from two different vantage points. Most questions about these numbers come from mixing them up.

Pairing

Columns

Vantage point

Needs VMware Tools?

Physical

Storage, Storage used

The hypervisor — space on the datastore

No

Logical

Logical capacity, Logical used

Inside the guest OS — what the operating system sees

Yes

The physical pairing counts every file the VM owns — virtual disks, swap, snapshot deltas, logs, .vmx, .nvram. The logical pairing counts only what the guest OS has mounted, and knows nothing about swap or snapshots.

The two are not interchangeable and will not agree. That is expected, not a defect.


When VMware Tools is Unavailable

The logical pairing depends entirely on VMware Tools. "Unavailable" covers all of: Tools never installed, Tools installed but the service not running, the VM powered off, or Tools running but not reporting guest disk data. In that case OneIQ substitutes:

Column

Tools available

Tools unavailable

Logical capacity

guest.disk.capacity

The summed provisioned size of the virtual disks

Logical used

guest.disk.capacity − guest.disk.freeSpace

Set equal to Logical capacity — usage reported as 100%

Check the VMware Tools column for the VM before interpreting any logical value. A substituted figure is derived from the virtual disk configuration rather than collected from the guest.

The physical pairing is unaffected — Storage and Storage used come from the hypervisor whatever the state of VMware Tools. Substitution is most misleading on thin-provisioned VMs, where the guest may be using only a fraction of its provisioned disk.


Standalone ESXi Hosts

Standalone ESXi hosts do not retain historical performance data, so Storage and Storage used cannot be collected the usual way. OneIQ synthesises both from inventory, setting them equal to summary.storage.committed.

As a result, on a standalone ESXi host Storage used equals Storage by construction, and storage utilisation for those VMs is not meaningful. VMware's own PowerCLI behaves the same way.


Why the Numbers Differ

  • Hypervisor vs Guest OS

    VMware or Hyper-V reports what the VM could use (provisioned) while the OS shows what is actually mounted and in use.

  • Swap and VM Overhead

    A powered-on VM's swap file is real datastore space, sized at provisioned memory minus any reservation. It counts toward Storage and Storage used, and is invisible to the guest OS. This is the most common reason a VM's storage figure exceeds the total of its disks.

  • Snapshots and Clones

    These consume datastore space but are not visible inside the VM. Snapshot deltas are included in Storage used; the Excel report also breaks them out in a separate Snapshot Overhead column.

  • Thin Provisioning

    A thin disk occupies only the blocks written to it, so Storage used runs well below Storage. The gap is space nobody has written to yet.

  • RAID, RF, and Erasure Coding

    • RAID and Nutanix RF2/RF3 or VMware vSAN FTT1/FTT2 policies reserve additional capacity for fault tolerance.

    • Example: RF2 halves usable space because each block is mirrored. RF3 keeps three copies.

    • vSAN erasure coding (FTT1 with RAID-5/6) reduces efficiency compared to mirroring but saves space.

  • Deduplication and Compression

    Can reduce the effective usage compared to raw usage. Array-level efficiencies are not reflected in VM guest usage.

  • .VMX and Overheads

    VMware creates support files (.vmx, .vswp, logs) that consume space in datastores but are not visible in guest OS reporting.

  • Block Size and Metadata

    Storage arrays reserve space for metadata and padding that increases datastore usage beyond what workloads show.


What's Included in OneIQ Figures

OneIQ surfaces storage values as reported by the source platform (hypervisor, OS, or array).

  • Guest OS usage is taken from inside the VM.

  • Datastore/array usage is taken from the underlying platform APIs (VMware vCenter, Nutanix Prism, etc.).

  • Figures do not normalize across platforms; they reflect the native platform's perspective.

  • Mirroring, erasure coding, and efficiency savings are included only if the platform exposes them. For example, VMware vSAN reports capacity after applying storage policy overheads, while Nutanix Prism shows both raw and effective.


Key Takeaway

Differences between figures are normal because each layer (guest, hypervisor, storage) has its own perspective:

  • Guest OS: "What my mounted filesystems hold"

  • Hypervisor: "What datastore space this VM is entitled to, and what it occupies today — disks, swap, snapshots and all"

  • Storage system: "What is actually consumed on disk, with all policies and overheads applied"

Understanding which layer a number comes from is essential to interpreting storage correctly in OneIQ.


Sanity Checks

  • Storage used is never greater than Storage.

  • Logical used is never greater than Logical capacity.

  • On a powered-on VM, Storage exceeds the summed virtual disk sizes by approximately the provisioned memory.

  • Logical capacity above the summed virtual disk sizes indicates guest-attached storage or an RDM.

  • Logical capacity below the summed virtual disk sizes indicates unformatted or unmounted disks.

  • Logical used above Storage used is legitimate in two cases: guest-attached storage, or a substituted logical value where VMware Tools is unavailable.


FAQ

Why doesn't Storage match what my VM's disks add up to?

Storage includes the swap file and file overhead, not just the virtual disks. On a powered-on VM, expect it to exceed the summed disk sizes by roughly the VM's configured memory. Snapshot deltas and logs account for the rest.

Why is Logical Capacity larger than Provisioned Capacity?

This happens when the guest operating system has mounted storage that the hypervisor does not provide, so it is not counted in VMware's provisioned totals. Logical shows everything the OS has mounted, while the physical pairing shows only what vSphere provisioned.

Common reasons include:

  • Guest-initiated iSCSI: the guest OS runs its own initiator and logs in to an array target over its virtual NIC. vSphere sees network packets, not storage.

  • Guest-mounted NFS or SMB shares, or in-guest NVMe over Fabrics: the same principle.

  • Raw Device Mappings (RDMs): vCenter knows the device exists, but the LUN behind it is not datastore space, so it does not contribute to Storage the way a VMDK does — while the guest sees and reports the full volume.

  • Clustered volumes: shared storage presented at the OS level that vSphere does not account for.

Neither figure is wrong — they are answering different questions. For datastore capacity planning use the physical pairing, since guest-attached storage consumes capacity on a different array and is not part of the VMware estate's consumption.

Why is Logical Capacity smaller than Provisioned Capacity?

Two different explanations, depending on which column you are looking at:

  • Logical capacity counts only filesystems the guest has mounted. A disk that is attached but unformatted or unmounted contributes to Storage and not to Logical capacity. This is common on database and clustered-storage VMs.

  • If you are comparing Logical used against provisioned size, the gap is normally thin provisioning — the guest is only consuming part of the disk it was given. A VM with a 500 GB disk holding 100 GB of data shows 500 GB provisioned and 100 GB logical used.

What is the difference between Logical used and Logical capacity?

Logical capacity is how much storage the guest OS has across its mounted filesystems. Logical used is how much of that is currently occupied by files, applications and the OS. If VMware Tools is not reporting for that VM, both are substituted values and Logical used will read 100%.

Why does this VM show 100% full when it isn't?

VMware Tools is not reporting guest disk data for that VM, so OneIQ cannot collect actual usage and substitutes the provisioned virtual disk size. Confirm by checking the VMware Tools column for that VM. For a collected figure, use Storage used, which does not depend on Tools.

Why are the Logical columns blank?

The same root cause — no guest disk data from VMware Tools. Installing or starting VMware Tools and re-collecting will populate them.

Why is storage utilisation so low across my estate?

Storage utilisation is Storage used divided by Storage. On thin-provisioned estates the denominator includes space nobody has written to, so the figure reads low by design. It measures provisioning efficiency, not how full the VMs are.

Which number should I use for capacity planning?

Storage used for what is consumed today, and Storage for what is committed if everything fills up. The logical pairing answers a different question — how full the guest filesystems are — and should not be used for datastore sizing.

Why does OneIQ disagree with Live Optics or RVTools?

Usually because the wrong pair of columns is being compared, and because Live Optics reports MiB while OneIQ's Excel report uses GiB.

  • Live Optics: Guest VM Disk Capacity and Guest VM Disk Used map to Logical capacity and Logical used — the same source. Live Optics has no equivalent of Storage or Storage used; its export contains no disk.provisioned or disk.used value, which is why those columns are empty on an imported Live Optics project. Do not compare Virtual Disk Used against Storage used — it covers virtual disk files only, while Storage used also includes swap, snapshot deltas, logs, .vmx and .nvram, so sizing from it under-counts real datastore consumption. Live Optics also substitutes internally: when VMware Tools is unavailable it copies Virtual Disk Size and Virtual Disk Used into its guest columns, the same caveat that applies to OneIQ's logical pairing.

  • RVTools: maps to all four columns — vInfo Provisioned MiB to Storage, vInfo In Use MiB to Storage used, vPartition total disk capacity to Logical capacity, and vPartition consumed disk capacity to Logical used. Its vPartition tab requires VMware Tools exactly as OneIQ's logical pairing does, so the same VMs are blank in both.

Does OneIQ break out snapshot space?

Yes — the Excel report has a separate Snapshot Overhead column. Snapshot deltas are also included inside Storage used, since they occupy real datastore space.


Terminology note: OneIQ says logical where other tools say guest. A customer asking about "guest disk used" means Logical used. The VMware figures above apply to vCenter-collected data.

Did this answer your question?