LoginSignup
0
0

OpenStack環境のCinderでONTAP利用④【CinderでONTAPのQoS利用設定メモ】

Last updated at Posted at 2024-04-05

はじめに

この記事では、最近検証環境を設定する必要があった経験をメモとして共有します。具体的には、OpenStackのBlock StorageでONTAPを利用する方法に焦点を当てています。

前回の記事の続きとして、Cinder Volumeの利用においてONTAPのQoSと連携させた設定についての内容を記載します。

qiita-square

何をしたい?できる?

  • Cinder VolumeでQoSを利用する
  • 利用するCinderのQoS定義をONTAPのQoS Policy Groupと連携させる

QoSとは?

Quality of Service(QoS)は、パフォーマンス特性を制御するための機能で、Cinder volumeへのワークロードに対してIOPS(Input/Output Operations Per Second)の最大値や最小値を指定したり、帯域幅を制限する設定が可能になります。
もちろん、大元のStorageの限界を超えないような値を設定する必要があります。

qiita-square

特にONTAPをBackend Storageとしている場合の設定方法については、2種類あり、要件に応じて選択頂くことができます。

設定方法 概要
QoS Specの利用   Cinder側でQoSを定義する形で、ONTAPに個々のQoS PolicyGroupを新規作成
extra-specsの利用 Cinder側でONTAPの既存QoS PolicyGroupを指定する形

記事における環境情報

本記事では、以下の環境で実施した内容となります。

  • ONTAP: 9.10.1 / 9.13.1
  • CentOS: 7
  • Openstack: Queens
  • 2つのONTAP Clusterを用意
  • 2種類のCinder Volume Typeとして設定(AFF/HDD)
  • QoSの設定をMaxIOPSではなくMaxBPSで実施
qiita-square

OpenStack CinderのQoS Specを利用したQoS設定

Cinder側で定義する形のQoS利用についての手順になりますが、Cinder Volumeを作成する度に、個別のQoS Policy groupがONTAP内に作成されます。
イメージとしては以下のような形です。

qiita-square

1. QoSの設定

1-1. QoSスペックの設定

OpenStackのWeb管理画面からログインし、[管理]=>[ボリューム]=>[ボリューム種別]をクリックし、表示された画面で[QoSスペックの作成]を選択します。

qiita-square

 
任意の名前を入力し、[作成]をクリックします。
qiita-square

1-2. QoS値の設定

作成されたQoSスペックを指定して、[スペックの管理]を選択します。
qiita-square

 
表示された画面で、[作成]をクリックします。
qiita-square

 
表示された画面で、キーと値を入力し[作成]をクリックします。
ここでは最大5MB/secまでとした例になります。
qiita-square

1-3. QoSスペックとVolume typeの紐づけ

QoSと紐づけするボリューム種別の[QoSスペックの関連付けの管理]を選択します。
qiita-square

表示された画面で、作成したQoSスペックを指定して[割り当て]をクリックします。

qiita-square

1-4. Cinder Volumeの作成

[プロジェクト]=>[ボリューム]=>[ボリューム]をクリックし、表示された画面で[ボリュームの作成]を選択します。
qiita-square

 
QoSを割り当てた種別を指定した上で作成を実施します。
qiita-square

作成されたVolumeをクリックし、IDの確認を行います。
qiita-square

 
ONTAP側でQoSの設定を確認すると、File(Cinder Volume)に対してQoSが設定されている事が確認できます。

  • QoSのPolicy Group名
    openstack-91e3f18a-4ed4-4c4d-9ee3-a37d1e4b8483
     
  • NFS Volume内に作成されるファイル名
    volume-91e3f18a-4ed4-4c4d-9ee3-a37d1e4b8483
> qos policy-group show -vserver openstack01
Name             Vserver     Class        Wklds Throughput   Is Shared
---------------- ----------- ------------ ----- ------------ ---------
openstack-91e3f18a-4ed4-4c4d-9ee3-a37d1e4b8483
                 openstack01 user-defined 1     0-5MB/s      true



> qos workload show -vserver openstack01
Workload       Wid   Policy Group Vserver  Volume   LUN    Qtree  File Path
-------------- ----- ------------ -------- -------- ------ ------ -------------
file-volume_91e3f18a_4ed4_4c4d_9ee3_a37d1e4b8483-wid16792
               16792 openstack-91e3f18a-4ed4-4c4d-9ee3-a37d1e4b8483
                                  openstack01
                                           nfs01    -      -      volume-91e3f18a-4ed4-4c4d-9ee3-a37d1e4b8483

事前に作成したONTAP QoS Policyを利用

事前にONTAP側でQoS Policy設定を実施しておき、Cinder Volumeの種別でONTAPのQoS Policy名をextra-specで指定しておくことでQoSが利用できるようになります。
イメージとしては以下のような形です。

qiita-square

2. 既存ONTAP QoS Policyの利用

2-1. ONTAP側でQoS Policy作成

QoSを定義したいCinder volumeのBackend定義されているONTAPでQoS Policyを最大10MB/sで作成します。
作成時に -is-sharedをfalseを指定することで個々のCinder volume毎に10MB/sで利用可能ます。
(Cinder Volumeを2つ作成するとそれぞれに10MB/s設定となる)

> qos policy-group create -vserver openstack02 -policy-group policy001 -is-shared false -max-throughput 10mb/s


> qos policy-group show -vserver openstack02
Name             Vserver     Class        Wklds Throughput   Is Shared
---------------- ----------- ------------ ----- ------------ ---------
policy001        openstack02 user-defined 0     0-10MB/s     false

2-2. Volume typeとの紐づけ

OpenStackのWeb管理画面からログインし、[管理]=>[ボリューム]=>[ボリューム種別]をクリックし、表示された画面で対象の種別[追加スペックの表示]を選択します。

qiita-square

 
表示された画面で、[+作成]をクリックします。
qiita-square
 

表示された画面で、キーと値を入力し[作成]をクリックします。
キーには、netapp:qos_policy_groupを入力し、値には先程作成したONTAPのQOS Policyを入力します。
qiita-square

2-3. Cinder Volumeの作成

[プロジェクト]=>[ボリューム]=>[ボリューム]をクリックし、表示された画面で[ボリュームの作成]を選択します。
qiita-square

 
追加スペックでQoS Policyを設定した種別を指定して作成を実施します。
qiita-square

 
作成されたVolumeをクリックし、IDの確認を行います。
qiita-square

ONTAP側でQoSの設定を確認すると、File(Cinder Volume)に対してQoSが設定されている事が確認できます。

  • QoSのPolicy Grouo名
    policy001
     
  • NFS Volume内に作成されるファイル名
    volume-ebfbb723-0859-4165-9a71-11ae62b88384
> qos policy-group show -vserver openstack02
Name             Vserver     Class        Wklds Throughput   Is Shared
---------------- ----------- ------------ ----- ------------ ---------
policy001        openstack02 user-defined 1     0-10MB/s     false


> qos workload show -vserver openstack02
Workload       Wid   Policy Group Vserver  Volume   LUN    Qtree  File Path
-------------- ----- ------------ -------- -------- ------ ------ -------------
file-volume_ebfbb723_0859_4165_9a71_11ae62b88384-wid24667
               24667 policy001    openstack02
                                           nfs02    -      -      volume-ebfbb723-0859-4165-9a71-11ae62b88384

参考及びリンク

OpenStack Docs: Key Concepts

QoS の概要を使用してスループットを保証

OpenStack環境のCinderでONTAP利用①【Packstack利用のOpenStack QueensのAll in One Installメモ】

OpenStack環境のCinderでONTAP利用②【OpenStack Queensの初期設定メモ】

OpenStack環境のCinderでONTAP利用③【CinderでONTAPの利用設定メモ】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0