第8章 OVS-DPDK デプロイメントの設定
本項では、OVS-DPDK を Red Hat OpenStack Platform 環境内にデプロイします。オーバークラウドは、通常コントローラーノードやコンピュートノードなどの事前定義済みロールのノードと、異なる種別のストレージノードで構成されます。これらのデフォルトロールにはそれぞれ、director ノード上のコア heat テンプレートで定義されている一式のサービスが含まれます。
オーバークラウドをデプロイする前に、アンダークラウドのインストールと設定が完了している必要があります。詳しくは、『 director のインストールと使用方法』 を参照してください。
OVS-DPDK 向けの OpenStack ネットワークを最適化するには、network-environment.yaml ファイルの OVS-DPDK パラメーターの最も適切な値を決定する必要があります。
etc/tuned/cpu-partitioning-variables.conf の isolated_cores や他の値を手動で編集したり変更したりしないでください。これらは director の heat テンプレートにより変更されます。
8.1. ワークフローを使用した DPDK パラメーターの算出 リンクのコピーリンクがクリップボードにコピーされました!
この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト用途にのみご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。
DPDK 向けの Mistral ワークフローに関する概要は、「ワークフローと派生パラメーター」を参照してください。
前提条件
このワークフローで取得されるデータを提供するには、ハードウェア検査で追加情報を取得するための追加のパラメーター (inspection_extras) を含むベアメタルのイントロスペクションを有効化しておく必要があります。ハードウェア検査の追加パラメーターはデフォルトで有効化されます。ノードのハードウェアについての詳しい情報は、「ノードの ハードウェアの検査」を 参照してください。
DPDK 向けのワークフローと入力パラメーターの定義
OVS-DPDK ワークフローで指定することができる入力パラメーターの概要を、一覧にして以下に示します。
- num_phy_cores_per_numa_node_for_pmd
- この入力パラメーターは、DPDK NIC に関連付けられた NUMA ノードの必要最小限のコア数を指定します。DPDK NIC に関連付けられていないその他の NUMA ノードには、物理コアが 1 つ割り当てられます。このパラメーターは 1 に設定するようにしてください。
- huge_page_allocation_percentage
-
この入力パラメーターは、
NovaReservedHostMemoryを除く合計メモリーに対して、ヒュージページとして設定可能な必要パーセンテージを指定します。KernelArgsパラメーターは、指定したhuge_page_allocation_percentageに基づいて計算されたヒュージページを使用して派生されます。このパラメーターは 50 に設定するようにしてください。
ワークフローは、これらの入力パラメーターとベアメタルのイントロスペクションの情報から、適切な DPDK パラメーター値を算出します。
DPDK 用のワークフローと入力パラメーターを定義するには、以下の手順を実行します。
usr/share/openstack-tripleo-heat-templates/plan-samples/plan-environment-derived-params.yamlファイルをローカルディレクトリーにコピーし、ご自分の環境に合わせて入力パラメーターを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack overcloud deployコマンドを実行し、以下の情報を追加します。-
update-plan-onlyオプション - ロールファイルおよびご自分の環境に固有の全環境ファイル
plan-environment-derived-parms.yamlファイル (--plan-environment-fileオプションの引数)openstack overcloud deploy --templates --update-plan-only \ -r /home/stack/roles_data.yaml \ -e /home/stack/<environment-file> \ ... _#repeat as necessary_ ...
$ openstack overcloud deploy --templates --update-plan-only \ -r /home/stack/roles_data.yaml \ -e /home/stack/<environment-file> \ ... _#repeat as necessary_ ... **-p /home/stack/plan-environment-derived-params.yaml**Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
このコマンドの出力には、派生した結果が表示されます。これは、plan-environment.yaml ファイルにもマージされます。
OvsDpdkMemoryChannels パラメーターはイントロスペクションの情報からは派生できません。大半の場合、この値は 4 に設定すべきです。
派生パラメーターを使用したオーバークラウドのデプロイ
これらの派生パラメーターを使用してオーバークラウドをデプロイするには、以下の手順を実行します。
派生パラメーターをデプロイコマンドの出力から
network-environment.yamlファイルにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ゲストインスタンス作成の失敗を避けるために、DPDK PMD 用の DPDK NIC の有無にかかわらず、各 NUMA ノード上で少なくとも 1 つの CPU を (シブリングスレッドと共に) 割り当てる必要があります。
注記これらのパラメーターは、特定のロール ComputeOvsDpdk に適用されます。これらのパラメーターをグローバルに適用することはできますが、グローバルパラメーターはロール固有のパラメーターによってオーバーライドされます。
- ロールファイルおよびご自分の環境に固有の全環境ファイルを使用して、オーバークラウドをデプロイします。
openstack overcloud deploy --templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/<environment-file> \ ... #repeat as necessary ...
openstack overcloud deploy --templates \
-r /home/stack/roles_data.yaml \
-e /home/stack/<environment-file> \
... #repeat as necessary ...
Compute、ComputeOvsDpdk、および ComputeSriov ロールが含まれるクラスターでは、ワークフローは ComputeOvsDpdk ロールにだけ式を適用し、Compute または ComputeSriovs には適用しません。