Journey to the Virtual World

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.

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?

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

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

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.

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.

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.

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.

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) )