Nuevas funciones y cambios en UEK R6U1

Las siguientes son las principales funciones nuevas de Unbreakable Enterprise Kernel versión 6 actualización 1 (UEK R6U1).

Versión del Núcleo

UEK R6U1 utiliza la versión 5.4.17-2036 y la versión del núcleo UEK R6, que incluye correcciones de errores y seguridad, así como actualizaciones de controladores.

Funcionalidad del núcleo central

UEK R6U1 proporciona una funcionalidad de núcleo central equivalente a UEK R6, haciendo uso de la misma versión de núcleo mainline ascendente y correcciones de errores LTS ascendentes, con parches adicionales para mejorar la funcionalidad existente y proporcionar algunas correcciones de errores menores y mejoras de seguridad. Los cambios clave son específicos de la funcionalidad que se necesita para Oracle Database y otro software de Oracle.

Padata sustituye a ktask

Padata es un marco para paralelizar el trabajo que utiliza mucha CPU en el núcleo. En UEK R6, Oracle lanzó el marco de tareas para el trabajo de núcleo con uso intensivo de CPU de varios threads, pero contribuyó a la convergencia y el desarrollo continuo de la implementación de padata en el núcleo ascendente. En UEK R6U1 ktask se sustituye por una funcionalidad equivalente en padata para alinearse con upstream. Los cambios no deben ser visibles para el usuario, y la inicialización de la página de estructura y la inicialización de invitado de KVM activada para VFIO siguen siendo multithread para reducir los tiempos de inicio.

La documentación para los padata se proporciona en /usr/share/doc/kernel-uek-doc-5.4/core-api/padata.rst.

Sistemas de archivos

En UEK R6U1 se implementan los siguientes cambios notables en el sistema de archivos:

  • Btrfs

    Se han aplicado parches ascendentes para mejoras de seguridad y correcciones de bugs. Esto incluye una solución para CVE-2019-19448.

  • CIF

    Se han aplicado parches generales de corrección de bugs ascendentes.

  • Extensión 4

    Se han aplicado correcciones de errores ascendentes, incluidas varias correcciones para las condiciones de carrera que dieron como resultado un comportamiento indeseable o bloqueos del sistema.

  • NFS

    Se han aplicado correcciones de errores y mejoras de rendimiento para NFS. Significativamente, se incluye una corrección para un problema en el cliente NFSv3 que detuvo el comando ls -lrt si el directorio se estaba modificando cuando se ejecutó el comando.

  • OCFS2

    Los cambios ascendentes para OCFS2 desde el núcleo ascendente 5.7 vuelven a estar soportados en esta versión del núcleo. También se aplicó una corrección de bugs para resolver un problema que disparaba un fallo de protección general cuando un servidor NFS estaba alojado en un sistema de archivos OCFS2.

  • XFS

    Se han aplicado varias correcciones de bugs y mejoras de rendimiento. Significativamente, el lavado de inodes multi-hilo se mejora para proporcionar un mejor rendimiento y evitar la pequeña posibilidad de un comportamiento indeseable como resultado de una condición de carrera. Además, se incluye una corrección para un bug que podría provocar el fallo de desbloqueo de un bloqueo de congelación, lo que provocaría el bloqueo del sistema de archivos. También se han aplicado mejoras de seguridad, incluida una solución para CVE-2020-12655.

Funciones de previsualización técnica

Se están investigando varias características y se está desarrollando para su lanzamiento dentro de UEK R6. Las siguientes funciones están disponibles en UEK R6U1 como vista previa técnica.

Programación básica

La programación del núcleo es una función habilitada en el núcleo para limitar las tareas de confianza que se ejecutan simultáneamente en núcleos de CPU que comparten recursos informáticos para ayudar a mitigar ciertas categorías de errores del procesador de "caché compartida del núcleo" que podrían causar fugas de datos y otras vulnerabilidades relacionadas.

Esta función se implementa en forma de un cgroup, donde las tareas de un cgroup habilitado para programación central tienen un grupo único "cookie". Estas tareas no pueden compartir un núcleo con tareas que tienen una cookie diferente ni con tareas que no están en un cgroup de programación de núcleo activado.

La programación básica está diseñada para funcionar en un sistema configurado con Multi-Threading simultáneo activado. Sin embargo, la programación del núcleo no elimina la necesidad de otras mitigaciones de seguridad del procesador que puedan ser necesarias en un sistema. Para utilizar esta función, asegúrese de que SMT=on está configurado y, a continuación, realice las siguientes operaciones como usuario raíz:

  1. Cree un grupo de controladores de CPU de la versión 1 normal. Por ejemplo, para crear un grupo denominado cpu_sched_0:

    # mkdir /sys/fs/cgroup/cpu/cpu_sched_0
                               
  2. Agregue tareas al cgroup. Las tareas se agregan escribiendo su ID de proceso (PID) en el archivo tasks del grupo:

    # echo PID > /sys/fs/cgroup/cpu/core_sched_0/tasks
                               
  3. Para activar la programación del núcleo central para el grupo de controladores de CPU, escriba un valor de 1 en el archivo cpu.tag:

    # echo 1 > /sys/fs/cgroup/cpu/core_sched_0/cpu.tag
                               

    Una vez que se actualiza el archivo cpu.tag, las tareas dentro del cgroup nunca comparten un núcleo con tareas de un cgroup diferente o tareas no asignadas a un cgroup.

Esta función se habilita como vista previa técnica y está en desarrollo. Las interfaces están sujetas a cambios. No se recomienda la conexión en caliente de CPU en un sistema con cgroups de programación principales. El uso de la programación básica en procesadores AMD puede mostrar una variación de rendimiento más amplia y tampoco se recomienda.

WireGuard

WireGuard es un reemplazo más rápido y seguro para IPsec y OpenVPN. Las nuevas redes se están construyendo con criptografía moderna de WireGuard en lugar de tecnologías heredadas como IPsec y OpenVPN. WireGuard se habilita como vista previa técnica en UEK R6U1 e introduce el módulo de núcleo wireguard en la versión 1.0.20200712.

Tenga en cuenta que el paquete wireguard-tools del repositorio ol7_developer_UEKR6 no soportado es necesario para configurar WireGuard. Para acceder a este repositorio de yum, debe instalar el paquete oraclelinux-developer-release-el7 o oraclelinux-developer-release-el8 adecuado para su entorno operativo. Una vez instalado, restrinja el uso del repositorio para el paquete wireguard-tools, para evitar la instalación accidental de actualizaciones UEK previas a la liberación.

Para instalar el paquete wireguard-tools en Oracle Linux 7, ejecute:

# yum install oraclelinux-developer-release-el7
# yum-config-manager --disable ol7_developer
# yum-config-manager --enable ol7_developer_UEKR6
# yum-config-manager --save --setopt=ol7_developer_UEKR6.includepkgs='wireguard-tools*'
# yum install wireguard-tools
                     

Para instalar este paquete en Oracle Linux 8, ejecute:

# dnf install oraclelinux-developer-release-el8
# dnf config-manager --disable ol8_developer
# dnf config-manager --enable ol8_developer_UEKR6
# dnf config-manager --save --setopt=ol8_developer_UEKR6.includepkgs='wireguard-tools*'
# dnf install wireguard-tools
                     

Copia en el servidor NFS versión 4.2

La funcionalidad NFS v4.2 Server Side Copy es compatible con el núcleo ascendente y está disponible en UEK R6U1 como vista previa técnica. Las funciones de copia del servidor proporcionan mecanismos que permiten a un cliente NFS copiar datos de archivos en un servidor o entre dos servidores sin que los datos se transmitan de un lado a otro a través de la red a través del cliente NFS. Tenga en cuenta que la funcionalidad dentro del servidor está activada, mientras que la funcionalidad entre servidores está desactivada por defecto. Para activar esta funcionalidad, defina el parámetro inter_copy_offload_enable del módulo nfsd y reinicie el servicio NFS. Puede hacerlo temporalmente ejecutando:

# echo y > /sys/module/nfsd/parameters/inter_copy_offload_enable
                     

Como alternativa, para que este cambio sea permanente, edite /etc/modprobe.d/nfsd.conf para agregar la línea:

options nfsd inter_copy_offload_enable=Y

Tenga en cuenta que la capacidad de realizar una copia del servidor depende en gran medida de las capacidades del sistema de archivos del servidor. Por ejemplo, para realizar una copia eficaz dentro del servidor de un archivo, el sistema de archivos de destino subyacente necesita una capacidad de instantánea o clonación para archivos individuales.

Las pruebas iniciales han indicado algunos problemas con esta característica y se considera en gran medida experimental en esta versión.

Actualizaciones de controlador

Unbreakable Enterprise Kernel versión 6 admite una gran cantidad de hardware y dispositivos. En estrecha cooperación con los proveedores de hardware y almacenamiento, Oracle ha actualizado varios controladores de dispositivos de las versiones de la línea principal Linux 5.4.

En el apéndice de Driver Modules in Unbreakable Enterprise Kernel Release 6 (x86_64), se proporciona una lista completa de los módulos de controlador incluidos en la última actualización de UEK R6 junto con la información de la versión.

Funciones y actualizaciones notables del controlador

Las siguientes nuevas funciones se mencionan en los controladores enviados con UEK R6U1:

  • Controladores AMD-TEE

    Los controladores AMD-TEE, amdtee y tee, son nuevas incorporaciones en esta versión y se incluyen en la versión 1.0, como parte de una iniciativa más amplia para incluir actualizaciones de núcleo de línea principal para la familia de CPU AMD Milan.

  • Controlador de tarjeta LAN inalámbrica Atheros 802.11n HTC

    El controlador de tarjeta LAN inalámbrica Atheros 802.11n HTC, ath9k_htc, está parcheado y actualizado para correcciones de seguridad, incluyendo CVE-2019-19073.

  • Controlador de red Broadcom BCM573xx

    El controlador de red Broadcom BCM573xx, bnxt_en, está disponible en la versión 1.10.1 e incluye parches y actualizaciones proporcionados por el proveedor. A petición del proveedor, también se incluye un parche para gestionar mejor la recopilación de estadísticas en el firmware anterior. Significativamente, el mantenimiento de los contadores de red a través de los restablecimientos también se mejora para que la acumulación de contadores durante un restablecimiento solo se produzca cuando se establece el parámetro irq_re_init. Tenga en cuenta que un cambio ascendente produce un cambio en el nombre del dispositivo para las interfaces de red de Broadcom que utilizan este controlador. Por ejemplo, un dispositivo que puede haber sido identificado previamente como eno3d1 ahora se identifica como eno3. Este cambio se debe a que los puertos del dispositivo de red pueden pertenecer a diferentes funciones y se ha aplicado una corrección para mejorar la nomenclatura del dispositivo evitando suposiciones sobre la funcionalidad del puerto en un dispositivo.

  • Controlador Intel Ethernet Connection E800 Series

    El controlador Linux de la serie Intel Ethernet Connection E800, ice, está completamente actualizado a la versión 0.8.2-k con parches y actualizaciones proporcionados por el proveedor para permitir la compatibilidad con controladores Intel 800-Series Ethernet y tarjetas PCIe más recientes, mediante el nombre de código de Columbiaville.

  • Controlador SCSI de canal de fibra Broadcom Emulex LightPulse

    El controlador SCSI de canal de fibra Broadcom Emulex LightPulse, lpfc, se actualiza a la versión 12.8.0.3 con parches y correcciones de bugs proporcionados por el proveedor.

  • Controlador MegaRAID SAS de Broadcom

    El controlador MegaRAID SAS de Broadcom, megaraid_sas, se actualiza a la versión 07.714.04.00-rc1. Esta actualización incluye parches proporcionados por el proveedor que alinean la versión del controlador con la versión del núcleo ascendente.

  • Controlador de dispositivo LSI MPT Fusion SAS 3.0

    El controlador de dispositivo LSI MPT Fusion SAS 3.0, mpt3sas, se actualiza a la versión 34.100.00.00 para incluir los parches proporcionados por el proveedor que alinean la versión del controlador con la versión de núcleo ascendente.

  • Controlador HBA QLogic Fibre Channel

    El controlador HBA de canal de fibra de QLogic, qla2xxx, se actualiza a la versión 10.01.00.25-k e incluye una gran cantidad de parches suministrados por el proveedor para alinear la versión del controlador con la versión de núcleo ascendente.

  • Controlador de adaptador Ethernet USB basado en Realtek RTL8152/RTL8153

    El controlador de adaptador Ethernet USB basado en Realtek RTL8152/RTL8153, r8152 se actualiza a la versión 1.10.11 con parches de núcleo ascendente.

  • Controlador de dispositivo de gestión de volúmenes Intel

    El controlador Intel VMD (Dispositivo de gestión de volúmenes), vmd, versión 0.6 se agrega a esta versión del núcleo y permite la capacidad de mantenimiento de los dispositivos NVMe, aprovechando la lógica de hardware proporcionada por el procesador Intel Xeon. El controlador agrega SSD PCIe NVMe y se comporta de manera similar a un HBA para SATA y SAS.