10.2. QoS ポリシー管理

quality-of-service (QoS) ポリシーは、動的に適用、変更、または削除することができます。帯域幅を制限するルールを手動で作成し、そのルールをポートに適用するには、以下の例に示す手順を実施します。

  1. /etc/neutron/plugins/ml2/<agent_name>_agent.ini で OpenStack Networking に対する qos 拡張機能がまだ有効にされていない場合は、以下の手順に従います。

    1. カスタム Heat 環境ファイルを作成して、以下の行を追加します。

      parameter_defaults:
        NeutronSriovAgentExtensions: 'qos'
      重要

      YAML ファイルでは、ファイル内でパラメーターがどこに置かれるかが非常に重要です。必ず parameter_defaults: は 1 列目から書き始め (先頭にスペースを置かない)、パラメーター/値のペアは 3 列目から書き始めてください (パラメーターの前にスペースを 2 つ置く)。

    2. 有効なすべての環境ファイルおよびこの新しいカスタム環境ファイルを指定して、Red Hat OpenStack Platform director コマンド openstack overcloud deploy を実行します。

      詳しい情報は、『 director のインストールと 使用方法』の「オーバークラウド環境 の変更」を参照してください。

  2. テナントの一覧を確認して、QoS ポリシーを作成するテナントの ID を決定します。

    # openstack project list
    +----------------------------------+----------+
    | ID                               | Name     |
    +----------------------------------+----------+
    | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors |
    | 519e6344f82e4c079c8e2eabb690023b | services |
    | 80bf5732752a41128e612fe615c886c6 | demo     |
    | 98a2f53c20ce4d50a40dac4a38016c69 | admin    |
    +----------------------------------+----------+
  3. admin テナントに bw-limiter という名前の QoS ポリシーを作成します。

    # openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 bw-limiter
  4. bw-limiter の規制ルールを設定します。

    # openstack network qos rule create --type bandwidth-limit --max-kbps 3000 --max-burst-kbits 30000 bw-limiter
  5. bw-limiter ポリシーを適用する neutron ポートを設定します

    # openstack port set --qos-policy bw-limiter port_name_or_id
  6. QoS ルールを確認します。以下に例を示します。

    # openstack network qos policy show 9be535c3-daa2-4d7b-88ea-e8de16
    
    +-------------------+---------------------------------+
    | Field             | Value                           |
    +-------------------+---------------------------------+
    | id                | 9be535c3-daa2-4d7b-88ea-e8de16  |
    | rule_type         | bandwidth_limit                 |
    | description       |                                 |
    | max_kbps          | 3000                            |
    | max_burst_kbps    | 300                             |
    +-------------------+---------------------------------+

以下の値により、規制のアルゴリズムを適宜に設定することができます。

  • max_kbps: インスタンスが送信可能な最大レート (Kbps 単位)
  • max_burst_kbps: トークンのバッファーが満杯であった場合にそのポートが一度に送信することができたデータの最大量 (キロビット単位)。トークンのバッファーは「max_kbps」のレートで補充されます。