Nouvelles fonctionnalités et changements dans UEK R6U3

Voici les principales nouveautés et modifications incluses dans la mise à jour 3 d'Unbreakable Enterprise Kernel version 6 (UEK R6U3).

Version du noyau

UEK R6U3 utilise la version 5.4.17-2136 et la construction du noyau UEK R6, qui comprend des correctifs de sécurité et de bogues, ainsi que des mises à jour de pilotes.

Fonctionnalités du noyau principal

UEK R6U3 fournit une fonctionnalité de noyau de base équivalente à UEK R6, mais est mise à jour vers la balise de version v5.4.83 du noyau principal en amont et inclut des correctifs de bogues LTS en amont, avec des correctifs supplémentaires pour améliorer les fonctionnalités existantes et fournir des correctifs de bogues mineurs et des améliorations de sécurité. Toutes les modifications clés sont spécifiques à la fonctionnalité requise pour Oracle Database et les autres logiciels Oracle.

Protocole de communication WireGuard

Le protocole de communication WireGuard utilise des réseaux privés virtuels cryptés (VPN) en transmettant le trafic sur le protocole UDP (User Datagram Protocol).

Note

WireGuard, qui a été activé dans UEK R6 en tant que fonctionnalité d'aperçu technologique depuis UEK R6U1, est entièrement pris en charge dans UEK R6U3.

WireGuard est un remplacement sécurisé, facile à utiliser et plus rapide des protocoles de tunneling IPsec et OpenVPN existants. La fonctionnalité utilise des protocoles et des algorithmes de cryptographie éprouvés pour protéger les données. Bien qu'IPsec reste la norme pour une communication réseau sécurisée, WireGuard est plus simple à configurer et à déployer. En comparaison, sa configuration est comparée à la configuration de SSH. Ce sont quelques-unes des raisons pour lesquelles les administrateurs choisissent de construire de nouveaux réseaux avec la cryptographie plus moderne que WireGuard utilise.

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.

WireGuard utilise un mode serveur/client pour sa configuration et son déploiement. Notez que vous pouvez configurer et déployer WireGuard sur les réseaux IPv4 et IPv6.

Pour configurer et déployer WireGuard, l'ensemble wireguard-tools doit être installé sur le serveur et les systèmes clients, ce qui permet la communication entre les deux hôtes.

Vous pouvez vérifier que l'ensemble wireguard-tools est installé à l'aide de la commande suivante :

$ rpm -qa | grep wireguard
                  

Vous pouvez vérifier que le module de noyau wireguard est présent sur le système à l'aide de la commande suivante :

$ modinfo wireguard
                  

Pour plus d'informations et des instructions étape par étape, voir Oracle Linux : Configuration des réseaux privés virtuels.

Capacité de réduction de vmemmap pour les pages HugeTLB ajoutées

Cette version inclut une amélioration qui libère certaines pages vmemmap (pages de structures de page struct) associées à chaque hugetlbpage. En supprimant les structures de page redondantes pour les pages HugeTLB, la mémoire peut être retournée à l'allocateur d'amis pour d'autres utilisations.

Pour activer cette fonction, démarrez le système à l'aide de l'option hugetlb_free_vmemmap=on. Lorsque cette option est activée, les messages similaires à ceux qui suivent s'affichent lors du démarrage :

HugeTLB: can free 4094 vmemmap pages for hugepages-1048576kB
HugeTLB: can free 6 vmemmap pages for hugepages-2048kB

io_uring Cadre d'E/S asynchrone

Une intégration plus poussée du cadre d'E/S asynchrones (AIO) io_uring a eu lieu dans cette version. io_uring est une interface de noyau Linux qui fournit des anneaux de file d'attente de soumission et d'achèvement, qui sont ensuite partagés entre le noyau et l'espace utilisateur pour éviter les copies.

En plus des fonctions plus établies qui ont été ajoutées au cadre io_uring dans cette version, UEK R6U3 inclut également la nouvelle fonction de mode d'E/S interrogée (IORING_SETUP_IOPOLL), qui fournit les fonctionnalités suivantes :

  • Opérations de contrôle de fichier standard : FALLOCATE, OPENAT2, STATX, MADVISE, FADVISE et TEE.

  • Opérations sur les sockets : messages ACCEPT, CONNECT, SEND(2) et RECV(2 et EPOLL_CTL.

  • Capacité de partage de io-wq workqueue (IORING_SETUP_ATTACH_WQ) à partir d'un autre anneau.

  • Ajout de l'appel IORING_REGISTER_PROBE pour la recherche et la réception d'informations sur les fonctions prises en charge à partir du cadre io_uring dans le noyau.

  • Inclusion de l'appel SPLICE(2).

  • Inclusion de l'appel IORING_REGISTER_RESTRICTIONS, qui permet à l'application d'accorder l'accès à ses descripteurs de fichier par des applications ou des invités non approuvés.

  • Appel IORING_OP_PROVIDE_BUFFERS, qui utilise l'infrastructure d'enregistrement de mémoire tampon pour permettre la transmission d'un addr/len associé à un ID mémoire tampon et à un ID groupe de mémoire tampon.

  • Prise en charge de IORING_BUFFER_SELECT pour les appels de lecture surveillés, RING_OP_READV et IORING_OP_READVMSG.

kabi_whitelist Package Renommé kabi_stablelist

L'ensemble kabi_whitelist a été renommé kabi_stablelist. Ce changement a été effectué conformément à l'engagement d'Oracle de remplacer un langage problématique et potentiellement offensant.

Note

Un changement de nom similaire a déjà eu lieu dans la version d'Oracle Linux 8.

Virtualisation imbriquée sur la plate-forme AMD

La capacité de virtualisation imbriquée sur la plate-forme AMD 64 bits (x86_64) est améliorée dans cette version grâce à la mise en œuvre d'un grand nombre de correctifs de stabilité.

Améliorations apportées à NVMe

Pour tenir compte des modifications apportées aux normes NVMe, et à mesure que la technologie continue d'évoluer et de changer, des améliorations continues sont apportées à la fonction NVMe (Non-Volatile Memory Express). Par rapport aux protocoles existants, NVMe offre une capacité avancée pour accéder aux médias de stockage haut débit.

En plus de plusieurs corrections de bogues, cette version introduit la fonction NVMe Target Passthru. La fonction Target Passthru vous permet d'exporter un contrôleur NVMe entier au moyen de la spécification NVM Express over Fabrics (NVMe-oF). Lorsqu'elles sont exportées de cette manière, par opposition à l'exportation de chaque espace de noms en tant que périphérique de traitement par blocs, toutes les commandes NVMe sont transmises au contrôleur indiqué sans modification, y compris les commandes d'administration et les commandes uniques de fournisseur (VUC). Une cible passthru expose tous les espaces de noms d'un périphérique donné à l'hôte distant.

Nouveaux tracepoints RDMAIP introduits

Dans les versions précédentes, le module de noyau resilient_rdmaip utilisait directement la fonction trace_printk() pour déboguer son infrastructure, ce qui a entraîné un avertissement de bannière sur trace_printk() et l'utilisation de la mémoire qui n'était pas pertinente pour le module de noyau resilient_rdmaip.

UEK R6U3 introduit de nouveaux tracepoints qui remplacent l'utilisation de trace_printk() pour le débogage de l'infrastructure du module de noyau resilient_rdmaip.

Chacun des nouveaux tracepoints suivants correspond aux trois niveaux de débogage pris en charge par les messages de débogage RDMA résilients :

  • trace_rdma_debug_l1

  • trace_rdma_debug_l2

  • trace_rdma_debug_l3

Amélioration du démarrage sécurisé

Dans cette version, Secure Boot a été modifié pour vérifier également le porte-clés de la plate-forme, qui inclut la liste Machine Owner Key (MOK). Cette amélioration permet de charger des modules signés par clé tierce et personnalisée chaque fois que Secure Boot est activé.

Mise en oeuvre de vDPA sur Mellanox ConnectX-6Dx pour Oracle Linux

La structure vDPA (Virtual Data Path Acceleration) de l'adaptateur réseau Mellanox ConnectX-6Dx est améliorée dans cette version. Le cadre vDPA prend en charge les technologies émergentes telles que la fonction virtuelle SR-IOV (Single Root I/O Virtualization) et la sous-fonction Mellanox, en fournissant une couche d'abstraction et de traduction sur le dessus. vDPA utilise la disposition en anneau Virtio et place un seul pilote Virtio standard dans l'invité, qui est découplé de la mise en œuvre du fournisseur.

Dans UEK R6U3, les améliorations notables de vDPA incluent l'API d'outil de gestion de vDPA pour l'orchestration et la configuration, la prise en charge de la sous-fonction vDPA (SF) pour contourner la limite imposée par la spécification PCIe sur le nombre de fonctions virtuelles (VF) par fonction physique (PF) pouvant être créées, et la prise en charge du pilote Mellanox mlx5_vdpa pour le mappage de sonnette.

Améliorations des performances vhost et vhost-scsi

Certaines améliorations de performance liées au stockage par blocs pour les modules vhost et vhost-scsi sont introduites dans cette version. En particulier, des améliorations du noyau ont été apportées pour augmenter les E/S par seconde (opérations d'entrée/sortie par seconde) pour un périphérique SCSI vhost sur dm-multipath.

En outre, une amélioration a été apportée pour permettre à Qemu de créer plusieurs unités d'exécution de traitement vhost et de les mapper à différents périphériques SCSI invités virtqueues.

Politique par défaut de l'architecture de mesure de l'intégrité

Le sous-système Integrity Measurement Architecture (IMA), présent dans le noyau Linux depuis la version amont 2.6.30, tient à jour une liste de hachages de fichiers sensibles sur un système. Ces informations peuvent empêcher le chargement de fichiers ou de fichiers binaires qui ne correspondent pas à ces hachages. La fonctionnalité IMA permet de maintenir l'intégrité du système et peut également être utilisée pour empêcher des modifications aux fichiers critiques du système. Une stratégie IMA par défaut est définie dans UEK R6U3 et est également rétroportée dans une mise à jour errata pour UEK R6U2. La politique mise à jour peut être vérifiée dans /sys/kernel/security/ima/policy :

measure func=KEXEC_KERNEL_CHECK
measure func=MODULE_CHECK

La politique par défaut mesure l'image kexec et tous les binaires du module de noyau. Notez que bien que cette politique par défaut permette la mesure de ces articles, elle ne définit aucune politique d'évaluation.

Caractéristiques d'aperçu technologique

Plusieurs fonctionnalités font l'objet d'une enquête et sont en cours de développement en vue de leur diffusion au sein de l'UEK R6. Les fonctionnalités suivantes sont disponibles dans UEK R6U3 en tant qu'aperçu technologique.

  • Programmation de base

    La fonction de programmation de base activée dans le noyau limite les tâches sécurisées à une exécution simultanée sur des coeurs d'UC qui partagent des ressources de calcul. Cette fonction s'atténue en fonction de certaines catégories de bogues de processeur de "cache partagée de base" qui pourraient causer des fuites de données et d'autres vulnérabilités connexes. La programmation de base a été activée dans UEK R6 en tant que fonctionnalité d'aperçu technologique depuis UEK R6U1. Cette fonction est en cours de développement actif.

  • Copie côté serveur NFS v4.2

    La fonctionnalité de copie côté serveur (SSC) NFS v4.2 est rétroportée à partir du noyau amont et est disponible dans UEK R6 en tant qu'aperçu technologique depuis UEK R6U1. La fonctionnalité de copie côté serveur fournit des mécanismes qui permettent à un client NFS de copier des données de fichier sur un serveur, ou entre deux serveurs, sans qu'elles soient transmises d'avant en arrière sur le réseau via le client NFS.

Fonctions obsolètes

Les fonctionnalités suivantes sont obsolètes dans cette version UEK R6.

Module de noyau oracleasm obsolète

Le module de noyau oracleasm est obsolète dans cette version. Notez que bien que le module continue d'être pris en charge dans UEK R6U3, il peut être supprimé dans une version future UEK.

DRBD obsolète

Le module de noyau DRBD (Distributed Replicated Block Device) et l'ensemble drbd-utils associé sont obsolètes avec UEK R6U3. Le module de noyau DRBD a été introduit en tant qu'aperçu technologique dans UEK R4 et continue d'être activé dans UEK R5 et UEK R6. Toutefois, ce module et l'ensemble drbd-utils peuvent être supprimés 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 (fnic 1.6) qui provient du noyau amont et qui est 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.

Mises à jour de pilote

Unbreakable Enterprise Kernel version 6 prend en charge un grand nombre de périphériques matériels. En étroite collaboration avec les fournisseurs de matériel et de stockage, Oracle a mis à jour plusieurs pilotes de périphérique à partir des versions de la version principale de Linux 5.4.

La liste complète des modules de pilote inclus dans la dernière mise à jour d'UEK R6, ainsi que les informations de version, sont fournies dans l'annexe sous Modules de pilote dans Unbreakable Enterprise Kernel version 6 (x86_64).

Les nouvelles fonctionnalités suivantes sont indiquées dans les pilotes livrés avec UEK R6U3 :

  • Broadcom BCM573xx pilote de réseau

    Le pilote de réseau Broadcom BCM573xx, bnxt_en, est mis à jour vers la version 1.10.2 de cette version. Un grand nombre de correctifs fournis en amont et par le fournisseur sont inclus pour résoudre divers bogues et fournir des fonctionnalités et des mises à jour plus récentes. Notamment, la fonctionnalité PTP est activée et plusieurs améliorations pour RoCE ont été incluses.

  • Pilote Cisco FCoE HBA

    Le pilote HBA Cisco FCoE, fnic, est mis à jour à la version 1.6.0.53 dans cette version. Plusieurs correctifs en amont sont inclus pour résoudre divers bogues.

    Voir Pilote Cisco fnic 1.6 non pris en charge.

  • Pilote Linux Intel Ethernet Connection série E800

    Le pilote Linux Intel Ethernet Connection E800 Series, ice, continue d'afficher la version 0.8.2-k dans cette version, mais comprend un grand nombre de correctifs fournis par le fournisseur. Ce pilote est testé sur les dernières cartes d'interface réseau 25 GbE et 100 GbE E810.

  • Broadcom Emulex LightPulse Fibre Channel SCSI pilote

    Le pilote Broadcom Emulex LightPulse Fibre Channel SCSI, lpfc, est mis à jour vers la version 12.8.0.10, avec les correctifs et les corrections de bogues fournis par le fournisseur. Plusieurs mises à jour de correctif ont également été appliquées au pilote de transport NVMe Fibre Channel, nvme-fc, pour améliorer les fonctionnalités et résoudre les problèmes identifiés par le fournisseur.

  • Pilote Microsoft Azure Network Adapter

    Le pilote Microsoft Azure Network Adapter, mana, est inclus dans cette version. Les correctifs fournis en amont et par le fournisseur sont inclus et le pilote est destiné à être utilisé sur Oracle Linux 8.

  • Pilote de périphérique MPI3 Storage Controller

    Le pilote de périphérique MPI3 Storage Controller, mpi3mr, est inclus dans cette version à la version 00.255.45.01. Les correctifs fournis en amont et par le fournisseur sont inclus et le pilote est destiné à prendre en charge la prochaine génération de périphériques de contrôleur HBA et RAID 96XX de Broadcom.

  • Module de noyau QLogic FastLinQ 4xxxx

    Le module QLogic FastLinQ 4xxxx Core, qed, est mis à jour vers la version 8.37.0.20 et comprend de nombreux correctifs supplémentaires fournis par le fournisseur, y compris les correctifs pour le micrologiciel de la version 8.42.2.0.

  • Pilote Ethernet QLogic FastLinQ 4xxxx

    Le pilote Ethernet QLogic FastLinQ 4xxxx, qede, est mis à jour vers la version 8.37.0.20 et comprend des correctifs supplémentaires fournis par le fournisseur.

  • QLogic FastLinQ 4xxxx FCoE module

    Le module FCoE QLogic FastLinQ 4xxxx, qedf, est mis à jour vers la version 8.42.3.0 et comprend les correctifs fournis par le fournisseur pour mettre à jour ce pilote en fonction des modifications en amont.

  • Module iSCSI QLogic FastLinQ 4xxxx

    Le module iSCSI QLogic FastLinQ 4xxxx, qedi, est mis à jour vers la version 8.37.0.20 et comprend les correctifs fournis par le fournisseur pour mettre à jour ce pilote en fonction des modifications en amont.

  • Pilote HBA QLogic Fibre Channel

    Le pilote HBA QLogic Fibre Channel, qla2xxx, est mis à jour vers la version 10.02.00.106-k et comprend plusieurs correctifs fournis par le fournisseur.

  • Pilote Microsemi Smart Family Controller

    Le pilote Microsemi Smart Family Controller, smartpqi, est mis à jour vers la version 2.1.8-045 et comprend plusieurs correctifs en amont.

  • Pilote pvpanique

    Le pilote pvpanic, utilisé pour déclencher des événements au sein de libvirtd dans le cas où une machine virtuelle invitée rencontre une panique du noyau, est mis à jour pour inclure un composant PCI afin d'activer cette fonctionnalité sur les plates-formes Arm (aarch64). Auparavant, le conducteur fonctionnait uniquement comme un dispositif de bus ISA, ce qui limitait son utilisation aux plates-formes x86.