Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ContrailへのvMXインストールの準備

vRouter を DPDK モードで実行している場合、OpenStack 環境を準備する際には以下の点に注意してください。

  • Contrail 3.0 の場合は、DPDK を使用するように Contrail ノードをプロビジョニングするための testbed.py ファイルを設定してください。 「 DPDKを使用してContrailクラスターノードをプロビジョニングするための testbed.py ファイルの準備」を参照してください。

    Contrail 4.0 の場合は、必ず DPDK を使用して Contrail ノードをプロビジョニングしてください。 DPDKを使用してContrail 4.0クラスターノードをプロビジョニングするためのserver.jsonファイルの準備を参照してください。

  • コンピューティングノードの /etc/default/grub で有効にしますiommu=pt

  • contrail-3.0.3.0-69 リリースを使用している場合は、次のコマンドを使用してコンピューティングノードを手動で libvirt 1.2.16 パッケージにアップグレードし、nova-compute サービスと libvirt-bin サービスを再起動します。

  • すべてのVMに対してヒュージ・ページを有効にして、トラフィックの送信を許可します。

  • コマンドを使用して、計算ノード contrail-status でDPDKが有効になっているかどうかを確認します。のステータス contrail-vrouter-dpdk はアクティブです。

  • Contrail 仮想ホスト ネットワーク (コンピューティング ノードとコントローラー ノードを接続する) と SR-IOV ネットワーク (VFD プロセスに提供される) に使用される NIC カードが異なることを確認します。コマンドを使用して、 ethtool -i bus-info フィールドが異なるカードからのものであることを確認します。

vMX をインストールするために OpenStack 環境を準備するには、以下のタスクを実行します。

vMX 用のコントローラノードの準備

コントローラーノードを準備するには、次のようにします。

  1. /etc/nova/nova.conf ファイルのパラメータを編集scheduler_default_filtersして、ヒュージ・ページと CPU アフィニティを有効にするようにコントローラー・ノードを構成します。次のフィルターが存在することを確認します。
    メモ:

    CPU ピニングがオンかオフかにかかわらず、この構成をお勧めします。 巨大なページは常にオンです。

    コマンドを使用してスケジューラサービス service nova-scheduler restart を再起動します。

  2. 既定のクォータを更新します。
    メモ:

    これらの既定値をお勧めしますが、環境に適した場合は別の値を使用できます。既定のクォータに十分なリソースが割り当てられていることを確認します。

    コマンドを使用して変更 nova quota-defaults を確認します。

  3. (Contrail 3.0 のみ)コントローラノードで SR-IOV インターフェイスを有効にするには、vMX ソフトウェア のダウンロードページから vMX KVM ソフトウェア パッケージをダウンロードしてパッチを適用します。

    パッケージを解凍し、ディレクトリを root に変更し、 openstack/kilo/openstack_vfd_patches ディレクトリからパッチを適用します。

  4. (Contrail 4.0 の場合、Junos OS リリース 17.4R1 以降)コントローラーノードでSR-IOVインターフェイスを有効にするには、 https://bugs.launchpad.net/opencontrail/+bug/1709822 で説明されているContrailパッチが適用されていることを確認します。そうしないと、エラーメッセージが表示されることがあります Unknown Neutron Exception

計算ノードの準備

vMX 用のコンピューティング ノードの準備

コンピュートノードを準備するには:

  1. IOMMU (intel_iommu=on) を有効にし、ブート時と再起動時に巨大なページをサポートするように各コンピューティング ノードを構成します。GRUB_CMDLINE_LINUX_DEFAULT パラメータの下の / etc/default/grub に設定を追加します。
    メモ:

    vRouter を DPDK モードで実行している場合、または virtio に VLAN プロバイダー OVS ネットワークを使用している場合は、 も含める必要があります iommu=pt

    コマンドを実行し、 update-grub その後に reboot コマンドを実行します。

  2. (オプション)Huge Pageが有効になっているVMが正常にデプロイされていることを確認します。

    unable to create backing store for hugepages: Permission deniedコンピューティングノードの /var/log/nova/nova-compute.log ファイルにメッセージが表示された場合は、次のタスクを実行します。

    1. libvirt が巨大なページをマウントまたは使用するための新しいディレクトリを作成します。

      mkdir -p /run/hugepages/kvm/

    2. このディレクトリに巨大なテーブルfsをマウントします。

      mount -t hugetlbfs hugetlbfs-kvm /run/hugepages/kvm/

    3. このディレクトリ入力を hugetlbfs のマウント場所として / etc/libvirt/qemu.conf に明示的に指定します。
    4. etc/default/qemu-kvm に KVM_HUGEPAGES=1 を追加します。
    5. コンピューティング ノードを再起動します。

    再起動後、 コマンドで cat /proc/meminfo | grep Huge ヒュージ・ページが割り当てられていることを確認します。

Contrail 4.0 の SR-IOV インターフェイス用のコンピューティング ノードの設定

Junos OS リリース 17.4R1 以降、以下の手順は Contrail 4.0 のみを対象としています

(Contrail 4.0 の場合)SR-IOV インターフェイスを設定するには、次の手順を実行します。

  1. BIOS で VT-d を有効にします。(システムによって VT-d を有効にする方法が異なるため、ベンダーにプロセスを確認することをお勧めします)。
  2. BIOS で ASPM を有効にします。

    ASPM が有効になっていることを確認するには、次のコマンド lspci -vv | grep ASPM | grep Enabled を使用します。

  3. (オプション)Intel Ivy Bridge プロセッサを使用している場合は、ファイルに追加 options kvm-intel enable_apicv=N して再起動します /etc/modprobe.d/kvm-intel.conf
  4. 変更した IXGBE ドライバーをロードします。

    ドライバをコンパイルする前に、gccとmakeがインストールされていることを確認してください。

    デフォルトの IXGBE ドライバーをアンロードし、変更されたジュニパーネットワークスドライバーをコンパイルして、変更された IXGBE ドライバーをロードします。

    物理デバイス上に仮想関数 (VF) を作成します。vMX は、SR-IOV トラフィックに対して 1 つの VF (eth4 など) のみを必要とします。次の行は、eth2 (最初の IXGBE NIC) に VF がなく、eth4 (2 番目の IXGBE NIC) に 1 つの VF があることを指定します。

    これらの値は、構成に応じて指定します。

    eth2 および eth4 インターフェイスのドライバーバージョン (3.19.1) を確認します。

  5. インターフェイスが稼働しており、SR-IOV トラフィックがインターフェイスを通過できることを確認するには、次のコマンドを実行して設定を完了します。

    VF 0 の状態を確認するには:

    この例では、VF 0 のみが表示されます。

  6. /etc/nova/nova.conf ファイルを編集して、SR-IOV NIC カードの PCI パススルー許可リストエントリを追加します。

    たとえば、このエントリは、物理ネットワーク physnet2 の SR-IOV インターフェイスカード (eth4) のエントリを追加します。

    コマンドを使用してコンピュートノードサービス service nova-compute restart を再起動します。

Contrail 3.0 の SR-IOV インターフェイス用のコンピューティングノードの設定

メモ:

次の手順は、Contrail 3.0 および VFD エージェントのみを対象としています。

(Contrail 3.0 のみ)SR-IOV インターフェイスを設定するには、次の手順を実行します。

  1. BIOS で VT-d を有効にします。(システムによって VT-d を有効にする方法が異なるため、ベンダーにプロセスを確認することをお勧めします)。
  2. BIOS で ASPM を有効にします。

    ASPM が有効になっていることを確認するには、次のコマンド lspci -vv | grep ASPM | grep Enabled を使用します。

  3. (オプション)Intel Ivy Bridge プロセッサを使用している場合は、ファイルに追加 options kvm-intel enable_apicv=N して再起動します /etc/modprobe.d/kvm-intel.conf
  4. vMXソフトウェアのダウンロードページからvMX KVMソフトウェアパッケージをダウンロードして、パッチを適用します。

    パッケージを解凍し、ディレクトリを root に変更し、 openstack/kilo/openstack_vfd_patches ディレクトリからパッチを適用します。

  5. IXGBEVF ドライバーをアンロードします。

    vfio-pci モジュールをロードします。

    物理デバイス上に仮想関数 (VF) を作成します。vMX は、SR-IOV トラフィックに対して 1 つの VF (eth4 など) のみを必要とします。1 つだけ使用していますが、32 個の VF を作成していることに注意してください。

    VF が作成されたことを確認するために、コマンドの出力 lspci -nn | grep Ether |grep Virtual | wc -l32が表示されます。

  6. インターフェイスが稼働しており、SR-IOV トラフィックがインターフェイスを通過できることを確認するには、次のコマンドを実行して設定を完了します。

    VF 0 の状態を確認するには:

    この例では VF 0 のみが表示されていますが、32 個の VF すべてが出力に表示されます。

  7. /etc/nova/nova.conf ファイルを編集して、SR-IOV NIC カードの PCI パススルー許可リストエントリを追加します。

    たとえば、このエントリは、物理ネットワーク physnet2 の SR-IOV インターフェイスカード (eth4) のエントリを追加します。

    VFエージェントエントリーを nova.confに追加します。

    コマンドを使用してコンピュートノードサービス service nova-compute restart を再起動します。

  8. VFD エージェントをインストールします。VFD 1.14 Debian パッケージバージョンを使用してください。

    サンプル ファイルから vfd.cfg をコピーします。

    default_mtu vfd.cfg ファイル内の値とpciids id値を編集します。

    たとえば、編集された値は、物理関数 (PF) の ID で次のようになります。

    コマンドで service vfd start VFDプロセスを開始します。

    コマンドで service vfd status プロセスが正常に開始されたことを確認します。

    メモ:

    VFD プロセスが実行されている間、VFD に接続されているインターフェイスは または ip link コマンドでifconfig表示されません。iplex show allコマンドを使用して、PF のリンクがアップしていることを確認します。

  9. VFIO に正しい権限が提供されていることを確認します。 "/dev/vfio/vfio" / etc/libvirt/qemu.conf のパラメータの下に cgroup_device_acl エントリを追加します。

    次のコマンドで service libvirt-bin restart libvirtd を再起動します。

リリース履歴テーブル
リリース
説明
17.4R1
Junos OS リリース 17.4R1 以降、以下の手順は Contrail 4.0 のみを対象としています