Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

10.3. 送信トラフィックの DSCP マーキング

differentiated services code point (DSCP) を使用すると、IP ヘッダーに関連の値を埋め込むことで、ネットワーク上に quality-of-service (QoS) ポリシーを実装することができます。Networking service (neutron) QoS ポリシーは、DSCP マーキングを使用して、neutron ポートとネットワーク上で送信トラフィックを管理することができます。

手順

  1. 以下のいずれかを実行します。

    • ML2/OVN を使用している場合、手順 2 にスキップします。
    • トンネリングプロトコルなしで ML2/OVS を使用する場合、手順 2 に進みます。
    • トンネリングプロトコル (VXLAN および GRE) で ML2/OVS を使用している場合、次の手順を実行します。

      1. アンダークラウドホストに stack ユーザーとしてログインします。

        $ source ~/stackrc
      2. カスタム YAML 環境ファイルを作成します。

        $ vi /home/stack/templates/my-neutron-environment.yaml

      3. YAML 環境ファイルの parameter_defaults セクションに次の行を追加します。

        parameter_defaults:
            ControllerExtraConfig:
                neutron::config::server_config:
                  agent/dscp_inherit:
                    value: true

        dscp_inherittrue の場合、Networking サービスは内部ヘッダーの DSCP 値を外部ヘッダーにコピーします。

      4. コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、deployment コマンドを実行します。

        重要

        後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。

        $ openstack overcloud deploy --templates \
        -e [your-environment-files] \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/ \
        neutron-ovs.yaml \
        -e /home/stack/templates/my-neutron-environment.yaml

  2. Source コマンドで認証情報ファイルを読み込みます。

    $ source ~/overcloudrc

  3. 新規 QoS ポリシーを作成します。

    openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 qos-web-servers

  4. DSCP ルールを作成し、それをポリシーに適用します。

    この例では、DSCP ルールは DSCP マーク 18 を使用して作成され、qos-web-servers ポリシーに適用されます。

    openstack network qos rule create --type dscp-marking --dscp-mark 18 qos-web-servers

    出力例

    Created a new dscp_marking_rule:
    +-----------+--------------------------------------+
    | Field     | Value                                |
    +-----------+--------------------------------------+
    | dscp_mark | 18                                   |
    | id        | d7f976ec-7fab-4e60-af70-f59bf88198e6 |
    +-----------+--------------------------------------+

  5. ルールに割り当てられている DSCP 値を変更できます。

    openstack network qos rule set --dscp-mark 22 qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6

  6. DSCP ルールを削除できます。

    openstack network qos rule delete qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6

検証

  • DSCP ルール (d7f976ec-7fab-4e60-af70-f59bf88198e6) が QoS ポリシー (qos-web-servers) に適用されていることを確認します。

    openstack network qos rule list qos-web-servers

    出力例

    +-----------+--------------------------------------+
    | dscp_mark | id                                   |
    +-----------+--------------------------------------+
    |        18 | d7f976ec-7fab-4e60-af70-f59bf88198e6 |
    +-----------+--------------------------------------+

関連情報