KVMへのvMXのインストール
このトピックを読んで、KVM 環境に仮想 MX ルーターをインストールする方法を理解してください。
Ubuntuホストのインストール準備vMX
デバイスをインストールするためにUbuntuホストシステムを準備するには(vMX Junos OSリリース15.1F6:
-
ハードウェアおよびソフトウェアの最小要件に記載されている最小ソフトウェア および OS 要件を満たします。
-
「Kernel のアップグレード」 および 「libvirt 1.2.19 へのアップグレード」を参照してください。
-
Intel XL710 PCI-Express ファミリー カードを使用している場合は、必ずドライバーを更新してください。X710デバイスのドライバーの更新 をNIC。
-
BIOS で Intel VT-d を有効にします。(さまざまなシステムでVT-dを有効にする方法が異なため、ベンダーにプロセスを検証することをお勧めします)。
~を参照してくださいで VT-d を有効にする手順を説明します。
-
KSM_ENABLED=0
/etc/default/qemu-kvm の設定により KSM を無効にします。 -
/etc/modprobe.d/qemu-system-x86.confファイルを編集し、 を含む行に追加して、A 仮想化PICサーバーを無効
enable_apicv=0
にしますoptions kvm_intel
。options kvm_intel nested=1 enable_apicv=0
-
ホストを再起動して KSM と APIC デバイスを仮想化。
-
SR-IOV を使用している場合は、このステップを実行する必要があります。
注:/etc/network/interfaces内に外部ブリッジを使用して前のインストールを削除し、元の管理インターフェイスを使用して復元する必要があります。インストールを続行
ifconfig -a
する前に、 コマンドに外部ブリッジが表示されないか確認します。外部ブリッジが表示されるかどうかを確認するには、 コマンドを使用して管理
ifconfig
インターフェイスを表示します。このインターフェイスが外部ブリッジ グループに使用されているかどうかを確認するには、 コマンドを使用して、管理インターフェイスが外部ブリッジbrctl show
として表示されるかどうかを確認します。intel_iommu=on
/etc/default/grubディレクトリでオンにすることで、SR-IOV 機能を有効にします。GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
文字列を
intel_iommu=on
パラメーターの既存のテキストに追加GRUB_CMDLINE_LINUX_DEFAULT
します。コマンドの
update-grub
後にコマンドを実行reboot
します。 -
最適なパフォーマンスを実現するには、ホスト上で巨大ページのサイズを 1G に設定し、VFP の 1G が少なくとも 16 の巨大ページを持つ必要があります。巨大ページのサイズを設定するには 、/etc/default/grub の次の行を追加します。
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=number-of-huge-pages"
巨大ページの数は少なくとも(16G * )である必要 number-of-numa-sockets があります。
-
インストールする
modprobe kvm-intel
前に コマンドを実行vMX。
18.2 Junos OS 以降のリリースから、Ubuntu 16.04.5 LTS および Linux 4.4.0-62-generic がサポートされています。
最小のソフトウェア要件および OS 要件を満たすには、以下のタスクを実行する必要がある場合があります。
カーネルのアップグレード
Ubuntu 16.04 バージョンでの Linux カーネルのアップグレードは必要ありません。
3.19.0-80-generic に付属した Ubuntu 14.04.1 LTS を使用している場合は、このステップをスキップできます。Ubuntu 14.04 には、推奨バージョン(Linux 3.19.0-80-generic)よりも下位バージョンのカーネル(Linux 3.13.0-24-generic)が付属しています。
カーネルをアップグレードするには、以下の手順に当たって行います。
-
カーネルのバージョンを確認します。
uname -a Linux rbu-node-33 3.19.0-80-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
-
バージョンがステップ 1 に示すバージョンと異なる場合は、次のコマンドを実行します。
apt-get install linux-firmware apt-get install linux-image-3.19.0-80-generic apt-get install linux-image-extra-3.19.0-80-generic apt-get install linux-headers-3.19.0-80-generic
-
システムを再起動します。
libvirt 1.2.19 へのアップグレード
Ubuntu 16.04.5 は Libvirt バージョンが 1.3.1 に対応しています。Ubuntu 16.04 での libvirt のアップグレードは必要ありません。
Ubuntu 14.04 は libvirt 1.2.2(VFP lite モードで動作)をサポートしています。VFPパフォーマンス モードを使用している場合、またはVFP liteモードを使用して複数のvMXインスタンスを導入している場合、libvirt 1.2.19にアップグレードする必要があります。
libvirt をアップグレードするには、次の手順に実行します。
-
「ハードウェアおよびソフトウェアの最小要件」に記載されているパッケージ はすべて必ずインストールしてください。
-
コマンドを使用 して/tmp ディレクトリに
cd /tmp
移動します。 -
コマンドを
libvirt-1.2.19
使用してソース コードを取得しますwget http://libvirt.org/sources/libvirt-1.2.19.tar.gz
。 -
コマンドを使用してファイルの圧縮を解除し、解除
tar xzvf libvirt-1.2.19.tar.gz
します。 -
コマンドを 使用して、libvirt-1.2.19 ディレクトリに移動
cd libvirt-1.2.19
します。 -
コマンドを使用してlibvirtdを
service libvirt-bin stop
停止します。 -
コマンドを
./configure --prefix=/usr --localstatedir=/ --with-numactl
実行します。 -
コマンドを
make
実行します。 -
コマンドを
make install
実行します。 -
libvirtdデーモンが実行されている必要があります。(コマンドを
service libvirt-bin start
使用して、もう一度起動します。起動しない場合は、 コマンドを/usr/sbin/libvirtd -d
使用します)。root@vmx-server:~# ps aux | grep libvirtd root 1509 0.0 0.0 372564 16452 ? Sl 10:25 0:00 /usr/sbin/libvirtd -d
-
libvirtdおよびvirshのバージョンが1.2.19を示しています。
root@vmx-server:~# /usr/sbin/libvirtd --version libvirtd (libvirt) 1.2.19 root@vmx-server:~# /usr/bin/virsh --version 1.2.19 root@vmx-server:~#
システムには、コードのコンパイル ログが表示されます。
libvirt をアップグレードvMX後に仮想ネットワークを導入できない場合は、 コマンドを使用して virbr0 ブリッジをダウンし、コマンドを使用してブリッジ ifconfig virbr0 down
を削除 brctl delbr virbr0
します。
X710 デバイスのドライバーのNIC
Intel XL710 PCI-Express ファミリー NIC を使用している場合、デバイスを設置する前に必ずドライバーをvMX。
ドライバーを更新するには、以下の方法に当たって行います。
その他の必要なパッケージをインストールする
apt-get install python-pip apt-get install python-netifaces pip install pyyaml
Red Hat Enterprise Linux Host のインストール 準備 vMX
Red Hat Enterprise Linux を実行してソフトウェア をインストールするためのホスト システムを準備vMX、バージョンのタスクを実行します。
Red Hat Enterprise Linux 7.3 ホストをインストールするためのvMX
Red Hat Enterprise Linux 7.3 を実行してインストール用にホスト システムを準備するには、次の手順にvMX。
これで、デバイスをvMXできます。
コマンドと一緒vMXをインストール sh vmx.sh -lv --install
すると、カーネル バージョン不一致の警告が表示される場合があります。この警告は無視できます。
Red Hat Enterprise Linux 7.2 ホストをインストールするためのvMX
Red Hat Enterprise Linux 7.2 を実行してインストール用にホスト システムを準備するには、次の手順にvMX。
これで、デバイスをvMXできます。
コマンドと一緒vMXをインストール sh vmx.sh -lv --install
すると、カーネル バージョン不一致の警告が表示される場合があります。この警告は無視できます。
CentOSホストのインストール準備vMX
インストール用に CentOS を実行するホスト システムを準備するには、次のvMX。
これで、デバイスをvMXできます。
コマンドと一緒vMXをインストール sh vmx.sh -lv --install
すると、カーネル バージョン不一致の警告が表示される場合があります。この警告は無視できます。
さまざまな使用vMXへのアップグレード
アプリケーションのvMXは、特定の使用事例によって異なります。表は、一部の事例に関する構成要件vMX例を示しています。
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
5 GB:1 GB(VCP 用 4 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
10:VCP 9(VFP 用)1 |
20 GB:4 GB(VCP 用 16 GB、VFP) |
virtio |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス向け |
10:VCP 9(VFP 用)1 |
20 GB 4 GB(VCP 用 16 GB、VFP) |
SR-IOV |
デュアル仮想ルーティング エンジン
注:
別々のホストに導入する場合、VSP が相互に通信するために、ホスト間の接続を設定する必要があります。 |
両方の VCP インスタンスを導入する場合、特定の使用事例の VCP リソース数を 2 倍に消費します。 |
両方の VCP インスタンスを導入する場合、特定の使用事例の VCP リソース数を 2 倍に消費します。 |
virtio または SR-IOV |
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
5 GB:1 GB(VCP 用 4 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
8:1(VCP 7、VFP 用) |
16 GB:4 GB(VCP 用 12 GB、VFP) |
virtio |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス向け |
8:1(VCP 7、VFP 用) |
16 GB 4 GB(VCP 用 12 GB、VFP) |
SR-IOV |
デュアル仮想ルーティング エンジン
注:
別々のホストに導入する場合、VSP が相互に通信するために、ホスト間の接続を設定する必要があります。 |
両方の VCP インスタンスを導入する場合、特定の使用事例の VCP リソース数を 2 倍に消費します。 |
両方の VCP インスタンスを導入する場合、特定の使用事例の VCP リソース数を 2 倍に消費します。 |
virtio または SR-IOV |
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
5 GB:1 GB(VCP 用 4 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
8:1(VCP 7、VFP 用) |
16 GB:4 GB(VCP 用 12 GB、VFP) |
virtio |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス向け |
8:1(VCP 7、VFP 用) |
16 GB 4 GB(VCP 用 12 GB、VFP) |
SR-IOV |
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
5 GB:1 GB(VCP 用 4 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
8:1(VCP 7、VFP 用) |
16 GB:4 GB(VCP 用 12 GB、VFP) |
virtio |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス向け |
8:1(VCP 7、VFP 用) |
16 GB 4 GB(VCP 用 12 GB、VFP) |
SR-IOV |
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
10 GB:2 GB(VCP 用 8 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
10 GB:2 GB(VCP 用 8 GB、VFP) |
virtio または SR-IOV |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス(2 個の 10 Gb イーサネット ポートを使用) 最大 80 Gbps のパフォーマンス |
8:1(VCP 7、VFP 用) |
16 GB 4 GB(VCP 用 12 GB、VFP) |
SR-IOV |
使用事例 |
最小 vCPU 数 |
最小メモリ |
NIC デバイス タイプ |
---|---|---|---|
ラボシミュレーション 最大 100 Mbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
8 GB:2 GB(VCP 用 6 GB、VFP) |
virtio |
低帯域アプリケーション 最大 3 Gbps のパフォーマンス |
4:1(VCP 3、VFP 用) |
8 GB:2 GB(VCP 用 6 GB、VFP) |
virtio または SR-IOV |
高帯域幅アプリケーションまたはパフォーマンス テスト 3 Gbps 以上のパフォーマンス(2 個の 10 Gb イーサネット ポートを使用) 最大 80 Gbps のパフォーマンス |
5:1(VCP 4、VFP 用) |
8 GB、VCP の 場合は 2 GB、VFP の場合は 6 GB |
SR-IOV |
Junos OSリリース18.4R1(Ubuntuホスト)およびJunos OSリリース19.1R1(RedHatホスト)から、vMX設定ファイルで値を true に設定し、vMXインストール用のネットワーク インターフェイス カードに最新の未変更ドライバーを使用できます。 use_native_drivers
特定の使用vMXをインストールするには、以下のいずれかのタスクを実行します。
- ラボ シミュレーションvMXの設置
- 低帯域vMXへのインストール
- 高帯域幅vMXへのインストール
- デュアルルーティングvMXエンジンを使用したデバイスのインストール
- 混合 WAN vMXを使用したインターフェイスのインストール
ラボ シミュレーションvMXのインストール
最初のリリースJunos OS 14.1から、ラボシミュレーションの使用事例で、virtioを使用NIC。
ラボ シミュレーションvMX(100 Mbps 未満)のアプリケーションの使用事例に合ってソフトウェアをインストールするには、次の手順に示します。
次に、ラボ シミュレーションに virtio vMXを使用した起動設定ファイルの例を示します。
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/vmxlite/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/vmxlite/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/vmxlite/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #vRE VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 1024 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #vPFE VM parameters FORWARDING_PLANE: memory-mb : 4096 vcpus : 3 console_port: 8602 device-type : virtio interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 interface"
低帯域vMXへのインストール
リリース 14.1 Junos OSから、低帯域アプリケーションの使用事例では、virtio または SR-IOV NIC を使用しています。
低帯域幅vMX(最大 3 Gbps)のアプリケーションの用途に合って設置するには、次の手順に示します。
低帯域アプリケーションにvMX virtioデバイスタイプを使用したスタートアップ設定ファイルの例を以下に示します。
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #vRE VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #vPFE VM parameters FORWARDING_PLANE: memory-mb : 16384 vcpus : 9 console_port: 8602 device-type : virtio interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 interface"
高帯域幅vMXへのインストール
リリース 14.1 Junos OSから、広帯域幅アプリケーションの使用事例では、SR-IOV NIC を使用しています。
高帯域幅(3 Gbps vMXを超す)アプリケーションの使用事例に合ってソフトウェア をインストールするには、次の手順に示します。
SR-IOV デバイス vMXを使用した起動設定ファイルの例を以下に示します。
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 16384 vcpus : 9 console_port: 8602 device-type : sriov interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 port-speed-mbps : 10000 nic : eth1 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 connects to eth1" - interface : ge-0/0/1 port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"
詳細については、 例 : KVM上のインスタンスのvMX SR-IOVの有効化 を参照してください。
デュアル ルーティング エンジンvMXのインストール
vMXの起動設定ファイル(デフォルトファイルは config/vmx.conf)のCONTROL_PLANEセクションにプライマリルーティング エンジン(re0)とバックアップルーティング エンジン(re1)を作成することで、vMXサーバーに冗長ルーティングエンジンを設定できます。
ルーティング エンジンを別々のホストに導入する場合、VSP が相互に通信するために、ホスト間の接続を設定する必要があります。
リリース 18.1 Junos OSから、デュアル ルーティング エンジンのvMX用にソフトウェアをインストールします。
次に、このホスト上vMXのインスタンスを展開する起動設定ファイルルーティング エンジン例を示します。
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port : 8601 deploy : 0 interfaces : - type : static instance : 0 ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" - type : static instance : 1 console_port : 8612 ipaddr : 10.102.144.95 macaddr : "0A:00:DD:C0:DE:0F" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 12288 vcpus : 10 console_port: 8602 device-type : sriov interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 port-speed-mbps : 10000 nic : eth1 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 connects to eth1" - interface : ge-0/0/1 port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"
混合 WAN インターフェイスvMXをインストールする
リリース 17.2 Junos OS、混合 WAN インターフェイスの使用事例では、virtio および SR-IOV インターフェイスを使用します。設定要件の例は、SR-IOV デバイス タイプの使用の場合と同じです。
インターフェイスが混在したvMXをインストールするには、次の手順に示します。
次に、インターフェイスが混在したvMX起動時の設定ファイルの例を示します。
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 12288 vcpus : 10 console_port: 8602 device-type : mixed interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 type : virtio mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 type : sriov port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"