9.6. OVS PMD 自動ロードバランスの設定
この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。テクノロジープレビュー機能についての詳しい情報は、対象範囲の詳細 を参照してください。
Open vSwitch (OVS) の Poll Mode Driver (PMD) スレッドを使用して、ユーザースペースのコンテキスト切り替えのために以下のタスクを実行できます。
- 入力ポートを連続的にポーリングしてパケットを取得する。
- 受信したパケットを分類する。
- 分類後のパケットに対してアクションを実行する。
ベアメタルノードの事前プロビジョニングとオーバークラウドのデプロイメントのパラメーターを編集して、OVS PMD スレッドのロードバランシングを自動的に行うように RHOSP デプロイメントを設定します。現時点では、ノードの事前プロビジョニングとオーバークラウドのデプロイメントの両方でこの機能を設定する必要があります。重複設定を不要にする取り組みの進捗状況は、BZ2139352 で確認できます。
手順
baremetal_deployment.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"
次の例に示すように
openstack overcloud node provision
コマンドにベアメタルデプロイメントファイルを追加します。例
openstack overcloud node provision \ --stack overcloud \ --network-config \ --templates /usr/share/openstack-tripleo-heat-templates \ --output ~/templates/overcloud-baremetal-deployed.yaml \ home/stack/$OSP17REF/network/baremetal_deployment.yaml
dpdk-config.yaml
またはカスタムファイルで、次のオーバークラウドデプロイメントパラメーターを設定します。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
dpdk-config.yaml
または dpdk 設定ファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。例
(undercloud)$ openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/dpdk-config.yaml