10.3. 送信トラフィックの DSCP マーキング
differentiated services code point (DSCP) を使用すると、IP ヘッダーに関連の値を埋め込むことで、ネットワーク上に quality-of-service (QoS) ポリシーを実装することができます。Networking service (neutron) QoS ポリシーは、DSCP マーキングを使用して、neutron ポートとネットワーク上で送信トラフィックを管理することができます。
手順
以下のいずれかを実行します。
- ML2/OVN を使用している場合、手順 2 にスキップします。
- トンネリングプロトコルなしで ML2/OVS を使用する場合、手順 2 に進みます。
トンネリングプロトコル (VXLAN および GRE) で ML2/OVS を使用している場合、次の手順を実行します。
アンダークラウドホストに
stack
ユーザーとしてログインします。$ source ~/stackrc
カスタム YAML 環境ファイルを作成します。
例
$ vi /home/stack/templates/my-neutron-environment.yaml
YAML 環境ファイルの
parameter_defaults
セクションに次の行を追加します。parameter_defaults: ControllerExtraConfig: neutron::config::server_config: agent/dscp_inherit: value: true
dscp_inherit
がtrue
の場合、Networking サービスは内部ヘッダーの DSCP 値を外部ヘッダーにコピーします。コア 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
Source コマンドで認証情報ファイルを読み込みます。
例
$ source ~/overcloudrc
新規 QoS ポリシーを作成します。
例
openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 qos-web-servers
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 | +-----------+--------------------------------------+
ルールに割り当てられている DSCP 値を変更できます。
例
openstack network qos rule set --dscp-mark 22 qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
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 | +-----------+--------------------------------------+
関連情報
- オーバークラウドの高度なカスタマイズの 環境ファイル
- Advanced Overcloud Customization の Including Environment Files in Overcloud Creation
- Command Line Interface Reference の network qos rule create
- コマンドラインインターフェイスリファレンス の network qos rule set
- コマンドラインインターフェイスリファレンス の network qos rule delete
- Command Line Interface Reference の network qos rule list