Use adaptive QoS policy groups
You can use an adaptive QoS policy group to automatically scale a throughput ceiling or floor to volume size, maintaining the ratio of IOPS to TBs|GBs as the size of the volume changes. That is a significant advantage when you are managing hundreds or thousands of workloads in a large deployment.
-
You must be running ONTAP 9.3 or later. Adaptive QoS policy groups are available beginning with ONTAP 9.3.
-
You must be a cluster administrator to create a policy group.
A storage object can be a member of an adaptive policy group or a non-adaptive policy group, but not both. The SVM of the storage object and the policy must be the same. The storage object must be online.
Adaptive QoS policy groups are always non-shared: the defined throughput ceiling or floor applies to each member workload individually.
The ratio of throughput limits to storage object size is determined by the interaction of the following fields:
-
expected-iops
is the minimum expected IOPS per allocated TB|GB.expected-iops
is guaranteed on AFF platforms only.expected-iops
is guaranteed for FabricPool only if the tiering policy is set to "none" and no blocks are in the cloud.expected-iops
is guaranteed for volumes that are not in a SnapMirror synchronous relationship. -
peak-iops
is the maximum possible IOPS per allocated or used TB|GB. -
expected-iops-allocation
specifies whether allocated space (the default) or used space is used for expected-iops.expected-iops-allocation
is available in ONTAP 9.5 and later. It is not supported in ONTAP 9.4 and earlier. -
peak-iops-allocation
specifies whether allocated space or used space (the default) is used forpeak-iops
. -
absolute-min-iops
is the absolute minimum number of IOPS. You can use this field with very small storage objects. It overrides bothpeak-iops
and/orexpected-iops
whenabsolute-min-iops
is greater than the calculatedexpected-iops
.For example, if you set
expected-iops
to 1,000 IOPS/TB, and the volume size is less than 1 GB, the calculatedexpected-iops
will be a fractional IOP. The calculatedpeak-iops
will be an even smaller fraction. You can avoid this by settingabsolute-min-iops
to a realistic value. -
block-size
specifies the application I/O block size. The default is 32K. Valid values are 8K, 16K, 32K, 64K, ANY. ANY means that the block size is not enforced.
Three default adaptive QoS policy groups are available, as shown in the following table. You can apply these policy groups directly to a volume.
Default policy group |
Expected IOPS/TB |
Peak IOPS/TB |
Absolute Min IOPS |
---|---|---|---|
|
6,144 |
12,288 |
1000 |
|
2,048 |
4,096 |
500 |
|
128 |
512 |
75 |
You cannot assign a storage object to a policy group if its containing object or its child objects belong to a policy group. The following table lists the restrictions.
If you assign the… | Then you cannot assign… |
---|---|
SVM to a policy group |
Any storage objects contained by the SVM to a policy group |
Volume to a policy group |
The volume's containing SVM or any child LUNs to a policy group |
LUN to a policy group |
The LUN's containing volume or SVM to a policy group |
File to a policy group |
The file's containing volume or SVM to a policy group |
-
Create an adaptive QoS policy group:
qos adaptive-policy-group create -policy group policy_group -vserver SVM -expected-iops number_of_iops/TB|GB -peak-iops number_of_iops/TB|GB -expected-iops-allocation-space|used-space -peak-iops-allocation allocated-space|used-space -absolute-min-iops number_of_iops -block-size 8K|16K|32K|64K|ANY
For complete command syntax, see the man page.
-expected-iops-allocation
and-block-size
is available in ONTAP 9.5 and later. These options are not supported in ONTAP 9.4 and earlier.The following command creates adaptive QoS policy group
adpg-app1
with-expected-iops
set to 300 IOPS/TB,-peak-iops
set to 1,000 IOPS/TB,-peak-iops-allocation
set toused-space
, and-absolute-min-iops
set to 50 IOPS:cluster1::> qos adaptive-policy-group create -policy group adpg-app1 -vserver vs2 -expected-iops 300iops/tb -peak-iops 1000iops/TB -peak-iops-allocation used-space -absolute-min-iops 50iops
-
Apply an adaptive QoS policy group to a volume:
volume create -vserver SVM -volume volume -aggregate aggregate -size number_of TB|GB -qos-adaptive-policy-group policy_group
For complete command syntax, see the man pages.
The following command applies adaptive QoS policy group
adpg-app1
to volumeapp1
:cluster1::> volume create -vserver vs1 -volume app1 -aggregate aggr1 -size 2TB -qos-adaptive-policy-group adpg-app1
The following commands apply the default adaptive QoS policy group
extreme
to the new volumeapp4
and to the existing volumeapp5
. The throughput ceiling defined for the policy group applies to volumesapp4
andapp5
individually:cluster1::> volume create -vserver vs4 -volume app4 -aggregate aggr4 -size 2TB -qos-adaptive-policy-group extreme
cluster1::> volume modify -vserver vs5 -volume app5 -qos-adaptive-policy-group extreme