10.9. SR-IOV および OVS-DPDK 用の edpm-ansible 変数
このセクションでは、OVS-DPDK と SR-IOV が edpm-ansible 変数を使用して、Red Hat OpenStack Services on OpenShift (RHOSO) データプレーンノードで最適なパフォーマンスを得るために CPU とメモリーを設定する方法を説明します。この情報を使用して、コンピュートノード上のハードウェアサポートを評価し、ハードウェアをパーティション分割して OVS-DPDK および SR-IOV デプロイメントを最適化する方法を説明します。
CPU コアを割り当てる際には必ず、同じ物理コア上の CPU シブリングスレッド (あるいは論理 CPU) をペアにしてください。
Compute ノード上の CPU と NUMA ノードを特定する方法の詳細は、NUMA ノードのトポロジーの理解 を参照してください。この情報を使用して、CPU と他のパラメーターをマッピングして、ホスト、ゲストインスタンス、OVS-DPDK プロセスのニーズに対応します。
10.9.1. データプレーン (EDPM) Ansible 変数 リンクのコピーリンクがクリップボードにコピーされました!
以下の変数は、データプレーン (EDPM) Ansible ロールに含まれており、OVS-DPDK および SR-IOV の Red Hat OpenStack Services on OpenShift (RHOSO) データプレーンノードで最適なパフォーマンスを得られるように、このロールをカスタムリソース (CR) で使用して CPU とメモリーを設定します。
- edpm_ovs_dpdk
-
OVS-DPDK の
edpmAnsible 変数で定義された値を使用して、OVS-DPDK 設定を追加、変更、および削除できます。 - edpm_ovs_dpdk_pmd_core_list
- DPDK Poll Mode Driver (PMD) に使用する CPU コアを提供します。DPDK インターフェイスのローカルの NUMA ノードに関連付けられた CPU コアを選択します。
- edpm_ovs_dpdk_enable_tso
-
DPDK 機能の TCP セグメンテーションオフロード (TSO) を有効 (
true) または無効 (false) にします。デフォルトはfalseです。 - edpm_tuned_profile
-
カスタム TuneD プロファイルの名前。デフォルト値は
throughput-performanceです。 - edpm_tuned_isolated_cores
- ホストのプロセスから分離される CPU コアのセット。
- edpm_ovs_dpdk_socket_memory
NUMA ノードごとにヒュージページプールから事前に割り当てるメモリーの容量を MB 単位で指定します。
dpm_ovs_dpdk_socket_memoryは、OVS のother_config:dpdk-socket-memの値です。- コンマ区切りリストで指定します。
- DPDK NIC がない NUMA ノードの場合は、静的値 1024 MB (1 GB) を使用します。
NUMA ノード上の各 NIC の MTU 値から edpm_ovs_dpdk_socket_memory の値を計算します。この値は次の式で概算します。
MEMORY_REQD_PER_MTU = (ROUNDUP_PER_MTU + 800) * (4096 * 64) Bytes-
800はオーバーヘッドの値です。 -
4096 * 64は mempool 内のパケット数です。
-
-
NUMA ノードに設定されている各 MTU 値に
MEMORY_REQD_PER_MTUを加算し、さらに512MBをバッファーとして加算します。その値を1024の倍数に丸めます。
- edpm_ovs_dpdk_memory_channels
NUMA ノードごとに CPU 内のメモリーチャネルをマップします。edpm_ovs_dpdk_memory_channels は、OVS の other_config:dpdk-extra="-n <value>" の値です。
-
dmidecode -t memoryのコマンドを使用するか、お使いのハードウェアのマニュアルを参照して、利用可能なメモリーチャネルの数を確認します。 -
ls /sys/devices/system/node/node* -dのコマンドで NUMA ノードの数を確認します。 - 利用可能なメモリーチャネル数を NUMA ノード数で除算します。
-
- edpm_ovs_dpdk_vhost_postcopy_support
-
OVS-DPDK vhost のポストコピーサポートを有効または無効にします。これを
trueに設定すると、すべての vhost ユーザークライアントポートでポストコピーサポートが有効になります。 - edpm_nova_libvirt_qemu_group
-
edpm_nova_libvirt_qemu_groupをhugetlbfsに設定すると、ovs-vswitchd プロセスとqemuプロセスが、共有 huge page と、virtio-net deviceを設定する UNIX ソケットにアクセスできるようになります。この値はロールに固有で、OVS-DPDK を利用するすべてのロールに適用する必要があります。 - edpm_ovn_bridge_mappings
ブリッジと DPDK ポートのマッピングのリスト。
例:
edpm_ovn_bridge_mappings: - "datacentre:br-ex"- edpm_kernel_args
-
コンピュートノードのブート時用に、複数のカーネル引数を
/etc/default/grubに指定します。