10.9. ノードプロビジョニング用の DPDK パラメーターの設定
Red Hat OpenStack Platform (RHOSP) OVS-DPDK 環境を設定して、Open vSwitch (OVS) ポールモードドライバー (PMD) スレッドの負荷を自動的に分散することができます。これを行うには、ベアメタルノードのプロビジョニング中およびオーバークラウドのデプロイメント中に RHOSP director が使用するパラメーターを編集します。
OVS PMD スレッドは、ユーザー空間のコンテキスト切り替えのために次のタスクを実行します。
- 入力ポートを連続的にポーリングしてパケットを取得する。
- 受信したパケットを分類する。
- 分類後のパケットに対してアクションを実行する。
前提条件
-
アンダークラウドホストへのアクセスと
stack
ユーザーの認証情報。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 stackrc
ファイルを取得します。$ source ~/stackrc
「ベアメタルノード定義ファイルの作成」 に作成したベアメタルノード定義ファイルにパラメーターを設定します (例:
overcloud-baremetal-deploy
.yaml)。pmd_auto_lb
-
PMD 自動ロードバランシングを有効にするには、
true
に設定します。 pmd_load_threshold
- PMD ロードバランスをトリガーする前に、1 つの PMD スレッドで一貫して使用する必要がある処理サイクルの割合。0 - 100 の範囲の整数。
pmd_improvement_threshold
PMD 自動ロードバランシングをトリガーする、非分離 PMD スレッド全体で評価された改善の最小パーセンテージ。0 - 100 の範囲の整数。
推定される改善を計算するために、再割り当てのドライランを実行し、推定不可分散と現在の分散を比較します。デフォルトは 25% です。
pmd_rebal_interval
2 つの連続する PMD 自動ロードバランシングが実施される間の最小時間 (分単位)。範囲は 0 - 20,000 分です。
トラフィックパターンが変更可能な場合に、再割り当てが頻繁に発生しないようにするには、この値を設定します。たとえば、10 分に 1 回、または数時間に 1 回、再割り当てをトリガーできます。
例
ansible_playbooks: … - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml extra_vars: … pmd_auto_lb: true pmd_load_threshold: "70" pmd_improvement_threshold: "25" pmd_rebal_interval: "2"
- 「OVS-DPDK カスタマイズ用の環境ファイルの作成」 に作成したカスタム環境 YAML ファイルを開くか、新しいものを作成します。
カスタム環境ファイルに、手順 3 で設定したのと同じベアメタルノードの事前プロビジョニング値を追加します。次の同等のパラメーターを使用します。
OvsPmdAutoLb
pmd_auto_lb
と同等の heat。PMD 自動ロードバランシングを有効にするには、
true
に設定します。OvsPmdLoadThreshold
pmd_load_threshold
と同等の heat。PMD ロードバランスをトリガーする前に、1 つの PMD スレッドで一貫して使用する必要がある処理サイクルの割合。0 - 100 の範囲の整数。
OvsPmdImprovementThreshold
pmd_improvement_threshold
と同等の heat。PMD 自動ロードバランシングをトリガーする、非分離 PMD スレッド全体で評価された改善の最小パーセンテージ。0 - 100 の範囲の整数。
推定される改善を計算するために、再割り当てのドライランを実行し、推定不可分散と現在の分散を比較します。デフォルトは 25% です。
OvsPmdRebalInterval
pmd_rebal_interval
と同等の heat。2 つの連続する PMD 自動ロードバランシングが実施される間の最小時間 (分単位)。範囲は 0 - 20,000 分です。
トラフィックパターンが変更可能な場合に、再割り当てが頻繁に発生しないようにするには、この値を設定します。たとえば、10 分に 1 回、または数時間に 1 回、再割り当てをトリガーできます。
例
parameter_merge_strategies: ComputeOvsDpdkSriovParameters:merge … parameter_defaults: ComputeOvsDpdkSriovParameters: … OvsPmdAutoLb: true OvsPmdLoadThreshold: 70 OvsPmdImprovementThreshold: 25 OvsPmdRebalInterval: 2
- NIC 設定テンプレートとカスタム環境ファイルのパスとファイル名をメモします。これらのファイルは、後でベアメタルノードをプロビジョニングし、オーバークラウドをデプロイするときに使用します。
次のステップ
- ネットワークと仮想 IP をプロビジョニングします。
ベアメタルノードをプロビジョニングする。
provision コマンドを実行するための入力として、
overcloud-baremetal-deploy.yaml
などのベアメタルノード定義ファイルを使用するようにしてください。- 「OVS-DPDK オーバークラウドのデプロイ」 に進みます。
関連情報
- director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドのネットワーク定義の設定とプロビジョニング
- director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドのネットワーク仮想 IP の設定とプロビジョニング
- director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドのベアメタルノードのプロビジョニング