Nouvelles fonctionnalités et modifications dans UEK R6U3
Voici les principales nouvelles fonctionnalités et modifications incluses dans Unbreakable Enterprise Kernel version 6 mise à jour 3 (UEK R6U3).
Version du noyau
UEK R6U3 utilise la version 5.4.17-2136 et la compilation du noyau UEK R6, qui inclut des correctifs de sécurité et de bogues, ainsi que des mises à jour de pilotes.
Fonctionnalités principales du noyau
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 corrections de bogues LTS en amont, avec des patches supplémentaires pour améliorer les fonctionnalités existantes et fournir des corrections de bogues mineures 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 chiffrés (VPN) en transmettant le trafic via le protocole UDP (User Datagram Protocol).
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 pour les anciens protocoles de tunneling IPsec et OpenVPN. 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 la communication réseau sécurisée, WireGuard est plus simple à configurer et à déployer. Par 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 par 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 des clés sécurisées 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, le package wireguard-tools doit être installé sur le serveur et les systèmes client, ce qui permet la communication entre les deux hôtes.
Vous pouvez vérifier que le package 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 détaillées, reportez-vous à Oracle Linux : configuration de 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 renvoyée au programme d'allocation de copains pour d'autres utilisations.
Pour activer cette fonctionnalité, initialisez le système à l'aide de l'option hugetlb_free_vmemmap=on. Lorsque cette option est activée, des messages similaires aux suivants s'affichent lors de l'initialisation :
HugeTLB: can free 4094 vmemmap pages for hugepages-1048576kB HugeTLB: can free 6 vmemmap pages for hugepages-2048kB
E/S asynchrones
Une intégration plus poussée de la structure 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 de fin, qui sont ensuite partagés entre le noyau et l'espace utilisateur pour éviter les copies.
Outre les fonctionnalités plus établies qui ont été ajoutées à la structure io_uring dans cette version, UEK R6U3 inclut également la nouvelle fonctionnalité de mode d'E/S interrogé (IORING_SETUP_IOPOLL), qui fournit les fonctionnalités suivantes :
-
Opérations de contrôle de fichier standard :
FALLOCATE,OPENAT2,STATX,MADVISE,FADVISEetTEE. -
Opérations sur les sockets : messages
ACCEPT,CONNECT,SEND(2)etRECV(2) etEPOLL_CTL. -
Capacité de partage de
io-wq workqueue(IORING_SETUP_ATTACH_WQ) depuis un autre anneau. -
Ajout de l'appel
IORING_REGISTER_PROBEpour le sondage et la réception d'informations sur les fonctionnalités prises en charge à partir de la structureio_uringdans 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 sécurisés. -
Appel
IORING_OP_PROVIDE_BUFFERS, qui utilise l'infrastructure d'enregistrement de tampon pour permettre la transmission d'un élémentaddr/lenassocié à un ID de tampon et à un ID de groupe de tampons. -
Prise en charge de
IORING_BUFFER_SELECTpour les appels de lecture surveillés,RING_OP_READVetIORING_OP_READVMSG.
package kabi_whitelist renommé kabi_stablelist
Le package kabi_whitelist a été renommé kabi_stablelist. Cette modification a été apportée conformément à l'engagement d'Oracle à remplacer les termes problématiques et potentiellement offensants.
Un changement de nom similaire a déjà eu lieu dans la version Oracle Linux 8.
Virtualisation imbriquée sur la plate-forme AMD
Dans cette version, la fonctionnalité de virtualisation imbriquée sur la plate-forme AMD 64 bits (x86_64) est améliorée grâce à l'implémentation d'un grand nombre de correctifs de stabilité.
Améliorations apportées à NVMe
Pour s'adapter aux changements des normes NVMe, et à mesure que la technologie continue d'évoluer et de changer, des améliorations continues sont apportées à la fonctionnalité NVMe (Non-Volatile Memory Express). Par rapport aux protocoles hérités, NVMe offre des fonctionnalités avancées d'accès aux médias de stockage haut débit.
Avec plusieurs corrections de bogues, cette version introduit la fonctionnalité Passthru cible NVMe. La fonctionnalité Passthru cible vous permet d'exporter l'intégralité d'un contrôleur NVMe via la spécification NVM Express sur tissus (NVMe-oF). Lorsqu'elles sont exportées de cette manière, au lieu d'exporter chaque espace de noms en tant que périphérique en mode bloc, toutes les commandes NVMe sont transmises au contrôleur donné sans modification, y compris les commandes d'administration et les commandes uniques de fournisseur (VUC). Une cible PTP 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 entraînait un avertissement de bannière concernant 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 points de détection 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 de l'initialisation sécurisée
Dans cette version, l'initialisation sécurisée a été modifiée pour vérifier également le trousseau de clés de plate-forme, qui inclut la liste Clé du propriétaire de la machine (MOK). Cette amélioration permet de charger des modules signés par clé tiers et personnalisés chaque fois que l'initialisation sécurisée est activée.
Implémentation 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. La structure 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 au-dessus. vDPA utilise la disposition de l'anneau Virtio et place un pilote Virtio unique et standard dans l'invité, qui est découplé de l'implémentation du fournisseur.
Dans UEK R6U3, les améliorations notables de vDPA incluent l'API de l'outil de gestion 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 au nombre de fonctions virtuelles (VF) par fonction physique (PF) qui peuvent être créées, et la prise en charge du pilote Mellanox mlx5_vdpa pour le mappage de la sonnette.
Améliorations des performances de vhost et vhost-scsi
Certaines améliorations des performances liées au stockage de 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 IOPS (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 threads actifs vhost et de les mettre en correspondance avec différents périphériques SCSI invités virtqueues.
Stratégie par défaut de l'architecture de mesure d'intégrité
Le sous-système Integrity Measurement Architecture (IMA), qui est présent dans le noyau Linux depuis la version 2.6.30 en amont, conserve 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 fonction IMA aide à maintenir l'intégrité du système et peut également être utilisée pour empêcher les modifications apportées 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 stratégie mise à jour peut être vérifiée dans /sys/kernel/security/ima/policy :
measure func=KEXEC_KERNEL_CHECK measure func=MODULE_CHECK
La stratégie par défaut mesure l'image kexec et tous les fichiers binaires du module de noyau. Notez que même si cette stratégie par défaut permet la mesure de ces éléments, elle ne définit aucune stratégie d'évaluation des performances.
Fonctions d'aperçu de la technologie
Plusieurs fonctionnalités sont à l'étude et en cours de développement pour la sortie dans UEK R6. Les fonctionnalités suivantes sont disponibles dans UEK R6U3 en tant qu'aperçu de la technologie.
-
Planification de base
La fonctionnalité de programmation de base activée dans le noyau limite l'exécution simultanée de tâches sécurisées sur des coeurs de processeur partageant des ressources de calcul. Cette fonctionnalité permet d'atténuer certaines catégories de bogues du processeur "core shared cache" qui pourraient entraîner une fuite de données et d'autres vulnérabilités associées. La programmation de base a été activée dans UEK R6 en tant que fonctionnalité d'aperçu technologique depuis UEK R6U1. Cette fonctionnalité 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 en amont et est disponible dans UEK R6 en tant qu'aperçu de la technologie depuis UEK R6U1. La fonction 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 ne soient transmises d'avant en arrière sur le réseau via le client NFS.
Fonctionnalités en phase d'abandon
Les fonctions suivantes sont en phase d'abandon dans cette version UEK R6.
Module de noyau oracleasm obsolète
Le module de noyau oracleasm est en phase d'abandon dans cette version. Notez que bien que le module continue d'être pris en charge dans UEK R6U3, il peut être supprimé dans une prochaine version d'UEK.
DRBD en phase d'abandon
Le module de noyau DRBD (Distributed Replicated Block Device) et le package drbd-utils associé sont en phase d'abandon 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 le package drbd-utils peuvent être supprimés dans une prochaine version d'UEK.
Pilote Cisco fnic 1.6 non pris en charge
Cisco ne prend plus en charge le pilote HBA FCoE Cisco (fnic 1.6) provenant du noyau en amont et disponible dans la plupart des noyaux, y compris UEK R5, UEK R6 et UEK R7. Cisco fournit un pilote UCS Linux entièrement pris en charge (version 2.0.0.83 et ultérieure) qui est testé et compatible avec Oracle Linux, avec UEK R5 et versions ultérieures UEK, sur la page de téléchargement du logiciel Cisco. Le package de pilotes inclut 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 le package de pilotes Cisco pour recevoir les correctifs de pilotes, les mises à jour de pilotes, le nouveau support matériel et la prise en charge de nouvelles fonctionnalités. Contactez Cisco pour plus d'informations sur les solutions de pilote sur Oracle Linux.
Mises à jour du 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 ligne principale Linux 5.4.
La liste complète des modules de pilote inclus dans la dernière mise à jour de UEK R6 ainsi que les informations de version sont fournies dans l'annexe à la section Driver Modules in Unbreakable Enterprise Kernel Release 6 (x86_64).
Les nouvelles fonctionnalités suivantes sont notées dans les pilotes livrés avec UEK R6U3 :
-
Pilote réseau Broadcom BCM573xx
Le pilote réseau Broadcom BCM573xx,
bnxt_en, est mis à jour vers la version 1.10.2 dans cette version. Un grand nombre de correctifs fournis par le fournisseur et en amont 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 HBA FCoE Cisco
Le pilote HBA Cisco FCoE,
fnic, est mis à jour vers la version 1.6.0.53 dans cette version. Plusieurs patches en amont sont inclus pour résoudre différents bogues. -
Pilote Linux Intel Ethernet Connection E800 Series
Le pilote Linux Intel Ethernet Connection E800 Series,
ice, continue d'afficher la version 0.8.2-k dans cette version, mais inclut 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. -
Pilote SCSI Broadcom Emulex LightPulse Fibre Channel
Le pilote SCSI Broadcom Emulex LightPulse Fibre Channel,
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 patch 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 d'adaptateur réseau Microsoft Azure
Le pilote de l'adaptateur réseau Microsoft Azure,
mana, est inclus dans cette version. Les patches 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 du contrôleur de stockage MPI3
Le pilote de périphérique de contrôleur de stockage MPI3,
mpi3mr, est inclus dans cette version à la version 00.255.45.01. Les patchs 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 HBA 96XX et de contrôleurs RAID de Broadcom. -
Module QLogic FastLinQ 4xxxx Core
Le module QLogic FastLinQ 4xxxx Core,
qed, est mis à jour vers la version 8.37.0.20 et inclut de nombreux patches supplémentaires fournis par le fournisseur, notamment des patches pour le microprogramme de 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 inclut des patches supplémentaires fournis par le fournisseur. -
Module QLogic FastLinQ 4xxxx FCoE
Le module FCoE QLogic FastLinQ 4xxxx,
qedf, est mis à jour vers la version 8.42.3.0 et inclut les patches 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 inclut les patches fournis par le fournisseur pour mettre à jour ce pilote conformément aux modifications en amont. -
Pilote HBA Fibre Channel QLogic
Le pilote HBA Fibre Channel QLogic,
qla2xxx, est mis à jour vers la version 10.02.00.106-k et inclut plusieurs patchs 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 inclut plusieurs patchs 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 pilote ne fonctionnait que comme un périphérique de bus ISA, ce qui limitait son utilisation aux plates-formes x86.