Instalación vMX en KVM
Lea este tema para comprender cómo instalar el enrutador MX virtual en el entorno KVM.
Preparación del host de Ubuntu para instalar vMX
Para preparar el sistema host Ubuntu para la instalación de vMX (a partir de Junos OS versión 15.1F6):
-
Cumpla los requisitos mínimos de software y SO descritos en Requisitos mínimos de hardware y software.
-
Consulte las secciones Actualizar el kernel y actualizar a libvirt 1.2.19 a continuación.
-
Si utiliza tarjetas de familia PCI-Express Intel XL710, asegúrese de actualizar los controladores. Consulte Actualización de controladores para el CIR X710.
-
Habilite Intel VT-d en la BIOS. (Recomendamos que verifique el proceso con el proveedor, ya que diferentes sistemas tienen métodos diferentes para habilitar VT-d.)
Consulte el procedimiento para activar VT-d disponible en el sitio web de Intel.
-
Desactive KSM estableciendo
KSM_ENABLED=0
en /etc/default/qemu-kvm. -
Desactive la virtualización de APIC editando el archivo /etc/modprobe.d/qemu-system-x86.conf
enable_apicv=0
y agregando a la línea que contieneoptions kvm_intel
.options kvm_intel nested=1 enable_apicv=0
-
Reinicie el host para deshabilitar la virtualización de KSM y APIC.
-
Si usa SR-IOV, debe llevar a cabo este paso.
Nota:Debe quitar cualquier instalación anterior con un puente externo en /etc/network/interfaces y revertir al uso de la interfaz de administración original. Asegúrese de que el comando
ifconfig -a
no muestra puentes externos antes de continuar con la instalación.Para determinar si se muestra un puente externo, utilice el
ifconfig
comando para ver la interfaz de administración. Para confirmar que esta interfaz se usa para un grupo de puente externo, utilicebrctl show
el comando para ver si la interfaz de administración se muestra como un puente externo.Active la capacidad SR-IOV activando
intel_iommu=on
el directorio /etc/default/grub .GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
Anexe
intel_iommu=on
la cadena a cualquier texto existente para elGRUB_CMDLINE_LINUX_DEFAULT
parámetro.Ejecute el
update-grub
comando seguido delreboot
comando. -
Para un rendimiento óptimo, recomendamos que configure el tamaño de las páginas enormes para que sean 1G en el host y asegúrese de que el nodo NUMA para el VFP tenga al menos 16 páginas enormes de 1G. Para configurar el tamaño de Las páginas enormes, agregue la siguiente línea en /etc/default/grub:
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=number-of-huge-pages"
La cantidad de páginas grandes debe ser al menos (16G * number-of-numa-sockets).
-
Ejecute el
modprobe kvm-intel
comando antes de instalar vMX.
A partir de Junos OS versiones 18.2 y posteriores, se admiten U kernel 16.04.5 LTS y Linux 4.4.0-62-generic.
Para cumplir con los requisitos mínimos de software y SO, es posible que deba llevar a cabo estas tareas:
Actualización del kernel
No es necesario actualizar el kernel de Linux en la versión 16.04 de U kernel.
Si está utilizando Ubuntu 14.04.1 LTS, que viene con 3.19.0-80-genérico, puede omitir este paso. Ubuntu 14.04 viene con una versión inferior del núcleo (Linux 3.13.0-24-genérico) que la versión recomendada (Linux 3.19.0-80-genérico).
Para actualizar el kernel:
-
Determine su versión del kernel.
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
-
Si su versión difiere de la que se muestra en el paso 1, ejecute los siguientes comandos:
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
-
Reinicie el sistema.
Actualización a libvirt 1.2.19
Ubuntu 16.04.5 es compatible con la versión de Libvirt es 1.3.1. No es necesario actualizar libvirt en Ubuntu 16.04.
Ubuntu 14.04 es compatible con libvirt 1.2.2 (que funciona para el modo VFP lite). Si usa el modo de rendimiento VFP o implementa varias instancias vMX mediante el modo VFP lite, debe actualizar a libvirt 1.2.19.
Para actualizar libvirt:
-
Asegúrese de instalar todos los paquetes enumerados en Requisitos mínimos de hardware y software.
-
Ir al directorio /tmp con el
cd /tmp
comando. -
Obtenga el
libvirt-1.2.19
código fuente con el comandowget http://libvirt.org/sources/libvirt-1.2.19.tar.gz
. -
Descomprima y desenvía el archivo con el
tar xzvf libvirt-1.2.19.tar.gz
comando. -
Ir al directorio libvirt-1.2.19 con el
cd libvirt-1.2.19
comando. -
Detenga libvirtd con el
service libvirt-bin stop
comando. -
Ejecute el
./configure --prefix=/usr --localstatedir=/ --with-numactl
comando. -
Ejecute el
make
comando. -
Ejecute el
make install
comando. -
Asegúrese de que el demonio libvirtd se está ejecutando. (Use el
service libvirt-bin start
comando para volver a iniciarlo. Si no se inicia, utilice el/usr/sbin/libvirtd -d
comando.)root@vmx-server:~# ps aux | grep libvirtd root 1509 0.0 0.0 372564 16452 ? Sl 10:25 0:00 /usr/sbin/libvirtd -d
-
Compruebe que las versiones de libvirtd y virsh son 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:~#
El sistema muestra el registro de compilación de código.
Si no puede implementar vMX después de actualizar libvirt, derribe el puente virbr0 ifconfig virbr0 down
con el comando y elimine el puente con el brctl delbr virbr0
comando.
Actualización de controladores para el X710 CIR
Si usa NICs de la familia PCI-Express Intel XL710, asegúrese de actualizar los controladores antes de instalar vMX.
Para actualizar los controladores:
Instalar los otros paquetes necesarios
apt-get install python-pip apt-get install python-netifaces pip install pyyaml
Preparación del host Red Hat Enterprise Linux para instalar vMX
Para preparar el sistema host en el que se ejecuta Red Hat Enterprise Linux vMX instalación, realice la tarea para su versión:
- Preparación del host Red Hat Enterprise Linux 7.3 para instalar vMX
- Preparación del host Red Hat Enterprise Linux 7.2 para instalar vMX
Preparación del host Red Hat Enterprise Linux 7.3 para instalar vMX
Para preparar el sistema host que ejecuta Red Hat Enterprise Linux 7.3 para instalar vMX:
Ahora puede instalar vMX.
Cuando instale una vMX con el sh vmx.sh -lv --install
comando, es posible que vea una advertencia de discordancia en la versión del kernel. Puede ignorar esta advertencia.
Preparación del host Red Hat Enterprise Linux 7.2 para instalar vMX
Para preparar el sistema host que ejecuta Red Hat Enterprise Linux 7.2 para instalar vMX:
Ahora puede instalar vMX.
Cuando instale una vMX con el sh vmx.sh -lv --install
comando, es posible que vea una advertencia de discordancia en la versión del kernel. Puede ignorar esta advertencia.
Preparación del host CentOS para instalar vMX
Para preparar el sistema host que ejecuta CentOS para instalar vMX:
Ahora puede instalar vMX.
Cuando instale una vMX con el sh vmx.sh -lv --install
comando, es posible que vea una advertencia de discordancia en la versión del kernel. Puede ignorar esta advertencia.
Instalación de vMX para diferentes casos de uso
La instalación vMX es diferente para casos de uso específicos. En la tabla, se enumeran los requisitos de configuración de ejemplo vMX casos de uso.
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
5 GB: 1 GB para VCP4 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
10:1 para VCP9 para VFP |
20 GB: 4 GB para VCP16 GB para VFP |
Virtio |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Por 3 Gbps y más rendimiento |
10:1 para VCP9 para VFP |
20 GB 4 GB para VCP16 GB para VFP |
SR-IOV |
Motores de enrutamiento virtual dual
Nota:
Cuando implemente en hosts independientes, debe configurar una conexión entre los hosts para que los V VCP se comuniquen entre sí. |
Al implementar ambas instancias de VCP, se consume el doble de recursos VCP para su caso de uso particular. |
Al implementar ambas instancias de VCP, se consume el doble de recursos VCP para su caso de uso particular. |
virtio o SR-IOV |
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
5 GB: 1 GB para VCP4 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
8:1 para VCP7 para VFP |
16 GB: 4 GB para VCP12 GB para VFP |
Virtio |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Por 3 Gbps y más rendimiento |
8:1 para VCP7 para VFP |
16 GB 4 GB para VCP12 GB para VFP |
SR-IOV |
Motores de enrutamiento virtual dual
Nota:
Cuando implemente en hosts independientes, debe configurar una conexión entre los hosts para que los V VCP se comuniquen entre sí. |
Al implementar ambas instancias de VCP, se consume el doble de recursos VCP para su caso de uso particular. |
Al implementar ambas instancias de VCP, se consume el doble de recursos VCP para su caso de uso particular. |
virtio o SR-IOV |
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
5 GB: 1 GB para VCP4 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
8:1 para VCP7 para VFP |
16 GB: 4 GB para VCP12 GB para VFP |
Virtio |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Por 3 Gbps y más rendimiento |
8:1 para VCP7 para VFP |
16 GB 4 GB para VCP12 GB para VFP |
SR-IOV |
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
5 GB: 1 GB para VCP4 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
8:1 para VCP7 para VFP |
16 GB: 4 GB para VCP12 GB para VFP |
Virtio |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Por 3 Gbps y más rendimiento |
8:1 para VCP7 para VFP |
16 GB 4 GB para VCP12 GB para VFP |
SR-IOV |
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
10 GB: 2 GB para VCP8 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
4:1 para VCP3 para VFP |
10 GB: 2 GB para VCP8 GB para VFP |
virtio o SR-IOV |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Para un rendimiento de 3 Gbps y más allá (con un mínimo de dos puertos Ethernet de 10 Gb) Hasta 80 Gbps de rendimiento sin formato |
8:1 para VCP7 para VFP |
16 GB 4 GB para VCP12 GB para VFP |
SR-IOV |
Caso de uso |
VCPU mínima |
Memoria mínima |
CIR tipo de dispositivo |
---|---|---|---|
Simulación de laboratorio Rendimiento de hasta 100 Mbps |
4: 1 para VCP3 para VFP |
8 GB: 2 GB para VCP6 GB para VFP |
Virtio |
Aplicaciones de banda ancha baja Rendimiento de hasta 3 Gbps |
4:1 para VCP3 para VFP |
8 GB: 2 GB para VCP6 GB para VFP |
virtio o SR-IOV |
Aplicaciones de alto ancho de banda o pruebas de rendimiento Para un rendimiento de 3 Gbps y más allá (con un mínimo de dos puertos Ethernet de 10 Gb) Hasta 80 Gbps de rendimiento sin formato |
5:1 para VCP4 para VFP |
8 GB 2 GB para VCP6 GB para VFP |
SR-IOV |
Desde Junos OS Release 18.4R1 (host Uhat) y Junos OS Release 19.1R1 (host RedHat), use_native_drivers
puede establecer el valor en true en el archivo de configuración de vMX para usar los controladores más recientes sin modificar para sus tarjetas de interfaz de red para instalaciones vMX
Para instalar vMX para un caso de uso determinado, realice una de las siguientes tareas:
- Instalación de vMX para la simulación de laboratorio
- Instalación de vMX para aplicaciones de banda ancha baja
- Instalación de vMX para aplicaciones de gran ancho de banda
- Instalación de vMX con motores de enrutamiento dual
- Instalación vMX con interfaces WAN mixtas
Instalación de vMX para la simulación de laboratorio
A partir de Junos OS versión 14.1, el caso de uso de la simulación de laboratorio utiliza la virtio CIR.
Para instalar vMX para la simulación de laboratorio (menos de 100 Mbps) caso de uso de la aplicación:
Este es un ejemplo de vMX de configuración de inicio con el tipo de dispositivo virtio para la simulación de laboratorio:
--- #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"
Instalación de vMX para aplicaciones de banda ancha baja
A partir Junos OS versión 14.1, el caso de uso de aplicaciones de banda ancha baja utiliza NICs virtio o SR-IOV.
Para instalar vMX para el caso de uso de aplicaciones de banda ancha baja (hasta 3 Gbps):
Este es un ejemplo de vMX de configuración de inicio con el tipo de dispositivo virtio para aplicaciones de bajo ancho de banda:
--- #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"
Instalación de vMX para aplicaciones de gran ancho de banda
A partir Junos OS versión 14.1, el caso de uso de aplicaciones de gran ancho de banda utiliza las NICs SR-IOV.
Para instalar vMX para el caso de uso de aplicaciones de gran ancho de banda (más de 3 Gbps):
Este es un ejemplo de vMX de configuración de inicio con el tipo de dispositivo SR-IOV:
--- #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"
Para obtener más información, consulte Ejemplo: Habilitar SR-IOV en vMX instancia en KVM.
Instalación de vMX con motores de enrutamiento dual
Puede configurar motores de enrutamiento redundantes en el servidor de vMX creando el motor de enrutamiento principal (re0) y el motor de enrutamiento de respaldo (re1) en la sección CONTROL_PLANE del archivo de configuración de inicio de vMX (el archivo predeterminado es config/vmx.conf).
Al implementar los motores de enrutamiento en hosts independientes, debe configurar una conexión entre los hosts para que los V VCP se comuniquen entre sí.
A partir Junos OS versión 18.1 para instalar vMX caso de uso de motores de enrutamiento duales:
Este es un ejemplo de vMX de configuración de inicio que está implementando la primera instancia motor de enrutamiento en este host:
--- #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"
Instalación vMX con interfaces WAN mixtas
A partir Junos OS versión 17.2, el caso de uso de interfaces WAN mixtas utiliza las interfaces virtio y SR-IOV. Los requisitos de configuración de ejemplo son los mismos que para el uso del tipo de dispositivo SR-IOV.
Para instalar vMX con interfaces mixtas:
Este es un ejemplo de vMX de configuración de inicio mediante interfaces mixtas:
--- #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"