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 comprender cómo instalar la instancia de vMX en el entorno de OpenStack.

Preparación del entorno de OpenStack para instalar el vMX

Asegúrese de que el archivo openstackrc tiene el 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 que usa 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:

  • En el caso de 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 de controlador para vMX

Para preparar el nodo del controlador:

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

    Reinicie el servicio de 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.

    Verifique los cambios con el nova quota-defaults comando.

  3. Asegúrese de que el paquete térmico sea 5.0.1-6 o posterior. Este paquete forma parte de rhel-7-server-openstack-8-rpms.

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

    Actualice el paquete térmico 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 del controlador para interfaces virtio

Para configurar las interfaces virtio:

  1. Habilite el controlador de mecanismo de 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 br-vlan de puente OVS.

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

    Por ejemplo, utilice la siguiente configuración para configurar los intervalos de VLAN utilizados 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 asignación a la red física y a la interfaz virtio (eth2).

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

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

Nota:

Si tiene más de una interfaz SR-IOV, necesita 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 el uso de interfaces de virtio en una red OVS de proveedor de 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 agregar sriovnicswitch como controlador de mecanismos y los rangos de VLAN utilizados para la red física.

    Por ejemplo, utilice la siguiente configuración para configurar los intervalos de VLAN utilizados para la red física physnet2.

    Si agrega más puertos SR-IOV, debe agregar el intervalo de VLAN utilizado 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 as resaltado al archivo del servidor de neutrones.
    • Para Red Hat:

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

      Utilice 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.

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

  4. Para permitir la programación adecuada de los dispositivos SR-IOV, el programador de computación debe usar el programador Filter 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 computación

Preparación del nodo de computación para vMX

Nota:

Ya no es necesario configurar el nodo de computación para que pase metadatos a las instancias de vMX mediante la inclusión del config_drive_format=vfat parámetro en el archivo /etc/nova/nova.conf .

Para preparar el nodo de computación:

  1. Configure cada nodo de computación para que admita Enormes páginas en tiempo de arranque y reinicio.
    • 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 Enormes páginas a /etc/default/grub bajo el GRUB_CMDLINE_LINUX_DEFAULT parámetro.

    Después del reinicio, compruebe que se asignan páginas enormes.

    La cantidad de páginas enormes depende de la cantidad de memoria para el VFP, el tamaño de las páginas enormes y la cantidad 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 12G de memoria y 2M de tamaño de páginas enormes, el número de páginas enormes según la fórmula es (12G/2M)*4 o 24576.

    Nota:

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

    Nota:

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

    Puede usar el vmstat -s comando y ver el total de la memoria y los valores de memoria usada para verificar la cantidad de memoria que queda para otras aplicaciones que no usan Páginas enormes.

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

    Regenerar 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 computación.

  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. Consulte Configuración del nodo de controlador para interfaces virtio). A este puente, agregue la interfaz eth2, que se puede utilizar para la comunicación virtio entre máquinas virtuales.

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

    Reinicie el servicio de neutrones.

    • Redhat:

      systemctl restart neutron-openvswitch-agent.service

      systemctl restart openstack-nova-compute.service

    • Ubuntu

      service nova-compute restart

      service neutron-plugin-openvswitch-agent restart

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

Nota:

Si tiene más de una interfaz SR-IOV, necesita una tarjeta NIC Ethernet de 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 siguiente ejemplo, 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 siguiente línea especifica que no hay ningún VF para eth2 (primera NIC) y un VF para eth4 (segundo NIC con interfaz SR-IOV).

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

    Para asegurarse de que las interfaces estén activa y que el tráfico SR-IOV pueda pasar por 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 del dispositivo físico al archivo /etc/neutron/plugins/ml2/sriov_agent.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 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, utilice la siguiente configuración al agregar la interfaz SR-IOV eth5 para la red física physnet3.

  5. Edite el archivo de servicio del agente 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 se ha 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 se ha 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 pci passthrough 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 permitir de paso PCI para cada interfaz SR-IOV (separada por una coma). Por ejemplo, utilice la siguiente configuración al agregar la interfaz SR-IOV eth5 para la red física physnet3.

    Reinicie el servicio de nodo de computación.

    • 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 nuevos sabores e imágenes de vistazo para las máquinas virtuales VCP y VFP. Los scripts crean los sabores e imágenes según 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 vMX KVM 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 los sabores para una sola instancia de vMX.

    Según sus requisitos, asegúrese de que los siguientes parámetros se establezcan correctamente en el archivo de configuración vMX:

    • re-flavor-name

    • pfe-flavor-name

    • vcpus

    • memory-mb

    Consulte Especificar parámetros de archivo de configuración vMX para obtener información acerca de los parámetros.

    Archivo de configuración de inicio vMX de ejemplo

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

Especificación de parámetros de archivo de configuración 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 o memory-mb parámetros, debe cambiar el parámetro o pfe-flavor-name el correspondiente re-flavor-name 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 operación; debe ser openstack.

  • compute—(Opcional) Nombres del nodo de computación en el que se ejecutan instancias de vMX en una lista separada por comas. Si se especifica este parámetro, debe ser un nodo de computación válido. Si se especifica este parámetro, la instancia de vMX que se inicia con sabores solo se ejecuta en los nodos de computación especificados.

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

Configuración de la máquina virtual VCP

Para configurar la máquina virtual VCP, debe proporcionar el nombre de sabor.

Nota:

Recomendamos valores únicos para el re-flavor-name parámetro, ya que 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 la VCP; el mínimo es 1.

    Nota:

    Si cambia este valor, debe cambiarlo antes de ejecutar la re-flavor-name secuencia de comandos para crear sabores.

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

    Nota:

    Si cambia este valor, debe cambiarlo antes de ejecutar la re-flavor-name secuencia de comandos para crear sabores.

Configuración de la máquina virtual VFP

Para configurar la VM VFP, debe proporcionar el nombre de sabor. Según sus requisitos, es posible que desee cambiar la memoria y el número de vCPU. Consulte Requisitos mínimos de hardware para ver los requisitos de hardware mínimos.

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 ejecutar la pfe-flavor-name secuencia de comandos para crear sabores.

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

    Nota:

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

    Nota:

    Si cambia este valor, debe cambiarlo antes de ejecutar la pfe-flavor-name secuencia de comandos para crear sabores.

Creación de sabores de OpenStack

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

Para crear sabores 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. Ejecute 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 de VCP y VFP:

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

    tar xvf package-name

  2. Verifique la ubicación de las imágenes de software del 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 vMX OpenStack.

    cd package-location/openstack/scripts

  4. Ejecute el vmx_osp_images.sh script para instalar las imágenes del 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 lanzar 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 prueba del 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 cualquier cambio en este archivo antes de iniciar el 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 haga referencia a la ruta correcta.

Lanzamiento de la instancia de vMX

Para crear e iniciar la instancia de vMX:

  1. Modifique estos parámetros en el package-locationarchivo de entorno /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 vista para la VFP; igual que el vfp-image-name parámetro especificado al ejecutar la secuencia de comandos para instalar las imágenes de vMX.

    • vfp_image—Nombre de la imagen del vistazo para el VFP; igual que el vfp-image-name parámetro especificado al ejecutar la secuencia de comandos 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 la VFP; igual que el pfe-flavor-name parámetro especificado en el archivo de configuración vMX.

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

    • junos_flav—Nombre del sabor nova para el VCP; igual que el re-flavor-name parámetro especificado en el archivo de configuración 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 vMX (aplicable para junos OS versiones 17.3R1 y anteriores).

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

    • vcp_image—Nombre de la imagen de vista para el VCP; igual que el vcp-image-name parámetro especificado al ejecutar la secuencia de comandos para instalar las imágenes de vMX (aplicable para 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 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 crea 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 al VCP o a la VM VFP con el nova get-vnc-console nova-id novnc comando, donde nova-id está el ID de la instancia que se muestra en la salida del nova-list comando.
Nota:

Debe apagar la instancia de vMX antes de reiniciar el servidor host mediante el comando de interrupción del sistema de solicitud.