Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

例:KVM サーバー上の Ubuntu を使用して vSRX 3.0 で SR-IOV 10GbE 高可用性を設定する方法

この例では、vSRX 3.0 インスタンスで SR-IOV 10GbE 高可用性導入を設定する方法を示します。

要件

この例では、次のハードウェア、ソフトウェア コンポーネント、およびオペレーティング システムを使用します。

デバイス

  • vSRX 3.0

ソフトウェア

  • Junos OSリリース20.4R1

ハードウェア

  • NIC:インテルコーポレーションイーサネットコントローラX710 / X520 / 82599

  • ドライバ: i40e バージョン: 2.1.14-k または ixgbe バージョン: 5.1.0-k

  • CPU: インテル (R) キセオン (R) ゴールド 5120 CPU @ 2.20 GHz

  • 56個のCPU

  • 0 から 55 のオンライン CPU リスト

  • コアあたり 2 スレッド

  • ソケット当たり14コア

  • 2ソケット

  • 2 つの非一様メモリ アクセス (NUMA) ノード

SR-IOV でサポートされている NIC、ハイパーバイザー、およびポートの詳細については、「 ハードウェア仕様」を参照してください。

オペレーティング システム

表 1: SR-IOV HA でサポートされる KVM OS およびネットワーク アダプターの情報

KVM OSとネットワークアダプタ

サポート

Intel 82599/X520/X540 (82599 ixgb ドライバベース)

はい

Intel X710/XL710/XXV710/X722 (i40e ドライバーベース)

はい

メラノックス コネクトX-4/コネクトX-4 Lx

いいえ

Ubuntu 18.04 (カーネル:4.15.0 + libvirt:4.0.0) および 20.04 (カーネル:5.4.0 + libvirt:6.0.0) LTS

はい

Redhat 8.2 (カーネル:4.18.0 + libvirt:4.5.0)

はい

この例で使用されているオペレーティング システムは次のとおりです。

  • KVMサーバー上のUbuntu 18.04.3 LTS

  • カーネル:4.15.0-64-ジェネリック

  • カーネル: 4.18.0-193.1.2.el8_2.x86_64

  • Redhat RHEL 8.2

概要

この例では、次の方法を示します。

  • 10ギガビットの高可用性導入を設定する

  • NIC インターフェイスで VFs バス情報を構築し、XML テンプレートを変更する

  • 基本的なvSRX 3.0インスタンスの設定

高可用性環境では、制御リンクとファブリックデータリンクは、シャーシクラスタの安定性にとって重要な通信チャネルです。両方のリンクは、同じLinuxブリッジの一部です。ホストオペレーティングシステム(Ubuntu)は、ルーチンタスク用にvSRX 3.0コントロールプレーンに割り当てられたCPUを共有し、パケット処理用にvSRX 3.0 PFEデータプレーンスレッドの1つと共有します。このリソースの競合と、制御リンク専用の VLAN または NIC の欠如が相まって、ハートビート ミスの原因となる可能性があります。

メモ:

コマンドの使用中は use-actual-mac-on-physical-interfaces 、SR-IOVを介したファブリックリンクはサポートされません。

さらに、ホストでの割り込み処理もパフォーマンスに影響を与える可能性があります。パケットがNICに到達すると、ハードウェア割り込み表示とvSRX 3.0コントロールプレーンにサービスを提供するCPUコアが停止し、割り込みを処理する必要があります。NICからのパケット数が多いと、ハードウェアの割り込みが増加し、vSRX 3.0コントロールプレーンにサービスを提供するためのCPUリソースが少なくなります。

設計上の制約と CPU リソースの競合を克服するために、次の変更をお勧めします。

  • 各vSRX 3.0コントロールプレーン、vSRX 3.0データプレーン、およびホストオペレーティングシステムに専用CPUを割り当てます。

  • ホストに必要なメモリを割り当てます。

  • 高可用性導入におけるファブリックインターフェイスにSR-IOVを活用します。

  • 制御リンク通信用のGREを削除し、高可用性導入でマルチキャストを使用します。

  • IRQアフィニティを有効にして、vSRX 3.0コントロールプレーンとデータプレーンのCPUが処理する割り込みを回避します。

  • 物理 NIC 記述子を 512 バイトから 4096 バイトに拡大します。

vSRX 3.0のすべての収益ポートをSR-IOVとして設定することをお勧めします。また、KVM では、管理ポート -fxp0/制御ポート em0/ファブリック ポート ge-0/0/* で SR-IOV 高可用性を設定できます。

メモ:

SR-IOV 高可用性レイヤー 2 機能はサポートされていません。また、VMware と Mellanox NIC は SR-IOV の高可用性機能をサポートしていません。

図 1 に、この例で使用するトポロジを示します。

図 1: 高可用性の信頼と信頼解除のデュアル NIC トポロジ High Availability Trust and Untrust Dual NIC Topology

構成

SR-IOV 高可用性の導入

手順

SR-IOV 高可用性の導入を設定するには、次の手順を実行します。

  1. SR-IOV ポートを有効にします。

    ポートを使用するために必要な入力を入力します。

  2. 次の場所にあるデフォルトの grub ファイルで、次の変更を行います。

  3. アップグレード grub を実行します。

  4. ホストを再起動して、変更を有効にします。

  5. (オプション)コア 0-3 スイッチから割り込みコンテキスト - 割り込みサービス ルーチン (ISR) を使用して、今後の割り込みを処理します。NUMA 0 のコア 4 から 13 が vSRX に使用されます。次のスクリプトを実行します。

  6. すべての NIC で tx および rx バッファー サイズを 4096 に増やします。

  7. フロー制御をオフにします。

  8. 再起動後もサーバーが永続的かどうかを確認します。

  9. SR-IOV VF 信頼モードをオンに設定し、スプーフィング チェックをオフにします。

    または、以下のコマンドをrc.localスクリプトに追加することもできます。

NIC 上の仮想関数のビルド バス情報

手順

NIC で VF のバス情報を作成するには、次のようにします。

  1. バックアップ インターフェイスがわかったので、各 NIC 上のすべての VF のバス情報を特定する必要があります。

    信頼ネットワークのバックアップ インターフェイスには、最初の 3 つの VF に関するバス情報が必要です。

    信頼できないネットワークのバックアップ インターフェイスには、最初の 2 つの VF に関するバス情報が必要です。

  2. 表 2 に、テンプレートの作成に必要な XML から Junos へのインターフェイス マッピングを示します。

    表 2: XML から Junos インターフェイスへのマッピング

    Nic

    Vf

    バス情報

    インターフェイス

    XML の位置

    fxp0:

    fxp0:

    1

    em0

    em0

    2

    eth0

    0

    0000:18:02.0

    ge-0/0/0 fab0

    ge-7/0/0 fab1

    3

    1

    0000:18:02.1

    ge-0/0/1

    ge-7/0/1

    4

    2

    0000:18:02.2

    ge-0/0/5

    ge-7/0/5

    8

    eth1

    0

    0000:18:06.0

    ge-0/0/3

    ge-7/0/3

    6

    eth2

    0

    0000:18:0a.0

    ge-0/0/2

    ge-7/0/2

    5

    eth3

    0

    0000:18:0e.0

    ge-0/0/4

    ge-7/0/4

    7

    XML から Junos への設定は順次行われます。 表 3 に示すように、最初のインターフェイスは fxp0 に、2 番目のインターフェイスは em0 に割り当てられ、最後のインターフェイスは ge-0/0/9 に割り当てられます。

  3. 表2に基づいて下記表3を展開。

    表 3: Junos インターフェイスとバス情報

    XML の位置

    バス情報

    Junos インターフェイス

    1

    BR0

    fxp0:

    2

    BR1

    em0

    3

    0000:18:02.0

    ge-0/0/0

    4

    0000:18:02.1

    ge-0/0/1

    5

    0000:18:0a.0

    ge-0/0/2

    6

    0000:18:06.0

    ge-0/0/3

    7

    0000:18:0e.0

    ge-0/0/4

    8

    0000:18:02.2

    ge-0/0/5

  4. 以下の XML テンプレートのインターフェース・スタンザ 2、3、4、8、および 12 を 表 3 に従って変更します。

vSRX 3.0の設定

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

メモ:

この構成では、ge-0/0/3、ge-0/0/4、ge-7/0/3、ge-7/0/4 は使用されません。

検証

設定が正常に機能していることを確認します。

シャーシ クラスタ ステータスの検証

目的

シャーシ クラスタのステータス、統計情報、冗長グループ情報を検証します。

アクション

動作モードから、以下のコマンドを入力します。

導入結果の検証

意味

サンプル出力では、シャーシ クラスタ ステータスに手動フェイルオーバーがないことが示されており、スプーフィング チェックのステータスと SR-IOV VF TRUST モードの状態が表示されます。

結果

コンフィギュレーションモードから、 および show chassis コマンドを入力してshow security zones、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。