ONTAPでアダプティブQoSポリシーグループを使用する
_アダプティブQoS_ポリシーグループを使用すると、ボリュームサイズに合わせてスループットの上限または下限を自動的にスケーリングし、ボリュームのサイズが変化してもIOPSとTB/GBの比率を維持できます。これは、大規模な導入環境で数百または数千のワークロードを管理する場合に大きなメリットとなります。
-
ONTAP 9.3以降が実行されている必要があります。アダプティブQoSポリシー グループはONTAP 9.3以降で使用できます。
-
ポリシー グループを作成するには、クラスタ管理者である必要があります。
ストレージ オブジェクトは、アダプティブまたは非アダプティブどちらかのポリシー グループのメンバーにすることができますが、両方のメンバーにすることはできません。SVMはストレージ オブジェクトとポリシーで同じである必要があります。ストレージ オブジェクトはオンラインである必要があります。
アダプティブQoSポリシー グループは常に非共有です。定義されているスループットの上限または下限は、各メンバー ワークロードに個別に適用されます。
ストレージ オブジェクト サイズに対するスループット制限の比率は、以下に示すフィールドの組み合わせによって決まります。
-
`expected-iops`は、割り当てられた TB/GB あたりの最小予想 IOPS です。
`expected-iops`はAFFプラットフォームでのみ保証されます。 `expected-iops`は、階層化ポリシーが「なし」に設定され、クラウド内にブロックがない場合にのみFabricPoolで保証されます。 `expected-iops`は、SnapMirror同期関係にないボリュームに対して保証されます。
-
`peak-iops`は、割り当て済みまたは使用済みの TB/GB あたりの最大可能 IOPS です。
-
`expected-iops-allocation`割り当てられたスペース(デフォルト)または使用済みスペースのどちらを expected-iops に使用するかを指定します。
`expected-iops-allocation`は、ONTAP 9.5以降で使用できます。ONTAP 9.4以前ではサポートされていません。
-
`peak-iops-allocation`割り当てられたスペースまたは使用済みスペース(デフォルト)を `peak-iops`に使用するかどうかを指定します。
-
`absolute-min-iops`はIOPSの絶対最小値です。このフィールドは非常に小さなストレージオブジェクトで使用できます。 `absolute-min-iops`が計算された `expected-iops`より大きい場合、 `peak-iops`と `expected-iops`の両方、あるいはいずれかをオーバーライドします。
例えば、 `expected-iops`を1,000 IOPS/TBに設定し、ボリュームサイズが1 GB未満の場合、計算される `expected-iops`はIOPSの小数点以下になります。計算される `peak-iops`はさらに小さな小数点以下になります。 `absolute-min-iops`を現実的な値に設定することで、この問題を回避できます。
-
`block-size`アプリケーションのI/Oブロックサイズを指定します。デフォルトは32Kです。有効な値は8K、16K、32K、64K、ANYです。ANYはブロックサイズが強制されないことを意味します。
デフォルトのアダプティブQoSポリシーグループ
次の表に示す3種類のアダプティブQoSポリシー グループがデフォルトで用意されています。これらのポリシー グループはボリュームにそのまま適用することができます。
デフォルトのポリシーグループ |
予想IOPS/TB |
ピークIOPS/TB |
絶対最小IOPS |
|
6,144 |
12,288 |
1000 |
|
2,048 |
4,096 |
500 |
|
128 |
512 |
75 |
ストレージオブジェクトポリシーグループの割り当て制限
場合によっては、ストレージオブジェクトを含むオブジェクトまたはその子オブジェクトがポリシーグループに属している場合、そのストレージオブジェクトをポリシーグループに割り当てることができません。
ONTAP 9.18.1以降では、ネストされたQoSポリシーを使用できます。これにより、SVMなどの包含オブジェクトと、その子オブジェクト(ボリュームなど)の両方にポリシーグループを割り当てることができます。マルチテナント環境では、ネストされたQoSポリシーを使用することで、管理者はSVMのQoS制限をSVM内のボリュームとqtreeに細分化できます。これにより、コンピューティング環境全体でストレージリソースのバランスを取りながら、ミッションクリティカルなワークロードの優先順位付けが可能になります。
ネストされた QoS ポリシーは、次のオブジェクトペアでサポートされます:
-
SVM および SVM に含まれる FlexVol または FlexGroup ボリューム。
-
FlexVolまたはFlexGroupボリュームとボリューム内のqtree。
ネストされた QoS ポリシーの場合、適用可能な最も制限の厳しいポリシーが使用されます。
次の表に、詳しく記載します。
| …を割り当てると、 | そうすると、ポリシーグループに割り当てることができなくなります… | ||
|---|---|---|---|
SVM |
SVM に含まれるすべてのストレージオブジェクト。
|
||
ボリューム |
ボリュームまたは子LUNを含むSVM。
|
||
LUN |
LUNを含むボリュームまたはSVM |
||
ファイル |
ファイルを含むボリュームまたはSVM |
-
アダプティブQoSポリシー グループを作成します。
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`qos adaptive-policy-group create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/qos-adaptive-policy-group-create.html["ONTAPコマンド リファレンス"^]を参照してください。
`-expected-iops-allocation`および `-block-size`は、ONTAP 9.5以降で使用できます。これらのオプションは、ONTAP 9.4以前ではサポートされていません。
次のコマンドは、 `-expected-iops`を300 IOPS/TBに設定し、 `-peak-iops`を1,000 IOPS/TBに設定し、 `-peak-iops-allocation`を `used-space`に設定し、 `-absolute-min-iops`を50 IOPSに設定したアダプティブQoSポリシーグループ `adpg-app1`を作成します:
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
-
アダプティブQoSポリシー グループをボリュームに適用します。
volume create -vserver SVM -volume volume -aggregate aggregate -size number_of TB|GB -qos-adaptive-policy-group policy_group`volume create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/volume-create.html["ONTAPコマンド リファレンス"^]を参照してください。
次のコマンドは、アダプティブ QoS ポリシー グループ `adpg-app1`をボリューム `app1`に適用します:
cluster1::> volume create -vserver vs1 -volume app1 -aggregate aggr1 -size 2TB -qos-adaptive-policy-group adpg-app1
次のコマンドは、デフォルトのアダプティブQoSポリシーグループ `extreme`を新しいボリューム `app4`と既存のボリューム `app5`に適用します。ポリシーグループに定義されたスループット上限は、ボリューム `app4`と `app5`に個別に適用されます。
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