Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Preparación para la configuración de división de nodos de Junos

Nota:

Los temas de esta sección solo se aplican a la división de nodos de Junos configurada con el modelo de servidor externo. Para la división de nodos de Junos en el chasis, vaya a Configuración del enrutador de la serie MX para que funcione en modo en chasis.

Antes de configurar la división de nodos de Junos Junos (modelo de servidor externo), debe realizar algunos pasos preparatorios, como conectar los servidores y el enrutador, instalar paquetes adicionales, configurar el servidor x86 Linux GRUB y configurar el BIOS de las CPU del servidor x86.

Conexión de los servidores y el enrutador

Para configurar la división de nodos de Junos, debe conectar directamente un par de servidores x86 externos al enrutador de la serie MX. Además del puerto de administración para el host Linux, cada servidor también requiere dos puertos adicionales para proporcionar conectividad de administración para las máquinas virtuales JDM y GNF, respectivamente, y dos puertos para conectarse al enrutador de la serie MX.

Nota:
  • No conecte el cable de circuito cerrado a un puerto TC externo cuando la división de nodos de Junos esté habilitada en el enrutador de la serie MX. Además, asegúrese de que el puerto TC externo no esté conectado al puerto externo del otro TC.

  • Para evitar que el servidor host sufra un ataque de fuerza bruta SSH, se recomienda agregar reglas de IPtables en el servidor host. El siguiente es un ejemplo:

    La regla del ejemplo anterior se utiliza para limitar la velocidad de las conexiones SSH entrantes. Le permite bloquear las conexiones desde la IP remota durante un cierto período de tiempo cuando se realiza un número determinado de intentos de SSH. Según el ejemplo anterior, después de 10 intentos, las conexiones desde IP remota se bloquearán durante 120 segundos.

La figura 1 muestra cómo un enrutador MX2020 está conectado a un par de servidores externos x86.

Figura 1: Enrutador MX2020: conectividad Network diagram of MX 2020 system management setup with two servers, Server 0 and Server 1, connected to management interfaces and control boards CB0 and CB1. Connections include IPMI, Linux Host Management, JDM Management, GNF-1-n Management, em1, em2, em3, p3p1, p3p2, XGE-0, XGE-1, routing engines RE0 and RE1, and console serial ports, all linked to a management network for remote user access. de servidor x86 externo

Según el ejemplo de la Figura 1, em1, em2y em3 en los servidores x86 son los puertos que se usan para la administración del host Linux, el JDM y los GNF, respectivamente. p3p1 y p3p2 en cada servidor están los dos puertos de 10 Gbps que están conectados a las tarjetas de control del enrutador de la serie MX.

Nota:

Para habilitar puertos XGE en las tarjetas de control para la división de nodos de Junos, debe configurar set chassis network-slices o set chassis network-slices guest-network-functions.

Nota:

Los nombres de las interfaces del servidor, como em1, p3p1 pueden variar según la configuración del hardware del servidor.

Para obtener más información sobre los puertos XGE del serie MX enrutador tarjeta de control (TC) mencionados en la Figura 1, consulte:

Nota:

Utilice el show chassis ethernet-switch comando para ver estos puertos XGE. En el resultado del comando en MX960, consulte los números 24 de puerto y 26 vea estos puertos en el SCBE2. En el resultado del comando en MX2010 y MX2020, consulte los números 26 de puerto y 27 para ver estos puertos en la tarjeta de control-motor de enrutamiento (TC-RE).

Configuración del BIOS de la CPU del servidor x86

Para la división de nodos de Junos, el BIOS de las CPU del servidor x86 debe configurarse de tal manera que:

  • Hyperthreading está deshabilitado.

  • Los núcleos de la CPU siempre funcionan a su frecuencia nominal.

  • Los núcleos de la CPU están configurados para reducir las fluctuaciones al limitar el uso del estado C.

Para encontrar la frecuencia nominal de los núcleos de CPU en el servidor, ejecute el comando lscpuhost de Linux y compruebe el valor del campo Model name. Vea el siguiente ejemplo:

Para encontrar la frecuencia a la que se ejecutan actualmente los núcleos de CPU, ejecute el comando grep MHz /proc/cpuinfo Linux host y compruebe el valor de cada núcleo de CPU.

En un servidor que tiene el BIOS configurado para operar los núcleos de la CPU a su frecuencia nominal, los valores observados para los núcleos de la CPU coincidirán con la frecuencia nominal (o estarán muy cerca de ella), como se muestra en el siguiente ejemplo.

En un servidor que no tiene el BIOS configurado para operar los núcleos de la CPU a su frecuencia nominal, los valores observados para los núcleos de la CPU no coinciden con la frecuencia nominal y los valores también pueden variar con el tiempo (puede verificar esto volviendo a ejecutar el comando).

Para establecer el perfil del sistema del BIOS del servidor x86 para que funcione los núcleos de la CPU a su frecuencia nominal, reduzca las fluctuaciones y deshabilite el hyperthreading, consulte al fabricante del servidor, ya que esta configuración varía según el modelo de servidor y las versiones del BIOS.

La configuración típica del perfil del sistema BIOS para lograr esto incluye:

  • Logical processor: establecido en Deshabilitado.

  • CPU power management: establecer en Rendimiento máximo.

  • Memory frequency: establecer en Rendimiento máximo.

  • Turbo boost: establecido en Deshabilitado.

  • C-states and C1E state: establecido en Deshabilitado.

  • Energy efficient policy: establecido en Rendimiento.

  • Monitor/Mwait: establecido en Deshabilitado.

Es posible que se requiera un perfil del sistema BIOS personalizado para establecer estos valores.

Configuración de GRUB de Linux del servidor x86

En la división de nodos de Junos, a cada máquina virtual GNF se le asignan núcleos de CPU dedicados. Juniper Device Manager (JDM) administra esta asignación. En cada servidor x86, JDM requiere que todos los núcleos de CPU que no sean los núcleos de CPU 0 y 1 se reserven para la División de nodos de Junos y, de hecho, que estos núcleos estén aislados de otras aplicaciones. Los núcleos de CPU 2 y 3 están dedicados para el disco virtual GNF y las E/S de red. Los núcleos de CPU 4 y superiores están disponibles para su asignación a máquinas virtuales GNF. Para reservar estos núcleos de CPU, debe establecer el isolcpus parámetro en la configuración de GRUB de Linux como se describe en el siguiente procedimiento:

Para servidores x86 que ejecutan Red Hat Enterprise Linux (RHEL) 7.3, realice los siguientes pasos:

  1. Determine el número de núcleos de CPU en el servidor x86. Asegúrese de que el hyperthreading ya se ha deshabilitado, como se describe en Configuración del BIOS de la CPU del servidor x86. Puede usar el comando lscpu de Linux para encontrar el número total de núcleos de CPU, como se muestra en el siguiente ejemplo:

    Aquí, hay 24 núcleos (12 x 2). Los núcleos de la CPU se numeran como núcleo 0 a núcleo 23.

  2. Según este ejemplo, el isolcpus parámetro debe establecerse en 'isolcpus=4-23' (aísle todos los núcleos de CPU que no sean los núcleos 0, 1, 2 y 3 para que los usen las máquinas virtuales GNF). El isolcpus parámetro se establece en 'isolcpus=4-23' debido a lo siguiente:

    • En cada servidor x86, JDM requiere que todos los núcleos de CPU que no sean los núcleos de CPU 0 y 1 se reserven para la División de nodos de Junos.

    • Los núcleos de CPU 2 y 3 están dedicados para el disco virtual GNF y las E/S de red.

    Nota:

    Anteriormente, se utilizaba el isolcpus parámetro 'isolcpus=2-23'. Esto ahora se ha actualizado a 'isolcpus = 4-23'. Para obtener más información, consulte KB35301.

    Para establecer el isolcpus parámetro en el archivo de configuración de GRUB de Linux, siga los procedimientos específicos de la versión del sistema operativo del host. Para RHEL 7, el procedimiento se describe en la sección Aislamiento de CPU del programador de procesos en este documento de Red Hat. Para RHEL 9, la información sobre la modificación de la línea de comandos del kernel se describe en este documento de Red Hat.

    Un resumen de los procedimientos es el siguiente:

    1. Edite el archivo GRUB de Linux /etc/default/grub para agregar el isolcpus parámetro a la variable GRUB_CMDLINE_LINUX, como se muestra en el siguiente ejemplo:

    2. Ejecute el comando grub2-mkconfig shell de Linux para generar el archivo GRUB actualizado como se muestra a continuación:

      Si está utilizando un BIOS heredado, ejecute el siguiente comando:

      Si está utilizando UEFI, ejecute el siguiente comando:

      En RHEL 9.3 y versiones posteriores, ejecute el siguiente comando para sistemas BIOS o UEFI heredados:

    3. Reinicie el servidor x86.

    4. Compruebe que el isolcpus parámetro se ha establecido comprobando el resultado del comando cat /proc/cmdlinede Linux, como se muestra en el siguiente ejemplo:

Para servidores x86 que ejecutan Ubuntu 24.04, realice los siguientes pasos:

  1. Determine el número de núcleos de CPU en el servidor x86. Asegúrese de que el hyperthreading ya se ha deshabilitado, como se describe en Configuración del BIOS de la CPU del servidor x86. Puede utilizar el comando lscpu Linux para encontrar el número total de núcleos de CPU.

  2. Edite el archivo /etc/default/grub para agregar el parámetro isolcpus a la variable GRUB_CMDLINE_LINUX_DEFAULT, como se muestra en el siguiente ejemplo:

  3. Para actualizar los cambios, ejecute update-grub.

  4. Reinicie el servidor.

  5. Compruebe que el isolcpus parámetro se ha establecido comprobando el resultado del comando cat /proc/cmdlinede Linux.

Actualización del controlador Intel X710 NIC para servidores x86

Si utiliza la NIC Intel X710, asegúrese de tener el controlador más reciente (2.4.10 o posterior) instalado en los servidores x86 y de que la versión del firmware de la NIC X710 sea la 18.5.17 o posterior.

Primero debe identificar la interfaz NIC X710 en los servidores. Por ejemplo, esto podría ser p3p1.

Puede comprobar la versión del controlador NIC ejecutando el comando ethtool -i interfacede Linux. Vea el siguiente ejemplo:

Consulte la página de soporte de Intel para obtener instrucciones sobre cómo actualizar el controlador.

Nota:

La actualización del sistema operativo host puede reemplazar el controlador Intel X710 NIC. Por lo tanto, asegúrese de que el sistema operativo del host esté actualizado antes de actualizar el controlador Intel X710 NIC.

Necesita los siguientes paquetes para compilar el controlador:

  • Para RedHat:

    • desarrollo de kernel

    • Herramientas de desarrollo

  • Para Ubuntu:

    • hacer

    • GCC

Si está utilizando RedHat, ejecute los siguientes comandos para instalar los paquetes:

Si está utilizando Ubuntu, ejecute los siguientes comandos para instalar los paquetes:

Nota:

Después de actualizar el controlador Intel X710 NIC, es posible que observe el siguiente mensaje en el registro del sistema operativo host:

"i40e: module verification failed: signature and/or required key missing - tainting kernel"

Ignore este mensaje. Parece que el módulo del controlador NIC actualizado ha reemplazado a la versión base del controlador que se empaquetó con el sistema operativo host.

Instalación de paquetes adicionales para JDM

Los servidores x86 deben tener instalado Red Hat Enterprise Linux (RHEL) 7.3, (RHEL) 9.4 o Ubuntu 24.04 LTS.

Nota:

Los servidores x86 deben tener instalados los paquetes de virtualización.

Para RHEL 9.4, asegúrese de que podman y containernetworking-plugins estén instalados. De lo contrario, utilice la utilidad DNF para instalar los siguientes paquetes adicionales, que se pueden descargar desde el Portal del cliente de Red Hat.

  • podman

  • containernetworking-plugins

Para RHEL 7.3, instale los siguientes paquetes adicionales, que se pueden descargar desde el Portal del cliente de Red Hat.

  • python-psutil-1.2.1-1.el7.x86_64.rpm

  • net-snmp-5.7.2-24.el7.x86_64.rpm

  • net-snmp-libs-5.7.2-24.el7.x86_64.rpm

  • libvirt-snmp-0.0.3-5.el7.x86_64.rpm

Solo para Junos OS versiones 17.4R1 y anteriores, y para 18.1R1, si ejecuta RHEL 7.3, instale también el siguiente paquete adicional:

  • libstdc++-4.8.5-11.el7.i686.rpm

Nota:
  • Los números de versión del paquete que se muestran son las versiones mínimas. Las versiones más recientes pueden estar disponibles en los últimos parches RHEL 7.3 y RHEL 9.4.

  • La extensión .i686 del paquete libstdc++ indica que es un paquete de 32 bits.

  • En el caso de RHEL, se recomienda instalar los paquetes mediante el yum comando or dnf .

For Ubuntu 24.04, instale los siguientes paquetes:

  • python-psutil

Solo para Junos OS versiones 17.4R1 y anteriores, y para 18.1R1, si ejecuta Ubuntu, instale también el siguiente paquete adicional:

  • libstdc++6:i386

Nota:
  • Para Ubuntu, puede usar el apt-get comando para instalar la última versión de estos paquetes. Por ejemplo, use:

    • El comando apt-get install python-psutil para instalar la versión más reciente del python-psutil paquete.

    • El comando apt-get install libstdc++6:i386 para instalar la versión más reciente del libstdc++6 paquete (la extensión :i386 indica que el paquete que se está instalando es una versión de 32 bits).

Completar la conexión entre los servidores y el enrutador

Complete los pasos siguientes antes de empezar a instalar JDM:

  • Asegúrese de que el enrutador de la serie MX esté conectado a los servidores x86 como se describe en Conexión de los servidores y el enrutador.

  • Encienda los dos servidores x86 y ambos motores de enrutamiento en el enrutador de la serie MX.

  • Identifique el puerto de administración del host Linux en ambos servidores x86. Por ejemplo, em1.

  • Identifique los puertos que se asignarán para los puertos de administración JDM y GNF. Por ejemplo, em2 y em3.

  • Identifique los dos puertos de 10 Gbps que están conectados a las tarjetas de control en el enrutador de la serie MX. Por ejemplo, p3p1 y p3p2.