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
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタム YAML 環境ファイルを作成します。
例
vi /home/stack/templates/my-neutron-environment.yaml
$ vi /home/stack/templates/my-neutron-environment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 環境ファイルの
parameter_defaults
セクションに次の行を追加します。parameter_defaults: ControllerExtraConfig: neutron::config::server_config: agent/dscp_inherit: value: true
parameter_defaults: ControllerExtraConfig: neutron::config::server_config: agent/dscp_inherit: value: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Source コマンドで認証情報ファイルを読み込みます。
例
source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規 QoS ポリシーを作成します。
例
openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 qos-web-servers
openstack network qos policy create --project 98a2f53c20ce4d50a40dac4a38016c69 qos-web-servers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DSCP ルールを作成し、それをポリシーに適用します。
例
この例では、DSCP ルールは DSCP マーク
18
を使用して作成され、qos-web-servers
ポリシーに適用されます。openstack network qos rule create --type dscp-marking --dscp-mark 18 qos-web-servers
openstack network qos rule create --type dscp-marking --dscp-mark 18 qos-web-servers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルールに割り当てられている DSCP 値を変更できます。
例
openstack network qos rule set --dscp-mark 22 qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
openstack network qos rule set --dscp-mark 22 qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DSCP ルールを削除できます。
例
openstack network qos rule delete qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
openstack network qos rule delete qos-web-servers d7f976ec-7fab-4e60-af70-f59bf88198e6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
DSCP ルール (d7f976ec-7fab-4e60-af70-f59bf88198e6) が QoS ポリシー (qos-web-servers) に適用されていることを確認します。
例
openstack network qos rule list qos-web-servers
openstack network qos rule list qos-web-servers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
+-----------+--------------------------------------+ | dscp_mark | id | +-----------+--------------------------------------+ | 18 | d7f976ec-7fab-4e60-af70-f59bf88198e6 | +-----------+--------------------------------------+
+-----------+--------------------------------------+ | dscp_mark | id | +-----------+--------------------------------------+ | 18 | d7f976ec-7fab-4e60-af70-f59bf88198e6 | +-----------+--------------------------------------+
Copy to Clipboard Copied! Toggle word wrap Toggle overflow