第4章 Quality of Service (QoS) ポリシーを使用したデータトラフィックの管理


サービスの品質 (QoS) ポリシーを使用して、Red Hat OpenStack Platform (RHOSP) ネットワークの Egress および Ingress トラフィックにレート制限を適用することで、VM インスタンスにさまざまなサービスレベルを提供できます。

個々のポートに QoS ポリシーを適用することも、特定のポリシーがアタッチされていないポートがポリシーを継承するプロジェクトネットワークに QoS ポリシーを適用することもできます。

注記

DHCP や内部ルーターポート等の内部ネットワークが所有するポートは、ネットワークポリシーの適用から除外されます。

QoS ポリシーは、動的に適用、変更、削除することができます。ただし、最小帯域幅を確保する QoS ポリシーには、ポリシーが割り当てられたポートを使用するインスタンスがない場合に限り、変更を適用することができます。

4.1. QoS ポリシーを使用した最小帯域幅の制御

Red Hat OpenStack Services on OpenShift (RHOSO) の Networking サービス (neutron) の場合、確保された最小帯域幅の QoS ルールは、Networking サービスのバックエンドの適用とリソース割り当てのスケジューリングの適用という 2 つの異なるコンテキストで適用できます。

ネットワークバックエンド (ML2/OVN または ML2/SR-IOV) は、ルールが適用される各ポートに、指定されたネットワーク帯域幅を確保することを試みます。

リソース割り当てスケジューリング帯域幅強制を使用すると、Compute サービス (nova) は最小帯域幅をサポートするホストにのみ VM インスタンスを配置します。

Networking サービスバックエンドの適用、リソース割り当てスケジューリングの適用、またはその両方を使用して、QoS 最小帯域幅ルールを適用できます。

次の表は、最小帯域幅の QoS ポリシーをサポートする Modular Layer2 (ML2) メカニズムドライバーを示しています。

Expand
表4.1 最小帯域幅の QoS をサポートする ML2 メカニズムドライバー
ML2 メカニズムドライバーエージェントVNIC タイプ

ML2/OVN

(該当なし)

normal

ML2/SR-IOV

sriovnicswitch

direct

4.1.1. Networking サービスのバックエンドの実行を使用した最小帯域幅の適用

Red Hat OpenStack Services on OpenShift (RHOSO) のサービス品質 (QoS) ポリシーをポートに適用することで、ポートのネットワークトラフィックの最小帯域幅を確保できます。これらのポートは、フラットまたは VLAN 物理ネットワークによってサポートされている必要があります。

注記

現在、Open Virtual Network メカニズムドライバー (ML2/OVN) を備えた Modular Layer 2 プラグインは、最小帯域幅の QoS ルールをサポートしていません。

前提条件

  • 管理者が、qos サービスプラグインを使用して Networking サービスを有効にした。(プラグインはデフォルトでロードされます。)
  • 管理者がプロジェクトを作成し、管理者からクラウドにアクセスするための clouds.yaml ファイルが提供されている。
  • python-openstackclient パッケージがワークステーション上に存在する。

    $ dnf list installed python-openstackclient
  • 同じ物理インターフェイス上で、帯域幅が確保されているポートと確保されていないポートを混在させないでください。これにより、確保されていないポートで必要なリソースが拒否される (枯渇する) 可能性があります。

    ヒント

    ホストアグリゲートを作成して、帯域幅が確保されているポートと帯域幅が確保されていないポートを分離します。

手順

  1. システムの OS_CLOUD 変数がクラウドに設定されていることを確認します。

    $ echo $OS_CLOUD
    my_cloud

    必要に応じて変数をリセットします。

    $ export OS_CLOUD=my_other_cloud

    代わりに、openstack コマンドを実行するたびに --os-cloud <cloud_name> オプションを追加してクラウド名を指定することもできます。

  2. qos サービスプラグインが Networking サービスにロードされていることを確認します。

    $ openstack network qos policy list

    qos サービスプラグインがロードされていない場合は、ResourceNotFound エラーが発生します。続行するには qos サービスプラグインをロードする必要があります。詳細は、RHOSO 管理者に問い合わせてください。

  3. QoS ポリシーを作成するプロジェクトの ID を特定します。

    $ openstack project list

    出力例

    +----------------------------------+----------+
    | ID                               | Name     |
    +----------------------------------+----------+
    | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors |
    | 519e6344f82e4c079c8e2eabb690023b | services |
    | 80bf5732752a41128e612fe615c886c6 | demo     |
    | 98a2f53c20ce4d50a40dac4a38016c69 | admin    |
    +----------------------------------+----------+

  4. 前の手順のプロジェクト ID を使用して、プロジェクトの QoS ポリシーを作成します。

    この例では、guaranteed_min_bw という名前の QoS ポリシーが admin プロジェクト用に作成されています。

    $ openstack network qos policy create --share \
     --project 98a2f53c20ce4d50a40dac4a38016c69 guaranteed_min_bw
  5. ポリシーのルールを設定します。

    この例では、guaranteed_min_bw という名前のポリシーに対して、最小帯域幅が 40000000 kbps の入力および出力の QoS ルールが作成されます。

    $ openstack network qos rule create \
     --type minimum-bandwidth --min-kbps 40000000 \
     --ingress guaranteed_min_bw
    
    $ openstack network qos rule create \
     --type minimum-bandwidth --min-kbps 40000000 \
     --egress guaranteed_min_bw
  6. ポリシーを適用するポートを設定します。

    この例では、guaranteed_min_bw ポリシーがポート 56x9aiw1-2v74-144x-c2q8-ed8w423a6s12 に適用されます。

    $ openstack port set --qos-policy guaranteed_min_bw \
     56x9aiw1-2v74-144x-c2q8-ed8w423a6s12

検証

  • ML2/SR-IOV

    ルートアクセスを使用して、Compute ノードにログインし、物理関数で保持されている仮想関数の詳細を表示します。

    # ip -details link show enp4s0f1

    出力例

    50: enp4s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master mx-bond state UP mode DEFAULT group default qlen 1000
        link/ether 98:03:9b:9d:73:74 brd ff:ff:ff:ff:ff:ff permaddr 98:03:9b:9d:73:75 promiscuity 0 minmtu 68 maxmtu 9978
        bond_slave state BACKUP mii_status UP link_failure_count 0 perm_hwaddr 98:03:9b:9d:73:75 queue_id 0 addrgenmode eui64 numtxqueues 320 numrxqueues 40 gso_max_size 65536 gso_max_segs 65535 portname p1 switchid 74739d00039b0398
        vf 0     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 1     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 2     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 3     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 4     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 5     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 6     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 7     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
        vf 8     link/ether fa:16:3e:2a:d2:7f brd ff:ff:ff:ff:ff:ff, tx rate 999 (Mbps), max_tx_rate 999Mbps, spoof checking off, link-state disable, trust off, query_rss off
        vf 9     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off

4.1.2. 最小帯域幅の QoS ポリシーを使用したインスタンスのスケジューリング

ポートに最小帯域幅 QoS ポリシーを適用して、Red Hat OpenStack Services on OpenShift (RHOSO) 仮想マシンインスタンスが生成されるホストに最小ネットワーク帯域幅を確保できます。

前提条件

  • 管理者が、qos および placement サービスプラグインを使用して Networking サービスを有効にした。qos サービスプラグインはデフォルトでロードされます。
  • 管理者がプロジェクトを作成し、管理者からクラウドにアクセスするための clouds.yaml ファイルが提供されている。
  • python-openstackclient パッケージがワークステーション上に存在する。

    $ dnf list installed python-openstackclient
  • Networking サービスは、次の API 拡張機能をサポートする必要があります。

    • agent-resources-synced
    • port-resource-request
    • qos-bw-minimum-ingress
  • ML2/OVN または ML2/SR-IOV メカニズムドライバーを使用する必要があります。
  • 最小帯域幅を確保する QoS ポリシーを変更できるのは、ポリシーが割り当てられたポートを使用するインスタンスがない場合に限る。ポートがバインドされている場合、Networking サービスは Placement API の使用情報を更新できない。
  • Placement サービスは、マイクロバージョン 1.29 をサポートする必要があります。
  • Compute サービス (nova) はマイクロバージョン 2.72 をサポートする必要があります。

手順

  1. システムの OS_CLOUD 変数がクラウドに設定されていることを確認します。

    $ echo $OS_CLOUD
    my_cloud

    必要に応じて変数をリセットします。

    $ export OS_CLOUD=my_other_cloud

    代わりに、openstack コマンドを実行するたびに --os-cloud <cloud_name> オプションを追加してクラウド名を指定することもできます。

  2. qos サービスプラグインが Networking サービスにロードされていることを確認します。

    $ openstack network qos policy list

    qos サービスプラグインがロードされていない場合は、ResourceNotFound エラーが発生します。続行するには qos サービスプラグインをロードする必要があります。詳細は、RHOSO 管理者に問い合わせてください。

  3. QoS ポリシーを作成するプロジェクトの ID を特定します。

    $ openstack project list

    出力例

    +----------------------------------+----------+
    | ID                               | Name     |
    +----------------------------------+----------+
    | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors |
    | 519e6344f82e4c079c8e2eabb690023b | services |
    | 80bf5732752a41128e612fe615c886c6 | demo     |
    | 98a2f53c20ce4d50a40dac4a38016c69 | admin    |
    +----------------------------------+----------+

  4. 前の手順のプロジェクト ID を使用して、プロジェクトの QoS ポリシーを作成します。

    この例では、guaranteed_min_bw という名前の QoS ポリシーが admin プロジェクト用に作成されています。

    $ openstack network qos policy create --share \
     --project 98a2f53c20ce4d50a40dac4a38016c69 guaranteed_min_bw
  5. ポリシーのルールを設定します。

    この例では、guaranteed_min_bw という名前のポリシーに対して、最小帯域幅が 40000000 kbps の入力および出力の QoS ルールが作成されます。

    $ openstack network qos rule create \
     --type minimum-bandwidth --min-kbps 40000000 \
     --ingress guaranteed_min_bw
    $ openstack network qos rule create \
     --type minimum-bandwidth --min-kbps 40000000 \
     --egress guaranteed_min_bw
  6. ポリシーを適用するポートを設定します。

    この例では、guaranteed_min_bw ポリシーがポート 56x9aiw1-2v74-144x-c2q8-ed8w423a6s12 に適用されます。

    $ openstack port set --qos-policy guaranteed_min_bw \
     56x9aiw1-2v74-144x-c2q8-ed8w423a6s12
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る