Nouvelles fonctionnalités et modifications UEK 8
Nouvelles fonctionnalités, améliorations et autres changements notables introduits 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 stable du noyau Linux 6.12
La version 6.12 du noyau principal utilisée comme noyau de base pour UEK 8 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 sur Oracle Linux 9.
-
L'emballage du module de noyau a été mis à jour
Les modules de noyau sont distribués dans des packages plus atomiques afin de réduire la surface d'attaque du noyau, d'améliorer la maintenance des modules de noyau et d'améliorer la visibilité de l'abandon des modules. Voir Modifications apportées à la distribution et à l'emballage du contenu UEK pour une vue complète de l'emballage du 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 uniquement pour les formes de calcul basées sur Ampere Arm dans Oracle Cloud Infrastructure. La taille de page de base de 64 Ko améliore la façon dont les plates-formes Arm traitent les charges de travail avec des jeux de données de mémoire contigus volumineux. Pour plus d'informations, voir (aarch64) Taille de la page de base 64k sur ARM.
-
Autres mises à jour de plate-forme
Plusieurs mises à jour de plate-forme génériques sont incluses. Voir Mises à jour de plate-forme générique. 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 nouvelle prise en charge matérielle de la technologie Intel Quick Assist (QAT). Voir Mises à jour de plate-forme Intel.
-
Programmateur entièrement équitable (CFS) remplacé par la première date limite virtuelle admissible (EEVDF)
CFS est remplacé par le planificateur EEVDF pour améliorer le comportement de planification et réduire la complexité de la configuration. Voir Le programmateur EEVDF remplace CFS.
-
Gestion améliorée de la mémoire
De nombreuses améliorations de la gestion de la mémoire apparaissent dans UEK 8, y compris 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 larges pages. Voir 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 fonctions de systèmes de fichiers introduites dans UEK 8, voir Systèmes de fichiers
-
ASMLib v3 et io_uring
Plusieurs améliorations de io_uring sont incluses dans cette version d'UEK, qui prend également en charge ASMLib v3. ASMLib v3 utilise io_uring pour la fonction Automatic Storage Management d'Oracle Database. Voir Améliorations d'io_uring et ASMLib v3.
-
Mises à jour de réseau
Plusieurs améliorations générales de la mise en réseau sont incluses dans UEK 8. Voir Améliorations générales apportées au réseau.
-
Mises à jour liées à la sécurité
D'autres mises à jour liées à la sécurité sont incluses dans cette version d'UEK, y compris certaines mises à jour du générateur de nombres aléatoires qui aident à améliorer les performances et la sécurité. Voir Améliorations apportées au générateur de nombres aléatoires. L'installation de déchargement TLS du noyau est activée dans UEK 8. Voir KTLS.
-
Filtre de paquets Berkeley
Plusieurs améliorations sont disponibles dans le Berkeley Packet Filter (BPF) utilisé pour le traçage, y compris un alloueur de mémoire dédié, un nouveau tampon anneau utilisateur et l'utilisation de modules de format de type BPF résilients (BTF) pour utiliser BTF pour les modules hors arbre. Voir Améliorations apportées au filtre de paquets Berkeley (BPF).
-
DTrace v2.0
Dtrace v2.0 continue d'être disponible dans UEK 8 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.
.
Modifications apportées à la distribution et à l'emballage du contenu UEK
Le tableau suivant fournit des détails sur la façon dont le contenu UEK 8 est distribué et emballé et comprend des informations sur les dépendances de package, ainsi que 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 maintenant expédiés dans une collection de paquets séparés. Séparer les modules des packages du noyau permet de réduire la surcharge, fournit un mécanisme pour minimiser la surface d'attaque et améliore la maintenance des modules du noyau.
Les fichiers de configuration permettant d'identifier les modules dont le chargement est refusé sont renommés " liste noire " en " dényliste " dans le cadre de l'initiative d'Oracle visant à utiliser un langage plus inclusif dans ses produits.
En outre, certains outils d'utilitaire de noyau qui ont été regroupés dans l'ensemble kernel-uek-core dans les versions précédentes sont déplacés dans un ensemble 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 trouver 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 fournit le nom du package que vous devez installer. Notez que vous devrez peut-être mettre à jour l'ensemble kmod à 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 d'ensemble est inclus dans /lib/modules/$(uname -r)/modules.packages et est expédié dans l'ensemble 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.
|
Paquetage |
Description |
|---|---|
|
|
Il s'agit d'un paquetage méta qui ne contient aucun fichier. Dans Oracle Linux 9, l'ensemble comporte les dépendances suivantes :
L'installation de ce package équivaut à l'installation du noyau UEK complet. L'installation de ce package assure la compatibilité avec les versions précédentes. |
|
|
Cet ensemble contient les fichiers binaires du noyau UEK et les fichiers de prise en charge, qui sont copiés dans |
|
|
Cet ensemble contient un nombre minimal de modules de noyau et de fichiers de prise en charge utilisés pour les systèmes propriétaires Oracle. L'ensemble est une dépendance de |
|
|
Ce package contient divers modules couramment utilisés dans la plupart des configurations de serveur. Notez que cet ensemble nécessite que l'ensemble |
|
|
Ce package contient des modules pour le matériel de type bureau. Ce package peut être supprimé pour durcir le système sur de nombreuses plates-formes serveur si aucun des modules n'est utilisé. |
|
|
Ce paquet contient des pilotes USB. Ce package peut être supprimé pour durcir le système sur de nombreuses plates-formes serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des pilotes sans fil. Ce package peut être supprimé pour durcir le système sur de nombreuses plates-formes serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des modules Netfilter inhabituels. Ce package peut être supprimé pour durcir le système sur de nombreuses plates-formes serveur si aucun des modules n'est utilisé. |
|
|
Ce package contient des modules que nous prévoyons de supprimer dans les versions futures. Ce package est facultatif et vous pouvez l'installer manuellement à partir du référentiel yum ou du canal ULN. Les modules inclus dans cet ensemble sont obsolètes et pourraient être supprimés dans une version ultérieure. |
|
|
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. |
|
|
Cet ensemble contient les outils nécessaires pour satisfaire d'autres dépendances de compilation et d'exécution dans la base de code |
|
|
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 |
Pour renforcer la sécurité, nous vous recommandons de supprimer les ensembles kernel-uek-modules-* qui ne sont pas requis par le système. Pour supprimer des ensembles :
-
Marquez les ensembles de modules de base dont vous avez besoin sur le système pour empêcher leur suppression. Par exemple :
sudo dnf mark install kernel-uek-core kernel-uek-modules -
Supprimez du système les ensembles de modules non utilisés et le méta-ensemble
kernel-uek:sudo dnf erase kernel-uek-modules-desktop kernel-uek
(aarch64) 64k Taille de la page de base sur le bras
Outre la version standard d'UEK pour ARM (aarch64), qui définit une taille de page de base de 4 Ko, un ensemble kernel-uek64k qui définit une taille de page de base de 64 Ko est disponible uniquement pour les formes de calcul basées sur ARM Ampere dans Oracle Cloud Infrastructure. Pour les cas d'utilisation autres qu'OCI, l'ensemble kernel-uek64 est disponible uniquement en tant que prévisualisation technique. L'ensemble 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 (basées sur ARM) qui traitent des charges de travail avec des jeux 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 intensives.
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 physique du système est une priorité.
Notez que le noyau de taille de page 4K et le noyau de taille de page 64K ne diffèrent pas dans l'expérience utilisateur car l'espace utilisateur est le même.
Une fois qu'un système est installé avec kernel-uek64k, le passage à une taille de page de noyau 4k n'est pas pris en charge.
Installation de kernel-uek64k
La seule taille de page des formes de calcul NVIDIA Grace est réglée à 64 Ko par défaut. Vous pouvez éventuellement remplacer la taille de page par défaut 4K par la taille de page 64K sur les formes Ampere.
L'installation de
kernel-uek64k sur des systèmes en dehors d'Oracle Cloud Infrastructure (OCI) n'est disponible qu'en tant que prévisualisation technique. N'installez pas ce noyau sur des systèmes de production en dehors d'OCI.Pour installer 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 génériques de plate-forme sont disponibles dans UEK 8. Mises à jour :
-
Détection de verrouillage partagé pour les opérations sur la mémoire qui couvre deux lignes de mémoire cache, telles que l'accès à la mémoire mal aligné. Voir aussi https://docs.kernel.org/arch/x86/buslock.html
-
Shadow Stacks pour l'espace utilisateur, en utilisant la technologie d'application de flux de contrôle (CET) 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 les modifications. Voir aussi https://docs.kernel.org/arch/x86/shstk.html.
-
Le suivi de la profondeur des appels est mis en oeuvre pour améliorer les performances du code d'atténuation des vulnérabilités de sécurité Retbleed.
-
La mise à jour de la CPU x86 est mise à jour afin que les coeurs d'UC secondaires soient démarrés en parallèle afin d'améliorer les temps de démarrage du noyau sur les systèmes à nombre de coeurs élevé.
-
Émulation 32 bits sur les noyaux x86_64 avec le paramètre de ligne de commande
ia32_emulation. Lorsque cette option est réglée à Vrai, vous pouvez charger des programmes 32 bits et exécuter des appels système 32 bits.
Mises à jour de la plate-forme 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'EDMM (Enclave Dynamic Memory Management), 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 zones 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 nécessitant des charges de travail dynamiques ou une mémoire plus importante, 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 sur place et en nuage. Consultez la page https://www.intel.com/content/www/us/en/support/articles/000058764/software/intel-security-products.html.
-
Interruptions de l'espace utilisateur FRED (Flexible Return and Event Delivery). Voir aussi https://docs.kernel.org/arch/x86/x86_64/fred.html.
-
Balayage sur place pour aider à tester l'état de l'UC en détectant les problèmes qui ne sont pas détectés par les vérifications de parité ou du Centre de contrôle. Voir aussi 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, de sorte 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.
Le programmateur EEVDF remplace CFS
La première échéance virtuelle admissible (EEVDF) est un nouveau programmateur de noyau qui remplace le programmateur entièrement équitable (CFS). EEVDF fournit une meilleure politique de planification pour le noyau et réduit la complexité de la configuration et améliore le comportement de planification.
Gestion de la mémoire
Plusieurs mises à jour importantes de la 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 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 larges pages sont améliorées avec plusieurs mises à jour utiles, notamment :
- Mise à jour pour gérer les erreurs énormesTLB lors de l'utilisation du verrouillage par VMA. Les opérations de gestion de la mémoire telles que les pannes de page et le mapping 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 les accès simultanés.
- Multi-taille THP pour la mémoire anonyme, qui permet l'allocation de folios plus grand que la taille de la page de base mais plus petit que la taille PMD.
- Fractionner les THP sous-utilisés et améliorer la politique THP=toujours. Ces changements améliorent le surprovisionnement des THP dans les zones de mémoire peu accessibles.
- L'indicateur MADV_DONTNEED madvise() 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 MADV_COLLAPSE madvise() réduit les pages en une énorme page transparente.
- Améliorations continues au code des groupes de contrôle de mémoire, memcg, pour découpler les champs v1 du 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 suppression automatique des pages. Cette fonctionnalité peut être utile pour gérer la mise hors ligne des pages à partir de l'espace utilisateur. -
Optimisations de mappage de mémoire :
- Maple Tree a remplacé Red-Black Trees (RB Trees) pour la gestion des zones de mémoire virtuelle (VMA) afin d'améliorer les performances avec des recherches, des insertions et des suppressions plus rapides.
- Introduit 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 concurrence et réduire les conflits dans les applications multithread avec de nombreuses VMAs.
- Introduction de la structure de données
ptdescpour optimiser la gestion des tables de page en découplant les métadonnées de page de la structure de donnéespage.
Systèmes de fichiers
Les caractéristiques 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 traités pour les écritures.
-
Un nouvel arbre de groupes de blocs 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. Des quotas simples peuvent être utilisés au lieu de 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 sont pas en mesure de suivre les données partagées. Ils conviennent 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é aléatoirement lors du montage.
-
Les contrôles d'écriture NOCOW améliorés améliorent le débit de 9%.
-
Une nouvelle option de montage
discard=asyncest activée par défaut pour les appareils qui prennent en charge l'ajustement/l'abandon, en appliquant l'abandon asynchrone à l'ensemble du système de fichiers. -
L'option de montage
ignoremetacsumsignore les sommes de contrôle des métadonnées non valides et l'option de montageignoresuperflagspeut être réglée pour ignorer les indicateurs de superblocage qui suivent la progression de la conversion. -
Les tâches d'envoi et de déplacement, telles que l'équilibre, le retrait d'appareil, la récupération d'espace et la récupération de groupe de blocs, s'exécutent en parallèle.
-
Les appareils peuvent être ajoutés pendant un solde en pause.
XFS
Les modifications notables suivantes du système de fichiers XFS sont introduites dans UEK 8 :
-
Vous pouvez maintenant 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 grandes images de disque virtuel.
-
Les validations de contenu de fichier atomique sont maintenant disponibles.
-
Les fsck et les réparations en ligne entièrement autonomes sont disponibles sous forme d'aperçu technique.
-
Une mise à jour de la commande mkfs.xfs règle la taille minimale du système de fichiers XFS à 300 Mo pour empêcher la création de petits systèmes de fichiers qui ont causé des problèmes de performance et de redondance. Cette modification diffère de la commande incluse dans l'ensemble
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 NFSv4.2 READ_PLUS est activée par défaut dans le noyau pour améliorer le traitement des fichiers dispersés en incluant une description des trous ou des blocs de données non initialisés.
-
Diverses anciennes fonctionnalités de protocole pour NFS sont supprimées dans UEK 8. Voir Fonctions obsolètes et supprimées.
Améliorations apportées au filtre de paquets Berkeley (BPF)
Plusieurs mises à jour importantes sont disponibles dans UEK 8 pour le Berkeley Packet Filter (BPF), notamment :
-
L'introduction d'un répartiteur de mémoire BPF dédié est ajoutée pour améliorer la fiabilité des répartitions effectuées dans les programmes BPF, qui peuvent fonctionner dans une grande variété de contextes.
-
Ajout d'un nouveau type de carte BPF tampon de sonnerie 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 les fonctions du noyau à partir d'un module chargeable, accéder aux objets task_struct et les stocker, et utiliser des valeurs de temps absolues.
-
Des fonctions d'aide plus conviviales, telles que
bpf_trace_vprintk, ainsi que des fonctions d'aide destructrices telles quecrash_kexec, sont incluses. -
Les programmes BPF peuvent attacher des fonctions de filtre à kfuncs. Le filtre peut limiter les contextes à partir desquels le kfunc peut être appelé.
-
Des informations BTF (Resilient BPF Type Format) pour les modules sont incluses afin que les modules hors arbre puissent définir BTF qui fonctionne pendant la durée de vie d'une version UEK.
- Le trampoline BPF est maintenant disponible pour les plates-formes aarch64 afin de fournir une exécution plus rapide du programme de traçage BPF à l'aide des programmes Fentry et Fexit.
-
Crochets BPF :
-
Pour voir 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 plutôt TCP multichemin.
-
Améliorations apportées à io_uring
io_uring est une interface d'appel système permettant de gérer les opérations d'E/S asynchrones d'un périphérique de stockage. Plusieurs fonctionnalités et améliorations sont fournies dans l'implémentation disponible dans UEK 8 et certaines d'entre elles pourraient avoir été rétroportées aux versions précédentes d'UEK. Les mises à jour comprennent de nombreuses optimisations pour la sécurité et les performances. Les nouvelles fonctionnalités et les modifications importantes incluent :
-
io_uringprend désormais en charge l'envoi et la réception des informations de protection T10 ainsi que la mémoire 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 une unité d'exécution 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 sans copie.
-
Plusieurs optimisations de code Ring :
-
Les anneaux et la file d'attente de soumission peuvent être dans la mémoire de l'espace utilisateur, comme les pages volumineuses.
-
Un anneau est maintenant capable de signaler un autre pour accélérer les demandes de messages.
-
Les travaux liés aux anneaux peuvent être différés jusqu'à ce qu'une application le demande.
-
-
Améliorations apportées à
io_uringdans les écritures 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 temporisations absolues, ainsi que les temporisations relatives qui étaient déjà disponibles, sont désormais possibles.
ASMLib v3
ASMLib est une bibliothèque pour la fonction Automatic Storage Management d'Oracle Database. ASMLib v3 tire parti des fonctions 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 au passage à io_uring dans UEK 8. Grâce à cette interface, des sommes de contrôle CRC peuvent être attachées à chaque E/S, fournissant une couche supplémentaire de protection contre la corruption des données.
Pour utiliser cette fonction, les disques ASM doivent être provisionnés sur du matériel de stockage qui met en oeuvre les informations de protection T10 (contrôleur SCSI avec prise en charge DIX ou NVMe).
Voir Oracle Linux : Installation et configuration d'Oracle ASMLIB v3.
RDMA
UEK 8 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 InfiniBand ou RoCE. RDMA facilite la mise en réseau à haut débit et à faible latence dans les grappes.
Les ensembles Oracle RDMA 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 serveur yum Oracle Linux :
ol10_RDMA
-
-
Oracle Linux 9
-
Canal ULN :
ol9_x86_64_RDMA -
Référentiel de serveur yum Oracle Linux :
ol9_RDMA
-
Voir Mise à niveau des ensembles Oracle RDMA sur Oracle Linux si vous mettez à niveau un système sur lequel l'ensemble oracle-rdma-release ou oracle-rdma-release-guest est installé.
Améliorations apportées au service de réseau général
Certaines améliorations générales de la 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 des tailles de paquets TSO/GRO plus importantes 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 fonction 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. BIG TCP est activé en définissant les paramètres
gro_ipv6_max_sizeetgso_ipv6_max_sizesur un périphérique de liaison. -
Une nouvelle option de socket SO_RESERVE_MEM est disponible pour fournir un mécanisme permettant 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 à allouer et récupérer, ce qui peut conduire à de meilleures performances du système, avec le coût d'une quantité de mémoire préallouée et irréprochable, même sous pression de mémoire.
-
Le planificateur de paquets de mise en file d'attente équitable a obtenu plusieurs améliorations de performance, notamment une augmentation de 5 % du débit de la charge de travail intensive TCP Request/Response (TCP_RR) et une augmentation de 13 % pour les paquets UDP sans qu'un taux de stimulation soit défini sur le socket.
-
Plusieurs structures de données de réseau de base sont réorganisées pour une meilleure efficacité du cache, ce qui peut entraîner une amélioration des performances TCP dans les cas où il existe de nombreuses connexions simultanées.
TLS
KTLS gère les enregistrements TLS à l'aide des algorithmes de chiffrement symétrique ou de déchiffrement du noyau pour le chiffrement AES-GCM. KTLS a été activé dans UEK R7U3 pour les connexions chiffrées TLS pour NFS. KTLS continue d'être disponible dans UEK 8.
Connexions chiffrées TLS pour NFS
RPC-With-TLS est activé sur le serveur et le client NFS Linux. Cette mise à jour fournit un mécanisme d'authentification par pair basé sur des normes sur 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 clients doivent exécuter UEK R7U3 ou une version ultérieure, ou doivent exécuter un noyau et un client d'espace utilisateur prenant en charge la RFC 9289, pour utiliser cette fonctionnalité. L'ensemble d'espace utilisateur, ktls-utils, est également requis et doit être installé sur les systèmes client et serveur. Assurez-vous également d'avoir installé la version la plus récente de l'ensemble nfs-utils ou d'avoir effectué une mise à jour complète du système.
La connexion d'appairage distant avec TLS est fournie en amont par Oracle et est décrite dans le document RFC 9289.
Améliorations apportées au générateur de nombres aléatoires
Certaines améliorations du 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 maintenant mis en oeuvre dans la zone vDSO (Virtual Dynamic Shared Object) du noyau. Cette implémentation améliore les performances lors de l'obtention de données numériques aléatoires en supprimant la nécessité de passer d'un contexte d'espace utilisateur au contexte du noyau.
KVM et virtualisation
Les modifications KVM et de virtualisation suivantes sont incluses dans cette version d'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 unités centrales virtuelles. Cette fonctionnalité est activée par défaut.
-
La configuration du noyau UEK 8 pour les VCPU est augmentée jusqu'à une limite théorique de 4096. Notez que la limite réelle des unités centrales virtuelles est propre au cas d'utilisation et dépend de nombreux facteurs, notamment la configuration système et QEMU.
Inducteurs mis à jour
Les pilotes de périphériques inclus dans UEK 8 sont alignés avec les pilotes du noyau Linux 6.12 en amont de la ligne principale. Quelques mises à jour notables sont incluses dans lesquelles les pilotes incluent des fonctionnalités ou des correctifs disponibles dans des versions ultérieures du noyau en amont.
De nombreux modules de pilote ne suivent plus les informations de version. Oracle travaille avec les fournisseurs pour aligner les pilotes de périphérique inclus dans UEK 8 avec 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 conducteur | Version du noyau alignée | Mises à jour notables |
|---|---|---|---|
|
|
Pilote Cisco FCoE HBA |
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 : 1.8.0.0. |
|
|
Pilote HBA Broadcom Emulex Fibre Channel |
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 principal pour les 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. |
Fonctions obsolètes et supprimées
Les fonctionnalités suivantes sont obsolètes, supprimées ou ne sont plus prises en charge dans UEK 8 :
Fonctions obsolètes
-
Algorithme SHA-1
L'algorithme SHA-1 est obsolète dans UEK 8 en mode FIPS et sera supprimé dans une prochaine version 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é. Voir les notes de version d'Oracle Linux pour plus de détails sur l'utilisation et l'abandon de SHA-1.
-
Les modules de noyau déplacés vers l'ensemble
kernel-uek-modules-deprecatedsont maintenant obsolètes.Ces modules pourraient être supprimés dans une prochaine version d'UEK.
Pour obtenir une liste détaillée, voir Abandon du module UEK 8 (x86_64) et Abandon du module UEK 8 (aarch64).
-
cgroupsv1est obsolètecgroupsv1est obsolète dans Oracle Linux 9 et sera supprimé dans une version future d'Oracle Linux. -
XFS_SUPPORT_V4est obsolèteLe format du système de fichiers V4 contient des faiblesses connues dans le format sur disque. Par conséquent, l'option est obsolète dans UEK 8 et sera supprimée dans une version future UEK.
Vous pouvez vérifier si le système de fichiers est formaté pour utiliser V4, en exécutant la commande <device> xfs_db -r -c version.
Si la fonction est activée, vous devez sauvegarder les données, reformater l'appareil et restaurer les données.
-
XFS_SUPPORT_ASCII_CIest obsolèteLa fonction de nom non sensible à la casse XFS ASCII est obsolète dans UEK 8 et sera supprimée dans une prochaine version UEK. La fonction a fourni une option pour 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 fonction est activée à l'aide de la commande xfs_info.
Si la fonction est activée, vous devez sauvegarder les données, reformater l'appareil avec l'option désactivée et restaurer les données.
-
Les options
CONFIG_SECURITY_SELINUX_DISABLEetCONFIG_SECURITY_WRITABLE_HOOKSsont désactivéesL'option de désactivation de SELinux à l'exécution à l'aide de l'interface sysfs est supprimée dans cette version UEK.
La méthode privilégiée pour désactiver SELinux consiste à utiliser le paramètre d'initialisation
selinux=0
Fonctions supprimées
-
L'option
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DESpour les types de chiffrement GSS 3DES/DES3 RPCSEC est désactivéeLes types de chiffrement GSS RPCSEC DES et Triple-DES (3DES/DES3) sont supprimés dans cette version UEK.
Ces types de chiffrement étaient obsolètes par les RFC 6649 et 8429, car ils sont connus pour être non 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 sur le protocole réseau UDP est supprimée dans cette version UEK.
Les mises en œuvre modernes de NFS/RPC sur TCP et RDMA offrent de meilleures performances qu'UDP, et fournissent une livraison fiable et commandée des données combinée au contrôle de la 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 noyau a mis à disposition des pilotes qui ne répondent pas nécessairement au niveau de qualité du noyau le plus élevé et qui étaient disponibles pour une utilisation test. L'option était obsolète dans UEK R7 et est supprimée dans UEK 8. -
L'option
CONFIG_IXGBest désactivéeLe
CONFIG_IXGBpour le matériel Intel PRO/10GbE est supprimé dans cette version UEK. -
crashkernel=supprimé automatiquement
L'option
crashkernel=autoétait obsolète dans UEK R7 et n'était pas prise en charge pour Oracle Linux 9. L'option noyau est supprimée dans UEK 8. Pour plus d'informations sur la configuration du paramètrecrashkernelsur Oracle Linux, voir Gestion des noyaux et démarrage du système sur 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 grappes d'équilibrage de charge de serveurs réseau sans routeur ou commutateur dédié d'équilibrage de charge est supprimée au profit de la fonctionnalité déjà en correspondance de grappe 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 de renseignements, consultez la page https://www.kernel.org/doc/html/latest/filesystems/efivarfs.html. -
Pilote Firewire supprimé
L'option
CONFIG_FIREWIREest désactivée dans cette version UEK. -
Plusieurs modules du programmateur de réseau supprimés
Les modules de programmateur de réseau suivants étaient obsolètes 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_rdmaipétait obsolète dans UEK R7 et est maintenant supprimé. -
Module de noyau
oracleasmsupprimé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 continue d'être pris en charge à l'aide des interfaces
io_uring. Pour plus d'informations, voir ASMLib v3. -
Module de noyau
sundancesuppriméLe pilote DLink Sundance (ST201),
sundance, est supprimé dans UEK 8. Le module a été supprimé dans le noyau amont car il n'était pas mis à jour. -
Module de noyau
cpu5_wdtsuppriméLe pilote Watchdog
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 Muxing hérités
i2c-amd756-s4882eti2c-nforce2-s4985sont supprimés dans UEK 8. Le module a été supprimé dans le noyau amont car il est vieux et contient du 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 de flux synchrone sont supprimés dans UEK 8, pour s'aligner sur les modifications en amont.