Neue Funktionen und Änderungen in UEK R6U1
Im Folgenden werden die wichtigsten neuen Funktionen von Unbreakable Enterprise Kernel Release 6 Update 1 (UEK R6U1) aufgeführt.
Kernel-Version
UEK R6U1 verwendet die Version 5.4.17-2036 und den Build des UEK R6-Kernels, der Sicherheits- und Bugfixes sowie Treiberupdates umfasst.
Core Kernel-Funktionalität
UEK R6U1 bietet eine äquivalente Kernkernfunktionalität wie UEK R6, wobei dieselben vorgelagerten Mainline-Kernelreleases und vorgelagerten LTS-Bugfixes verwendet werden, mit zusätzlichen Patches, um die vorhandene Funktionalität zu verbessern und einige kleinere Bugfixes und Sicherheitsverbesserungen bereitzustellen. Wichtige Änderungen sind spezifisch für Funktionen, die für Oracle Database und andere Oracle Software erforderlich sind.
Padata ersetzt ktask
Padata ist ein Framework zur Parallelisierung CPU-intensiver Arbeit im Kernel. In UEK R6 hat Oracle das ktask-Framework für das Multithreading von CPU-intensiven Kernel-Arbeiten veröffentlicht, aber zur Konvergenz und kontinuierlichen Entwicklung der padata-Implementierung im Upstream-Kernel beigetragen. In UEK wird R6U1 ktask durch äquivalente Funktionalität in padata ersetzt, um sich an den Upstream anzupassen. Die Änderungen sollten nicht vom Benutzer sichtbar sein, und die Initialisierung der Strukturseite und die VFIO-fähige KVM-Gastinitialisierung werden weiterhin als Multithreading ausgeführt, um die Startzeiten zu verkürzen.
Die Dokumentation für padata finden Sie unter /usr/share/doc/kernel-uek-doc-5.4/core-api/padata.rst.
Dateisysteme
Die folgenden bemerkenswerten Dateisystemänderungen sind in UEK R6U1 implementiert:
-
Btrfs
Upstream-Patches für Sicherheitsverbesserungen und Bugfixes wurden eingespielt. Dies beinhaltet einen Fix für CVE-2019-19448.
-
CIFS
Allgemeine Upstreamfehlerkorrekturpatches wurden eingespielt.
-
Erweitert 4
Upstream-Bugfixes wurden angewendet, einschließlich mehrerer Fixes für Rennbedingungen, die zu unerwünschtem Verhalten oder Systemhängen führten.
-
NFS
Bugfixes und Leistungsverbesserungen wurden für NFS angewendet. Signifikant ist ein Fix für ein Problem im NFSv3-Client enthalten, der den Befehl ls -lrt blockiert hat, wenn das Verzeichnis geändert wurde, als der Befehl ausgegeben wurde.
-
OCFS2
Upstream-Änderungen für OCFS2 aus dem 5.7 Upstream-Kernel werden in dieses Kernel-Release zurückportiert. Ein Bugfix wurde auch angewendet, um ein Problem zu beheben, das einen allgemeinen Schutzfehler ausgelöst hat, als ein NFS-Server in einem OCFS2-Dateisystem gehostet wurde.
-
XFS
Es wurden mehrere Bugfixes und Leistungsverbesserungen angewendet. Signifikant wird die Multi-Threaded-inode-Spülung verbessert, um eine bessere Leistung zu bieten und die geringe Möglichkeit eines unerwünschten Verhaltens zu vermeiden, das sich aus einem Rennzustand ergibt. Darüber hinaus ist ein Fix für einen Bug enthalten, der dazu führen könnte, dass ein Entsperren einer Fixiersperre fehlschlägt, wodurch das Dateisystem hängen bleibt. Es wurden auch Sicherheitsverbesserungen angewendet, einschließlich eines Fixes für CVE-2020-12655.
Features der technischen Vorschau
Mehrere Features werden derzeit untersucht und für die Freigabe innerhalb der UEK R6 entwickelt. Die folgenden Funktionen sind innerhalb der UEK R6U1 als technische Vorschau verfügbar.
Kernplanung
Die Core-Planung ist ein Feature, das im Kernel aktiviert ist, um die gleichzeitige Ausführung vertrauenswürdiger Aufgaben auf CPU-Cores zu begrenzen, die Compute-Ressourcen gemeinsam nutzen, um bestimmte Kategorien von Bugs des "Core Shared Cache"-Prozessors zu bekämpfen, die zu Datenlecks und anderen damit verbundenen Sicherheitslücken führen könnten.
Diese Funktion wird in Form einer cgroup implementiert, wobei Aufgaben in einer für die Kernplanung aktivierten cgroup eine eindeutige Gruppe "cookie" aufweisen. Diese Aufgaben können einen Core nicht mit Aufgaben teilen, die ein anderes Cookie enthalten, oder mit Aufgaben, die nicht in einer aktivierten Core Scheduling-Gruppe enthalten sind.
Die Kernplanung ist so konzipiert, dass sie auf einem System ausgeführt wird, das mit aktiviertem Simultaneous Multi-Threading konfiguriert ist. Bei der Core-Planung entfällt jedoch nicht die Notwendigkeit weiterer Prozessorsicherheitsmaßnahmen, die möglicherweise auf einem System erforderlich sind. Um dieses Feature zu verwenden, stellen Sie sicher, dass SMT=on konfiguriert ist, und führen Sie dann die folgenden Vorgänge als Root-Benutzer aus:
-
Erstellen Sie eine reguläre CPU-Controllergruppe der Version 1. Beispiel: So erstellen Sie eine Gruppe namens
cpu_sched_0:# mkdir /sys/fs/cgroup/cpu/cpu_sched_0 -
Fügen Sie Aufgaben zur cgroup hinzu. Aufgaben werden hinzugefügt, indem ihre Prozess-ID (PID) in die Datei
tasksin der Gruppe geschrieben wird:# echo PID > /sys/fs/cgroup/cpu/core_sched_0/tasks -
Um die Core-Planung für die CPU-Controllergruppe zu aktivieren, schreiben Sie den Wert 1 in die Datei
cpu.tag:# echo 1 > /sys/fs/cgroup/cpu/core_sched_0/cpu.tagSobald die Datei
cpu.tagaktualisiert wurde, teilen sich Aufgaben innerhalb der cgroup nie einen Core mit Aufgaben aus einer anderen cgroup oder Aufgaben, die keiner cgroup zugewiesen sind.
Diese Funktion ist als technische Vorschau aktiviert und wird gerade entwickelt. Änderungen an den Schnittstellen vorbehalten. Hot-Plugging-CPUs in einem System mit Core-Planungsgruppen werden nicht empfohlen. Die Verwendung der Core-Planung auf AMD-Prozessoren kann größere Leistungsschwankungen aufweisen, und es wird ebenfalls nicht empfohlen.
WireGuard
WireGuard ist ein schnellerer und sicherer Ersatz für IPsec und OpenVPN. Neue Netzwerke werden mit moderner Kryptographie von WireGuard und nicht mit Legacy-Technologien wie IPsec und OpenVPN aufgebaut. WireGuard wird als technische Vorschau in UEK R6U1 aktiviert und führt das Kernel-Modul wireguard in Version 1.0.20200712 ein.
Beachten Sie, dass das Package wireguard-tools aus dem nicht unterstützten Repository ol7_developer_UEKR6 erforderlich ist, um WireGuard zu konfigurieren. Für den Zugriff auf dieses yum-Repository müssen Sie das entsprechende oraclelinux-developer-release-el7- oder oraclelinux-developer-release-el8-Package für Ihre Betriebsumgebung installieren. Beschränken Sie nach der Installation die Verwendung des Repositorys für das wireguard-tools-Package, um eine versehentliche Installation von Pre-Release-UEK-Updates zu vermeiden.
Um das Package wireguard-tools auf Oracle Linux 7 zu installieren, führen Sie folgenden Befehl aus:
# yum install oraclelinux-developer-release-el7
# yum-config-manager --disable ol7_developer
# yum-config-manager --enable ol7_developer_UEKR6
# yum-config-manager --save --setopt=ol7_developer_UEKR6.includepkgs='wireguard-tools*'
# yum install wireguard-tools
Um dieses Package auf Oracle Linux 8 zu installieren, führen Sie Folgendes aus:
# dnf install oraclelinux-developer-release-el8
# dnf config-manager --disable ol8_developer
# dnf config-manager --enable ol8_developer_UEKR6
# dnf config-manager --save --setopt=ol8_developer_UEKR6.includepkgs='wireguard-tools*'
# dnf install wireguard-tools
NFS v4.2 - Serverseitige Kopie
NFS v4.2 Server Side Copy-Funktionalität wird aus dem Upstream-Kernel zurückportiert und ist in UEK R6U1 als technische Vorschau verfügbar. Die serverseitigen Kopierfunktionen bieten Mechanismen, mit denen ein NFS-Client Dateidaten auf einem Server oder zwischen zwei Servern kopieren kann, ohne dass die Daten über das Netzwerk über den NFS-Client übertragen werden. Beachten Sie, dass die Intra-Server-Funktionalität aktiviert ist, während die Funktionalität zwischen Servern standardmäßig deaktiviert ist. Um diese Funktionalität zu aktivieren, legen Sie den Parameter inter_copy_offload_enable des nfsd-Moduls fest, und starten Sie den NFS-Service neu. Sie können dies vorübergehend tun, indem Sie Folgendes ausführen:
# echo y > /sys/module/nfsd/parameters/inter_copy_offload_enable
Um diese Änderung dauerhaft zu machen, bearbeiten Sie /etc/modprobe.d/nfsd.conf, um die Zeile hinzuzufügen:
options nfsd inter_copy_offload_enable=Y
Beachten Sie, dass die Möglichkeit, eine serverseitige Kopie zu erstellen, weitgehend von den Funktionen des Serverdateisystems abhängt. Beispiel: Um eine effiziente Intra-Server-Kopie einer Datei durchzuführen, benötigt das zugrunde liegende Zieldateisystem eine Snapshot- oder Klonfunktion für einzelne Dateien.
Erste Tests haben auf einige Probleme mit dieser Funktion hingewiesen, und es wird weitgehend als experimentell in dieser Version angesehen.
Treiberaktualisierungen
Der Unbreakable Enterprise Kernel Release 6 unterstützt eine große Anzahl von Hardware und Geräten. In enger Zusammenarbeit mit Hardware- und Speicheranbietern hat Oracle mehrere Gerätetreiber aus den Versionen in Mainline Linux 5.4 aktualisiert.
Eine vollständige Liste der Treibermodule, die im letzten Update von UEK R6 enthalten sind, sowie Versionsinformationen finden Sie im Anhang unter Treibermodule in Unbreakable Enterprise Kernel Release 6 (x86_64).
Bemerkenswerte Treiberfunktionen und -aktualisierungen
Die folgenden neuen Funktionen sind in den mit UEK R6U1 gelieferten Fahrern aufgeführt:
-
AMD-TEE-Treiber
Die AMD-TEE-Treiber
amdteeundteesind neue Ergänzungen in dieser Version und sind in Version 1.0 enthalten, als Teil einer breiteren Initiative, Mainline-Kernel-Updates für die AMD Milan CPU-Familie aufzunehmen. -
Atheros 802.11n HTC Wireless LAN-Karte Treiber
Der Atheros 802.11n HTC Wireless LAN-Karte Treiber,
ath9k_htc, ist gepatcht und aktualisiert für Sicherheitsfixes, einschließlich CVE-2019-19073. -
Broadcom BCM573xx-Netzwerktreiber
Der Broadcom BCM573xx-Netzwerktreiber
bnxt_enist ab Version 1.10.1 verfügbar und enthält vom Hersteller bereitgestellte Patches und Updates. Ein Patch zur besseren Verarbeitung von Statistiken über ältere Firmware ist ebenfalls auf Anfrage des Herstellers enthalten. Signifikant wird auch die Wartung von Netzwerkzählern über Resets hinweg verbessert, sodass die Akkumulation von Zählern während eines Reset nur erfolgt, wenn der Parameterirq_re_initfestgelegt ist. Beachten Sie, dass eine Upstream-Änderung zu einer Änderung des Gerätenamens für Broadcom-Netzwerkschnittstellen führt, die diesen Treiber verwenden. Beispiel: Ein Gerät, das zuvor möglicherweise als eno3d1 identifiziert wurde, wird jetzt als eno3 identifiziert. Diese Änderung führt dazu, dass die Ports auf dem Netzwerkgerät zu verschiedenen Funktionen gehören können und ein Fix angewendet wurde, um die Gerätebenennung zu verbessern, indem Annahmen über die Portfunktionalität auf einem Gerät vermieden werden. -
Treiber der Intel Ethernet Connection E800 Series
Der Linux-Treiber der Intel Ethernet Connection E800 Series,
ice, ist vollständig auf Version 0.8.2-k mit vom Hersteller bereitgestellten Patches und Updates aktualisiert, um Unterstützung für neuere Intel Ethernet-Controller der 800-Serie und PCIe-Karten unter Verwendung des Columbiaville-Codenamens zu ermöglichen. -
Broadcom Emulex LightPulse Fibre Channel SCSI-Treiber
Der Broadcom Emulex LightPulse Fibre Channel SCSI-Treiber
lpfcwird auf Version 12.8.0.3 mit vom Hersteller bereitgestellten Patches und Bugfixes aktualisiert. -
Broadcom MegaRAID SAS-Treiber
Der Broadcom MegaRAID SAS-Treiber,
megaraid_sas, wurde auf Version 07.714.04.00-rc1 aktualisiert. Dieses Update enthält vom Hersteller bereitgestellte Patches, mit denen die Treiberversion dem Upstream-Kernel-Release entspricht. -
LSI MPT Fusion SAS 3.0 Device-Treiber
Der LSI MPT Fusion SAS 3.0-Gerätetreiber
mpt3saswird auf Version 34.100.00.00 aktualisiert, um vom Hersteller bereitgestellte Patches einzuschließen, mit denen die Treiberversion dem Upstream-Kernel-Release entspricht. -
QLogic Fibre Channel HBA-Treiber
Der QLogic Fibre Channel-HBA-Treiber,
qla2xxx, ist auf Version 10.01.00.25-k aktualisiert und enthält eine große Anzahl von vom Hersteller bereitgestellten Patches, um die Treiberversion mit dem Upstream-Kernel-Release in Einklang zu bringen. -
Realtek RTL8152/RTL8153 Based USB Ethernet Adapter Treiber
Der auf Realtek RTL8152/RTL8153 basierende USB-Ethernet-Adaptertreiber
r8152wurde auf Version 1.10.11 mit Upstream-Kernel-Patches aktualisiert. -
Intel Volume Management Device-Treiber
Der Intel VMD-(Volume Management Device-)Treiber,
vmd, Version 0.6, wird zu diesem Kernel-Release hinzugefügt und ermöglicht die Wartungsfreundlichkeit von NVMe-Geräten, wobei die Hardwarelogik des Intel Xeon-Prozessors genutzt wird. Der Treiber aggregiert NVMe-PCIe-SSDs und verhält sich ähnlich wie ein HBA für SATA und SAS.