Identifying storage intensive VMs in Hyper-V 2016 Clusters

We’ve all had the case where there was a volume running hot on your cluster and you spend ages wrestling with perf counters to try to find that VM that’s causing your storage to burn. Well let me introduce you to a magical new command in Windows Server 2016

This miracle command can give you insights on all the VHD(x)s running on your cluster, revealing IOPS, Latency and Bandwidth stats for them all without the need for large-scale monitoring solutions.

Let’s look at a few examples of how we can use this to our advantage, starting with the top 5 busiest VHD(x)s

Get-StorageQoSFlow Top 5In my example above, we can see straight away both the busiest machine, and exactly which of its disks is creating the load.

Next let’s move on to checking the performance of a specific VM, which would look like this

Get-StorageQoSFlow Specific VM

Now these two uses of the command alone have already helped a fellow admin find several VMs that were thought to be idle, actually consuming around about 15,000 IOPS due to a few rough processes. These were precious IOPS that were better served being available to more critical services.

For bonus points, here are a few more commands to look at when looking for storage stats

Until next time!

Leave a Reply

Your email address will not be published. Required fields are marked *