10.9.2. データプレーン (EDPM) Ansible 変数
Ansible の変数セットを使用すると、OVS-DPDK および SR-IOV を搭載したデータプレーンノードのパフォーマンスを最適化するために、CPU とメモリーのパラメーターを調整できます。
以下の Ansible ロール変数は、カスタムリソース (CR) で使用できます。
- 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に指定します。