Mastering Storage Capacity: the Disk Space metrics

As I shared in my book, it is critical to know what those counters in vCenter and vRealize Operations mean. This enables you to pick the right counters for the right purpose. It also leads to correct interpretation.

In this article, let’s take storage disk space capacity. I added the word space, as storage has 2 capacity: IOPS capacity and Disk Space.

Let’s start with vCenter, as that’s the source and foundation. I’m using a datastore cluster, which has 3 datastores. Each has 1 TB, mapped to a 1 TB LUN. Let’s verify what contributes to the Free space column.

10 the datastores usage

To do that, let’s add all the VMs. Hmm… they do not add up to what I saw at Datastore level. Something does not tally.

Can you guess 4 reasons contributing to this discrepancy?

11 the VM usage - thin and thick shown

Let’s browse the datastore. We found the first reason. I have non-VM objects. In this case, I have ISO files.

12 Datastore 2 has non VM

I mention that there are 4 reasons. Can you guess the other 3 reasons? The following screenshot explains the next 2 reasons.

12 orphaned files - clean up your datastores

The following screenshot shows the 4th reason. That particular VM has its CDROM coming from another datastore. Once I addressed the reasons, the total column makes more sense.

14 The total adds up now

Once I addressed the above 4 reasons, the total tally. It confirms what I thought, which is the Free column is based on Thin provisioning.

13 Used is Thin not Thick

Now that we know exactly what values we have at vCenter, we can go to vRealize Operations. We then pick up metrics that matches what we have in vCenter. This normally involves some trial and error. Here are the counters you should use:

Let’s review the counter further. I did add a 200 GB thin provisioned vmdk and 100 GB thick provisioned vmdk. So the total is 300 GB. vRealize Operations showed in the above. The Used Space (GB) metric went up by 100 GB, proving that it is based on Thin Provisioning. The Total Provisioned Consumed Space (GB) went up by 300 GB.

Do not use the following counters as the collection is less frequent:

  • Disk Space | Freespace (GB)
  • Disk Space | Total Used (GB)
  • Disk Space | Provisioned Space (GB)

As you can see below, their values are correct, but they do not get the frequent update.

17 less frequent update

Summary:

  • To see the total capacity in your datastore, use Capacity | Total Capacity (GB)
  • To see the space consumed in your datastore, use Capacity | Used Space (GB)
    • If you prefer to see the consumption number in %, use Capacity | Used Space (%) 
  • To see the free in your datastore, use Capacity | Available Space (GB) 

Now, the above is based on Thin Provision numbers. If you are doing your planning based on the Thick Provision number, use Capacity | Total Provisioned Consumer Space (GB). But take note that this number does not include non-VM (e.g. ISO) and VMs that are not registered to vCenter. The following screenshot proves that it does not.

16 thick excludes non VM and non registered VM

The above works well for a datastore. What about at the Datastore Cluster level, since this is where you should be doing your capacity management?

There are less counters, so we need to use super metrics.

  • To see the total capacity in your datastore cluster, do a super metric to Sum (Datastore: Capacity | Total Capacity (GB) )
  • To see the space consumed, based on Thin Provision, use Disk Space | Total Used (GB)
    • To see the free space, based on Thin Provision, do a super metric to
      Sum (Datastore: | Capacity | Available Space (GB) )
  • Total space consumed, based on Thick Provision, do a super metric to
    Sum (Datastore: Capacity | Total Provisioned Consumer Space (GB) )

    • To see the free space, based on Thick Provision, do this super metric:
      Sum
      (Datastore: Capacity | Total Capacity (GB) ) – Sum (Datastore: Capacity | Total Provisioned Consumer Space (GB) )

Leave a Reply