第5章 SR-IOV デプロイメントのプランニング
NFV 向けの SR-IOV デプロイメントを最適化するには、コンピュートノードのハードウェアに応じて個別の OVS-DPDK パラメーターを設定する方法を理解する必要があります。
SR-IOV パラメーターに対するハードウェアの影響を評価するには、「ハードウェアイントロスペクションによる NUMA ノードトポロジーの把握」を参照してください。
5.1. NFV SR-IOV デプロイメント向けのハードウェアの分割 リンクのコピーリンクがクリップボードにコピーされました!
SR-IOV で高パフォーマンスを実現するには、ホストとゲストの間でリソースを分割する必要があります。
標準的なトポロジーでは、デュアルコアソケットのコンピュートノード上の NUMA ノードにはそれぞれ 14 のコアが実装されます。HT (ハイパースレッド) および非 HT のコアがサポートされています。各コアには 2 つのシブリングスレッドがあります。1 つのコアは、各 NUMA ノード上のホスト専用です。VNF は SR-IOV インターフェースのボンディングを処理します。すべての割り込み要求 (IRQ) はホストのコア上でルーティングされます。VNF コアは VNF 専用です。これらのコアは、他の VNF からの分離と、ホストからの分離を提供します。各 VNF は単一の NUMA ノードに適合し、ローカルの SR-IOV NIC を使用する必要があります。このトポロジーでは、仮想化のオーバーヘッドはありません。ホスト、OpenStack Networking (neutron)、および Compute (nova) の設定パラメーターは単一のファイルで公開されるので、管理が簡単で、整合性を保つことができます。また、プリエンプションやパケットロスの原因となり、分離を適切に行うにあたって致命的となる一貫性の欠如を回避します。ホストと仮想マシンの分離は、tuned プロファイルに依存します。このプロファイルは、分離する CPU の一覧に基づいて、ブートパラメーターや OpenStack の変更を管理します。
5.2. NFV SR-IOV デプロイメントのトポロジー リンクのコピーリンクがクリップボードにコピーされました!
以下の図には、2 つの VNF が示されています。各 VNF には、mgt で示された管理インターフェースおよびデータプレーンインターフェースがあります。管理インターフェースは ssh アクセスなどを管理します。データプレーンインターフェースは VNF を DPDK にボンディングして、高可用性を確保します (VNF は DPDK ライブラリーを使用してデータプレーンインターフェースをボンディングします)。この図には、2 つの冗長プロバイダーネットワークも示されています。コンピュートノードには 2 つの標準 NIC がボンディングされ、VNF 管理と Red Hat OpenStack Platform API 管理の間で共有されています。
この図は、アプリケーションレベルで DPDK を活用し、SR-IOV VF/PF へのアクセスが可能な VNF を示しています。これらにより、可用性またはパフォーマンスが向上します (ファブリックの設定による)。DPDK はパフォーマンスを向上させる一方、VF/PF DPDK のボンディングはフェイルオーバー (可用性) に対応します。VNF ベンダーは、DPDK PMD ドライバーが VF/PF として公開される SR-IOV カードを必ずサポートするようにする必要があります。また、管理ネットワークは OVS を使用するので、VNF は標準の VirtIO ドライバーを使用する mgmt ネットワークデバイスを認識します。オペレーターは、VNF への初回の接続にそのデバイスを使用して、DPDK アプリケーションに 2 つの VF/PF を適切にボンディングさせることができます。
5.2.1. HCI を使用しない NFV SR-IOV リンクのコピーリンクがクリップボードにコピーされました!
以下の図には、NFV ユースケース向けの HCI を使用しない SR-IOV のトポロジーを示しています。この環境は、1 Gbps の NIC を搭載したコンピュートノードおよびコントローラーノード、ならびに director ノードで構成されます。
5.2.2. HCI を使用する NFV SR-IOV リンクのコピーリンクがクリップボードにコピーされました!
以下の図には、NFV ユースケース向けの HCI を使用する SR-IOV のトポロジーを示しています。この環境は、1 または 10 Gbps の NIC を搭載したコンピュート OSD ノード (HCI を使用) およびコントローラーノード、ならびに director ノードで構成されます。