Nouvelles fonctionnalités et modifications UEK 8
Nouvelles fonctionnalités, améliorations et autres modifications notables introduites dans UEK 8.
Résumé des changements notables dans UEK 8
Voici un résumé des caractéristiques, modifications et améliorations introduites dans UEK 8, par rapport à UEK R7 :
-
Base de noyau stable Linux 6.12
La version 6.12 du noyau de la ligne principale qui est utilisée comme noyau de base pour UEK 8 inclut de nombreuses fonctionnalités et améliorations du noyau en amont par rapport aux versions précédentes d'UEK et par rapport à RHCK sur Oracle Linux 9.
-
L'emballage du module de noyau est mis à jour
Les modules de noyau sont distribués dans des packages plus atomiques pour réduire la surface d'attaque sur le noyau, pour améliorer la maintenance des modules de noyau et également pour améliorer la visibilité de l'abandon des modules. Reportez-vous à la section Changes to UEK Content Distribution and Packaging pour obtenir une vue complète des packages de noyau dans UEK 8.
-
Taille de la page de base 64k sur le bras
Dans cette version, une version du noyau avec une taille de page de base de 64 Ko est disponible pour les formes de calcul Ampere Arm dans Oracle Cloud Infrastructure uniquement. La taille de page de base 64k améliore la façon dont les plates-formes Arm traitent les charges de travail avec des ensembles de données de mémoire contigus volumineux. Pour plus d'informations, reportez-vous à (aarch64) 64k Base Page Size on Arm.
-
Autres mises à jour de plate-forme
Plusieurs mises à jour de plate-forme génériques sont incluses. Reportez-vous à Mises à jour génériques de plate-forme. D'autres mises à jour de plate-forme spécifiques à Intel sont disponibles, notamment des fonctions de sécurité telles que les extensions Intel Software Guard et la prise en charge matérielle de la technologie d'assistance rapide (QAT) Intel. Voir la section Intel Platform Updates.
-
Entièrement juste planificateur (CFS) remplacé par la première date limite virtuelle admissible en premier (EEVDF)
CFS est remplacé par le planificateur EEVDF pour améliorer le comportement de planification et réduire la complexité de la configuration. Reportez-vous à EEVDF Scheduler Replaces CFS.
-
Gestion améliorée de la mémoire
De nombreuses améliorations de gestion de la mémoire apparaissent dans UEK 8, notamment plusieurs optimisations de mappage de la mémoire, des améliorations des performances grâce à l'introduction de structures folio et certaines améliorations de la gestion des pages de grande taille. Reportez-vous à Gestion de la mémoire.
-
Mises à jour des systèmes de fichiers
La prise en charge des systèmes de fichiers Btrfs et OCFS2 est activée dans UEK 8. Des améliorations importantes sont disponibles pour les systèmes de fichiers Btrfs, XFS et NFS dans cette version. Pour plus d'informations sur les nouvelles fonctionnalités des systèmes de fichiers introduites dans UEK 8, reportez-vous à Systèmes de fichiers.
-
ASMLib v3 et io_uring
Plusieurs améliorations io_uring sont incluses dans cette version de UEK, qui prend également en charge ASMLib v3. ASMLib v3 utilise io_uring pour la fonctionnalité Automatic Storage Management d'Oracle Database. Reportez-vous à io_uring Enhancements et à ASMLib v3.
-
Mises à jour réseau
Plusieurs améliorations générales de mise en réseau sont incluses dans UEK 8. Reportez-vous à General Networking Enhancements.
-
Mises à jour liées à la sécurité
D'autres mises à jour liées à la sécurité sont incluses dans cette version de UEK, y compris certaines mises à jour du générateur de nombres aléatoires pour améliorer les performances et la sécurité. Voir Améliorations apportées au générateur de nombres aléatoires. La fonction de déchargement TLS du noyau est activée dans UEK 8. Reportez-vous à KTLS.
-
Filtre de paquets Berkeley
Plusieurs améliorations sont disponibles dans le Berkeley Packet Filter (BPF) utilisé pour le traçage, notamment un programme d'allocation de mémoire dédié, un nouveau tampon d'anneau utilisateur et l'utilisation de modules de format de type BPF résilients (BTF) pour utiliser BTF pour les modules hors arbre. Voir la section Berkeley Packet Filter (BPF) Enhancements.
-
DTrace v2.0
Dtrace v2.0 continue d'être disponible dans UEK 8 et tire parti des fonctions de traçage du noyau telles que eBPF. Des informations détaillées sur les versions de DTrace et d'autres modifications importantes sont disponibles dans Oracle Linux : Notes sur la version de DTrace.
.
Modifications apportées à la distribution et au packaging du contenu UEK
Le tableau suivant fournit des détails sur la façon dont le contenu UEK 8 est distribué et packagé, ainsi que des informations sur les dépendances de packages et toute autre exigence notable.
L'emballage du noyau est mis à jour dans UEK 8 et diffère des versions précédentes d'UEK. Plus particulièrement, les modules de noyau sont désormais livrés dans un ensemble de packages distincts. La séparation des modules des packages noyau permet de réduire la surcharge, fournit un mécanisme pour minimiser la surface d'attaque et améliore la maintenance des modules noyau.
Les fichiers de configuration permettant d'identifier les modules qui ne peuvent pas être chargés sont renommés "liste noire" en "liste noire" dans le cadre de l'initiative d'Oracle visant à utiliser un langage plus inclusif dans ses produits.
En outre, certains outils utilitaires du noyau qui ont été regroupés dans le package kernel-uek-core dans les versions précédentes sont déplacés dans un package distinct, kernel-uek-tools.
Vous pouvez répertorier les modules disponibles dans chaque package en exécutant :
rpm -q -l kernel-uek-modules-<ext>
Pour rechercher le package auquel appartient un module disponible sur le système, vous pouvez exécuter :
rpm -q -f /lib/modules/$(uname -r)/<path to module>
Si vous exécutez la commande modprobe pour un module et que le package auquel le module appartient n'est pas installé, la sortie vous avertit et indique le nom du package que vous devez installer. Vous devrez peut-être mettre à jour le package kmod vers la dernière version pour que cette fonctionnalité fonctionne.
sudo modprobe wl1251_sdio
modprobe: FATAL: Module wl1251_sdio not found in directory /lib/modules/6.12.0-0.20.20.el9uek.x86_64,
ensure the following package is installed: kernel-uek-modules-wireless-6.12.0-0.20.20.el9uek.x86_64
Un fichier de mappage de package est inclus dans /lib/modules/$(uname -r)/modules.packages et est fourni dans le package kernel-uek-core pour UEK 8 et versions ultérieures. Vous pouvez également utiliser ce fichier pour identifier le package de module qui contient un pilote particulier.
|
Package |
Description |
|---|---|
|
|
Il s'agit d'un méta-package qui ne contient aucun fichier. Dans Oracle Linux 9, le package présente les dépendances suivantes :
L'installation de ce package équivaut à l'installation du noyau UEK complet. L'installation de ce package maintient la compatibilité avec les versions précédentes. |
|
|
Ce package contient les fichiers binaires du noyau UEK et les fichiers de prise en charge, qui sont copiés dans |
|
|
Ce package contient un nombre minimal de modules de noyau principaux et de fichiers de prise en charge utilisés pour les systèmes intégrés Oracle. Le package est une dépendance de |
|
|
Ce package contient divers modules couramment utilisés dans la plupart des configurations de serveur. Notez que ce package nécessite que le package |
|
|
Ce package contient des modules pour le matériel de type bureau. Ce package peut être supprimé pour renforcer le système sur de nombreuses plates-formes de serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des pilotes USB. Ce package peut être supprimé pour renforcer le système sur de nombreuses plates-formes de serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des pilotes sans fil. Ce package peut être supprimé pour renforcer le système sur de nombreuses plates-formes de serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des modules netfilter peu courants. Ce package peut être supprimé pour renforcer le système sur de nombreuses plates-formes de serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des modules que nous prévoyons supprimer dans les prochaines versions. Ce package est facultatif et vous pouvez l'installer manuellement à partir du référentiel yum ou du canal ULN. Les modules inclus dans ce package sont en phase d'abandon et pourraient être supprimés dans une prochaine version. |
|
|
Ce package contient des modules supplémentaires pour les configurations de serveur, mais qui ne sont pas couramment utilisés. Ce package est facultatif et vous pouvez l'installer manuellement à partir du référentiel yum ou du canal ULN. |
|
|
Ce package contient les outils requis pour satisfaire d'autres dépendances de build et d'exécution dans la base de code |
|
|
Ce package contient des composants de microprogramme de base et constitue une dépendance pour le package |
|
|
Ce package contient des composants de microprogramme qui ne sont pas fournis dans le package
Notez que ce package nécessite que le package |
Pour renforcer la sécurité, nous vous recommandons de supprimer tous les packages kernel-uek-modules-* qui ne sont pas requis par le système. Pour supprimer des packages :
-
Marquez les packages de modules de base dont vous avez besoin sur le système pour les empêcher de les supprimer. Par exemple :
sudo dnf mark install kernel-uek-core kernel-uek-modules -
Supprimez les packages de modules inutilisés et la métapackage
kernel-uekdu système :sudo dnf erase kernel-uek-modules-desktop kernel-uek
(aarch64) 64k Taille de la page de base sur le bras
Outre la version standard de UEK for Arm (aarch64), qui définit une taille de page de base de 4 Ko, un package kernel-uek64k qui définit une taille de page de base de 64 Ko est disponible pour les formes de calcul Ampere Arm dans Oracle Cloud Infrastructure uniquement. Pour les cas d'utilisation autres qu'OCI, le package kernel-uek64 n'est disponible qu'en tant qu'aperçu technique. Le package kernel-uek64k est disponible pour Oracle Linux 9 et versions ultérieures.
Le noyau de taille de page 64k est une option utile pour les plates-formes Ampere (Arm) qui traitent des charges de travail avec des ensembles de données de mémoire contigus volumineux et peuvent obtenir de meilleures performances pour certains types d'opérations de mémoire et de CPU.
Le noyau de taille de page 4k est utile pour les environnements plus petits, où la réduction de l'utilisation de la mémoire du système physique est une priorité.
Notez que le noyau de taille de page 4k et le noyau de taille de page 64k ne diffèrent pas en termes d'expérience utilisateur car l'espace utilisateur est le même.
Une fois qu'un système est installé avec kernel-uek64k, le basculement vers une taille de page de noyau 4 Ko n'est pas pris en charge.
Installation de kernel-uek64k
Par défaut, la seule taille de page sur les formes de calcul NVIDIA Grace est définie sur 64 Ko. Vous pouvez éventuellement passer de la taille de page 4k par défaut à la taille de page 64k sur les formes Ampere.
L'installation de
kernel-uek64k sur des systèmes hors d'Oracle Cloud Infrastructure (OCI) n'est disponible qu'en tant qu'aperçu technique. N'installez pas ce noyau sur des systèmes de production en dehors d'OCI.Pour installer le fichier kernel-uek64k sur un système installé avec la taille de page 4k standard kernel-uek :
Mises à jour de plate-forme générique
Certaines mises à jour de plate-forme génériques sont disponibles dans UEK 8. Les mises à jour incluent :
-
Détection de verrouillage fractionné pour les opérations sur la mémoire qui s'étendent sur deux lignes de cache, telles que l'accès à la mémoire mal alignée. Voir aussi https://docs.kernel.org/arch/x86/buslock.html
-
Shadow Stacks pour l'espace utilisateur, en utilisant la technologie CET (Control-flow Enforcement Technology) de x86 pour fournir une protection contre les attaques de programmation orientées retour. Cette implémentation fonctionne en maintenant une pile secondaire à l'aide d'un type de mémoire spécial qui dispose de protections contre la modification. Reportez-vous également à https://docs.kernel.org/arch/x86/shstk.html.
-
Le suivi de la profondeur des appels est implémenté pour améliorer les performances dans le code d'atténuation des vulnérabilités de sécurité Retbleed.
-
L'activation de la CPU x86 est mise à jour afin que les coeurs de CPU secondaires soient initialisés en parallèle pour améliorer les temps d'initialisation du noyau sur les systèmes à nombre élevé de coeurs.
-
Emulation 32 bits sur les noyaux x86_64 avec le paramètre de ligne de commande
ia32_emulation. Lorsque la valeur est définie sur True, vous pouvez charger des programmes 32 bits et exécuter des appels système 32 bits.
Mises à jour de la plateforme Intel
Certaines mises à jour de plate-forme Intel en amont sont incluses dans UEK 8. Les éléments notables sont les suivants :
- Intel Software Guard Extensions (SGX2), une implémentation matérielle d'Enclave Dynamic Memory Management (EDMM), est une version améliorée d'une technologie de sécurité qui peut protéger les données sensibles et le code en les isolant dans des régions de mémoire privées appelées enclaves. SGX2 introduit de nouvelles fonctionnalités telles que la gestion dynamique de la mémoire, afin que les enclaves puissent redimensionner et gérer leur mémoire lors de l'exécution. Cette mise à jour est importante pour les applications avec des charges de travail dynamiques ou des besoins en mémoire plus importants, qui nécessitent une architecture plus évolutive. SGX2 assure une confidentialité et une intégrité robustes pour les charges de travail sensibles dans les environnements on-premise et cloud. Reportez-vous à https://www.intel.com/content/www/us/en/support/articles/000058764/software/intel-security-products.html.
-
L'espace utilisateur FRED (Flexible Return and Event Delivery) s'interrompt. Reportez-vous également à https://docs.kernel.org/arch/x86/x86_64/fred.html.
-
Balayage sur site pour aider à tester l'état de la CPU en détectant les problèmes qui ne sont pas détectés par les vérifications de parité ou ECC. Reportez-vous également à https://docs.kernel.org/arch/x86/ifs.html.
-
La fonctionnalité Quick Assist Technology (QAT) est mise à jour pour prendre en charge les processeurs Intel Xeon de 4e génération.
-
Masquage d'adresse linéaire (mode LAM_U57) pour modifier la vérification appliquée aux adresses linéaires 64 bits, afin que le logiciel puisse utiliser des bits d'adresse non traduits pour stocker les métadonnées. LAM_U57 peut utiliser 6 bits de métadonnées en bits 62 à 57.
EEVDF Scheduler remplace CFS
EEVDF (First Eligible Virtual Deadline First) est un nouveau planificateur de noyau qui remplace le CFS (Completely Fair Scheduler). EEVDF fournit une meilleure stratégie de planification pour le noyau, réduit la complexité de la configuration et améliore le comportement de planification.
Gestion de la mémoire
Plusieurs mises à jour importantes de gestion de la mémoire sont disponibles dans UEK 8 avec des modifications en amont qui sont incluses de v5.15 à v6.12.
- La structure de données des folios remplace la page struct pour fournir une meilleure abstraction pour la gestion des pages. Folios est une nouvelle structure de données qui représente une ou plusieurs pages de mémoire. La nouvelle structure réduit la confusion de type et la surcharge de mémoire.
- Les pages de grande taille sont améliorées avec plusieurs mises à jour utiles, notamment :
- Mettez à jour pour gérer les pannes TLB énormes lors de l'utilisation du verrouillage par VMA. Les opérations de gestion de la mémoire, telles que les erreurs de page et le mappage de la mémoire, peuvent être gérées de manière plus précise et plus efficace, ce qui réduit les conflits et améliore la simultanéité d'accès aux données.
- Multi-size THP pour la mémoire anonyme, ce qui permet d'allouer des folios plus grands que la taille de page de base mais plus petits que la taille PMD.
- Diviser les THP sous-utilisés et améliorer la stratégie THP=always. Ces modifications améliorent le surprovisionnement des THP dans les zones de mémoire peu accessibles.
- L'indicateur madvise() de MADV_DONTNEED fonctionne sur les pages hugetlb et peut être utile pour le démappage et la libération des pages hugetlb mappées privées.
- L'indicateur madvise() de MADV_COLLAPSE réduit les pages en une énorme page transparente.
- Améliorations continues du code des groupes de contrôle de mémoire, memcg, pour découpler les champs v1 dans le code de la base de code v2.
- Une nouvelle interface sysfs,
/proc/sys/vm/enable_soft_offline, est disponible afin que vous puissiez désactiver la mise hors ligne automatique des pages. Cette fonctionnalité peut être utile pour gérer le décalage de page à partir de l'espace utilisateur. -
Optimisations du mapping de mémoire :
- Maple Tree a remplacé les arbres rouges-noirs (arbres RB) pour la gestion des zones de mémoire virtuelle (VMA) afin d'améliorer les performances grâce à des recherches, des insertions et des suppressions plus rapides.
- Introduction d'un mécanisme pour nommer les VMAs anonymes afin d'améliorer le débogage et le profilage.
- Verrouillage mmap par VMA pour améliorer la simultanéité et réduire les conflits dans les applications multithread avec de nombreux VMA.
- Introduction de la structure de données
ptdescpour optimiser la gestion des tables de pages en dissociant les métadonnées de page de la structure de donnéespage.
Systèmes de fichiers
Les fonctions et améliorations suivantes des systèmes de fichiers sont introduites dans UEK 8 :
Btrfs
Les modifications notables suivantes du système de fichiers Btrfs sont introduites dans UEK 8 :
-
Les données compressées peuvent être envoyées ou reçues sans transformation, et les blocs de données de plus de 64 Ko sont désormais gérés pour les écritures.
-
Une nouvelle arborescence de groupes de blocs d'arborescence améliore les temps de montage et les améliorations apportées au code de groupe de blocs réduisent la fragmentation.
-
La comptabilisation des quotas est simplifiée. Les quotas simples peuvent être utilisés à la place des groupes de quotas pour un suivi simple de l'utilisation de l'espace en liant les extents à leurs sous-volumes. Cette approche peut améliorer les performances, mais les quotas simples ne peuvent pas suivre les données partagées. Elle convient donc mieux aux environnements où les extents sont immuables et persistent plus longtemps que les copies.
-
L'introduction d'un FSID temporaire permet de monter des périphériques clonés. Le système de fichiers obtient un UUID généré de manière aléatoire lors du montage.
-
Les vérifications d'écriture NOCOW améliorées améliorent le débit de 9 %.
-
Une nouvelle option de montage
discard=asyncest activée par défaut pour les périphériques qui prennent en charge la suppression/suppression, en appliquant la suppression asynchrone pour l'ensemble du système de fichiers. -
L'option de montage
ignoremetacsumsignore les sommes de contrôle de métadonnées non valides et l'option de montageignoresuperflagspeut être définie pour ignorer les indicateurs de superbloc qui suivent la progression de la conversion. -
Les tâches d'envoi et de déplacement, telles que l'équilibrage, la suppression de périphériques, la récupération d'espace et la récupération de groupe de blocs, sont exécutées en parallèle.
-
Les périphériques peuvent être ajoutés lors d'un solde en pause.
XFS
Les modifications notables suivantes apportées au système de fichiers XFS sont introduites dans UEK 8 :
-
Vous pouvez désormais monter un système de fichiers dont la taille de bloc est supérieure à la taille de page.
-
Un grand nombre d'extents est disponible pour les images de disque virtuel volumineux.
-
Les validations de contenu de fichier atomique sont désormais disponibles.
-
Les fsck et réparations en ligne entièrement autonomes sont disponibles en tant qu'aperçu technique.
-
Une mise à jour de la commande mkfs.xfs définit une taille minimale du système de fichiers XFS à 300 Mo afin d'empêcher la création de petits systèmes de fichiers à l'origine de problèmes de performances et de redondance. Cette modification diffère de la commande incluse dans le package
xfsprogsprécédent disponible dans le référentielol9_baseos_latestsur les systèmes Oracle Linux 9.
NFS
Les modifications notables suivantes du système de fichiers NFS sont introduites dans UEK 8 :
-
La fonction READ_PLUS de NFSv4.2 est activée par défaut dans le noyau pour améliorer la gestion des fichiers dispersés en incluant une description des trous ou des blocs de données non initialisés.
-
Diverses fonctionnalités de protocole plus anciennes pour NFS sont supprimées dans UEK 8. Reportez-vous à Fonctions en phase d'abandon et supprimées.
Améliorations apportées au filtre de paquets Berkeley (BPF)
Plusieurs mises à jour importantes sont disponibles dans UEK 8 pour le filtre de paquets Berkeley (BPF), notamment :
-
L'introduction d'un répartiteur de mémoire BPF dédié est ajoutée pour améliorer la fiabilité des allocations effectuées dans les programmes BPF, qui peuvent s'exécuter dans une grande variété de contextes.
-
Ajout d'un nouveau type de mappe BPF de tampon d'anneau utilisateur pour la transmission de messages asynchrones et un transfert de données plus rapide entre un programme BPF et l'espace utilisateur.
-
Les programmes BPF peuvent désormais appeler des fonctions de noyau à partir d'un module chargeable, accéder à des objets task_struct et les stocker et utiliser des valeurs temporelles absolues.
-
Des fonctions d'aide conviviales, telles que
bpf_trace_vprintk, ainsi que des aides destructrices telles quecrash_kexec, sont incluses. -
Les programmes BPF peuvent associer des fonctions de filtre à des kfuncs. Le filtre peut limiter les contextes à partir desquels le kfunc peut être appelé.
-
Des informations de format de type BPF (BTF) résilientes pour les modules sont incluses afin que les modules hors arbre puissent définir des BTF qui fonctionnent pendant la durée de vie d'une version UEK.
- Le trampoline BPF est désormais disponible pour les plates-formes aarch64 afin d'accélérer l'exécution du programme de traçage BPF à l'aide des programmes Fentry et Fexit.
-
Crochets BPF :
-
Pour afficher et filtrer les paquets complets.
-
Pour modifier le protocole demandé pour un nouveau socket, principalement pour faire en sorte que les programmes demandant des connexions TCP utilisent le protocole TCP à chemins d'accès multiples à la place.
-
io_uring Améliorations
io_uring est une interface d'appel système permettant de gérer les opérations d'E/S asynchrones de périphérique de stockage. Plusieurs fonctionnalités et améliorations sont fournies dans l'implémentation qui est disponible dans UEK 8 et certaines d'entre elles peuvent avoir été rétroportées vers des versions précédentes d'UEK. Les mises à jour incluent de nombreuses optimisations pour la sécurité et les performances. Les nouvelles fonctionnalités et modifications importantes sont les suivantes :
-
io_uringprend désormais en charge l'envoi et la réception d'informations de protection T10 avec le tampon de données. -
Opérations pour
getsockopt(),setsockopt(),bind(),listen()etwaitid(). -
Mécanisme permettant d'omettre les appels système avec IORING_SETUP_SQPOLL au moment de la configuration. Un appel à
io_uring_enter()démarre un thread de noyau qui interroge occasionnellement la file d'attente de soumission et soumet automatiquement toutes les demandes qui y sont trouvées. -
Demande par lots pour les appels
recv()et pourreads(). -
IORING_OP_SENDZC pour effectuer des écritures à copie zéro.
-
Plusieurs optimisations de code Ring :
-
Les anneaux et la file d'attente de soumission peuvent se trouver dans la mémoire de l'espace utilisateur, comme des pages volumineuses.
-
Un anneau peut maintenant en signaler un autre pour accélérer les demandes de message.
-
Le travail lié à l'anneau peut être différé jusqu'à ce qu'une application le demande.
-
-
Améliorations
io_uringdes écritures mises en mémoire tampon, dans XFS. -
L'optimisation
io_uringdans XFS et Ext4 peut gérer plusieurs écritures d'E/S directes dans un fichier en parallèle. -
Les délais d'attente absolus, ainsi que les délais d'attente relatifs qui étaient déjà disponibles, sont désormais possibles.
ASMLib v3
ASMLib est une bibliothèque pour la fonctionnalité Automatic Storage Management d'Oracle Database. ASMLib v3 tire parti des fonctionnalités io_uring incluses dans le noyau pour offrir des performances élevées. UEK 8 est testé et entièrement pris en charge avec Oracle ASMLib v3.
Notez qu'avec cette mise à jour, le module de noyau oracleasm n'est plus inclus, car Oracle ASMLib v3 ne nécessite plus ce module pour fonctionner.
ASMLIB version 3.1 tire parti des améliorations apportées aux informations de protection passthrough à io_uring dans UEK 8. Grâce à cette interface, les sommes de contrôle CRC peuvent être attachées à chaque E/S, ce qui fournit une couche supplémentaire de protection contre l'altération des données.
Pour utiliser cette fonctionnalité, les disques ASM doivent être provisionnés sur du matériel de stockage qui implémente les informations de protection T10 (contrôleur SCSI avec prise en charge DIX ou NVMe).
Reportez-vous à Oracle Linux : installation et configuration d'Oracle ASMLIB v3.
RDMA
UEK 8 inclut des fonctions RDMA (Remote Direct Memory Access) qui sont fournies dans le noyau en amont, avec l'ajout de fonctionnalités Ksplice et DTrace. RDMA permet un accès direct à la mémoire entre deux systèmes connectés par un réseau InfiniBand ou RoCE. RDMA facilite la mise en réseau haut débit et à faible latence dans les clusters.
Les packages RDMA Oracle sont disponibles dans les canaux ULN et les référentiels yum suivants :
-
Oracle Linux 10
-
Canal ULN :
ol10_x86_64_RDMA -
Référentiel de serveurs yum Oracle Linux :
ol10_RDMA
-
-
Oracle Linux 9
-
Canal ULN :
ol9_x86_64_RDMA -
Référentiel de serveurs yum Oracle Linux :
ol9_RDMA
-
Reportez-vous à Mise à niveau de packages RDMA Oracle sur Oracle Linux si vous mettez à niveau un système sur lequel le package oracle-rdma-release ou oracle-rdma-release-guest est installé.
Améliorations générales du réseau
Certaines améliorations générales de mise en réseau sont disponibles dans UEK 8 avec des modifications en amont qui sont incluses de v5.15 à v6.12.
-
BIG TCP, qui utilise de plus grandes tailles de paquets TSO/GRO pour le trafic IPv6, est inclus pour améliorer les performances lors de l'envoi de paquets TCP IPv6 volumineux sur des réseaux de centres de données. Notez que cette fonctionnalité n'est pas activée par défaut car elle peut affecter les programmes eBPF qui peuvent supposer que l'en-tête TCP suit immédiatement l'en-tête IPv6. Le protocole TCP BIG est activé en définissant
gro_ipv6_max_sizeetgso_ipv6_max_sizesur un périphérique de liaison. -
Une nouvelle option de socket SO_RESERVE_MEM permet aux utilisateurs de réserver une certaine quantité de mémoire pour le socket. Avec cette option de socket définie, la pile réseau passe moins de cycles à l'allocation et à la récupération en aval, ce qui peut améliorer les performances du système, avec le coût d'une quantité de mémoire préallouée et irrévocable, même sous la pression de la mémoire.
-
Le planificateur de paquets de mise en file d'attente équitable a obtenu plusieurs améliorations de performances, notamment une augmentation du débit de 5 % de la charge globale de demande/réponse TCP intensive (TCP_RR) et une augmentation de 13 % pour les paquets UDP sans taux de stimulation défini sur le socket.
-
Plusieurs structures de données réseau principales sont réorganisées pour améliorer l'efficacité du cache, ce qui peut améliorer les performances TCP lorsque les connexions simultanées sont nombreuses.
KTLS
KTLS gère les enregistrements TLS à l'aide des algorithmes de chiffrement ou de déchiffrement symétriques du noyau pour le chiffrement AES-GCM. KTLS a été activé dans UEK R7U3 pour les connexions chiffrées TLS pour NFS. KTLS est toujours disponible dans UEK 8.
Connexions chiffrées TLS pour NFS
Le protocole RPC-With-TLS est activé dans le client et le serveur NFS Linux. Cette mise à jour fournit un mécanisme d'authentification homologue basé sur des normes via une connexion chiffrée à l'aide de TLS. Le protocole TLS Record est entièrement géré par kTLS.
Notez que le serveur et les systèmes client doivent exécuter UEK R7U3 ou une version ultérieure, ou doivent exécuter un client de noyau et d'espace utilisateur prenant en charge RFC 9289, pour utiliser cette fonctionnalité. Le package d'espace utilisateur, ktls-utils, est également requis et doit être installé sur les systèmes client et serveur. Vérifiez également que vous avez installé la version la plus récente du package nfs-utils ou que vous avez effectué une mise à jour complète du système.
RPC-With-TLS est fourni en amont par Oracle et est décrit dans le document RFC 9289.
Améliorations apportées au générateur de nombres aléatoires
Certaines améliorations apportées au générateur de nombres aléatoires (RNG) sont disponibles dans UEK 8 avec des modifications en amont qui sont incluses de v5.15 à v6.12. Plus particulièrement, RNG est passé de l'algorithme de hachage SHA1 à l'algorithme BLAKE2s plus rapide et plus sécurisé.
En outre, l'appel système getrandom() est désormais implémenté dans la zone d'objet partagé dynamique virtuel (vDSO) du noyau. Cette implémentation améliore les performances lors de l'obtention de données de nombres aléatoires en supprimant la nécessité de passer d'un contexte d'espace utilisateur au contexte de noyau.
KVM et virtualisation
Les modifications de KVM et de virtualisation suivantes sont incluses dans cette version de UEK 8 :
-
La prise en charge de MMU de pagination bidimensionnelle (TDP) est ajoutée pour améliorer considérablement les performances des pannes de page sur les machines virtuelles à plusieurs UC virtuelles. Cette fonctionnalité est activée par défaut.
-
La configuration du noyau UEK 8 pour les VCPU est augmentée à une limite théorique de 4096. Notez que la limite de VCPU réelle est propre au cas d'utilisation et dépend de nombreux facteurs, notamment la configuration du système et de la QEMU.
Pilotes mis à jour
Les pilotes de périphériques inclus dans UEK 8 sont alignés avec les pilotes du noyau Linux 6.12 de la ligne principale en amont. Quelques mises à jour notables sont incluses où les pilotes incluent des fonctionnalités ou des correctifs disponibles dans les versions ultérieures du noyau en amont.
De nombreux modules de pilote ne suivent plus les informations de version. Oracle collabore avec les fournisseurs pour aligner les pilotes de périphérique inclus dans UEK 8 sur le code disponible dans les versions de noyau en amont.
Les mises à jour notables des pilotes sont présentées dans le tableau suivant :
| Module de pilote | Description du pilote | Version du noyau alignée | Mises à jour importantes |
|---|---|---|---|
|
|
Pilote HBA FCoE Cisco |
6,14 |
Les mises à jour de la version 6.14 ont été rétroportées vers cette version. Ce pilote inclut une chaîne de version : 1.8.0.0. |
|
|
Pilote HBA Fibre Channel Emulex Broadcom |
6,14 |
Les mises à jour de la version 6.14 ont été rétroportées vers cette version. Notez que ce pilote inclut une chaîne de version : 0 :14.4.0.8. |
|
|
Pilote de base des adaptateurs réseau de 5e génération NVIDIA (série NVIDIA ConnectX) |
6,12 |
Plusieurs correctifs et améliorations de la version 6.14 ont été rétroportés dans cette version. |
Fonctionnalités obsolètes et supprimées
Les fonctionnalités suivantes sont en phase d'abandon, supprimées ou ne sont plus prises en charge dans UEK 8 :
Fonctionnalités en phase d'abandon
-
Alg. SHA-1
L'algorithme SHA-1 est obsolète dans UEK 8 alors qu'il est en mode FIPS et sera supprimé dans une prochaine version d'UEK. L'algorithme SHA-1 a été retiré par le National Institute of Standard and Technology (NIST) parce que l'algorithme de hachage SHA-1 n'est plus considéré comme sécurisé. Pour plus de détails sur l'utilisation et l'abandon de SHA-1, reportez-vous aux notes de version d'Oracle Linux.
-
Les modules de noyau déplacés vers le package
kernel-uek-modules-deprecatedsont désormais en phase d'abandon.Ces modules pourraient être supprimés dans une prochaine version d'UEK.
Pour obtenir une liste détaillée, reportez-vous aux sections UEK 8 Module Deprecations (x86_64) et UEK 8 Module Deprecations (aarch64).
-
cgroupsv1est en phase d'abandoncgroupsv1est obsolète dans Oracle Linux 9 et sera supprimé dans une prochaine version d'Oracle Linux. -
XFS_SUPPORT_V4est en phase d'abandonLe format du système de fichiers V4 contient des faiblesses connues dans le format sur disque. Par conséquent, l'option est en phase d'abandon dans UEK 8 et sera supprimée dans une prochaine version UEK.
Vous pouvez vérifier si le système de fichiers est formaté pour utiliser V4, en exécutant la commande xfs_db -r -c version <device>.
Si la fonctionnalité est activée, vous devez sauvegarder les données, reformater le périphérique et restaurer les données.
-
XFS_SUPPORT_ASCII_CIest en phase d'abandonLa fonction de nom non sensible à la casse XFS ASCII est obsolète dans UEK 8 et sera supprimée dans une prochaine version d'UEK. La fonctionnalité a fourni une option permettant de formater un système de fichiers XFS avec l'option
ascii-ciactivée pour désactiver la sensibilité à la casse.Vous pouvez vérifier si la fonctionnalité est activée à l'aide de la commande xfs_info.
Si la fonctionnalité est activée, vous devez sauvegarder les données, reformater le périphérique avec l'option désactivée et restaurer les données.
-
Les options
CONFIG_SECURITY_SELINUX_DISABLEetCONFIG_SECURITY_WRITABLE_HOOKSsont désactivéesL'option permettant de désactiver SELinux lors de l'exécution à l'aide de l'interface sysfs est supprimée dans cette version UEK.
La méthode préférée de désactivation de SELinux est l'utilisation du paramètre d'initialisation
selinux=0
Fonctionnalités supprimées
-
L'option
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DESpour les types de chiffrement 3DES/DES3 RPCSEC GSS est désactivéeLes types de chiffrement RPCSEC GSS DES et Triple-DES (3DES/DES3) sont supprimés dans cette version UEK.
Ces types de chiffrement sont obsolètes par les RFC 6649 et 8429, car ils ne sont pas sécurisés.
-
Les options
CONFIG_NFS_V2etCONFIG_NFSD_V2pour le client et le serveur NFSv2 sont désactivéesLa prise en charge des clients NFSv2 et des serveurs NFSv2 est supprimée dans cette version UEK.
NFSv2 a longtemps été remplacé par NFSv3 et NFSv4, qui offrent des fonctionnalités, des performances et une sécurité améliorées.
- L'option
CONFIG_NFS_DISABLE_UDP_SUPPORTpour NFSv3 sur UDP est activéeLa prise en charge de NFS version 3 via le protocole réseau UDP est supprimée dans cette version UEK.
Les implémentations NFS/RPC modernes sur TCP et RDMA offrent de meilleures performances qu'UDP et fournissent une livraison commandée fiable des données combinées au contrôle de congestion.
Notez que NFSv4 n'est déjà pas pris en charge sur UDP, pour les mêmes raisons. -
L'option
CONFIG_STAGINGest désactivéeL'option de configuration du noyau
CONFIG_STAGINGest désactivée dans UEK 8. L'option de noyau a rendu disponibles des pilotes qui ne répondent pas nécessairement au niveau de qualité de noyau le plus élevé et qui étaient disponibles pour une utilisation test. L'option est en phase d'abandon dans UEK R7 et supprimée dans UEK 8. -
L'option
CONFIG_IXGBest désactivéeLe matériel
CONFIG_IXGBpour Intel PRO/10GbE est supprimé dans cette version UEK. -
crashkernel=auto supprimé
L'option
crashkernel=autoest obsolète dans UEK R7 et n'est pas prise en charge pour Oracle Linux 9. L'option de noyau est supprimée dans UEK 8. Pour plus d'informations sur la configuration du paramètrecrashkernelsur Oracle Linux, reportez-vous à la section Managing Kernels and System Boot on Oracle Linux. -
L'option
CONFIG_IP_NF_TARGET_CLUSTERIPest désactivéeL'option
CONFIG_IP_NF_TARGET_CLUSTERIPqui vous a permis de créer des clusters d'équilibrage de charge de serveurs réseau sans routeur ou commutateur d'équilibrage de charge dédié est supprimée au profit de fonctionnalités déjà présentes dans la correspondance de cluster Netfilter. -
Option
CONFIG_EFI_VARSdésactivéeL'option
CONFIG_EFI_VARSqui a fourni l'interface sysfsefivarspour configurer les variables UEFI est supprimée de cette version d'UEK. La fonctionnalité de remplacement est présente dans le noyau depuis 2012. Pour plus d'informations, reportez-vous à https://www.kernel.org/doc/html/latest/filesystems/efivarfs.html. -
Pilote Firewire retiré
L'option
CONFIG_FIREWIREest désactivée dans cette version UEK. -
Plusieurs modules de planificateur réseau supprimés
Les modules d'ordonnanceur réseau suivants sont en phase d'abandon dans UEK R7 et sont maintenant supprimés dans UEK 8 :
-
cls_tcindex -
cls_rsvp -
sch_dsmark -
sch_atm -
sch_cbq
-
-
Module
resilient_rdmaipsuppriméLe module
resilient_rdmaipest en phase d'abandon dans UEK R7 et est maintenant supprimé. -
oracleasmModule de noyau suppriméLe module de noyau
oracleasmest supprimé dans UEK 8. Notez que ce module continue d'être pris en charge dans les versions UEK R5 et UEK R6.Oracle ASMLib est toujours pris en charge à l'aide des interfaces
io_uring. Pour plus d'informations, reportez-vous à ASMLib v3. -
sundanceModule de noyau suppriméLe pilote DLink Sundance (ST201),
sundance, est supprimé dans UEK 8. Le module a été supprimé dans le noyau en amont car il n'était pas géré. -
cpu5_wdtModule de noyau suppriméLe pilote du chien de garde
cpu5_wdtest supprimé dans UEK 8. Le module a été supprimé dans le noyau en amont car il présentait plusieurs problèmes qui n'étaient pas résolus et manquaient de maintenance. -
Modules de noyau
i2c-amd756-s4882eti2c-nforce2-s4985supprimésLes pilotes de fusion hérités
i2c-amd756-s4882eti2c-nforce2-s4985sont supprimés dans UEK 8. Le module a été supprimé dans le noyau en amont car il est ancien et contient un code techniquement inexact. -
Modes cryptographiques
CONFIG_CRYPTO_OFBetCONFIG_CRYPTO_CFBLe mode CFB (Cipher Feedback) (NIST SP800-38A) utilisé pour la cryptographie TPM2 et le mode OFB (Output Feedback) (NIST SP800-38A) utilisé pour transformer un chiffrement par blocs en un chiffrement par flux synchrone sont supprimés dans UEK 8, pour s'aligner sur les changements en amont.