Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenStack へのvMXのインストール

このトピックを読んで、OpenStack 環境にvMXをインストールする方法を理解してください。

OpenStack 環境のインストールを準備vMX

OpenStack コマンド を実行する前に、openstackrc ファイルがソースで提供されている必要があります。

OpenStack 環境にソフトウェア をインストールする準備vMX、以下のタスクを実行します。

Neutron Networks の構築

データ インスタンスを起動する前に、vMX Neutron ネットワークをvMXがあります。パブリック ネットワークは、管理(fxp0)ネットワークに使用される Neutron ネットワークです。WAN ネットワークは、ネットワークに対応する WAN インターフェイスが追加されたvMXネットワークです。

Neutron ネットワーク名を表示するには、 コマンドを使用 neutron net-list します。

メモ:

OpenStack 構成で必要なネットワークのタイプを特定し、作成する必要があります。

これらのコマンドは、1 つの方法でパブリック ネットワークを作成できます。

  • 例えば:

  • virtio については、次のコマンドを WAN ネットワークを作成する 1 つの方法として使用できます。

    例えば:

  • SR-IOV では、これらのコマンドを WAN ネットワークを作成する 1 つの方法として使用できます。

    例えば:

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

ネットワークを管理するためのコントローラ ノードvMX

コントローラ ノードを準備するには、次の方法に当たって行います。

  1. scheduler_default_filters /etc/nova/nova.confファイル内のパラメータを編集することで、巨大ページとCPUアフィニティを有効にするコントローラ ノードを設定します。以下のフィルターが存在し、それを確認します。

    このコマンドを使用してスケジューラ サービスを再起動します。

    • Red Hat の場合: systemctl restart openstack-nova-scheduler.service

    • Ubuntu の場合(Junos OS リリース 17.2R1): service nova-scheduler restart

  2. デフォルトの割り当て量を更新します。
    メモ:

    これらのデフォルト値は推奨されますが、環境に適している場合は異なる値を使用できます。デフォルトの割り当てには、割り当てられたリソースが十分か確認します。

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

  3. heat パッケージが 5.0.1-6 以降である必要があります。このパッケージは rhel-7-server-openstack-8-rpms の一部です

    コマンドを使用してバージョンを検証 rpm -qa | grep heat します。

    このコマンドを使用して heat パッケージを更新します。

    • Red Hat の場合: yum update openstack-heat-engine

    • Ubuntu の場合(Junos OS リリース 17.2R1): apt-get install heat-engine

  4. lsb(redhat-lsb-core または lsb-release)と ctl パッケージがインストールされていることを確認します。
    • Red Hat の場合:

    • Ubuntu の場合(Junos OS リリース 17.2R1):

virtio Interfaces 向けコントローラ ノードの設定

virtio インターフェイスを設定するには、次の手順に示します。

  1. /etc/neutron/プラグイン/ml2/ml2_conf.ini ファイルのパラメーターに追加して、VLAN vlan type_drivers メカニズム ドライバーを有効にします。
  2. 次の行を追加して、 /etc/neutron/プラグイン/ml2/ml2_conf.ini ファイルにブリッジ マッピングを追加します。

    たとえば、次の設定を使用して、OVS ブリッジ br-vlan にマッピングされた物理ネットワーク physnet1 のブリッジ マッピングを追加します。

  3. /etc/neutron/プラグイン/ml2/ml2_conf.ini physical-network-name ファイル内の物理ネットワークに使用する VLAN 範囲を設定します。これは、virtio WAN ネットワーク用に作成した Neutron ネットワークの名前です。

    たとえば、以下の設定を使用して、物理ネットワーク physnet1 に使用される VLAN 範囲を設定します。

  4. Neutron サーバーを再起動します。
    • Red Hat の場合: systemctl restart neutron-server

    • Ubuntu の場合(Junos OS リリース 17.2R1): service neutron-server restart

  5. 物理ネットワークと virtio インターフェイス(eth2)にマッピングされた OVS ブリッジを追加します。

    たとえば、次のコマンドを使用して OVS ブリッジ br-vlan と eth2 インターフェイスを追加します。

SR-IOVインターフェイスのコントローラ ノードの設定

メモ:

複数の SR-IOV インターフェイスを使用している場合は、追加の SR-IOV インターフェイスごとに 1 つの専用の物理 10G インターフェイスが必要です。

メモ:

SRIOV モードでは、VLAN プロバイダ OVS ネットワーク上の virtio インターフェイスを使用して、ルーティング エンジン(RE)とパケット転送エンジン間の通信が有効になります。この理由から、特定の物理インターフェイスを VirtIO ネットワークと SR-IOV ネットワークの両方の一部にすることはできません。

SR-IOV インターフェイスを設定するには、次の手順に示します。

  1. /etc/neutron/プラグイン/ml2/ml2_conf.ini sriovnicswitch ファイルを編集して、メカニズム ドライバーおよび物理ネットワークに使用される VLAN 範囲として追加します。

    たとえば、以下の設定を使用して、物理ネットワーク physnet2 に使用される VLAN 範囲を設定します。

    SR-IOV ポートを追加する場合は、各物理ネットワークに使用される VLAN 範囲を追加する必要があります(カンマ区切り)。たとえば、2 つの SR-IOV ポートを設定する場合は、以下の設定を使用します。

  2. /etc/neutron/プラグイン/ml2/ml2_conf_sriov.ini ファイルを編集して、PCI デバイスの詳細を追加します。
  3. Neutron サーバー –-config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini ファイルにハイライト表示されている項目を追加します。
    • Red Hat の場合:

      /usr/lib/systemd/system/neutron-server.service ファイルをハイライト表示された方法で編集します。

      コマンドを使用 systemctl restart neutron-server してサービスを再起動します。

    • Ubuntu の場合(Junos OS リリース 17.2R1):

      /etc/init/neutron-server.conf ファイルをハイライト表示として編集します。

      コマンドを使用 service neutron-server restart してサービスを再起動します。

  4. SR-IOV デバイスを適切にスケジューリングするには、コンピューティング スケジューラで FilterScheduler と PciPassthroughFilter フィルターを使用する必要があります。

    PciPassthroughFilter フィルターがコントローラー ノードの /etc/nova/nova.conf ファイルで設定されていることを確認します。

    スケジューラ サービスを再起動します。

    • Red Hat の場合: systemctl restart openstack-nova-scheduler

    • Ubuntu の場合(Junos OS リリース 17.2R1): service nova-scheduler restart

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

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

メモ:

config_drive_format=vfat /etc/nova/nova.confファイルにパラメーターを含めてvMXインスタンスにメタデータを渡すコンピューティング ノードを設定する必要はなくなりました。

コンピューティング ノードを準備するには、以下の方法が必要です。

  1. 起動時および再起動時に巨大なページをサポートする各コンピューティング ノードを設定します。
    • Red Hat の場合:巨大ページの構成を追加します。

      コマンドを使用 mount | grep boot して、ブート デバイス名を指定します。

    • Ubuntu(すべてのリリースJunos OSで17.2R1): パラメーターの下で、 /etc/default/grub に巨大ページの設定を追加 GRUB_CMDLINE_LINUX_DEFAULT します。

    再起動後、巨大なページが割り当てられるを確認します。

    巨大ページの数は、VFP のメモリ容量、巨大ページのサイズ、VFP インスタンス数によって異なります。膨大なページ数を計算するには、以下を行います。 ( /memory-for-vfp huge-pages-size) * number-of-vfp

    たとえば、12G のメモリと 200 万の巨大ページ サイズを使用して、パフォーマンス モードで 4 つの vMX インスタンス(4 つの VFP)を実行した場合、式で計算した巨大ページ数は(12G/2M)*4 または 24576 です。

    メモ:

    リリース Junos OS 以降15.1F6では、パフォーマンス モードがデフォルトの動作モードになります。詳細については、「 パフォーマンス モードまたは Lite モードの有効化 」を参照してください

    メモ:

    コンピューティング ノードには十分な物理メモリが必要です。巨大ページに割り当てられた後に残っているメモリの量によって巨大ページを使用しない他のアプリケーションは、メモリの量によって制限されるので、巨大ページに割り当てられたメモリの量を超える必要があります。たとえば、2,4576 の巨大ページと 200 万の巨大ページのサイズを割り当てる場合、巨大ページには 2,4576*2M または 48G のメモリが必要です。

    コマンドを使用して vmstat -s 、合計メモリと使用メモリ値を確認して、巨大なページを使用しない他のアプリケーションに残っているメモリの量を確認できます。

  2. /etc/ default/grub ファイルで IOMMU を有効 にする。文字列を intel_iommu=on パラメーターの既存のテキストに追加 GRUB_CMDLINE_LINUX します。

    grub ファイルを生成します。

    • Red Hat の場合: grub2-mkconfig -o /boot/grub2/grub.cfg

    • Ubuntu の場合(Junos OS リリース 17.2R1): update-grub

    コンピューティング ノードを再起動します。

  3. Virtioネットワーク用のブリッジを追加し、physnet1を設定します。

    たとえば、OVS ブリッジが br-vlan 追加されます。(これは、コントローラ上 br-vlan で上記の bridge_mappings.ini ml2_confで追加されたのと同じです。 virtio Interfacesについては、「 コントローラ ノードの設定 」を参照してください)。このブリッジに、VM 間の Virtio 通信に使用できる eth2 インターフェイスを追加します。

    /etc/neutron/plugins/ml2/openvswitch_agent.ini では、文字列を追加 physnet1:br-vlan します。

    Neutron サービスを再起動します。

    • Redhat:

      systemctl restart neutron-openvswitch-agent.service

      systemctl restart openstack-nova-compute.service

    • Ubuntu

      service nova-compute restart

      service neutron-plugin-openvswitch-agent restart

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

メモ:

複数の SR-IOV インターフェイスを持つ場合は、追加の SR-IOV インターフェイスごとに 1 つのNIC 10G イーサネット カードが必要です。

SR-IOV インターフェイスを設定するには、次の手順に示します。

  1. 修正された IXGBE ドライバーをロードします。

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

    • Red Hat の場合:

    • Ubuntu の場合(Junos OS リリース 17.2R1):

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

    eth4インターフェイスでドライバーバージョンを検証します。

    たとえば、次のサンプルでは、 コマンドでドライバー バージョン(3.19.1)が表示されます。

  2. 物理デバイス上に VF(仮想機能)を作成します。現在vMX SR-IOV インターフェイスごとに 1 つの VF(eth4 など)のみをサポートしています。

    各仮想マシン上のVF数をNIC。次の行は、eth2(最初の NIC)の VF と、eth4 用の 1 つの VF(SR-IOV インターフェイスをNIC第 2 のインターフェイス)がないNIC示しています。

    VF が作成されたと確認するには、コマンドの出力 ip link show eth4 には次の行が含まれます。

    インターフェイスがアップされ、SR-IOV トラフィックがそれらのトラフィックを通過できるよう、これらのコマンドを実行して設定を完了します。

  3. SR-IOV エージェントをインストールします。
    • Red Hat の場合: sudo yum install openstack-neutron-sriov-nic-agent

    • Ubuntu の場合(Junos OS リリース 17.2R1): sudo apt-get install neutron-plugin-sriov-agent

  4. 次の行を追加して、物理デバイス マッピングを /etc/neutron/プラグイン/ml2/sriov_agent.ini ファイルに追加します。

    たとえば、次の設定を使用して、SR-IOV インターフェイス eth4 にマッピングされた物理ネットワーク physnet2 のブリッジ マッピングを追加します。

    SR-IOV ポートを追加する場合は、各物理ネットワークのブリッジ マッピングを追加する必要があります(カンマ区切り)。たとえば、物理ネットワーク physnet3 用の SR-IOV インターフェイス eth5 を追加する場合は、以下の設定を使用します。

  5. SR-IOV エージェント サービス ファイルを編集して、ハイライト表示として –-config-file /etc/neutron/plugins/ml2/sriov_agent.ini 追加します。
    • Red Hat の場合:

      /usr/lib/systemd/system/neutron-sriov-nic-agent.service ファイルをハイライト表示として編集します。

      SR-IOV エージェントを有効にして開始します。

      コマンドを systemctl status neutron-sriov-nic-agent.service 使用して、エージェントが正常に開始されたことを確認します。

    • Ubuntu の場合(Junos OS リリース 17.2R1):

      /etc/init/neutron-plugin-sriov-agent.conf ファイルをハイライト表示として編集します。

      /etc/neutron/プラグイン/ml2/sriov_agent.ini に正しい権限が与え、neutron がファイルのグループである必要があります。

      service neutron-plugin-sriov-agent start SR-IOV エージェントを起動するには、 コマンドを使用します。

      コマンドを service neutron-plugin-sriov-agent status 使用して、エージェントが正常に開始されたことを確認します。

  6. SR-IOV デバイスの PCI パススルー 許可リスト エントリーを追加するには、 /etc/nova/nova.conf ファイルを編集します。

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

    さらに SR-IOV ポートを追加する場合は、各 SR-IOV インターフェイスの PCI パススルー 許可リスト エントリーを追加する必要があります(カンマで区切ります)。たとえば、物理ネットワーク physnet3 用の SR-IOV インターフェイス eth5 を追加する場合は、以下の設定を使用します。

    コンピューティング ノード サービスを再起動します。

    • Red Hat の場合: systemctl restart openstack-nova-compute

    • Ubuntu の場合(Junos OS リリース 17.2R1): service nova-compute restart

デバイスのvMX

OpenStack 環境の準備が終わると、VCP および VFP VM のノバス の種類と一見の画像を作成する必要があります。スクリプトは、スタートアップの設定ファイルで提供される情報に基づいて、さまざまな種類と画像を作成します。

vMX設定ファイルの設定

設定ファイルの設定にvMXパラメーターは、起動時の設定ファイルで定義されています。

設定ファイルを設定するには、以下の方法に当たって行います。

  1. パッケージのvMXから KVM ソフトウェア パッケージをダウンロードvMX パッケージを圧縮解除します。

    tar xvf package-name

  2. ディレクトリをファイルの場所に変更します。

    cd package-location/openstack/scripts

  3. vmx.confテキスト ファイルをテキスト エディターで編集し、単一のインスタンスに合vMXします。

    要件に基づいて、設定ファイルで以下のパラメータが正vMX確認します。

    • re-flavor-name

    • pfe-flavor-name

    • vcpus

    • memory-mb

    パラメーター の詳細については、「 vMX設定ファイル パラメーターの指定 」を参照してください。

    スタートアップvMXファイルのサンプル

    OpenStack のスタートアップvMX例を以下に示します。

設定vMX パラメーターの指定

仮想ネットワークの設定に必要vMXパラメーターは、起動時の設定ファイル(スクリプト/vmx.conf)で定義されています。スタートアップ設定ファイルは、さまざまな種類の作成に使用されるファイルを生成します。異なるまたはパラメータを持つ新vcpusしい種類をmemory-mb作成するにはre-flavor-namepfe-flavor-name、対応するパラメータを変更してから新しい種類を作成する必要があります。

設定をカスタマイズするには、以下のタスクを実行します。

ホストの設定

ホストを設定するには、HOST に移動 、以下のパラメータを指定します。

  • virtualization-type:動作モード、する必要があります openstack

  • compute—(オプション)カンマ区切りリストで vMX実行するコンピューティング ノードの名前。このパラメータが指定されている場合は、有効なコンピューティング ノードである必要があります。このパラメータが指定されている場合、vMXされたインスタンスは、指定されたコンピューティング ノードでのみ実行されます。

    このパラメータが指定されていない場合、nova hypervisor-listコマンドの出力は、これらのインスタンスを実行するコンピューティング ノードvMXします。

VCP VM の設定

VCP VM を設定するには、そのうえの名前を指定する必要があります。

メモ:

OpenStack は同じ名前の複数 re-flavor-name のエントリーを作成できるから、パラメーターには一意の値を推奨します。

VCP VM を設定するには、仮想 マシンに移動 CONTROL_PLANE、以下のパラメーターを指定します。

  • re-flavor-name—ノバス フレーバーの名前。

  • vcpus—VCP の vCPU 数。最小は 1 です。

    メモ:

    この値を変更した場合、スクリプトを実行してさまざまな種類 re-flavor-name を作成する前に値を変更する必要があります。

  • memory-mb—VCP のメモリ量。最小は 4 GB です。

    メモ:

    この値を変更した場合、スクリプトを実行してさまざまな種類 re-flavor-name を作成する前に値を変更する必要があります。

VFP VM の設定

VFP VM を設定するには、そのうえの名前を指定する必要があります。要件に応じて、メモリと vCPU 数を変更できます。最小 ハードウェア要件については、「 最小 ハードウェア要件 」を参照してください。

VFP VM を設定するには、VFP VM に移動 FORWARDING_PLANE、以下のパラメーターを指定します。

  • pfe-flavor-name—ノバス フレーバーの名前。

  • memory-mb—VFP のメモリ量。最小は 12 GB(パフォーマンス モード)および 4 GB(Lite モード)です。

    メモ:

    この値を変更した場合、スクリプトを実行してさまざまな種類 pfe-flavor-name を作成する前に値を変更する必要があります。

  • vcpus—VFP の vCPU 数。最小は 7(パフォーマンス モード)および 3(lite モード)です。

    メモ:

    7 つ未満の vCPU を指定すると、VFP は自動的にライト モードに切り替わります。

    メモ:

    この値を変更した場合、スクリプトを実行してさまざまな種類 pfe-flavor-name を作成する前に値を変更する必要があります。

OpenStack の種類の作成

VCPとVFPの種類を作成するには、仮想マシンの起動設定ファイル(vmx.conf vMX上でスクリプトを実行する必要があります

OpenStack を作成するには、以下の方法が必要です。

  1. 起動設定 vmx_osp_create_flavor.py ファイルを使用して実行し、さまざまな種類を vmx_osp_flavors.sh 作成するファイルを生成します。

    ./vmx_osp_create_flavor.py vmx.conf

  2. 実行して、 vmx_osp_flavors.sh さまざまな種類を作成します。

    sh vmx_osp_flavors.sh

VCP vMX FP のファイル イメージのインストール

VCP および VFP vMX OpenStack の概要画像をインストールするには、スクリプトを実行 vmx_osp_images.sh します。スクリプトにより、vCP イメージが qcow2 形式で追加され、VFP ファイルが vmdk 形式で追加されます。

VCP と VFP の画像をインストールするには、次の手順に示します。

  1. パッケージのvMXから KVM ソフトウェア パッケージをダウンロードvMX パッケージを圧縮解除します。

    tar xvf package-name

  2. 非圧縮パッケージからソフトウェア イメージの場所をvMXします。「パッケージ vMXコンテンツ」を参照してください

    ls package-location/images

  3. ディレクトリを OpenStack スクリプト ファイルvMX場所に変更します。

    cd package-location/openstack/scripts

  4. スクリプトを実行 vmx_osp_images.sh して、概要画像をインストールします。

    sh vmx_osp_images.sh vcp-image-name vcp-image-location vfp-image-name vfp-image-location

    メモ:

    パラメーターは、この順序で指定する必要があります。

    • vcp-image-name—概要画像の名前。

    • vcp-image-location:VCP を起動 するために junos-vmx-x86-64*.qcow2 ファイルへの絶対パス。

    • vfp-image-name—概要画像の名前。

    • vfp-image-location:VFP を起動 するための vFPC-*.多 元ファイルへの絶対パス。

たとえば、このコマンドは 、/var/tmp/junos-vmx-x84-17.1R1.8.qcow2 ファイルから再テストとして VCP イメージをインストールし、VFP イメージを /var/tmp/vFPC-20170117. ファイルから fpc-test としてインストールします。

sh vmx_osp_images.sh re-test /var/tmp/junos-vmx-x86-64-17.1R1.8.qcow2 fpc-test /var/tmp/vFPC-20170117.img

概要の画像を表示するには、 コマンドを使用 glance image-list します。

インスタンスのvMX開始

vMXを開始するには、以下のタスクを実行します。

初期構成Junos OS変更

vMXインスタンスを起動すると、/package-locationopenstack/vmx-components/vms/vmx_baseline.confにあるJunos OS設定ファイルがロードされます。この設定を変更する必要がある場合は、デバイスを起動する前にこのファイルを変更vMX。

メモ:

独自のファイルvmx_baseline.confを作成するか、ファイルを移動する場合は、/openstack/vmx-components/vms/re.yaml が正しいパスを参照していることを確認します。package-location

vMX インスタンスの起動

仮想インスタンスを作成してvMXするには、次のvMXします。

  1. 設定用に /package-locationopenstack/1vmx.env 環境ファイルでこれらのパラメータを変更します。環境ファイルは YAML 形式で、リリース Junos OSで17.4R1。
    • net_id1—WAN ポートに使用されている既存の Neutron ネットワークのネットワーク ID。コマンドを使用 neutron net-list してネットワーク ID を表示します。

    • public_network—管理(fxp0)ポートに使用されている既存の Neutron ネットワークのネットワーク ID。コマンドを使用 neutron net-list | grep public してネットワーク ID を表示します。

    • fpc_img—このパラメータを . に変更します linux-img。VFP の概要画像の名前。スクリプトを実行 vfp-image-name してスクリプトを実行して新しいイメージをインストールする際に指定したvMXと同じです。

    • vfp_image—VFP の概要画像の名前。スクリプトを実行して vfp-image-name vMX イメージをインストールする際に指定したパラメーターと同じ(For Junos OS 17.3R1 以前に適用可能)。

    • fpc_flav—このパラメータを . に変更します linux-flav。VFP の nova フレーバーの名前。設定ファイルで pfe-flavor-name 指定されたパラメーター vMX同じです。

    • vfp_flavor—VFP の nova フレーバーの名前。は、設定 pfe-flavor-name ファイルで指定されたvMXパラメータと同じです(Junos OS リリース 17.3R1以前に適用されます)。

    • junos_flav—VCP の nova フレーバーの名前。パラメーターと re-flavor-name 同じvMX設定ファイルで指定されます。

    • vcp_flavor—VCP の nova フレーバーの名前。は、設定 re-flavor-name ファイルで指定されたvMXパラメータと同じです(Junos OS リリース 17.3R1に適用されます)。

    • junos_img—VCP の概要画像の名前。スクリプトを実行して vcp-image-name スクリプトを実行して新しいイメージをインストールする際に指定したvMXと同じことを示します。

    • vcp_image—VCP の概要画像の名前。スクリプトを実行して vcp-image-name スクリプトを実行する際に指定したパラメーターと同じvMX イメージ(Junos OS 17.3R1 以前に適用)。

    • project_name—任意のプロジェクト名。すべてのリソースでこの名前がプレフィックスとして使用されます。

    • gateway_ip—ゲートウェイ IP アドレス。

  2. コマンドを使用してvMXインスタンスを起動 heat stack-create –f 1vmx.yaml –e 1vmx.env vmx-name します。

    このサンプル設定は、1つのWANポートvMX FPCで1つのインスタンスを開始します。

  3. コマンドを使用してvMXが作成されたを検証 heat stack-list | grep vmx-name します。
  4. コマンドを使用して、VCP および VFP VM が存在を検証 nova-list します。
  5. コマンド出力に表示されるインスタンスのIDを使用して、VCPまたはVFP VM nova get-vnc-console nova-id novnc nova-idnova-list アクセスします。
メモ:

request system halt コマンドを使用vMXホスト サーバーを再起動する前に、すべてのインスタンスをシャット ダウンする必要があります。