Nuevas funciones y cambios en UEK R7
Nuevas funciones, mejoras y otros cambios notables que se introducen en UEK R7.
Resumen de cambios notables en UEK R7
A continuación, se muestra un resumen de las funciones, los cambios y las mejoras introducidas en UEK R7, en relación con UEK R6:
-
Base de núcleo estable de Linux 5.15
La versión de núcleo mainline 5.15.0 que se utiliza como núcleo base para UEK R7 incluye muchas funciones y mejoras de núcleo ascendente con respecto a las versiones anteriores de UEK y con respecto a RHCK. Para obtener una lista de las principales funciones y mejoras nuevas que se introducen en este núcleo, consulte Core Kernel Features and Functionality.
-
Soporte Arm de 64 bits (aarch64)
Esta versión proporciona compatibilidad mejorada para la plataforma Arm (aarch64) de 64 bits. Un cambio significativo para la plataforma Arm es que el tamaño de página por defecto ha cambiado a 4 KB, desde el anterior valor por defecto de 64 KB. El nuevo tamaño de 4 KB se combina bien con las cargas de trabajo y las cantidades de memoria que existen en la mayoría de los sistemas basados en Arm. Consulte Default Page Size on Arm Platform Changed to 4 KB para obtener información más detallada sobre este cambio notable.
-
DTrace v2.0
Dtrace v2.0 sigue estando disponible en UEK R7 y aprovecha las funciones de rastreo del núcleo como eBPF. Puede encontrar información detallada sobre las versiones de DTrace y otros cambios notables en las Notas de la versión de Oracle Linux: DTrace.
-
Soporte de sistemas de archivos
La compatibilidad con los sistemas de archivos Btrfs y OCFS2 está activada en UEK R7. Los sistemas de archivos XFS y NFS también se han mejorado en esta versión. Para obtener más información sobre las nuevas funciones de sistemas de archivos que se introducen en UEK R7, consulte Sistemas de archivos.
Tamaño de página por defecto en la plataforma Arm cambiado a 4 KB
El tamaño de página predeterminado en la plataforma Arm de 64 bits (aarch64) ha cambiado a 4 KB, desde el valor predeterminado de 64 KB anterior. El nuevo tamaño de 4 KB se combina bien con las cargas de trabajo y las cantidades de memoria que existen en la mayoría de los sistemas basados en Arm.
Este cambio tiene implicaciones importantes si desea actualizar el núcleo desde una versión anterior de UEK. Consulte About Upgrading From a Previous Oracle Linux or UEK Release to UEK R7 para obtener más información.
Para obtener información sobre otros problemas conocidos relacionados con este cambio importante, consulte Known Issues for UEK R7.
Funciones y funcionalidad del núcleo central
Se han implementado varias funciones principales del núcleo central en el núcleo ascendente, entre la versión 5.4 que se utilizó como versión base del núcleo para UEK R6 y la versión del núcleo 5.15.0 que se utiliza como versión base del núcleo para UEK R7. Aunque algunas funciones se han vuelto a admitir en el núcleo UEK R6 en las versiones de actualización, las siguientes son las nuevas funciones importantes que están disponibles en UEK R7:
-
Mejoras del BPF
UEK R7 presenta muchas mejoras en el filtro de paquetes (BPF) de Berkeley, incluidas las siguientes:
-
La introducción de Compile Once Run Everywhere en
libbpfy en LLVM y BPF Type Format (BTF). Este cambio permite al verificador BPF utilizar BTF en el núcleo para comprobar el código de ensamblaje de BPF, lo que proporciona un rastreo de BPF más seguro y rápido. -
El trampolín BPF, que es una función que permite que el código del núcleo llame a programas BPF con una sobrecarga casi nula, está disponible para la arquitectura x86_64. La compatibilidad con el mapa de matriz BPF de asignación de memoria y otras mejoras también se presentan en esta versión.
-
Compatibilidad con BPF para llamar directamente a las funciones del núcleo. Esta mejora permite que los programas BPF que llaman a las funciones del núcleo reutilicen inicialmente las implementaciones de control de congestión del Protocolo de Control de Transmisión (TCP).
-
Los programas BPF pueden dormir durante la ejecución, lo que simplifica el mecanismo para enlazar un socket a un rango de direcciones o números de puerto. El nuevo tipo de programa
BPF_PROG_TYPE_SK_LOOKUPse ejecuta cuando el núcleo está buscando un socket abierto para una conexión entrante. El mecanismo puede decidir qué socket debe recibir la conexión. Este mecanismo se ha agregado como una forma de vincular un socket a un rango de direcciones o números de puerto de una manera más simple. Actualmente, esta función se limita al rastreo y a los programas de módulos de seguridad.
-
-
Capacidad de programación básica incluida
La programación básica proporciona la capacidad de aislar grupos de procesos que se ejecutan en el mismo núcleo, lo que garantiza la máxima protección contra ataques de canal lateral. Puede utilizar la programación del núcleo como método para prevenir ataques de vulnerabilidad de clase Spectra, mientras mantiene activado el multithreading simultáneo (SMT) y evita una penalización de rendimiento al desactivar SMT.
-
Nuevo controlador de memoria de losa de cgroup
UEK R7 presenta un nuevo controlador de memoria de trama de grupo de control (cgroup) que permite compartir memoria de trama entre cgroups de memoria. Esta nueva implementación del controlador de memoria de losa tiene como objetivo lograr una mejor utilización de losa al compartir páginas de losa entre varios cgroups de memoria. Además, la contabilidad se realiza por objeto en lugar de por página. La nueva capacidad ahorra una cantidad significativa de memoria, lo que reduce en gran medida las ineficiencias.
-
Mejoras de io_uring
La llamada al sistema
io_uring, que es una API de Linux para E/S asíncrona, está diseñada para un mayor rendimiento que la API de E/S de Linux anterior admitida por QEMU. Se han introducido varias mejoras paraio_uringen UEK R7, la mayoría de las cuales se centran en la E/S en red.Una mejora del rendimiento de
io_uringrelacionada con la E/S es un nuevo mecanismo de reciclaje de BIO para eliminar cierta sobrecarga interna de gestión de memoria, que según se informa proporciona un aumento del 10 % en el número de operaciones de E/S por segundo queio_uringpuede soportar.Otros cambios notables para
io_uringincluyen Oracle ASMLib v3 + soporte de oracaleasm. Con esta versión, Oracle ASMLib utiliza la llamada del sistemaio_uringen lugar de la interfaz de controladororacleasmheredada, que se ha eliminado en UEK R7. -
Detección de bloqueo dividido
En esta versión, la función de detección de bloqueo dividido de CPU está activada por defecto en sistemas x86_64 que tienen la capacidad de esta funcionalidad, como el procesador Ice Lake. El comando de inicio split_lock_detect permite advertir o enviar
SIGBUS(señales de error de bus) a aplicaciones que utilizan bloqueos divididos. Un bloqueo de división se produce cuando una instrucción de CPU atómica opera en datos que abarcan dos líneas de caché. Esta operación es mucho más lenta que una operación atómica dentro de una línea de caché y interrumpe el rendimiento en otros núcleos.Tenga en cuenta que puede desactivar esta función en el núcleo definiendo
split_lock_detect=off.
Cambios en la distribución y empaquetado de contenido UEK
La forma en que el contenido se distribuye y empaqueta en la versión UEK ha cambiado. A partir de UEK R7, el núcleo se vuelve a empaquetar y se optimiza en varios RPM separados para facilitar requisitos de hardware específicos. Un paquete de meta RPM, denominado kernel-uek, sigue siendo el paquete necesario para todas las instalaciones de UEK y mantiene la compatibilidad con versiones anteriores.
Por defecto, se instalan el paquete kernel-uek y sus dependencias. La instalación de este paquete es igual a la instalación del núcleo UEK completo.
En la siguiente tabla, se proporcionan más detalles sobre cómo se distribuye y empaqueta el contenido de UEK R7, e incluye información sobre las dependencias de paquetes y cualquier otro requisito importante.
|
Paquete |
Descripción |
|---|---|
|
|
Este es un metapaquete que no contiene ningún archivo. El paquete tiene una dependencia en La instalación de este paquete es equivalente a la instalación del núcleo UEK completo. Este es el paquete necesario para todas las instalaciones de UEK y mantiene la compatibilidad con las versiones anteriores. |
|
|
Este paquete contiene el núcleo UEK y un número mínimo de módulos de núcleo y se instala junto con el paquete |
|
|
Este paquete contiene los módulos de núcleo restantes que requieren la mayoría de las configuraciones del servidor. Tenga en cuenta que este paquete requiere que también se instale el paquete |
|
|
Este es un paquete opcional que contiene módulos para hardware y subsistemas que son poco comunes para los servidores y admiten ciertos dispositivos, como Bluetooth, Wi-Fi y tarjetas de captura de video. Si se necesita compatibilidad con cualquiera de estos componentes, instale el paquete manualmente desde el repositorio de yum. Puede mostrar los módulos proporcionados explícitamente por este paquete ejecutando: rpm -q -l kernel-uek-modules-extra |
|
|
Este paquete contiene componentes de firmware principales y es una dependencia para el paquete |
|
|
Este paquete contiene componentes de firmware que no se proporcionan en el paquete
Tenga en cuenta que este paquete requiere que también se instale el paquete |
Sistemas de archivos
Las siguientes funciones y mejoras de sistemas de archivos se introducen en UEK 7:
Btrfs
El tamaño de página por defecto en la plataforma Arm de 64 bits ha cambiado a 4 KB, del valor por defecto anterior de 64 KB. Si ejecuta Oracle Linux 8 en un sistema basado en Arm con una versión anterior de UEK, este cambio afecta a los sistemas de archivos Btrfs, por ejemplo, los sistemas que ejecutan Raspberry Pi en una imagen de desarrollador de Oracle Linux 8. Antes de actualizar a UEK R7, debe migrar los datos y prepararse para cambiar el formato de los sistemas de archivos para evitar la pérdida de datos y asegurarse de que el sistema no se pueda iniciar. Consulte Default Page Size on Arm Platform Changed to 4 KB.
Esta versión presenta varias mejoras de rendimiento y recuperación de datos de Btrfs, así como algunas mejoras de RAID 1, compatibilidad con semáforos de lectura y escritura de Linux y compatibilidad con totales de control. Otros cambios notables para Btrfs son los siguientes:
-
Nueva opción de montaje de rescate agregada
Una nueva opción de montaje de rescate para agrupar todas las opciones de montaje existentes para la recuperación.
usebackuprootes ahora un alias pararescue=usebackuproot;nologreplayes un alias pararescue=nologreplay. -
Aynchronous SSD recorte disponible
El recorte asíncrono de SSD está disponible en Btrfs. Por motivos de rendimiento y nivelación del desgaste, las unidades de almacenamiento de estado sólido se benefician de recibir notificaciones cuando un bloque de disco no se utiliza. Esta operación se denomina discard o trim y la realiza automáticamente Btrfs. Cuando se suprime un archivo, Btrfs notifica a la unidad que los bloques que pertenecen al archivo ya no se utilizan. Antes, estas notificaciones se producían de forma síncrona, lo que significa que las notificaciones de recorte se enviaban antes de finalizar la operación de supresión, lo que puede dañar el rendimiento. Estas notificaciones ahora se envían de forma asíncrona.
-
Mejoras en el rendimiento de fsync()
Se introducen las siguientes mejoras de
fsync():-
Rendimiento mejorado de
fsync()(disminución del 12 % en la latencia máxima informada pordbench). -
Una aceleración sustancial del paralelo
fsyncal reducir el número de consultas y contención del árbol de total de control. -
Gran velocidad de
fsyncparalelo para archivos con extensionesreflinked/deduped. Para los trabajos de 16 a 1024, en promedio, el rendimiento se mejora en aproximadamente un 50%; el tiempo de ejecución se reduce en aproximadamente un 30%.
-
-
Recuperar previamente las hojas de los fragmentos en el soporte de montaje
Recuperar previamente las hojas del árbol de fragmentos en el montaje, lo que mejora la velocidad de montaje en sistemas de archivos de varios TB.
-
Compatibilidad con la asignación de fs-verity e ID
En esta versión se incluye compatibilidad con la asignación de ID y
fs-verity, y DAMON para mejorar la capacidad de supervisar patrones de acceso a la memoria de procesos específicos. La capa genéricafs-verity, que ya está disponible en los sistemas de archivosext4y F2FS, proporciona protección transparente de integridad y autenticidad de archivos de solo lectura. La función también incluye la capacidad de puntos de montaje asignados por ID, que proporciona la capacidad de asignar los ID de usuario y grupo de un montaje a otro montaje.
ext4
El sistema de archivos ext4 sigue siendo compatible con las versiones de UEK.
OCFS2
OCFS2 sigue siendo compatible con las versiones de UEK. Para Oracle Linux 9, los paquetes de espacio de usuario se actualizan para activar el soporte de OCFS2 en esta versión.
XFS
El tamaño de página por defecto en la plataforma Arm de 64 bits ha cambiado a 4 KB, del valor por defecto anterior de 64 KB. Como resultado, si ejecuta Oracle Linux 8 en un sistema basado en Arm con una versión anterior de UEK y anteriormente cambió manualmente un sistema de archivos XFS a un tamaño de bloque superior a 4 KB, debe migrar los datos y prepararse para cambiar el formato de los sistemas de archivos antes de actualizar a UEK R7. Los sistemas con sistemas de archivos XFS configurados para utilizar un tamaño de bloque de 4 KB no se ven afectados. Consulte Default Page Size on Arm Platform Changed to 4 KB.
Los siguientes cambios notables del sistema de archivos XFS se introducen en UEK R7:
-
Mejoras para las operaciones XFS 2038+ y DAX y reducción de metadatos DAX.
En esta versión se ha agregado la capacidad para operaciones DAX de XFS 2038+, por archivo y por directorio, y la reducción de metadatos de DAX.
-
El sistema de archivos XFS incluye nuevas funciones
El sistema de archivos XFS admite dos nuevas opciones:
bigtimeyinobtcount. La opciónbigtimeadmite registros de hora posteriores al año 2038; la opcióninobtcountreduce el tiempo de montaje en sistemas de archivos de gran tamaño. Por defecto, estas opciones están desactivadas. Para activar estas opciones al crear un sistema de archivos XFS, utilice el comando mkfs.xfs de la siguiente manera:sudo mkfs.xfs -m bigtime=1,inobtcount=1
ATENCIÓN
La activación de estas opciones mkfs.xfs crea un sistema de archivos que los núcleos anteriores no pueden desmontar, donde no se admiten.
Protocolo de comunicación WireGuard
El protocolo de comunicación WireGuard está disponible en UEK R7 para redes IPv4 e IPv6. WireGuard utiliza redes privadas virtuales (VPN) cifradas mediante la transferencia de tráfico a través del protocolo de datagramas de usuario (UDP).
WireGuard se habilitó anteriormente como una función de vista previa de tecnología en UEK R6U1, con soporte completo introducido en UEK R6U3.
WireGuard utiliza cifrado de clave pública para la identificación y el cifrado, mientras que OpenVPN utiliza certificados para estas tareas. Con WireGuard, la generación y gestión de claves seguras se maneja en segundo plano. Tenga en cuenta que aunque IPsec sigue siendo el estándar para la comunicación de red segura, WireGuard está ganando popularidad porque es más fácil de configurar e implementar.
Para obtener más información e instrucciones paso a paso, consulte Oracle Linux: Configuring Virtual Private Networks.
RDMA
UEK R7 incluye funciones de acceso directo a memoria remoto (RDMA) que se proporcionan en el núcleo ascendente, con la adición de la funcionalidad Ksplice y DTrace. RDMA permite el acceso directo a la memoria entre dos sistemas conectados por una red. RDMA facilita la creación de redes de alto rendimiento y baja latencia en clusters.
A partir de Oracle Linux 9, el proceso de instalación de paquetes RDMA compatibles con Oracle se ha simplificado mediante el uso de nuevos paquetes de espacio de usuario y un canal ULN dedicado y un repositorio yum para paquetes relacionados con RDMA. Para obtener más información, consulte Instalación y actualización de paquetes RDMA admitidos por Oracle en Oracle Linux.
Si ejecuta Oracle Linux 8, el proceso de instalación de los paquetes RDMA admitidos por Oracle sigue siendo el mismo que en las versiones anteriores.
Seguridad
Las siguientes funciones de seguridad se introducen en UEK 7:
Nuevo llavero de núcleo .machine introducido
El conjunto de claves del núcleo .machine se presenta en UEK R7. Puede utilizar este conjunto de claves como anclaje de confianza de nivel de núcleo para cualquier operación que utilice claves asimétricas. El conjunto de claves .machine tiene el mismo nivel de confianza dentro del núcleo que los conjuntos de claves .builtin_trusted_keys y .secondary_trusted_keys. De forma similar a los keyrings incorporados y secundarios, puede utilizar claves en el keyring .machine para hacer lo siguiente:
-
Realizar la validación de firmas del módulo de núcleo.
-
Agregue claves adicionales al conjunto de claves
.secondary_trusted_keys. -
Servir como CA para claves de evaluación de IMA.
Tenga en cuenta que las claves incluidas en el plato de claves .machine deben ser un certificado de CA raíz. Para calificar como certificado de CA raíz, se deben cumplir los dos requisitos siguientes:
-
El certificado X.509 se autofirmará.
-
El certificado X.509 contendrá extensiones X509v3 con
basicConstraints=critical,CA:TRUE
También se recomienda que el campo keyUsage se defina con keyCertSign.
A diferencia de las versiones anteriores de UEK, las claves incluidas en el conjunto de claves .platform en UEK R7 solo se pueden utilizar para kexec. Además, no puede utilizar las claves .platform para ningún otro propósito; mientras que, en versiones anteriores de UEK, podía utilizar el conjunto de claves .platform para la validación de firmas del módulo de núcleo, pero no se podían utilizar para ninguna otra operación de clave de núcleo.
La manera más sencilla de agregar claves al plato de claves .machine es inscribiéndolas con la utilidad mokutil. Tenga en cuenta que este método requiere que primero cree un par de claves X.509.
SGX activado en arquitectura Intel
Unbreakable Enterprise Kernel Release 7 permite la tecnología Intel Software Guard Extensions (SGX) en el procesador escalable Intel Xeon de tercera generación (nombre en clave Ice Lake).
Las aplicaciones pueden utilizar esta funcionalidad de hardware para rellenar regiones protegidas de datos y código de usuario, denominadas claves. Cuando se activa, el nuevo hardware protege el código y los datos del enclave del acceso y la modificación externos. Los enclaves proporcionan un lugar para almacenar secretos y, a continuación, procesar datos con esos secretos, como el software DRM. SGX ayuda a proporcionar protección contra muchas amenazas conocidas de ciberseguridad, reduciendo así la superficie de ataque de los servidores mediante el uso de enclaves seguros, que protegen la información de los procesos que se ejecutan con un privilegio más alto.
Zonefs para dispositivos de bloques segmentados
La función zonefs (sistema de archivos de zona) es un sistema de archivos simple que expone cada zona de un dispositivo de bloques segmentado por zonas como un archivo. A diferencia de un sistema de archivos normal compatible con POSIX con soporte de dispositivo de bloque segmentado por zonas nativo, por ejemplo, f2fs, zonefs no oculta al usuario la restricción de escritura secuencial de los dispositivos de bloque segmentado por zonas. Los archivos que representan zonas de escritura secuencial del dispositivo se deben escribir secuencialmente, a partir del final del archivo (agregar solo escrituras).
Funciones en desuso y eliminadas
Las siguientes funciones están en desuso, se eliminaron o ya no se admiten en UEK R7:
-
/dev/raw Dispositivo eliminado
El controlador
/dev/rawque se marcó como obsoleto en el año 2005 se ha eliminado en esta versión. En versiones anteriores, los nodos de dispositivo en/dev/rawproporcionaban una interfaz para dirigir la semántica de E/S para las aplicaciones que se escribían antes de la introducción del indicador de archivoO_DIRECTen Linux. Este cambio también hace que el comando raw que forma parte del paqueteutil-linuxno funcione.Para obtener semántica de archivos de E/S directa, utilice la configuración adecuada para el archivo de E/S, de la siguiente manera:
-
Para C, utilice el indicador
O_DIRECTcomo parte de la llamada del sistemaopen(). -
Para Java, utilice el modo
RandomAccessFile, "rwd", (abierto para lectura y escritura). -
Desde el shell, puede utilizar los indicadores
dd,iflag=direct(para lectura) yoflag=direct(para escritura).
-
-
Módulo resilient_rdmaip en desuso
El módulo
resilient_rdmaipestá en desuso en UEK R7. Es posible que este módulo se elimine en una versión posterior de UEK. -
Controlador Cisco fnic 1.6 no admitido
Cisco ya no admite el controlador de HBA Cisco FCoE (
fnic1.6) que proviene del núcleo ascendente y que está disponible en la mayoría de los núcleos, incluidos UEK R5, UEK R6 y UEK R7. Cisco proporciona un controlador UCS Linux totalmente compatible (versión 2.0.0.83 y posterior) que se ha probado y es compatible con Oracle Linux, con UEK R5 y versiones posteriores de UEK, en la página de descarga de software de Cisco. El paquete de controladores incluye funciones que no están disponibles en el módulo de controladores incluido actualmente, como la compatibilidad con NVMe y la compatibilidad con varias colas.Los clientes que ejecutan Oracle Linux en servidores Cisco deben instalar el paquete de controladores Cisco para recibir correcciones de controladores, actualizaciones de controladores, nuevo soporte de hardware y nuevo soporte de funciones. Póngase en contacto con Cisco para obtener más información sobre las soluciones de controladores en Oracle Linux.
-
Módulo de núcleo de oracleasm eliminado
El módulo de núcleo
oracleasmse elimina en UEK R7. Tenga en cuenta que este módulo sigue siendo compatible con las versiones UEK R5 y UEK R6.Tenga en cuenta que Oracle ASMLib sigue estando soportado mediante las interfaces
io_uring. Consulte Funciones y funcionalidad del núcleo central para obtener más información. -
Módulo de núcleo DRBD eliminado
El módulo de núcleo DRBD (Distributed Replicated Block Device) y el paquete
drbd-utilsse eliminan en UEK R7. Tenga en cuenta que el módulo de núcleo DRBD y su paquete asociado, que se presentó como una vista previa de tecnología en UEK R4 y quedó en desuso en UEK R6U3, siguen activándose en UEK R5 y UEK R6.