Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Instalación de vMX en OpenStack

Lea este tema para saber cómo instalar la instancia de vMX en el entorno de OpenStack.

Preparación del entorno de OpenStack para instalar vMX

Asegúrese de que el archivo openstackrc es de origen antes de ejecutar cualquier comando de OpenStack.

Para preparar el entorno de OpenStack para instalar vMX, realice estas tareas:

Creación de las redes de neutrones

Debe crear las redes de neutrones utilizadas por vMX antes de iniciar la instancia de vMX. La red pública es la red de neutrones utilizada para la red de administración (fxp0). La red WAN es la red de neutrones en la que se agrega la interfaz WAN para vMX.

Para mostrar los nombres de red de neutrones, utilice el neutron net-list comando.

Nota:

Debe identificar y crear el tipo de redes que necesita en su configuración de OpenStack.

Puede usar estos comandos como una forma de crear la red pública:

  • Por ejemplo:

  • Para virtio, puede usar estos comandos como una forma de crear la red WAN:

    Por ejemplo:

  • Para SR-IOV, puede usar estos comandos como una forma de crear la red WAN:

    Por ejemplo:

Preparación del nodo del controlador

Preparación del nodo del controlador para vMX

Para preparar el nodo del controlador:

  1. Configure el nodo del controlador para habilitar las páginas enormes y la afinidad de CPU editando el scheduler_default_filters parámetro en el archivo /etc/nova/nova.conf . Asegúrese de que los siguientes filtros estén presentes:

    Reinicie el servicio del programador con este comando.

    • Para Red Hat: systemctl restart openstack-nova-scheduler.service

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): service nova-scheduler restart

  2. Actualice las cuotas predeterminadas.
    Nota:

    Recomendamos estos valores predeterminados, pero puede usar valores diferentes si son adecuados para su entorno. Asegúrese de que las cuotas predeterminadas tengan suficientes recursos asignados.

    Compruebe los cambios con el nova quota-defaults comando.

  3. Asegúrese de que el paquete de calor sea 5.0.1-6 o posterior. Este paquete es parte de rhel-7-server-openstack-8-rpms.

    Compruebe la versión mediante el rpm -qa | grep heat comando.

    Actualice el paquete de calor con este comando.

    • Para Red Hat: yum update openstack-heat-engine

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): apt-get install heat-engine

  4. Asegúrese de que los paquetes lsb (redhat-lsb-core o lsb-release) y numactl estén instalados.
    • Para Red Hat:

    • Para Ubuntu (a partir de Junos OS versión 17.2R1):

Configuración del nodo Controller para interfaces virtio

Para configurar las interfaces virtio:

  1. Habilite el controlador del mecanismo VLAN agregando vlan al type_drivers parámetro en el archivo /etc/neutron/plugins/ml2/ml2_conf.ini .
  2. Agregue la asignación de puente al archivo /etc/neutron/plugins/ml2/ml2_conf.ini agregando la siguiente línea:

    Por ejemplo, utilice la siguiente configuración para agregar una asignación de puente para la red física physnet1 asignada al puente OVS br-vlan.

  3. Configure los rangos de VLAN utilizados para la red física en el archivo /etc/neutron/plugins/ml2/ml2_conf.ini , donde physical-network-name es el nombre de la red de neutrones que creó para la red WAN virtio.

    Por ejemplo, use la siguiente opción para configurar los rangos de VLAN usados para la red física physnet1.

  4. Reinicie el servidor de neutrones.
    • Para Red Hat: systemctl restart neutron-server

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): service neutron-server restart

  5. Agregue el puente OVS que se asignó a la red física y a la interfaz virtio (eth2).

    Por ejemplo, utilice los siguientes comandos para agregar el puente OVS br-vlan y la interfaz eth2:

Configuración del nodo del controlador para interfaces SR-IOV

Nota:

Si tiene más de una interfaz SR-IOV, necesitará una interfaz física de 10G dedicada para cada interfaz SR-IOV adicional.

Nota:

En el modo SRIOV, la comunicación entre el motor de enrutamiento (RE) y el motor de reenvío de paquetes se habilita mediante interfaces virtio en una red OVS de proveedor VLAN. Debido a esto, una interfaz física determinada no puede formar parte de las redes VirtIO y SR-IOV.

Para configurar las interfaces SR-IOV:

  1. Edite el archivo /etc/neutron/plugins/ml2/ml2_conf.ini para agregarlo sriovnicswitch como controlador de mecanismo y los rangos de VLAN utilizados para la red física.

    Por ejemplo, use la siguiente opción para configurar los rangos de VLAN utilizados para la red física physnet2.

    Si agrega más puertos SR-IOV, debe agregar el rango de VLAN usado para cada red física (separado por una coma). Por ejemplo, utilice la siguiente configuración al configurar dos puertos SR-IOV.

  2. Edite el archivo /etc/neutron/plugins/ml2/ml2_conf_sriov.ini para agregar detalles sobre los dispositivos PCI.
  3. Agregue el –-config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini como resaltado al archivo del servidor de neutrones.
    • Para Red Hat:

      Edite el archivo /usr/lib/systemd/system/neutron-server.service como resaltado.

      Use el systemctl restart neutron-server comando para reiniciar el servicio.

    • Para Ubuntu (a partir de Junos OS versión 17.2R1):

      Edite el archivo /etc/init/neutron-server.conf como resaltado.

      Use el service neutron-server restart comando para reiniciar el servicio.

  4. Para permitir la programación correcta de los dispositivos SR-IOV, el programador de proceso debe usar FilterScheduler con el filtro PciPassthroughFilter.

    Asegúrese de que el filtro PciPassthroughFilter esté configurado en el archivo /etc/nova/nova.conf en el nodo del controlador.

    Reinicie el servicio del programador.

    • Para Red Hat: systemctl restart openstack-nova-scheduler

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): service nova-scheduler restart

Preparación de los nodos de proceso

Preparación del nodo de proceso para vMX

Nota:

Ya no es necesario configurar el nodo de proceso para pasar metadatos a las instancias de vMX incluyendo el config_drive_format=vfat parámetro en el archivo /etc/nova/nova.conf .

Para preparar el nodo de proceso:

  1. Configure cada nodo informático para que admita páginas enormes en el momento del arranque y reinicie.
    • Para Red Hat: Agregue la configuración de páginas enormes.

      Utilice el mount | grep boot comando para determinar el nombre del dispositivo de arranque.

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): agregue la configuración de páginas enormes a /etc/default/grub bajo el GRUB_CMDLINE_LINUX_DEFAULT parámetro.

    Después del reinicio, verifique que las páginas enormes estén asignadas.

    El número de páginas enormes depende de la cantidad de memoria para la VFP, el tamaño de las páginas enormes y el número de instancias de VFP. Para calcular el número de páginas enormes: (memory-for-vfp / huge-pages-size) * number-of-vfp

    Por ejemplo, si ejecuta cuatro instancias de vMX (cuatro VFP) en modo de rendimiento con 12 G de memoria y 2 M de tamaño de páginas enormes, el número de páginas enormes calculado por la fórmula es (12 G/2 M)*4 o 24576.

    Nota:

    A partir de Junos OS versión 15.1F6 y en versiones posteriores, el modo de rendimiento es el modo de funcionamiento predeterminado. Para obtener más información, consulte Habilitación del modo de rendimiento o del modo Lite.

    Nota:

    Asegúrese de que tiene suficiente memoria física en el nodo de proceso. Debe ser mayor que la cantidad de memoria asignada a páginas enormes, ya que cualquier otra aplicación que no use páginas enormes está limitada por la cantidad de memoria restante después de la asignación de páginas enormes. Por ejemplo, si asigna 24576 páginas enormes y 2 millones de páginas enormes, necesita 24576*2M o 48G de memoria para páginas enormes.

    Puede usar el vmstat -s comando y ver la memoria total y los valores de memoria utilizados para comprobar cuánta memoria queda para otras aplicaciones que no usan Páginas enormes.

  2. Habilite IOMMU en el archivo /etc/default/grub . Anexe la intel_iommu=on cadena a cualquier texto existente para el GRUB_CMDLINE_LINUX parámetro.

    Vuelva a generar el archivo grub .

    • Para Red Hat: grub2-mkconfig -o /boot/grub2/grub.cfg

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): update-grub

    Reinicie el nodo de proceso.

  3. Agregue puente para la red Virtio y configure physnet1:

    Por ejemplo, se agrega un puente br-vlan OVS. (Esto es lo mismo br-vlan que se agregó en bridge_mappings en ml2_conf.ini anterior en el controlador. A este puente, agregue la interfaz eth2, que se puede usar para la comunicación Virtio entre máquinas virtuales.

    En /etc/neutron/plugins/ml2/openvswitch_agent.ini, agregue physnet1:br-vlan la cadena:

    Reinicie el servicio de neutrones.

    • Redhat:

      systemctl restart neutron-openvswitch-agent.service

      systemctl restart openstack-nova-compute.service

    • Ubuntu (en inglés)

      service nova-compute restart

      service neutron-plugin-openvswitch-agent restart

Configuración del nodo de proceso para interfaces SR-IOV

Nota:

Si tiene más de una interfaz SR-IOV, necesita una tarjeta NIC Ethernet 10G física para cada interfaz SR-IOV adicional.

Para configurar las interfaces SR-IOV:

  1. Cargue el controlador IXGBE modificado.

    Antes de compilar el controlador, asegúrese de que gcc y make estén instalados.

    • Para Red Hat:

    • Para Ubuntu (a partir de Junos OS versión 17.2R1):

    Descargue el controlador IXGBE predeterminado, compile el controlador de Juniper Networks modificado y cargue el controlador IXGBE modificado.

    Verifique la versión del controlador en la interfaz eth4.

    Por ejemplo, en el ejemplo siguiente, el comando muestra la versión del controlador (3.19.1):

  2. Cree la función virtual (VF) en el dispositivo físico. Actualmente, vMX solo admite un VF para cada interfaz SR-IOV (por ejemplo, eth4).

    Especifique el número de VF en cada NIC. La línea siguiente especifica que no hay VF para eth2 (primera NIC) y una VF para eth4 (segunda NIC con interfaz SR-IOV).

    Para comprobar que se creó la VF, el resultado del ip link show eth4 comando incluye la siguiente línea:

    Para asegurarse de que las interfaces están activas y de que el tráfico de SR-IOV puede pasar a través de ellas, ejecute estos comandos para completar la configuración.

  3. Instale el agente SR-IOV.
    • Para Red Hat: sudo yum install openstack-neutron-sriov-nic-agent

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): sudo apt-get install neutron-plugin-sriov-agent

  4. Agregue la asignación de dispositivo físico al archivo /etc/neutron/plugins/ml2/sriov_agent.ini agregando la siguiente línea:

    Por ejemplo, use la siguiente configuración para agregar una asignación de puente para la red física physnet2 asignada a la interfaz SR-IOV eth4.

    Si agrega más puertos SR-IOV, debe agregar la asignación de puente para cada red física (separada por una coma). Por ejemplo, use la siguiente configuración cuando agregue la interfaz SR-IOV eth5 para physnet3 de red física.

  5. Edite el archivo de servicio del agente de SR-IOV para agregarlo –-config-file /etc/neutron/plugins/ml2/sriov_agent.ini como resaltado.
    • Para Red Hat:

      Edite el archivo /usr/lib/systemd/system/neutron-sriov-nic-agent.service como resaltado.

      Habilite e inicie el agente SR-IOV.

      Utilice el systemctl status neutron-sriov-nic-agent.service comando para comprobar que el agente se ha iniciado correctamente.

    • Para Ubuntu (a partir de Junos OS versión 17.2R1):

      Edite el archivo /etc/init/neutron-plugin-sriov-agent.conf como resaltado.

      Asegúrese de que /etc/neutron/plugins/ml2/sriov_agent.ini tiene los permisos correctos y neutron es el grupo del archivo.

      Utilice el service neutron-plugin-sriov-agent start comando para iniciar el agente SR-IOV.

      Utilice el service neutron-plugin-sriov-agent status comando para comprobar que el agente se ha iniciado correctamente.

  6. Edite el archivo /etc/nova/nova.conf para agregar la entrada de lista de permitidos de paso a través de PCI para el dispositivo SR-IOV.

    Por ejemplo, esta entrada agrega una entrada para la interfaz SR-IOV eth4 para la red física physnet2.

    Si agrega más puertos SR-IOV, debe agregar la entrada de lista de permitidos de paso a través de PCI para cada interfaz SR-IOV (separada por una coma). Por ejemplo, use la siguiente configuración cuando agregue la interfaz SR-IOV eth5 para physnet3 de red física.

    Reinicie el servicio de nodo de proceso.

    • Para Red Hat: systemctl restart openstack-nova-compute

    • Para Ubuntu (a partir de Junos OS versión 17.2R1): service nova-compute restart

Instalación de vMX

Después de preparar el entorno de OpenStack, debe crear nuevas versiones e imágenes de vistazo para las máquinas virtuales VCP y VFP. Los scripts crean las versiones y las imágenes basándose en la información proporcionada en el archivo de configuración de inicio.

Configuración del archivo de configuración vMX

Los parámetros necesarios para configurar vMX se definen en el archivo de configuración de inicio.

Para configurar el archivo de configuración:

  1. Descargue el paquete de software KVM vMX desde la página vMX y descomprima el paquete.

    tar xvf package-name

  2. Cambie el directorio a la ubicación de los archivos.

    cd package-location/openstack/scripts

  3. Edite el archivo de texto vmx.conf con un editor de texto para crear las versiones de una sola instancia de vMX.

    En función de sus requisitos, asegúrese de que los siguientes parámetros estén configurados correctamente en el archivo de configuración de vMX:

    • re-flavor-name

    • pfe-flavor-name

    • vcpus

    • memory-mb

    Consulte Especificación de parámetros del archivo de configuración de vMX para obtener información sobre los parámetros.

    Archivo de configuración de inicio de vMX de ejemplo

    Este es un archivo de configuración de inicio de vMX de ejemplo para OpenStack:

Especificación de parámetros del archivo de configuración de vMX

Los parámetros necesarios para configurar vMX se definen en el archivo de configuración de inicio (scripts/vmx.conf). El archivo de configuración de inicio genera un archivo que se utiliza para crear sabores. Para crear nuevos sabores con diferentes vcpus parámetros o memory-mb , debe cambiar el parámetro o re-flavor-name pfe-flavor-name correspondiente antes de crear los nuevos sabores.

Para personalizar la configuración, realice estas tareas:

Configuración del host

Para configurar el host, vaya a HOST y especifique los siguientes parámetros:

  • virtualization-type—Modo de funcionamiento; debe ser openstack.

  • compute: (Opcional) Nombre del nodo de proceso en el que se van a ejecutar instancias de vMX en una lista separada por comas. Si se especifica este parámetro, debe ser un nodo de proceso válido. Si se especifica este parámetro, las instancias de vMX lanzadas con sabores solo se ejecutan en los nodos informáticos especificados.

    Si no se especifica este parámetro, el resultado del comando nova hypervisor-list proporciona la lista de nodos de proceso en los que ejecutar instancias de vMX.

Configuración de la máquina virtual VCP

Para configurar la máquina virtual VCP, debe proporcionar el nombre de la versión.

Nota:

Se recomiendan valores únicos para el re-flavor-name parámetro porque OpenStack puede crear varias entradas con el mismo nombre.

Para configurar la máquina virtual VCP, vaya a CONTROL_PLANE y especifique los siguientes parámetros:

  • re-flavor-name—Nombre del sabor nova.

  • vcpus—Número de vCPU para el VCP; el mínimo es 1.

    Nota:

    Si cambia este valor, debe cambiarlo antes de re-flavor-name ejecutar el script para crear sabores.

  • memory-mb—Cantidad de memoria para el VCP; el mínimo es 4 GB.

    Nota:

    Si cambia este valor, debe cambiarlo antes de re-flavor-name ejecutar el script para crear sabores.

Configuración de la máquina virtual VFP

Para configurar la máquina virtual VFP, debe proporcionar el nombre de la versión. En función de sus requisitos, es posible que desee cambiar la memoria y el número de vCPU. Consulte Requisitos mínimos de hardware para conocer los requisitos mínimos de hardware.

Para configurar la máquina virtual VFP, vaya a FORWARDING_PLANE y especifique los siguientes parámetros:

  • pfe-flavor-name—Nombre del sabor nova.

  • memory-mb—Cantidad de memoria para el VFP; el mínimo es de 12 GB (modo de rendimiento) y 4 GB (modo lite).

    Nota:

    Si cambia este valor, debe cambiarlo antes de pfe-flavor-name ejecutar el script para crear sabores.

  • vcpus—Número de vCPU para el VFP; El mínimo es 7 (modo de rendimiento) y 3 (modo lite).

    Nota:

    Si especifica menos de 7 vCPU, el VFP cambia automáticamente al modo lite.

    Nota:

    Si cambia este valor, debe cambiarlo antes de pfe-flavor-name ejecutar el script para crear sabores.

Creación de sabores de OpenStack

Para crear versiones para VCP y VFP, debe ejecutar el script en el archivo de configuración de inicio de vMX (vmx.conf).

Para crear versiones de OpenStack:

  1. Ejecute el vmx_osp_create_flavor.py con el archivo de configuración de inicio para generar el vmx_osp_flavors.sh archivo que crea sabores.

    ./vmx_osp_create_flavor.py vmx.conf

  2. Ejecutar el vmx_osp_flavors.sh para crear sabores.

    sh vmx_osp_flavors.sh

Instalación de imágenes vMX para VCP y VFP

Para instalar las imágenes de vista de vMX OpenStack para VCP y VFP, puede ejecutar el vmx_osp_images.sh script. El script agrega la imagen VCP en formato qcow2 y el archivo VFP en formato vmdk.

Para instalar las imágenes VCP y VFP:

  1. Descargue el paquete de software KVM vMX desde la página vMX y descomprima el paquete.

    tar xvf package-name

  2. Compruebe la ubicación de las imágenes de software desde el paquete vMX sin comprimir. Consulte Contenido del paquete vMX.

    ls package-location/images

  3. Cambie el directorio a la ubicación de los archivos de script de vMX OpenStack.

    cd package-location/openstack/scripts

  4. Ejecute el vmx_osp_images.sh script para instalar las imágenes de vistazo.

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

    Nota:

    Debe especificar los parámetros en este orden.

    • vcp-image-name—Nombre de la imagen del vistazo.

    • vcp-image-location: ruta absoluta al archivo junos-vmx-x86-64*.qcow2 para iniciar VCP.

    • vfp-image-name—Nombre de la imagen del vistazo.

    • vfp-image-location: ruta absoluta al archivo vFPC-*.img para iniciar VFP.

Por ejemplo, este comando instala la imagen VCP como re-test desde el archivo /var/tmp/junos-vmx-x86-64-17.1R1.8.qcow2 y la imagen VFP como fpc-test desde el archivo /var/tmp/vFPC-20170117.img .

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

Para ver las imágenes del vistazo, utilice el glance image-list comando.

Inicio de una instancia de vMX

Para iniciar una instancia de vMX, realice estas tareas:

Modificación de la configuración inicial de Junos OS

Al iniciar la instancia de vMX, se carga el archivo de configuración de Junos OS que se encuentra en package-location/openstack/vmx-components/vms/vmx_baseline.conf . Si necesita cambiar esta configuración, realice los cambios necesarios en este archivo antes de iniciar vMX.

Nota:

Si crea su propio vmx_baseline.conf archivo o mueve el archivo, asegúrese de que / package-locationopenstack/vmx-components/vms/re.yaml hace referencia a la ruta correcta.

Inicio de la instancia vMX

Para crear e iniciar la instancia de vMX:

  1. Modifique estos parámetros en el archivo de package-locationentorno /openstack/1vmx.env para su configuración. El archivo de entorno está en formato YAML a partir de Junos OS versión 17.4R1.
    • net_id1: ID de red de la red de neutrones existente utilizada para el puerto WAN. Utilice el neutron net-list comando para mostrar el ID de red.

    • public_network: ID de red de la red de neutrones existente utilizada para el puerto de administración (fxp0). Utilice el neutron net-list | grep public comando para mostrar el ID de red.

    • fpc_img: cambie este parámetro a linux-img. Nombre de la imagen de vistazo para el VFP; igual que el vfp-image-name parámetro especificado al ejecutar el script para instalar las imágenes de vMX.

    • vfp_image—Nombre de la imagen de vistazo para el VFP; igual que el vfp-image-name parámetro especificado al ejecutar el script para instalar las imágenes de vMX (aplicable para las versiones 17.3R1 y anteriores de Junos OS).

    • fpc_flav: cambie este parámetro a linux-flav. Nombre del sabor nova para el VFP; igual que el pfe-flavor-name parámetro especificado en el archivo de configuración de vMX.

    • vfp_flavor—Nombre del sabor nova para el VFP; igual que el pfe-flavor-name parámetro especificado en el archivo de configuración de vMX (aplicable a las versiones 17.3R1 y anteriores de Junos OS).

    • junos_flav—Nombre del sabor nova para el VCP; igual que el re-flavor-name parámetro especificado en el archivo de configuración de vMX.

    • vcp_flavor—Nombre del sabor nova para el VCP; igual que el re-flavor-name parámetro especificado en el archivo de configuración de vMX (aplicable a las versiones 17.3R1 y anteriores de Junos OS).

    • junos_img—Nombre de la imagen del vistazo para el VCP; igual que el vcp-image-name parámetro especificado al ejecutar el script para instalar las imágenes de vMX.

    • vcp_image—Nombre de la imagen del vistazo para el VCP; igual que el vcp-image-name parámetro especificado al ejecutar el script para instalar las imágenes de vMX (aplicable a las versiones 17.3R1 y anteriores de Junos OS).

    • project_name: cualquier nombre de proyecto. Todos los recursos usarán este nombre como prefijo.

    • gateway_ip—Dirección IP de la puerta de enlace.

  2. Inicie la instancia de vMX con el heat stack-create –f 1vmx.yaml –e 1vmx.env vmx-name comando.

    Esta configuración de ejemplo inicia una única instancia de vMX con un puerto WAN y un FPC.

  3. Compruebe que la instancia de vMX se creó con el heat stack-list | grep vmx-name comando.
  4. Compruebe que las máquinas virtuales VCP y VFP existen con el nova-list comando.
  5. Acceda a la VCP o a la máquina virtual VFP con el nova get-vnc-console nova-id novnc comando, donde nova-id es el ID de la instancia que se muestra en la salida del nova-list comando.
Nota:

Debe cerrar la instancia de vMX antes de reiniciar el servidor host mediante el comando request system halt.