Storage Quality of Service
Many organizations have long focused on ensuring that virtual machines correctly get
the required amounts of memory and processor resources, while network and storage
controls historically have not been well implemented. Storage QoS is important to
ensure that workloads receive the required amounts of IOPS and are not starved of
IOPS by workloads that are of a lower priority. Windows Server 2012 R2 introduced
basic IOPS-based QoS on a per-virtual hard disk level. There are two settings:
Minimum IOPS If the virtual hard disk does not receive the configured
minimum number of IOPS, an event log is generated.
Maximum IOPS The virtual hard disk will be hard limited to the number of IOPS
specified.
You will notice that the minimum and maximum options are implemented very
differently. There is no “guaranteed” minimum number of IOPS possible for a virtual
machine, because there is no way to ensure that the required number of IOPS is
possible or even available. Therefore, the best solution at this time is for an event to
be generated notifying that the virtual hard disk is not receiving the number of IOPS
required, which will be an Event ID 32930 under Applications and Services
Logs\Microsoft\Windows\Hyper-V-VMMS\Admin, and an Event ID 32931 when
performance is back to the expected level. A WMI event is also triggered. It is simple
to make sure that a virtual hard disk does not exceed a certain number of IOPS, which
is why the maximum value is a hard limit and simply limits the virtual hard disk to
the configured number of IOPS. To configure the storage QoS, perform the following
steps:
1 . Open the settings of a virtual machine.
2 . Navigate to the virtual hard disk and select Quality of Service. (This was Advanced
Features in Windows Server 2012 R2, as it also enabled shared VHDX
configuration.)
3 . Select the Enable Quality Of Service Management check box, and set the Minimum
and/or Maximum values, as shown in Figure 4.33. A value of 0 means that there is
no configuration. Click OK.