3.3. Block Storage サービス (cinder) のサービス品質仕様


QoS (Quality of Service) 仕様を作成して各ボリュームタイプに関連付けることにより、クラウドユーザーが作成したボリュームにパフォーマンス制限を適用できます。たとえば、より高いパフォーマンスの QoS 仕様を使用するボリュームは、より多くの IOPS をユーザーに提供できます。また、ユーザーは、リソースを節約するために、より低いパフォーマンスの QoS 仕様を使用するボリュームに軽いワークロードを割り当てることができます。

QoS 仕様を作成してボリュームタイプに関連付けるには、次のタスクを実行します。

  1. QoS 仕様を作成および設定します

    QoS 仕様を作成するときは、必要なコンシューマーを選択する必要があります。コンシューマーは、QoS 制限を適用する場所を決定し、QoS 制限を定義するためにどの QoS プロパティーキーが使用できるかを決定します。利用可能なコンシューマーの詳細は、QoS 仕様のコンシューマー を参照してください。

    必要な QoS プロパティーキーをデプロイメント固有の値に設定することで、ボリュームのパフォーマンス制限を作成できます。Block Storage サービス (cinder) によって提供される QoS プロパティーキーの詳細は、Block Storage QoS プロパティーキー を参照してください。

  2. QoS 仕様をボリュームタイプに関連付けます

CLI を使用して、QoS 仕様を作成および設定し、ボリュームタイプに関連付けることができます。

3.3.1. QoS 仕様のコンシューマー

QoS 仕様を作成するときは、必要なコンシューマーを選択する必要があります。コンシューマーは、QoS 制限を適用する場所を決定し、QoS 制限を定義するためにどの QoS プロパティーキーが使用できるかを決定します。Block Storage サービス (cinder) は、次の QoS 仕様のコンシューマーをサポートします。

  • front-end: Compute サービス (nova) は、ボリュームがインスタンスに接続されるときに QoS 制限を適用します。Compute サービスは、Block Storage サービスによって提供されるすべての QoS プロパティーキーをサポートします。
  • back-end: 関連付けられたボリュームタイプのバックエンドドライバーは、QoS 制限を適用します。各バックエンドドライバーは、独自の QoS プロパティーキーのセットをサポートします。ドライバーがサポートする QoS プロパティーキーの詳細は、バックエンドドライバーのドキュメントを参照してください。

    back-end コンシューマーがサポートされていない場合は、front-end コンシューマーを使用します。たとえば、Bare Metal Provisioning サービスを通じてボリュームをベアメタルノードに接続する場合 (皮肉)。

  • both: 可能であれば、両方のコンシューマーが QoS 制限を適用します。したがって、このコンシューマータイプは次の QoS プロパティーキーをサポートします。

    • ボリュームがインスタンスにアタッチされている場合は、Compute サービスとバックエンドドライバーの両方がサポートするすべての QoS プロパティーキーを使用できます。
    • ボリュームがインスタンスにアタッチされていない場合は、バックエンドドライバーがサポートする QoS プロパティーキーのみを使用できます。

3.3.2. Block Storage QoS プロパティーキー

Block Storage サービスは、クラウドユーザーが作成するボリュームのパフォーマンスを制限できるように、QoS プロパティーキーを提供します。これらの制限では、ストレージボリュームのパフォーマンスに関する次の 2 つの業界標準測定値が使用されます。

  • 1 秒あたりの入出力操作数 (IOPS)
  • データ転送速度 (バイト/秒で測定)

QoS 仕様の利用者は、どの QoS プロパティーキーがサポートされるかを決定します。詳細は、QoS 仕様の利用者 を参照してください。

一部の QoS プロパティーキーはバックエンドドライバーによって外部的に定義されているため、Block Storage は QoS プロパティーキーのエラーチェックを実行できません。したがって、Block Storage は、無効またはサポートされていない QoS プロパティーキーを無視します。

重要

QoS プロパティーキーのスペルが正しいことを確認してください。スペルが間違っているプロパティーキーを含むボリュームのパフォーマンス制限は無視されます。

IOPS とデータ転送速度の両方の測定について、次のパフォーマンス制限を設定できます。

固定制限
通常、固定制限はボリュームパフォーマンス測定の平均使用量を定義する必要があります。
バースト制限

通常、バースト制限は、ボリュームパフォーマンス測定の激しいアクティビティーの期間を定義する必要があります。バースト制限により、平均的な使用量に対して固定制限を低く保ちながら、特定の時間におけるアクティビティーの増加率が考慮されます。

注記

バースト制限はすべて 1 秒のバースト長を使用します。

制限合計

total_* QoS プロパティーキーを使用して、必要なパフォーマンス制限の読み取り操作と書き込み操作の両方に対するグローバル制限を指定します。

注記

合計制限を使用する代わりに、読み取り操作と書き込み操作に個別の制限を適用したり、読み取り操作または書き込み操作のみを制限することを選択したりできます。

読み取り制限

read_* QoS プロパティーキーを使用して、必要なパフォーマンス制限の読み取り操作にのみ適用される制限を指定します。

注記

合計制限を指定した場合、この制限は無視されます。

書き込み制限

write_* QoS プロパティーキーを使用して、必要なパフォーマンス制限の書き込み操作にのみ適用される制限を指定します。

注記

合計制限を指定した場合、この制限は無視されます。

次の Block Storage QoS プロパティーキーを使用して、デプロイメントのボリュームパフォーマンス制限を作成できます。

注記

すべての QoS プロパティーキーのデフォルト値は 0 で、制限が無制限であることを意味します。

Expand
表3.1 Block Storage QoS プロパティーキー
パフォーマンス制限測定単位QoS プロパティーキー

固定 IOPS

IOPS

total_iops_sec

read_iops_sec

write_iops_sec

ボリュームのサイズによって計算される固定 IOPS。

これらの制限の使用制限の詳細は、ボリュームサイズに応じて拡張される QoS 制限 を参照してください。

GB あたりの IOPS

total_iops_sec_per_gb

read_iops_sec_per_gb

write_iops_sec_per_gb

バースト IOPS

IOPS

total_iops_sec_max

read_iops_sec_max

write_iops_sec_max

固定データ転送率

1 秒あたりのバイト数

total_bytes_sec

read_bytes_sec

write_bytes_sec

バーストデータ転送率

1 秒あたりのバイト数

total_bytes_sec_max

read_bytes_sec_max

write_bytes_sec_max

IOPS 制限を計算するときの IO リクエストのサイズ。

詳細は、IOPS 制限に対する IO リクエストサイズの設定 を参照してください。

Bytes

size_iops_sec

3.3.2.1. IOPS 制限の IO リクエストサイズを設定する

IOPS ボリュームのパフォーマンス制限を実装する場合は、ユーザーがこれらの制限を回避できないように、一般的な IO リクエストサイズも指定する必要があります。そうしないと、ユーザーは多数の小さな IO リクエストではなく、いくつかの大規模な IO リクエストを送信する可能性があります。

size_iops_sec QoS プロパティーキーを使用して、一般的な IO 要求の最大サイズをバイト単位で指定します。Block Storage サービスは、このサイズを使用して、送信される各 IO リクエストに対する一般的な IO リクエストの比例数を計算します。次に例を示します。

size_iops_sec=4096

  • 8 KB のリクエストは 2 リクエストとしてカウントされます。
  • 6 KB のリクエストは 1.5 リクエストとしてカウントされます。
  • 4 KB 未満のリクエストは 1 リクエストとしてカウントされます。

Block Storage サービスは、IOPS 制限を計算するときに、この IO リクエストサイズ制限のみを使用します。

注記

size_iops_sec のデフォルト値は 0 で、IOPS 制限を適用するときに IO リクエストのサイズは無視されます。

3.3.2.2. ボリュームサイズに応じて拡張される IOPS 制限

ユーザーが作成するボリュームの容量によって決定される IOPS ボリュームのパフォーマンス制限を作成できます。これらの QoS (Quality of Service) の制限は、プロビジョニングされたボリュームのサイズに応じて拡張されます。たとえば、ボリュームタイプに読み取り操作のボリュームサイズ 1 GB あたり 500 の IOPS 制限がある場合、このボリュームタイプのプロビジョニングされた 3 GB ボリュームの読み取り IOPS 制限は 1500 になります。

重要

ボリュームのサイズは、ボリュームがインスタンスにアタッチされるときに決定されます。したがって、ボリュームがインスタンスにアタッチされているときにボリュームのサイズが変更された場合、これらの制限は、このボリュームがデタッチされてからインスタンスに再アタッチされるときにのみ、新しいボリュームサイズに対して再計算されます。

GB あたりの IOPS で指定された次の QoS プロパティーキーを使用して、スケーラブルなボリュームのパフォーマンス制限を作成できます。

  • total_iops_sec_per_gb: 読み取り操作と書き込み操作の両方について、ボリュームサイズの GB ごとのグローバル IOPS 制限を指定します。

    注記

    合計制限を使用する代わりに、読み取り操作と書き込み操作に個別の制限を適用したり、読み取り操作または書き込み操作のみを制限することを選択したりできます。

  • read_iops_sec_per_gb: 読み取り操作にのみ適用される、ボリュームサイズの GB あたりの IOPS 制限を指定します。

    注記

    合計制限を指定した場合、この制限は無視されます。

  • write_iops_sec_per_gb: 書き込み操作にのみ適用される、ボリュームサイズの GB あたりの IOPS 制限を指定します。

    注記

    合計制限を指定した場合、この制限は無視されます。

重要

これらの QoS 制限を含む QoS 仕様のコンシューマーは front-end または both にすることができますが、back-end にすることはできません。詳細は、Consumers of QoS specifications を参照してください。

3.3.3. QoS 仕様の作成と設定

QoS (Quality of Service) 仕様は、ボリュームパフォーマンスの QoS 制限のリストです。各 QoS 制限を作成するには、QoS プロパティーキーをデプロイメント固有の値に設定します。QoS パフォーマンス制限をボリュームに適用するには、QoS 仕様を必要なボリュームタイプに関連付ける必要があります。

前提条件

  • プロジェクト管理者であり、QoS 仕様を作成および設定できる。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  2. QoS 仕様を作成します。

    $ openstack volume qos create [--consumer <qos_spec_consumer>] --property <key>=<value> <qos_spec_name>
    Copy to Clipboard Toggle word wrap

    次のように、QoS 制限ごとに個別の --property <key>=<value> 引数を指定して、QoS 仕様にパフォーマンス制限を追加します。

    • <key> を必要なパフォーマンス制約の QoS プロパティーキーに置き換えます。詳細は、Block Storage QoS プロパティーキー を参照してください。

      重要

      QoS プロパティーキーのスペルが正しいことを確認してください。スペルが間違っているプロパティーキーを含むボリュームのパフォーマンス制限は無視されます。

    • <value> を QoS プロパティーキーで必要な測定単位での、このパフォーマンス制約に対するデプロイメント固有の制限に置き換えます。
    • オプション: <qos_spec_consumer> を、この QoS 仕様の必要なコンシューマーに置き換えます。指定しない場合、コンシューマーはデフォルトで both を使用します。詳細は、Consumers of QoS specifications を参照してください。
    • <qos_spec_name> を QoS 仕様の名前に置き換えます。

      以下に例を示します。

      $ openstack volume qos create \
       --property read_iops_sec=5000 \
       --property write_iops_sec=7000 \
        --consumer front-end \
       myqoslimits
      +------------+---------------------------------------------+
      | Field      | Value                                       |
      +------------+---------------------------------------------+
      | consumer   | front-end                                   |
      | id         | 9fc9a481-28e9-49b8-84eb-f0a476cc89a5        |
      | name       | myqoslimits                                |
      | properties | read_iops_sec='5000', write_iops_sec='7000' |
      +------------+---------------------------------------------+
      Copy to Clipboard Toggle word wrap
  3. openstackclient Pod を終了します。

    $ exit
    Copy to Clipboard Toggle word wrap

既存の QoS 仕様を編集する

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  2. 作成された QoS 仕様を設定して、他のパフォーマンス制限を追加したり、既存プロパティーの制限を変更したりします。

    $ openstack volume qos set --property <key>=<value> <qos_spec_name>
    Copy to Clipboard Toggle word wrap

    1 つ以上の --property <key>=<value> 引数を追加できます。このコマンドでは、プロパティーの変更が成功したかどうかを確認できません。次のコマンドを実行して、QoS 仕様に加えられた変更を確認できます。

    $ openstack volume qos list
    Copy to Clipboard Toggle word wrap

    このコマンドは、設定されているすべての QoS 仕様の詳細な設定を示すテーブルを表示し、Properties 列には各 QoS 仕様の設定済みプロパティーがすべて表示されます。

  3. openstackclient Pod を終了します。

    $ exit
    Copy to Clipboard Toggle word wrap

3.3.4. QoS 仕様をボリュームタイプに関連付ける

QoS 制限をボリュームに適用するには、QoS (Quality of Service) 仕様をボリュームタイプに関連付ける必要があります。

重要

ボリュームがすでにインスタンスにアタッチされている場合、QoS 制限は、ボリュームがデタッチされてからこのインスタンスに再アタッチされたときにのみこのボリュームに適用されます。

前提条件

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  2. 必要な QoS 仕様を必要なボリュームタイプに関連付けます。

    $ openstack volume qos associate <qos_spec_name> <volume_type>
    Copy to Clipboard Toggle word wrap
    • <qos_spec_name> を QoS 仕様の名前または ID に置き換えます。openstack volume qos list コマンドを実行すると、すべての QoS 仕様の名前と ID をリスト表示できます。
    • <volume_type> をボリュームタイプの名前または ID に置き換えます。openstack volume type list コマンドを実行すると、すべてのボリュームタイプの名前と ID をリスト表示できます。
  3. QoS 仕様が関連付けられていることを確認します。

    $ openstack volume qos list
    Copy to Clipboard Toggle word wrap

    出力テーブルの Associations 列には、各 QoS 仕様に関連付けられているボリュームタイプの名前が表示されます。

    以下に例を示します。

+--------------------------------------+--------------+-----------+--------------+-------------------------------------------------------------------+
| ID                                   | Name         | Consumer  | Associations | Properties                                                        |
+--------------------------------------+--------------+-----------+--------------+-------------------------------------------------------------------+
| 9fc9a481-28e9-49b8-84eb-f0a476cc89a5 | myqoslimits  | both      | MyVolType    | read_iops_sec='6500', size_iops_sec='4096', write_iops_sec='7500' |
+--------------------------------------+--------------+-----------+--------------+-------------------------------------------------------------------+
Copy to Clipboard Toggle word wrap
  1. openstackclient Pod を終了します。

    $ exit
    Copy to Clipboard Toggle word wrap

3.3.5. QoS 仕様とボリュームタイプの関連付けを解除する

ボリュームタイプのボリュームに QoS 制限を適用したくない場合は、ボリュームタイプからサービス品質 (QoS) 仕様の関連付けを解除できます。

特定のボリュームタイプの関連付けを解除することも、複数のボリュームタイプが同じ QoS 仕様に関連付けられている場合はすべてのボリュームタイプの関連付けを解除することもできます。

重要

ボリュームがすでにインスタンスにアタッチされている場合、QoS 制限は、ボリュームがデタッチされてからこのインスタンスに再アタッチされたときにのみ、このボリュームから削除されます。

前提条件

  • QoS 仕様を作成、設定、関連付け、および関連付け解除するには、プロジェクト管理者である必要があります。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  2. QoS 仕様に関連付けられているボリュームタイプの関連付けを解除します。

    • QoS 仕様に関連付けられた特定のボリュームタイプの関連付けを解除するには、次の手順を実行します。

      $ openstack volume qos disassociate <qos_spec_name> --volume-type <volume_type>
      Copy to Clipboard Toggle word wrap
      • <qos_spec_name> を QoS 仕様の名前または ID に置き換えます。openstack volume qos list コマンドを実行すると、すべての QoS 仕様の名前と ID をリスト表示できます。
      • <volume_type> を、この QoS 仕様に関連付けられたボリュームタイプの名前または ID に置き換えます。cinder type-list コマンドを実行して、すべてのボリュームタイプの名前と ID を一覧表示できます。
    • QoS 仕様に関連付けられているすべてのボリュームタイプの関連付けを解除するには、次の手順を実行します。

      $ openstack volume qos disassociate <qos_spec_name> --all
      Copy to Clipboard Toggle word wrap
  3. QoS 仕様の関連付けが解除されていることを確認します。

    $ openstack volume qos list
    Copy to Clipboard Toggle word wrap

    この QoS 仕様の Associations 列には、指定されたボリュームタイプが含まれていないか、すべてのボリュームタイプの関連付けが解除されている場合は空でなければなりません。

  4. openstackclient Pod を終了します。

    $ exit
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat