Nouvelles fonctionnalités et changements dans UEK R7
Nouvelles fonctionnalités, améliorations et autres changements notables introduits dans UEK R7.
Résumé des changements notables dans UEK R7
Voici un résumé des caractéristiques, modifications et améliorations introduites dans UEK R7, par rapport à UEK R6 :
-
Base de noyau stable Linux 5.15
La version 5.15.0 du noyau principal utilisée comme noyau de base pour UEK R7 comprend de nombreuses fonctionnalités et améliorations du noyau en amont par rapport aux versions précédentes d'UEK et par rapport à RHCK. Pour obtenir la liste des nouvelles fonctions et améliorations majeures introduites dans ce noyau, voir Fonctions et fonctionnalités du noyau principal.
-
Prise en charge du bras 64 bits (aarch64)
Cette version fournit un support amélioré pour la plate-forme Arm 64 bits (aarch64). Une modification importante pour la plate-forme Arm est que la taille de page par défaut est passée à 4 Ko, par rapport à la précédente valeur par défaut de 64 Ko. La nouvelle taille de 4 Ko s'accorde bien avec les charges de travail et les quantités de mémoire qui existent sur la majorité des systèmes basés sur ARM. Voir Taille de page par défaut sur la plate-forme ARM modifiée à 4 Ko pour plus d'informations sur cette modification notable.
-
DTrace v2.0
Dtrace v2.0 continue d'être disponible dans UEK R7 et tire parti des installations de traçage du noyau telles que eBPF. Des informations détaillées sur les versions de DTrace et d'autres changements notables sont disponibles sur Oracle Linux : Notes de version de DTrace.
-
Prise en charge des systèmes de fichiers
La prise en charge des systèmes de fichiers Btrfs et OCFS2 est activée dans UEK R7. Les systèmes de fichiers XFS et NFS ont également été améliorés dans cette version. Pour plus d'informations sur les nouvelles fonctions de systèmes de fichiers introduites dans UEK R7, voir Systèmes de fichiers.
Taille de page par défaut sur la plate-forme ARM modifiée à 4 Ko
La taille de page par défaut sur la plate-forme Arm 64 bits (aarch64) est passée à 4 Ko, par rapport à la précédente valeur par défaut de 64 Ko. La nouvelle taille de 4 Ko s'accorde bien avec les charges de travail et les quantités de mémoire qui existent sur la plupart des systèmes basés sur ARM.
Cette modification a des implications importantes si vous avez l'intention de mettre à niveau le noyau à partir d'une version précédente d'UEK. Pour plus d'informations, voir À propos de la mise à niveau d'une version Oracle Linux ou UEK précédente vers UEK R7.
Pour plus d'informations sur les autres problèmes connus liés à cette modification importante, voir Problèmes connus pour UEK R7.
Caractéristiques et fonctionnalités du noyau principal
Plusieurs fonctionnalités majeures du noyau central ont été implémentées dans le noyau amont, entre la version 5.4 utilisée comme version du noyau de base pour UEK R6 et la version 5.15.0 du noyau utilisée comme version du noyau de base pour UEK R7. Bien que certaines fonctionnalités aient été rétroportées dans le noyau UEK R6 dans les versions de mise à jour, voici les nouvelles fonctionnalités importantes disponibles dans UEK R7 :
-
Améliorations apportées au BPF
UEK R7 introduit de nombreuses améliorations de Berkeley Packet Filter (BPF), notamment :
-
L'introduction de Compile Once Run Everywhere dans
libbpfet dans les formats de type LLVM et BPF (BTF). Cette modification permet au vérificateur BPF d'utiliser BTF dans le noyau pour taper le code d'assemblage BPF de vérification, ce qui permet un traçage BPF plus sûr et plus rapide. -
Le trampoline BPF, qui est une fonctionnalité qui permet au code du noyau d'appeler des programmes BPF avec une surcharge presque nulle, est disponible pour l'architecture x86_64. La prise en charge de la carte de mémoire BPF et d'autres améliorations sont également introduites dans cette version.
-
Prise en charge BPF pour appeler directement les fonctions du noyau. Cette amélioration permet aux programmes BPF qui appellent les fonctions du noyau initialement de réutiliser les implémentations de contrôle de congestion du protocole de contrôle de transmission (TCP).
-
Les programmes BPF peuvent dormir pendant l'exécution, ce qui simplifie le mécanisme de liaison d'une socket à une plage d'adresses ou de numéros de port. Le nouveau type de programme
BPF_PROG_TYPE_SK_LOOKUPs'exécute lorsque le noyau recherche un connecteur logiciel ouvert pour une connexion entrante. Le mécanisme peut alors décider quelle prise doit recevoir la connexion. Ce mécanisme a été ajouté comme un moyen de lier un socket à une plage d'adresses ou de numéros de port d'une manière plus simple. Actuellement, cette fonctionnalité est limitée aux programmes de suivi et de module de sécurité.
-
-
Capacité de programmation de base incluse
La planification de base permet d'isoler des groupes de processus qui s'exécutent sur le même cœur, assurant une protection maximale contre les attaques par canal latéral. Vous pouvez utiliser la planification de base comme méthode pour prévenir les attaques de vulnérabilité de classe Spectra, tout en gardant le Multithreading Simultané (SMT) activé et en évitant une pénalité de performance pour désactiver le SMT.
-
Nouveau contrôleur de mémoire de dalle de cgroup
UEK R7 introduit un nouveau contrôleur de mémoire de dalle de groupe de contrôle (cgroup) qui vous permet de partager la mémoire de dalle entre les cgroups de mémoire. Cette nouvelle implémentation du contrôleur de mémoire de dalle vise à atteindre une meilleure utilisation de dalle en partageant des pages de dalle entre plusieurs cgroups de mémoire. En outre, la comptabilité est effectuée par objet plutôt que par page. La nouvelle fonctionnalité permet d'économiser une quantité importante de mémoire, ce qui réduit considérablement les inefficacités.
-
Améliorations de io_uring
L'appel système
io_uring, qui est une API Linux pour les E/S asynchrones, est conçu pour offrir des performances supérieures à celles de l'API AIO Linux précédente prise en charge par QEMU. Plusieurs améliorations pourio_uringsont introduites dans UEK R7, dont la plupart sont axées sur les E/S en réseau.Une amélioration de la performance de
io_uringliée aux E/S est un nouveau mécanisme de recyclage BIO pour supprimer certains frais généraux internes de gestion de la mémoire, qui fournirait une augmentation de 10% du nombre d'opérations d'E/S par seconde queio_uringpeut maintenir.D'autres modifications notables pour
io_uringincluent Oracle ASMLib v3 + oracaleasm-support. Avec cette version, Oracle ASMLib utilise l'appel systèmeio_uringà la place de l'interface du piloteoracleasmexistante, qui a été supprimée dans UEK R7. -
Détection de verrouillage fractionné
Dans cette version, la fonction de détection de verrouillage partagé est activée par défaut sur les systèmes x86_64 qui ont la capacité pour cette fonctionnalité, comme le processeur Ice Lake. La commande de démarrage split_lock_detect vous permet d'avertir ou d'envoyer
SIGBUS(signaux d'erreur Bus) aux applications qui utilisent des verrous fractionnés. Un verrouillage fractionné se produit lorsqu'une instruction CPU atomique fonctionne sur des données qui couvrent deux lignes de cache. Cette opération est beaucoup plus lente qu'une opération atomique au sein d'une ligne de cache, et elle perturbe les performances sur d'autres cœurs.Notez que vous pouvez désactiver cette fonction dans le noyau en définissant
split_lock_detect=off.
Modifications apportées à la distribution et à l'emballage du contenu UEK
La façon dont le contenu est distribué et emballé dans la version UEK a changé. À partir de UEK R7, le noyau est reconditionné et rationalisé en plusieurs RPM distincts pour faciliter des exigences matérielles particulières. Un paquetage RPM méta, nommé kernel-uek, continue d'être le paquetage requis pour toutes les installations UEK et maintient la compatibilité descendante avec les versions précédentes.
Par défaut, l'ensemble kernel-uek et ses dépendances sont installés. L'installation de ce package équivaut à l'installation du noyau UEK complet.
Le tableau suivant fournit plus de détails sur la façon dont le contenu UEK R7 est distribué et emballé et comprend des informations sur les dépendances de package, ainsi que toute autre exigence notable.
|
Paquetage |
Description |
|---|---|
|
|
Il s'agit d'un paquetage méta qui ne contient aucun fichier. L'ensemble a une dépendance sur L'installation de ce package équivaut à l'installation du noyau UEK complet. Il s'agit du package requis pour toutes les installations UEK et maintient la compatibilité avec les versions précédentes. |
|
|
Cet ensemble contient le noyau UEK et un nombre minimal de modules de noyau et est installé avec l'ensemble |
|
|
Ce package contient les modules de noyau restants qui sont requis par la plupart des configurations de serveur. Notez que cet ensemble nécessite que l'ensemble |
|
|
Il s'agit d'un package optionnel qui contient des modules pour le matériel et les sous-systèmes qui sont rares pour les serveurs, et la prise en charge de certains appareils, tels que Bluetooth, Wi-Fi et cartes de capture vidéo. Si la prise en charge de l'un de ces composants est requise, installez le package manuellement à partir du référentiel yum. Vous pouvez répertorier les modules fournis explicitement par ce package en exécutant : rpm -q -l kernel-uek-modules-extra |
|
|
Cet ensemble contient des composants de micrologiciel de base et constitue une dépendance pour l'ensemble |
|
|
Cet ensemble contient des composants de micrologiciel qui ne sont pas fournis dans l'ensemble
Notez que cet ensemble nécessite que l'ensemble |
Systèmes de fichiers
Les caractéristiques et améliorations suivantes des systèmes de fichiers sont introduites dans UEK 7 :
Btrfs
La taille de page par défaut de la plate-forme ARM 64 bits est passée à 4 Ko, par rapport à la précédente valeur par défaut de 64 Ko. Si vous exécutez Oracle Linux 8 sur un système basé sur ARM avec une version UEK antérieure, cette modification a une incidence sur les systèmes de fichiers Btrfs, par exemple, les systèmes qui exécutent le Raspberry Pi sur une image de développeur Oracle Linux 8. Avant de procéder à la mise à niveau vers UEK R7, vous devez migrer les données et vous préparer à reformater les systèmes de fichiers afin d'éviter toute perte de données et de vous assurer que le système ne devient pas instable. Voir Taille de page par défaut sur la plate-forme ARM modifiée à 4 Ko.
Cette version introduit plusieurs améliorations de performance et de récupération de données Btrfs, ainsi que certaines améliorations de RAID 1, la prise en charge des sémaphores de lecture-écriture Linux et la prise en charge de la somme de contrôle. D'autres changements notables pour Btrfs sont les suivants :
-
Nouvelle option de montage de secours ajoutée
Nouvelle option de montage de secours pour regrouper toutes les options de montage existantes aux fins de récupération.
usebackuprootest maintenant un alias pourrescue=usebackuproot;nologreplayest un alias pourrescue=nologreplay. -
Raccordement Aynchrone SSD disponible
Le rognage asynchrone SSD est disponible dans Btrfs. Pour des raisons de performances et de mise à niveau de l'usure, les disques de stockage SSD bénéficient d'une notification lorsqu'un bloc de disque n'est pas utilisé. Cette opération est appelée abandonner ou supprimer et est effectuée automatiquement par Btrfs. Lorsqu'un fichier est supprimé, Btrfs informe le lecteur que les blocs appartenant au fichier ne sont plus utilisés. Auparavant, ces notifications se produisaient de manière synchrone, ce qui signifiait que les notifications de suppression étaient envoyées avant de mettre fin à l'opération de suppression, ce qui pouvait nuire aux performances. Ces notifications sont désormais envoyées de manière asynchrone.
-
Amélioration des performances de fsync()
Les améliorations suivantes
fsync()sont introduites :-
Performance
fsync()améliorée (diminution de 12 % sur la latence maximale signalée pardbench). -
Accélération substantielle de
fsyncparallèle en réduisant le nombre de consultations et de contentions dans l'arbre de somme de contrôle. -
Accélération substantielle de
fsyncparallèle pour les fichiers avec des extentsreflinked/deduped. Pour les tâches 16 à 1024, en moyenne, le débit est amélioré d'environ 50 %; le temps d'exécution est diminué d'environ 30 %.
-
-
Pré-extraire les feuilles de fragment d'arbre au support de montage
Pré-extraire les feuilles de l'arbre de fragmentation au montage, ce qui améliore la vitesse de montage dans les systèmes de fichiers à plusieurs To.
-
Prise en charge du mappage fs-verity et ID
La prise en charge du mappage
fs-verityet ID, ainsi que du processus DAMON pour améliorer la capacité de surveillance des modèles d'accès à la mémoire de processus spécifiques, est incluse dans cette version. La couche génériquefs-verity, déjà disponible dans les systèmes de fichiersext4et F2FS, assure une protection transparente de l'intégrité et de l'authenticité des fichiers en lecture seule. La fonction comprend également la fonction de points de montage mappés à des ID, qui permet de mapper les ID utilisateur et de groupe d'un montage à un autre montage.
ext4
Le système de fichiers ext4 continue d'être pris en charge dans les versions UEK.
OCFS2
OCFS2 continue d'être pris en charge dans les versions UEK. Pour Oracle Linux 9, les ensembles d'espace utilisateur sont mis à jour pour activer la prise en charge OCFS2 dans cette version.
XFS
La taille de page par défaut de la plate-forme ARM 64 bits est passée à 4 Ko, par rapport à la précédente valeur par défaut de 64 Ko. Par conséquent, si vous exécutez Oracle Linux 8 sur un système basé sur ARM avec une version UEK antérieure et que vous avez précédemment modifié manuellement un système de fichiers XFS à une taille de bloc supérieure à 4 Ko, vous devez migrer les données et vous préparer à reformater les systèmes de fichiers avant la mise à niveau vers UEK R7. Les systèmes dotés de systèmes de fichiers XFS configurés pour utiliser une taille de bloc de 4 Ko ne sont pas affectés. Voir Taille de page par défaut sur la plate-forme ARM modifiée à 4 Ko.
Les modifications notables suivantes du système de fichiers XFS sont introduites dans UEK R7 :
-
Améliorations apportées aux opérations XFS 2038+ et DAX et réduction des métadonnées DAX.
La capacité pour les opérations DAX XFS 2038+, par fichier et par répertoire et la réduction des métadonnées DAX a été ajoutée dans cette version.
-
Le système de fichiers XFS comprend de nouvelles fonctionnalités
Le système de fichiers XFS prend en charge deux nouvelles options :
bigtimeetinobtcount. L'optionbigtimeprend en charge les horodatages au-delà de l'année 2038; l'optioninobtcountréduit le temps de montage sur les systèmes de fichiers volumineux. Par défaut, ces options sont désactivées. Pour activer ces options lors de la création d'un système de fichiers XFS, utilisez la commande mkfs.xfs comme suit :sudo mkfs.xfs -m bigtime=1,inobtcount=1
ATTENTION
L'activation de ces options mkfs.xfs crée un système de fichiers qui ne peut pas être monté par des noyaux plus anciens, où ces options ne sont pas prises en charge.
Protocole de communication WireGuard
Le protocole de communication WireGuard est disponible en UEK R7 pour les réseaux IPv4 et IPv6. WireGuard utilise des réseaux privés virtuels cryptés (VPN) en transmettant le trafic via le protocole UDP (User Datagram Protocol).
WireGuard était auparavant activé en tant que fonctionnalité d'aperçu technologique dans UEK R6U1, avec un support complet introduit dans UEK R6U3.
WireGuard utilise le chiffrement à clé publique pour l'identification et le chiffrement, tandis qu'OpenVPN utilise des certificats pour ces tâches. Avec WireGuard, la génération et la gestion sécurisées des clés sont gérées en arrière-plan. Notez que bien qu'IPsec soit toujours la norme pour la communication réseau sécurisée, WireGuard gagne en popularité car il est plus facile à configurer et à déployer.
Pour plus d'informations et des instructions étape par étape, voir Oracle Linux : Configuration des réseaux privés virtuels.
RDMA
UEK R7 comprend des fonctionnalités d'accès direct à la mémoire distant (RDMA) fournies dans le noyau amont, avec l'ajout des fonctionnalités Ksplice et DTrace. RDMA permet un accès direct à la mémoire entre deux systèmes connectés par un réseau. RDMA facilite la mise en réseau à haut débit et à faible latence dans les grappes.
À partir d'Oracle Linux 9, le processus d'installation des ensembles RDMA pris en charge par Oracle a été simplifié à l'aide de nouveaux ensembles d'espace utilisateur et d'un canal ULN dédié et d'un référentiel yum pour les ensembles RDMA. Pour plus d'informations, voir Installation et mise à niveau des ensembles RDMA pris en charge par Oracle sur Oracle Linux.
Si vous exécutez Oracle Linux 8, le processus d'installation des ensembles RDMA pris en charge par Oracle reste le même que dans les versions précédentes.
Sécurité
Les caractéristiques de sécurité suivantes sont introduites dans UEK 7 :
Nouveau .machine Kernel Keyring introduit
La clé du noyau .machine est introduite dans UEK R7. Vous pouvez utiliser ce porte-clés comme ancre de confiance au niveau du noyau pour toute opération utilisant des clés asymétriques. La clé .machine a le même niveau de confiance au sein du noyau que les clés .builtin_trusted_keys et .secondary_trusted_keys. Comme pour les jeux de clés intégrés et secondaires, vous pouvez utiliser des clés dans les jeux de clés .machine pour effectuer les opérations suivantes :
-
Effectuer une validation de signature de module de noyau.
-
Ajoutez des clés supplémentaires à la seringue
.secondary_trusted_keys. -
Servir de CA pour les clés d'évaluation IMA.
Notez que les clés contenues dans la seringue .machine doivent être un certificat d'autorité de certification racine. Pour être admissible en tant que certificat AC racine, les deux exigences suivantes doivent être remplies :
-
Le certificat X.509 est auto-signé.
-
Le certificat X.509 doit contenir des extensions X509v3 avec
basicConstraints=critical,CA:TRUE
Il est également vivement conseillé de définir le champ keyUsage avec keyCertSign.
Contrairement aux versions précédentes d'UEK, les clés contenues dans la clé .platform dans UEK R7 ne peuvent être utilisées que pour kexec. En outre, vous ne pouvez pas utiliser les clés .platform à d'autres fins; alors que, dans les versions antérieures d'UEK, vous pouviez utiliser la seringue .platform pour la validation de la signature du module de noyau, mais elles ne pouvaient pas être utilisées pour d'autres opérations de clé de noyau.
Le moyen le plus simple d'ajouter des clés à la seringue .machine consiste à les inscrire à l'aide de l'utilitaire mokutil. Notez que cette méthode nécessite que vous créiez d'abord une paire de clés X.509.
SGX activé sur l'architecture Intel
Unbreakable Enterprise Kernel Release 7 permet la technologie Intel Software Guard Extensions (SGX) sur le processeur évolutif Intel Xeon de troisième génération (nom de code Ice Lake).
Les applications peuvent utiliser cette fonctionnalité matérielle pour alimenter des régions protégées de code d'utilisateur et de données, appelées enclaves. Lorsqu'il est activé, le nouveau matériel protège le code et les données de l'enclave contre l'accès et la modification externes. Les entités fournissent un emplacement pour stocker les clés secrètes, puis traiter les données avec ces clés secrètes, telles que le logiciel DRM. SGX aide à fournir une protection contre de nombreuses menaces de cybersécurité connues, réduisant ainsi la surface d'attaque des serveurs en utilisant des enclaves sécurisées, qui protègent les informations des processus s'exécutant à un privilège plus élevé.
Zonefs pour les périphériques de blocs zonés
La fonction zonefs (système de fichiers de zone) est un système de fichiers simple qui expose chaque zone d'un périphérique de traitement par blocs zoné en tant que fichier. Contrairement à un système de fichiers standard conforme à POSIX avec prise en charge native des périphériques de blocs zonés, par exemple, f2fs, zonefs ne masque pas la contrainte d'écriture séquentielle des périphériques de blocs zonés à l'utilisateur. Les fichiers qui représentent des zones d'écriture séquentielles du périphérique doivent être écrits séquentiellement, à partir de la fin du fichier (ajoutez uniquement des écritures).
Fonctions obsolètes et supprimées
Les fonctions suivantes sont obsolètes, supprimées ou ne sont plus prises en charge dans UEK R7 :
-
/dev/raw Appareil supprimé
Le pilote
/dev/rawqui a été marqué comme obsolète en 2005 a été supprimé dans cette version. Dans les versions précédentes, les noeuds de périphérique sous/dev/rawfournissaient une interface pour diriger la sémantique d'E/S pour les applications écrites avant l'introduction de l'indicateur de fichierO_DIRECTdans Linux. Cette modification rend également la commande brut qui fait partie de l'ensembleutil-linuxnon fonctionnelle.Pour obtenir la sémantique directe des fichiers d'E/S, utilisez le paramètre approprié pour le fichier d'E/S, comme suit :
-
Pour C, utilisez l'indicateur
O_DIRECTdans le cadre de l'appel systèmeopen(). -
Pour Java, utilisez le mode
RandomAccessFile, "rwd", (Ouvrir pour la lecture et l'écriture). -
À partir de l'interpréteur de commandes, vous pouvez utiliser les indicateurs
dd,iflag=direct(pour la lecture) etoflag=direct(pour l'écriture).
-
-
module resilient_rdmaip obsolète
Le module
resilient_rdmaipest obsolète dans UEK R7. Ce module peut être supprimé dans une version ultérieure d'UEK. -
Pilote Cisco fnic 1.6 non pris en charge
Cisco ne prend plus en charge le pilote HBA Cisco FCoE (
fnic1.6) provenant du noyau amont et disponible dans la plupart des noyaux, y compris UEK R5, UEK R6 et UEK R7. Cisco fournit un pilote Linux UCS entièrement pris en charge (version 2.0.0.83 et ultérieure) qui est testé et compatible avec Oracle Linux, avec les versions UEK R5 et ultérieures d'UEK, sur la page de téléchargement du logiciel Cisco. Le package de pilotes comprend des fonctionnalités qui ne sont pas disponibles dans le module de pilotes actuellement inclus, telles que la prise en charge de NVMe et la prise en charge de plusieurs files d'attente.Les clients qui exécutent Oracle Linux sur des serveurs Cisco doivent installer l'ensemble de pilotes Cisco pour recevoir les correctifs des pilotes, les mises à jour des pilotes, la nouvelle prise en charge matérielle et la nouvelle prise en charge des fonctions. Communiquez avec Cisco pour obtenir plus d'informations sur les solutions de pilote sur Oracle Linux.
-
Module de noyau oracleasm supprimé
Le module de noyau
oracleasmest supprimé dans UEK R7. Notez que ce module continue d'être pris en charge dans les versions UEK R5 et UEK R6.Notez qu'Oracle ASMLib continue d'être pris en charge à l'aide des interfaces
io_uring. Pour plus d'informations, voir Fonctions et fonctionnalités du noyau principal. -
Module de noyau DRBD supprimé
Le module de noyau DRBD (Distributed Replicated Block Device) et l'ensemble
drbd-utilssont supprimés dans UEK R7. Notez que le module de noyau DRBD et son package associé, qui a été introduit en tant qu'aperçu technologique dans UEK R4 et obsolète dans UEK R6U3, continue d'être activé dans UEK R5 et UEK R6.