EN ESTA PÁGINA
Preparación para la configuración de la división de nodos de Junos
Los temas de esta sección solo se aplican a la configuración de división de nodos de Junos mediante el modelo de servidor externo. Para la división de nodos 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 (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.
No conecte el cable de circuito cerrado al puerto CB 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 CB externo no esté conectado al puerto externo del otro CB.
Para evitar que el servidor host sufra un ataque de fuerza bruta SSH, se recomienda agregar reglas IPtables en el servidor host. El siguiente es un ejemplo:
iptables -N SSH_CONNECTIONS_LIMIT iptables -A INPUT -i jmgmt0 -p tcp -m tcp --dport 22 -m state --state NEW -j SSH_CONNECTIONS_LIMIT iptables -A SSH_CONNECTIONS_LIMIT -m recent --set --name SSH --rsource iptables -A SSH_CONNECTIONS_LIMIT -m recent --update --seconds 120 --hitcount 10 --name SSH --rsource -j DROP iptables -A SSH_CONNECTIONS_LIMIT -j ACCEPT
La regla del ejemplo anterior se utiliza para limitar la velocidad de las conexiones SSH entrantes. Le permite bloquear conexiones desde la IP remota durante un cierto período de tiempo cuando se realiza un número particular 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.

Según el ejemplo de la Figura 1, em1
, em2
, y em3
en los servidores x86 están los puertos que se utilizan 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.
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 de la tarjeta de control (CB) del enrutador de la serie MX mencionados en la figura 1, consulte:
Descripción de SCBE2-MX (para MX960 y MX480)
Nota:Los números de puerto XGE no están etiquetados en el SCBE2. En un SCBE2 orientado verticalmente, el puerto superior es XGE-0 y el puerto inferior es XGE-1. En un SCBE2 orientado horizontalmente, el puerto izquierdo es XGE-0 y el puerto derecho es XGE-1.
REMX2K-X8-64G y REMX2K-X8-64G-LT CB-RE Descripción ( para MX2010 y MX2020)
Utilice el show chassis ethernet-switch
comando para ver estos puertos XGE. En la salida del comando en MX960, consulte los números 24
de puerto y 26
para ver estos puertos en el SCBE2. En la salida de comandos de MX2010 y MX2020, consulte los números 26
de puerto y 27
para verlos en el motor de enrutamiento de la tarjeta de control (CB-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 manera que:
El hyperthreading está deshabilitado.
Los núcleos de la CPU siempre se ejecutan a su frecuencia nominal.
Los núcleos de la CPU están configurados para reducir la fluctuación al limitar el uso del estado C.
Para buscar la frecuencia nominal de los núcleos de CPU en el servidor, ejecute el comando lscpu
host de Linux y compruebe el valor del campo Model name
. Vea el siguiente ejemplo:
Linux server0:~# lscpu
..
Model name: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
..
Para encontrar la frecuencia con la que se ejecutan actualmente los núcleos de CPU, ejecute el comando grep MHz /proc/cpuinfo
host de Linux y compruebe el valor de cada núcleo de CPU.
En un servidor que tiene el BIOS configurado para operar los núcleos de CPU a su frecuencia nominal, los valores observados para los núcleos de CPU coincidirán con la frecuencia nominal (o estarán muy cerca de ella), como se muestra en el ejemplo siguiente.
Linux server0:~# grep MHz /proc/cpuinfo
…
cpu MHz : 2499.902
cpu MHz : 2500.000
cpu MHz : 2500.000
cpu MHz : 2499.902
…
En un servidor que no tiene el BIOS configurado para operar los núcleos de CPU a su frecuencia nominal, los valores observados para los núcleos de CPU no coinciden con la frecuencia nominal, y los valores también pueden variar con el tiempo (puede comprobarlo volviendo a ejecutar el comando).
Linux server0:~# grep MHz /proc/cpuinfo
…
cpu MHz : 1200.562
cpu MHz : 1245.468
cpu MHz : 1217.625
cpu MHz : 1214.156
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 la fluctuación 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 de sistema del BIOS para lograr esto incluye:
Logical processor
: establecido en Deshabilitado.CPU power management
: se establece en Rendimiento máximo.Memory frequency
: se establece en Rendimiento máximo.Turbo boost
: establecido en Deshabilitado.C-states and C1E state
: establecido en Deshabilitado.Energy efficient policy
: se establece en Rendimiento.Monitor/Mwait
: establecido en Deshabilitado.
Es posible que se requiera un perfil de sistema de BIOS personalizado para establecer estos valores.
Configuración de x86 Server Linux GRUB
En la división de nodos de Junos, a cada máquina virtual GNF se le asignan núcleos de CPU dedicados. Esta asignación es administrada por Juniper Device Manager (JDM). En cada servidor x86, JDM requiere que todos los núcleos de CPU que no sean los núcleos de CPU 0 y 1 estén reservados para la división de nodos de Junos y, en efecto, que estos núcleos estén aislados de otras aplicaciones. Los núcleos de CPU 2 y 3 están dedicados al disco virtual GNF y a la 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 Linux GRUB como se describe en el siguiente procedimiento:
Para servidores x86 que ejecutan Red Hat Enterprise Linux (RHEL) 7.3, realice los pasos siguientes:
Determine el número de núcleos de CPU en el servidor x86. Asegúrese de que el hyperthreading ya se haya deshabilitado, como se describe en Configuración del BIOS de la CPU del servidor x86. Puede usar el comando
lscpu
Linux para buscar el número total de núcleos de CPU, como se muestra en el ejemplo siguiente:Linux server0:~#
lscpu
… Cores per socket: 12 Sockets: 2 …Aquí, hay 24 núcleos (12 x 2). Los núcleos de la CPU se numeran como núcleo 0 a núcleo 23.
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 lo usen las máquinas virtuales GNF). Elisolcpus
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 estén reservados para la división de nodos de Junos.
Los núcleos de CPU 2 y 3 están dedicados al disco virtual GNF y a 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 Linux GRUB, siga los procedimientos específicos de la versión del sistema operativo host. Para RHEL 7, el procedimiento se describe en la sección Aislar 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.A continuación figura un resumen de los procedimientos:
Edite el archivo GRUB de Linux /etc/default/grub para anexar el
isolcpus
parámetro a la variable GRUB_CMDLINE_LINUX, como se muestra en el ejemplo siguiente:GRUB_CMDLINE_LINUX= "crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet
isolcpus=4-23
”Ejecute el comando
grub2-mkconfig
de shell de Linux para generar el archivo GRUB actualizado como se muestra a continuación:Si utiliza un BIOS heredado, emita el siguiente comando:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Si usa UEFI, emita el siguiente comando:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
En RHEL 9.3 y versiones posteriores, emita el siguiente comando para los sistemas BIOS o UEFI heredados:
# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
Reinicie el servidor x86.
Compruebe que el
isolcpus
parámetro ya se ha establecido, comprobando el resultado del comandocat /proc/cmdline
de Linux , como se muestra en el ejemplo siguiente:#
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-327.36.3.el7.x86_64 … quiet isolcpus=4-23
Para servidores x86 que ejecutan Ubuntu 20.04, realice los pasos siguientes:
Determine el número de núcleos de CPU en el servidor x86. Asegúrese de que el hyperthreading ya se haya deshabilitado, como se describe en Configuración del BIOS de la CPU del servidor x86. Puede usar el comando
lscpu
Linux para encontrar el número total de núcleos de CPU.Edite el archivo /etc/default/grub para anexar el parámetro isolcpus a la variable GRUB_CMDLINE_LINUX_DEFAULT, como se muestra en el ejemplo siguiente:
GRUB_CMDLINE_LINUX_DEFAULT= "intel_pstate=disable processor.ignore_ppc=1
isolcpus=4-23
"Para actualizar los cambios, ejecute
update-grub
.Reinicie el servidor.
Compruebe que el
isolcpus
parámetro ya se ha establecido, comprobando el resultado del comandocat /proc/cmdline
de Linux.
Actualización del controlador NIC Intel X710 para servidores x86
Si utiliza la NIC Intel X710, asegúrese de que tiene el controlador más reciente (2.4.10 o posterior) instalado en los servidores x86 y que la versión del firmware de la NIC X710 es 18.5.17 o posterior.
Primero debe identificar la interfaz NIC X710 en los servidores. Por ejemplo, podría ser p3p1
.
Puede comprobar la versión del controlador NIC ejecutando el comando ethtool -i interface
Linux . Vea el siguiente ejemplo:
root@Linux server0# ethtool -i p3p1
driver: i40e
version: 2.4.10
firmware-version: 5.05 0x80002899 18.5.17
...
Consulte la página de asistencia de Intel para obtener instrucciones sobre cómo actualizar el controlador.
La actualización del sistema operativo host puede reemplazar el controlador NIC Intel X710. Por lo tanto, asegúrese de que el sistema operativo host esté actualizado antes de actualizar el controlador NIC Intel X710.
Necesita los siguientes paquetes para compilar el controlador:
Para RedHat:
kernel-devel
Herramientas de desarrollo
Para Ubuntu:
hacer
Gcc
Si está utilizando RedHat, ejecute los siguientes comandos para instalar los paquetes:
root@Linux server0#yum install kernel-devel
root@Linux server0#yum group install "Development Tools"
Si está utilizando Ubuntu, ejecute los siguientes comandos para instalar los paquetes:
root@Linux server0#apt-get install make
root@Linux server0#apt-get install gcc
Después de actualizar el controlador NIC Intel X710, 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 porque el módulo de controlador NIC actualizado ha reemplazado a la versión base del controlador que se empaquetó con el sistema operativo host.
Ver también
Instalación de paquetes adicionales para JDM
Los servidores x86 deben tener Red Hat Enterprise Linux (RHEL) 7.3, (RHEL) 9 o Ubuntu 20.04 LTS instalado.
Los servidores x86 deben tener instalados los paquetes de virtualización.
Para RHEL 9, asegúrese de que los plugins podman y containernetworking-estén instalados. Si no es así, utilice la utilidad DNF para instalar los siguientes paquetes adicionales, que se pueden descargar desde el Portal de clientes de Red Hat.
-
Podman
-
containernetworking-plugins
Para RHEL 7.3, instale los siguientes paquetes adicionales, que se pueden descargar desde el Portal de clientes 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 está ejecutando RHEL 7.3, instale también el siguiente paquete adicional:
-
libstdc++-4.8.5-11.el7.i686.rpm
-
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.
-
La extensión
.i686
del paquete libstdc++ indica que se trata de un paquete de 32 bits. -
Para RHEL, se recomienda instalar los paquetes con el
yum
comando odnf
.
For Ubuntu 20.04, instale los paquetes siguientes:
-
python-psutil
Solo para Junos OS versiones 17.4R1 y anteriores, y para 18.1R1, si está ejecutando Ubuntu, instale también el siguiente paquete adicional:
-
libstdc++6:i386
-
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 delpython-psutil
paquete. -
El comando
apt-get install libstdc++6:i386
para instalar la versión más reciente dellibstdc++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 los motores de enrutamiento del enrutador de la serie MX.
Identifique el puerto de administración de host Linux en ambos servidores x86. Por ejemplo,
em1
.Identifique los puertos que se asignarán para JDM y los puertos de administración GNF. Por ejemplo,
em2
yem3
.Identifique los dos puertos de 10 Gbps que están conectados a las tarjetas de control del enrutador de la serie MX. Por ejemplo,
p3p1
yp3p2
.