第9章 OVS-DPDK デプロイメントのプランニング
NFV 向けの Data Plane Development Kit 対応 Open vSwitch (OVS-DPDK) デプロイメントを最適化するには、OVS-DPDK が Compute ノードのハードウェア (CPU、NUMA ノード、メモリー、NIC) をどのように使用するかと、Compute ノードに応じた OVS-DPDK の各パラメーターを決定するにあたっての考慮事項を理解しておくべきです。
OVS-DPDK および OVS ネイティブファイアウォール (conntrack に基づくステートフルファイアウォール) を使用する場合、追跡することができるのは ICMPv4、ICMPv6、TCP、および UDP プロトコルを使用するパケットだけです。OVS は、その他すべてのネットワークトラフィック種別を無効と識別します。
Red Hat は、非 NFV ワークロードでの OVS-DPDK の使用をサポートしていません。NFV 以外のワークロードに OVS-DPDK 機能が必要な場合は、テクニカルアカウントマネージャー (TAM) に連絡するか、カスタマーサービスリクエストケースを開いて、サポートの例外やその他のオプションについて話し合ってください。カスタマーサービスリクエストケースを作成するには、ケースの作成 に移動し、アカウント > カスタマーサービスリクエスト を選択します。
9.1. CPU 分割と NUMA トポロジーを使用する OVS-DPDK
OVS-DPDK は、ホスト、ゲスト、およびそれ自体用にハードウェアリソースを分割します。OVS-DPDK Poll Mode Driver (PMD) は、専用の CPU コアを必要とする DPDK アクティブループを実行します。したがって、一部の CPU およびヒュージページを OVS-DPDK に割り当てる必要があります。
サンプルの分割では、デュアルソケットの Compute ノード上の 1 NUMA ノードにつき 16 コアが含まれます。ホストと OVS-DPDK 間で NIC を共有することができないので、トラフィックには追加の NIC が必要です。
図9.1 NUMA トポロジー: CPU パーティショニングを備えた OVS-DPDK
NUMA ノードに DPDK NIC が関連付けられていない場合でも、両方の NUMA ノードで DPDK PMD スレッドを確保する必要があります。
最高の OVS-DPDK パフォーマンスを得るためには、NUMA ノードにローカルなメモリーブロックを確保します。メモリーと CPU ピニングに使用する同じ NUMA ノードに関連付けられた NIC を選択してください。ボンディングを設定する両方のインターフェイスには、同じ NUMA ノード上の NIC を使用するようにしてください。