Neue Funktionen und Änderungen UEK 8
Neue Features, Verbesserungen und andere bemerkenswerte Änderungen, die in UEK 8 eingeführt werden.
Übersicht über wichtige Änderungen in UEK 8
Im Folgenden finden Sie eine Zusammenfassung der Features, Änderungen und Verbesserungen, die in UEK 8 im Vergleich zu UEK R7 eingeführt werden:
-
Linux 6.12 stabile Kernel-Basis
Das Mainline-Kernel-Release 6.12, das als Basiskernel für UEK 8 verwendet wird, umfasst viele Upstream-Kernelfeatures und -Verbesserungen gegenüber früheren UEK-Releases und gegenüber RHCK auf Oracle Linux 9.
-
Kernel-Modul-Packaging wird aktualisiert
Kernel-Module werden in mehr atomaren Paketen verteilt, um die Angriffsfläche auf dem Kernel zu reduzieren, die Wartung von Kernel-Modulen zu verbessern und auch die Sichtbarkeit von Modulabschreibungen zu verbessern. Eine vollständige Ansicht des Kernel-Packages in UEK 8 finden Sie unter Änderungen an UEK Content Distribution and Packaging.
-
64k Base Page Größe auf Arm
In diesem Release ist eine Version des Kernels mit einer Basisseitengröße von 64 K nur für Ampere-Arm-basierte Compute-Ausprägungen in Oracle Cloud Infrastructure verfügbar. Die Größe der 64-K-Basisseite verbessert die Verarbeitung von Workloads durch Arm-Plattformen mit großen, zusammenhängenden Speicherdatensätzen. Weitere Informationen finden Sie unter (aarch64) 64k Base Page Size on Arm.
-
Weitere Plattform-Updates
Mehrere generische Plattformupdates sind enthalten. Siehe Generic Platform Updates. Einige andere Intel-spezifische Plattformupdates sind verfügbar, einschließlich Sicherheitsfunktionen wie Intel Software Guard Extensions und neuer Hardwareunterstützung für die Intel Quick Assist Technology (QAT). Siehe Intel Platform-Updates.
-
Vollständig fairer Scheduler (CFS) ersetzt durch frühestmögliche virtuelle Deadline zuerst (EEVDF)
CFS wird durch den EEVDF-Scheduler ersetzt, um das Planungsverhalten zu verbessern und die Konfigurationskomplexität zu reduzieren. Siehe EEVDF Scheduler Replaces CFS.
-
Verbesserte Speicherverwaltung
In UEK 8 werden viele Verbesserungen bei der Speicherverwaltung angezeigt, darunter mehrere Speicherzuordnungsoptimierungen, Leistungsverbesserungen durch die Einführung von Foliostrukturen und einige Verbesserungen bei der Handhabung von Riesigen Seiten. Siehe Memory Management.
-
Dateisystemupdates
Die Unterstützung für die Btrfs- und OCFS2-Dateisysteme ist in UEK 8 aktiviert. Für die Btrfs-, XFS- und NFS-Dateisysteme in diesem Release sind erhebliche Verbesserungen verfügbar. Weitere Informationen zu neuen Dateisystemfunktionen, die in UEK 8 eingeführt werden, finden Sie unter Dateisysteme
-
ASMLib v3 und io_uring
In diesem UEK-Release, das auch ASMLib v3 unterstützt, sind mehrere io_uring-Verbesserungen enthalten. ASMLib v3 verwendet io_uring für das Automatic Storage Management-Feature von Oracle Database. Siehe io_uring Enhancements und ASMLib v3.
-
Netzwerk-Updates
Mehrere allgemeine Netzwerkverbesserungen sind in UEK 8 enthalten. Siehe Allgemeine Netzwerkverbesserungen.
-
Sicherheitsbezogene Updates
Einige andere sicherheitsrelevante Updates sind in diesem UEK-Release enthalten, einschließlich einiger Updates zum Zufallszahlengenerator, um die Leistung und Sicherheit zu verbessern. Siehe Erweiterungen für den Zufallszahlengenerator. Die Kernel-TLS-Offloadfunktion ist in UEK 8 aktiviert. Siehe KTLS.
-
Berkeley Packet-Filter
Im Berkeley Packet Filter (BPF), der für das Tracing verwendet wird, sind mehrere Verbesserungen verfügbar, darunter eine dedizierte Speicherzuweisung, ein neuer Benutzerringpuffer und die Verwendung von Resilient BPF Type Format-(BTF-)Modulen zur Verwendung von BTF für Out-of-Tree-Module. Siehe Berkeley Packet Filter (BPF) Enhancements.
-
DTrace v2.0
Dtrace v2.0 ist weiterhin in UEK 8 verfügbar und nutzt Kernel-Tracing-Funktionen wie eBPF. Ausführliche Informationen zu DTrace-Releases und anderen wichtigen Änderungen finden Sie unter Oracle Linux: DTrace - Versionshinweise.
.
Änderungen bei UEK Content Distribution und Packaging
Die folgende Tabelle enthält Details dazu, wie UEK 8-Inhalte verteilt und verpackt werden. Außerdem enthält sie Informationen zu Packageabhängigkeiten und anderen wichtigen Anforderungen.
Kernel-Packaging wird in UEK 8 aktualisiert und unterscheidet sich von früheren UEK-Releases. Vor allem Kernel-Module werden jetzt in einer Sammlung von separaten Paketen geliefert. Das Trennen von Modulen aus den Kernkernpaketen trägt dazu bei, den Overhead zu reduzieren, bietet einen Mechanismus zur Minimierung der Angriffsfläche und verbessert die Wartung von Kernelmodulen.
Konfigurationsdateien zur Identifizierung von Modulen, denen das Laden verweigert wird, werden im Rahmen der Initiative von Oracle zur Verwendung einer integrativeren Sprache in ihren Produkten von "Blacklist"-Dateien in "Denylist" umbenannt.
Außerdem werden einige Kernel-Utilitytools, die in früheren Releases im kernel-uek-core-Package gebündelt wurden, in ein separates Package kernel-uek-tools verschoben.
Sie können die in jedem Package verfügbaren Module auflisten, indem Sie Folgendes ausführen:
rpm -q -l kernel-uek-modules-<ext>
Um zu ermitteln, zu welchem Paket ein Modul gehört, das auf dem System verfügbar ist, können Sie Folgendes ausführen:
rpm -q -f /lib/modules/$(uname -r)/<path to module>
Wenn Sie den Befehl modprobe für ein Modul ausführen und das Package, zu dem das Modul gehört, nicht installiert ist, werden Sie in der Ausgabe benachrichtigt und erhalten den Package-Namen, den Sie installieren müssen. Beachten Sie, dass Sie das Package kmod möglicherweise auf die neueste Version aktualisieren müssen, damit diese Funktionalität funktioniert.
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
Eine Packagezuordnungsdatei ist unter /lib/modules/$(uname -r)/modules.packages enthalten und wird im kernel-uek-core-Package für UEK 8 und höher geliefert. Sie können diese Datei auch verwenden, um das Modulpaket zu identifizieren, das einen bestimmten Treiber enthält.
|
Paket |
Beschreibung |
|---|---|
|
|
Dies ist ein Meta-Paket, das keine Dateien enthält. In Oracle Linux 9 weist das Package die folgenden Abhängigkeiten auf:
Die Installation dieses Pakets entspricht der Installation des vollständigen UEK-Kernels. Durch die Installation dieses Packages wird die Kompatibilität mit früheren Releases aufrechterhalten. |
|
|
Dieses Package enthält die UEK-Kernel-Binärdatei und unterstützende Dateien, die in |
|
|
Dieses Package enthält eine minimale Anzahl von Core-Kernelmodulen und unterstützenden Dateien, die für von Oracle entwickelte Systeme verwendet werden. Das Package ist eine Abhängigkeit von |
|
|
Dieses Paket enthält verschiedene Module, die in den meisten Serverkonfigurationen häufig verwendet werden. Beachten Sie, dass für dieses Package auch das Package |
|
|
Dieses Paket enthält Module für Desktop-Hardware. Dieses Paket kann entfernt werden, um das System auf vielen Serverplattformen zu schützen, wenn keines der Module verwendet wird. |
|
|
Dieses Paket enthält USB-Treiber. Dieses Paket kann entfernt werden, um das System auf vielen Serverplattformen zu schützen, wenn keines der Module verwendet wird. |
|
|
Dieses Paket enthält drahtlose Treiber. Dieses Paket kann entfernt werden, um das System auf vielen Serverplattformen zu schützen, wenn keines der Module verwendet wird. |
|
|
Dieses Paket enthält ungewöhnliche Netfilter-Module. Dieses Paket kann entfernt werden, um das System auf vielen Serverplattformen zu schützen, wenn keines der Module verwendet wird. |
|
|
Dieses Paket enthält Module, die in zukünftigen Releases entfernt werden sollen. Dieses Package ist optional und Sie können das Package manuell über das yum-Repository oder den ULN-Kanal installieren. Die in diesem Package enthaltenen Module sollten nicht mehr verwendet werden und werden möglicherweise in einem zukünftigen Release entfernt. |
|
|
Dieses Paket enthält zusätzliche Module für Serverkonfigurationen, die jedoch nicht häufig verwendet werden. Dieses Package ist optional und Sie können das Package manuell über das yum-Repository oder den ULN-Kanal installieren. |
|
|
Dieses Package enthält Tools, die erforderlich sind, um andere Build- und Laufzeitabhängigkeiten in der |
|
|
Dieses Package enthält Kernfirmwarekomponenten und ist eine Abhängigkeit für das Package |
|
|
Dieses Package enthält Firmwarekomponenten, die nicht im Package
Beachten Sie, dass für dieses Package auch das Package |
Zur Sicherheitshärtung wird empfohlen, alle kernel-uek-modules-*-Packages zu entfernen, die nicht vom System benötigt werden. So entfernen Sie Packages:
-
Markieren Sie die Basismodulpackages, die Sie auf dem System benötigen, um zu verhindern, dass sie entfernt werden. Beispiel:
sudo dnf mark install kernel-uek-core kernel-uek-modules -
Entfernen Sie die nicht verwendeten Module-Packages und die Metapackage
kernel-uekaus dem System:sudo dnf erase kernel-uek-modules-desktop kernel-uek
(aarch64) 64k Basisseitengröße auf Arm
Zusätzlich zum Standard-Build von UEK für Arm (aarch64), der eine Basisgröße von 4K-Seiten festlegt, ist ein kernel-uek64k-Package, das eine Basisseitengröße von 64K festlegt, nur für Ampere-Arm-basierte Compute-Ausprägungen in Oracle Cloud Infrastructure verfügbar. Bei anderen Anwendungsfällen als OCI ist das kernel-uek64-Package nur als technische Vorschau verfügbar. Das kernel-uek64k-Package ist für Oracle Linux 9 und höher verfügbar.
Der Kernel mit 64k-Seitengröße ist eine nützliche Option für Ampere-(Arm-)Plattformen, die Workloads mit großen, zusammenhängenden Speicherdatensätzen verarbeiten und bei einigen Arten von speicher- und CPU-intensiven Vorgängen eine bessere Performance erzielen können.
Der Kernel mit 4K-Seitengröße ist für kleinere Umgebungen nützlich, bei denen die Minimierung der Speicherauslastung des physischen Systems eine Priorität ist.
Beachten Sie, dass sich der Kernel mit 4K-Seitengröße und der Kernel mit 64K-Seitengröße nicht in der Benutzererfahrung unterscheiden, da der Benutzerbereich gleich ist.
Nach der Installation eines Systems mit kernel-uek64k wird der Wechsel zu einer 4K-Kernelseitengröße nicht mehr unterstützt.
Kernel-uek64k wird installiert
Die einzige Seitengröße für NVIDIA Grace-Compute-Ausprägungen ist standardmäßig auf 64k festgelegt. Sie können optional von der 4k-Standardseitengröße in die 64k-Seitengröße in Ampere-Ausprägungen ändern.
Die Installation von
kernel-uek64k auf Systemen außerhalb von Oracle Cloud Infrastructure (OCI) ist nur als technische Vorschau verfügbar. Installieren Sie diesen Kernel nicht auf Produktionssystemen außerhalb von OCI.So installieren Sie die kernel-uek64k auf einem System, das mit der Standard-4K-Seitengröße kernel-uek installiert ist:
Allgemeine Plattformaktualisierungen
Einige generische Plattformupdates sind in UEK 8 verfügbar. Die Updates umfassen:
-
Split-Lock-Erkennung für Vorgänge im Speicher, die sich über zwei Cachezeilen erstrecken, z. B. falsch ausgerichteten Speicherzugriff. Siehe auch https://docs.kernel.org/arch/x86/buslock.html
-
Shadow Stacks für den Benutzerbereich mit der Control-flow Enforcement Technology (CET) von x86 zum Schutz vor rückkehrorientierten Programmierangriffen. Diese Implementierung funktioniert, indem ein sekundärer Stack mit einem speziellen Speichertyp verwaltet wird, der Schutz vor Änderungen bietet. Siehe auch https://docs.kernel.org/arch/x86/shstk.html.
-
Das Tracking der Anruftiefe wird implementiert, um die Leistung im Code zur Abwehr von Sicherheitslücken bei Retbleed zu verbessern.
-
Die x86-CPU-Erhöhung wird aktualisiert, sodass sekundäre CPU-Cores parallel gebootet werden, um die Kernel-Bootzeiten auf Systemen mit hoher Coreanzahl zu verbessern.
-
32-Bit-Emulation in x86_64-Kernels mit dem Befehlszeilenparameter
ia32_emulation. Bei 'Wahr' können Sie 32-Bit-Programme laden und 32-Bit-Systemaufrufe ausführen.
Intel-Plattform-Updates
Einige Upstream-Updates der Intel-Plattform sind in UEK 8 enthalten. Bemerkenswerte Elemente sind:
- Intel Software Guard Extensions (SGX2), eine hardwarebasierte Implementierung von Enclave Dynamic Memory Management (EDMM), ist eine erweiterte Version einer Sicherheitstechnologie, die sensible Daten und Code schützen kann, indem sie in privaten Speicherregionen isoliert werden, die als Enklaven bezeichnet werden. SGX2 führt neue Funktionen wie die dynamische Speicherverwaltung ein, sodass Enklaven ihre Speichergröße während der Laufzeit ändern und verwalten können. Dieses Update ist wichtig für Anwendungen mit dynamischen Workloads oder größeren Speicheranforderungen, die eine skalierbarere Architektur erfordern. SGX2 bietet zuverlässige Vertraulichkeit und Integrität für sensible Workloads sowohl in On-Premises- als auch in Cloud-Umgebungen. Siehe https://www.intel.com/content/www/us/en/support/articles/000058764/software/intel-security-products.html.
-
Flexible Return and Event Delivery-(FRED-)Userpace-Interrupts. Siehe auch https://docs.kernel.org/arch/x86/x86_64/fred.html.
-
In-Field-Scan, um den CPU-Zustand zu testen, indem Probleme erkannt werden, die nicht durch Paritäts- oder ECC-Prüfungen abgefangen werden. Siehe auch https://docs.kernel.org/arch/x86/ifs.html.
-
Die Quick Assist Technology-(QAT-)Funktionalität wird aktualisiert, um Intel Xeon-Prozessoren der 4. Generation zu unterstützen.
-
Lineare Adressmaskierung (LAM_U57-Modus), um die Prüfung zu ändern, die auf lineare 64-Bit-Adressen angewendet wird, sodass Software nicht übersetzte Adressbits zum Speichern von Metadaten verwenden kann. LAM_U57 kann 6 Bit Metadaten in Bit 62 bis 57 verwenden.
EEVDF-Scheduler ersetzt CFS
Earlyliest Eligible Virtual Deadline First (EEVDF) ist ein neuer Kernel-Scheduler, der den Completely Fair Scheduler (CFS) ersetzt. EEVDF bietet eine bessere Planungsrichtlinie für den Kernel und reduziert die Konfigurationskomplexität und verbessert das Planungsverhalten.
Speicherverwaltung
In UEK 8 sind mehrere wichtige Speicherverwaltungsupdates mit Upstream-Änderungen verfügbar, die von v5.15 auf v6.12 enthalten sind.
- Die Folios-Datenstruktur ersetzt die Strukturseite, um eine bessere Abstraktion für die Verwaltung von Seiten zu ermöglichen. Folios ist eine neue Datenstruktur, die eine oder mehrere Speicherseiten darstellt. Die neue Struktur reduziert Typverwirrung und Speicher-Overhead.
- Riesige Seiten werden mit mehreren nützlichen Updates verbessert, darunter:
- Update zur Verarbeitung von riesigenTLB-Fehlern bei Verwendung von VMA-Sperren. Speicherverwaltungsvorgänge wie Seitenfehler und Speicherzuordnung können feiner und effizienter verarbeitet werden, um Zugriffskonflikte zu reduzieren und den gleichzeitigen Zugriff zu verbessern.
- Multi-size THP für anonymen Speicher, der die Zuweisung von Folios ermöglicht, die größer als die Basisseitengröße, aber kleiner als die PMD-Größe sind.
- Untergenutzte THPs aufteilen und THP = Always Policy verbessern. Diese Änderungen verbessern das Overprovisioning von THPs in Speicherbereichen mit spärlichem Zugriff.
- MADV_DONTNEED madvise()-Flag funktioniert auf hugetlb-Seiten und kann nützlich sein, um die Zuordnung und Freigabe von privaten zugeordneten hugetlb-Seiten aufzuheben.
- Das Flag MADV_COLLAPSE madvise() minimiert Seiten in einer transparenten riesigen Seite.
- Kontinuierliche Verbesserungen am Code der Speicherkontrollgruppen, memcg, zum Entkoppeln von v1-Feldern im Code von der v2-Codebasis.
- Eine neue sysfs-Schnittstelle,
/proc/sys/vm/enable_soft_offline, ist verfügbar, sodass Sie die automatische Soft-Offlining von Seiten deaktivieren können. Diese Funktion kann nützlich sein, um die Seitenauslagerung vom Benutzerbereich zu verwalten. -
Optimierungen der Speicherzuordnung:
- Maple Tree ersetzte rot-schwarze Bäume (RB-Bäume) für die Verwaltung virtueller Speicherbereiche (VMAs) für eine bessere Performance durch schnellere Lookups, Einfügungen und Löschvorgänge.
- Es wurde ein Mechanismus eingeführt, mit dem anonyme VMAs für ein verbessertes Debugging und Profiling benannt werden.
- Per-VMA-mmap-Sperren zur Verbesserung des gleichzeitigen Zugriffs und zur Reduzierung von Konflikten in Multithread-Anwendungen mit vielen VMAs.
- Einführung der
ptdesc-Datenstruktur zur Optimierung der Verwaltung von Seitentabellen, indem Seitenmetadaten von derpage-Datenstruktur entkoppelt werden.
Dateisysteme
Die folgenden Dateisystemfeatures und -erweiterungen werden in UEK 8 eingeführt:
Btrfs
Die folgenden bemerkenswerten Btrfs-Dateisystemänderungen werden in UEK 8 eingeführt:
-
Komprimierte Daten können ohne Transformation gesendet oder empfangen werden, und Datenblöcke, die größer als 64K sind, werden jetzt für Schreibvorgänge verarbeitet.
-
Ein neuer Baumblockgruppenbaum verbessert die Mountzeiten, und Verbesserungen am Blockgruppencode reduzieren die Fragmentierung.
-
Die Quotenabrechnung wird vereinfacht. Einfache Quotas können anstelle von Quota-Gruppen verwendet werden, um die Speicherplatznutzung einfach zu verfolgen, indem Extents mit ihren Subvolumes verknüpft werden. Dieser Ansatz kann die Performance verbessern, aber einfache Quotas können freigegebene Daten nicht verfolgen. Sie eignen sich daher am besten für Umgebungen, in denen Extents unveränderlich sind und länger als Kopien persistieren.
-
Die Einführung einer temporären FSID ermöglicht das Mounten von geklonten Geräten. Das Dateisystem erhält eine zufällig generierte UUID beim Einhängen.
-
Verbesserte NOCOW-Schreibprüfungen verbessern den Durchsatz um 9%.
-
Die neue Einhängeoption
discard=asyncist standardmäßig für Geräte aktiviert, die trim/discard unterstützen und asynchronen Discard für das gesamte Dateisystem anwenden. -
Die Mountoption
ignoremetacsumsignoriert ungültige Metadaten-Prüfsummen, und die Mountoptionignoresuperflagskann so eingestellt werden, dass Superblock-Flags den Fortschritt der Konvertierung ignorieren. -
Sende- und Verschiebungsaufgaben, wie Saldo, Geräteentfernung, Verkleinerung und Blockgruppenfreigabe, werden parallel ausgeführt.
-
Geräte können während eines unterbrochenen Gleichgewichts hinzugefügt werden.
XFS
Die folgenden bemerkenswerten XFS-Dateisystemänderungen werden in UEK 8 eingeführt:
-
Sie können jetzt ein Dateisystem mounten, dessen Blockgröße größer als die Seitengröße ist.
-
Große Extent-Anzahl ist für große virtuelle Datenträger-Images verfügbar.
-
Inhalts-Commits für atomare Dateien sind jetzt verfügbar.
-
Vollständig autonomes Online-Fsck und Reparatur sind als technische Vorschau verfügbar.
-
Ein Update des Befehls mkfs.xfs setzt eine minimale XFS-Dateisystemgröße auf 300 MB, um zu verhindern, dass kleine Dateisysteme erstellt werden, die zu Performance- und Redundanzproblemen führten. Diese Änderung unterscheidet sich von dem Befehl im früheren
xfsprogs-Package, das imol9_baseos_latest-Repository auf Oracle Linux 9-Systemen verfügbar ist.
NFS
Die folgenden bemerkenswerten NFS-Dateisystemänderungen werden in UEK 8 eingeführt:
-
Die NFSv4.2 READ_PLUS-Funktion ist standardmäßig im Kernel aktiviert, um die Handhabung von Sparse-Dateien zu verbessern, indem eine Beschreibung von Lücken oder Datenblöcken, die nicht initialisiert sind, eingeschlossen wird.
-
Verschiedene ältere Protokollfunktionen für NFS werden in UEK 8 entfernt. Siehe Veraltete und entfernte Features.
Verbesserungen für Berkeley Packet Filter (BPF)
In UEK 8 für den Berkeley Packet Filter (BPF) sind mehrere wichtige Updates verfügbar, darunter:
-
Die Einführung eines dedizierten BPF-Speicherzuweisers wird hinzugefügt, um die Zuverlässigkeit der Zuordnungen innerhalb von BPF-Programmen zu verbessern, die in einer Vielzahl von Kontexten ausgeführt werden können.
-
Hinzufügen eines neuen BPF-Zuordnungstyps für den Benutzerringpuffer zur asynchronen Nachrichtenübergabe und schnelleren Datenübertragung zwischen einem BPF-Programm und Benutzerbereich.
-
BPF-Programme können nun Kernel-Funktionen aus einem ladbaren Modul aufrufen, auf task_struct-Objekte zugreifen und diese speichern und absolute Zeitwerte verwenden.
-
Freundlichere Helper-Funktionen wie
bpf_trace_vprintkund auch destruktive Helfer wiecrash_kexecsind enthalten. -
BPF-Programme können Filterfunktionen an kfuncs anhängen. Der Filter kann die Kontexte begrenzen, aus denen der kfunc aufgerufen werden kann.
-
Resilient BPF Type Format (BTF)-Informationen für Module sind enthalten, sodass Out-of-Tree-Module BTF definieren können, die für die Lebensdauer eines UEK-Release funktionieren.
- BPF-Trampolin ist jetzt für aarch64-Plattformen verfügbar, um die Ausführung von BPF-Tracingprogrammen mithilfe von Fentry- und Fexit-Programmen zu beschleunigen.
-
BPF-Haken:
-
Um vollständige Pakete anzuzeigen und zu filtern.
-
Um das angeforderte Protokoll für einen neuen Socket zu ändern, hauptsächlich um Programme, die TCP-Verbindungen anfordern, transparent zu veranlassen, stattdessen Multipath-TCP zu verwenden.
-
io_uring - Erweiterungen
io_uring ist eine Systemaufrufschnittstelle zur Verwaltung asynchroner I/O-Vorgänge für Speichergeräte. In der Implementierung, die in UEK 8 verfügbar ist, werden mehrere Features und Verbesserungen bereitgestellt, und einige davon wurden möglicherweise auf frühere UEK-Releases zurückportiert. Updates umfassen viele Optimierungen für Sicherheit und Performance. Zu den wesentlichen neuen Features und Änderungen gehören:
-
io_uringunterstützt jetzt das Senden und Empfangen von T10-Schutzinformationen zusammen mit dem Datenpuffer. -
Vorgänge für
getsockopt(),setsockopt(),bind(),listen()undwaitid(). -
Mechanismus zum Weglassen von Systemaufrufen mit IORING_SETUP_SQPOLL bei der Einrichtung. Bei einem Aufruf von
io_uring_enter()wird ein Kernel-Thread gestartet, der gelegentlich die Übermittlungsqueue abfragt und alle dort gefundenen Anforderungen automatisch weiterleitet. -
Batchanforderung für
recv()-Aufrufe und fürreads(). -
IORING_OP_SENDZC zum Ausführen von Schreibvorgängen ohne Kopiervorgang.
-
Mehrere Ring-Code-Optimierungen:
-
Ringe und Übermittlungswarteschlange können sich im Speicher des Benutzerbereichs befinden, z. B. riesige Seiten.
-
Ein Ring kann nun einen anderen signalisieren, um Nachrichtenanfragen zu beschleunigen.
-
Ringbezogene Arbeiten können aufgeschoben werden, bis eine Anwendung sie anfordert.
-
-
io_uring-Verbesserungen bei gepufferten Schreibvorgängen in XFS. -
Die
io_uring-Optimierung in XFS und Ext4 kann mehrere Direct-I/O-Schreibvorgänge in eine Datei parallel verarbeiten. -
Absolute Timeouts, zusammen mit den relativen Timeouts, die bereits verfügbar waren, sind jetzt möglich.
ASMLib v3
ASMLib ist eine Library für das Automatic Storage Management-Feature von Oracle Database. ASMLib v3 nutzt die io_uring-Funktionen, die im Kernel enthalten sind, um eine hohe Performance zu erzielen. UEK 8 wird mit Oracle ASMLib v3 getestet und vollständig unterstützt.
Beachten Sie, dass bei diesem Update das oracleasm-Kernelmodul nicht mehr enthalten ist, da Oracle ASMLib v3 dieses Modul nicht mehr benötigt.
ASMLIB-Release 3.1 nutzt die Weiterentwicklungen zum Durchlaufen von Schutzinformationen, die io_uring in UEK 8 hinzugefügt wurden. Über diese Schnittstelle können CRC-Prüfsummen an jedes I/O angehängt werden, was eine zusätzliche Schutzschicht vor Datenbeschädigung bietet.
Um diese Funktion verwenden zu können, müssen ASM-Datenträger auf Speicherhardware bereitgestellt werden, die T10 Protection Information (SCSI-Controller mit DIX-Unterstützung oder NVMe) implementiert.
Siehe Oracle Linux: Oracle ASMLIB v3 installieren und konfigurieren.
RDMA
UEK 8 umfasst RDMA-(Remote Direct Memory Access-)Funktionen, die im Upstream-Kernel bereitgestellt werden, mit der Ksplice- und DTrace-Funktionalität. RDMA ermöglicht direkten Speicherzugriff zwischen zwei Systemen, die über ein InfiniBand- oder RoCE-Netzwerk verbunden sind. RDMA ermöglicht Networking mit hohem Durchsatz und geringer Latenz in Clustern.
Oracle RDMA-Packages sind in den folgenden ULN-Kanälen und yum-Repositorys verfügbar:
-
Oracle Linux 10
-
ULN-Kanal:
ol10_x86_64_RDMA -
Oracle Linux yum-Server-Repository:
ol10_RDMA
-
-
Oracle Linux 9
-
ULN-Kanal:
ol9_x86_64_RDMA -
Oracle Linux yum-Server-Repository:
ol9_RDMA
-
Informationen zum Upgrade eines Systems, auf dem das Package oracle-rdma-release oder oracle-rdma-release-guest installiert ist, finden Sie unter Oracle RDMA-Packages auf Oracle Linux upgraden.
Allgemeine Netzwerkerweiterungen
Einige allgemeine Netzwerkverbesserungen sind in UEK 8 mit Upstream-Änderungen verfügbar, die von v5.15 auf v6.12 enthalten sind.
-
BIG TCP, das größere TSO/GRO-Paketgrößen für IPv6-Datenverkehr verwendet, ist enthalten, um die Leistung beim Senden großer IPv6-TCP-Pakete in Data-Center-Netzwerken zu verbessern. Beachten Sie, dass diese Funktion nicht standardmäßig aktiviert ist, da sie sich auf eBPF-Programme auswirken kann, bei denen davon ausgegangen wird, dass der TCP-Header unmittelbar dem IPv6-Header folgt. BIG TCP wird aktiviert, indem
gro_ipv6_max_sizeundgso_ipv6_max_sizeauf einem Linkgerät festgelegt werden. -
Eine neue Socket-Option SO_RESERVE_MEM ist verfügbar, um einen Mechanismus bereitzustellen, mit dem Benutzer eine bestimmte Speichermenge für das Socket reservieren können. Mit dieser Socket-Option verbringt der Netzwerkstack weniger Zyklen mit der Vorwärtszuweisung und -freigabe, was zu einer besseren Systemleistung führen kann, mit den Kosten einer Menge von vorab zugewiesenem und nicht freigegebenem Speicher, auch unter Speicherdruck.
-
Der Paket-Scheduler für faire Warteschlangen hat mehrere Leistungsverbesserungen erreicht, darunter eine Erhöhung des Durchsatzes um 5% bei intensiver TCP-Request/Response-(TCP_RR-)Workload und eine Erhöhung um 13% bei UDP-Paketen, ohne dass eine Schrittfrequenz auf dem Socket festgelegt wurde.
-
Mehrere Core-Netzwerkdatenstrukturen werden für eine bessere Cache-Effizienz neu organisiert, was zu einer Verbesserung der TCP-Performance führen kann, wenn es sich um viele gleichzeitige Verbindungen handelt.
KTLS
KTLS verarbeitet TLS-Datensätze mit den symmetrischen Verschlüsselungs- oder Entschlüsselungsalgorithmen im Kernel für die AES-GCM-Cipher. KTLS wurde in UEK R7U3 für TLS-verschlüsselte Verbindungen für NFS aktiviert. KTLS ist weiterhin in UEK 8 verfügbar.
TLS-verschlüsselte Verbindungen für NFS
RPC-With-TLS ist auf dem Linux NFS-Server und -Client aktiviert. Dieses Update bietet einen standardbasierten Peer-Authentifizierungsmechanismus über eine verschlüsselte Verbindung mit TLS. Das Protokoll des TLS-Datensatzes wird vollständig von kTLS verarbeitet.
Beachten Sie, dass sowohl auf dem Server- als auch auf dem Clientsystem UEK R7U3 oder höher ausgeführt werden muss oder dass ein Kernel- und Benutzerbereichsclient ausgeführt werden muss, der RFC 9289 unterstützt, um diese Funktionalität verwenden zu können. Das User Space Package, ktls-utils, ist ebenfalls erforderlich und muss sowohl auf dem Client- als auch auf dem Serversystem installiert werden. Stellen Sie außerdem sicher, dass Sie die neueste Version des nfs-utils-Packages installiert oder ein vollständiges Systemupdate durchgeführt haben.
RPC-With-TLS wird von Oracle vorgelagert und in RFC 9289 beschrieben.
Verbesserungen für Zufallszahlengenerator
Einige Verbesserungen am Random Number Generator (RNG) sind in UEK 8 mit Upstream-Änderungen verfügbar, die von v5.15 bis v6.12 enthalten sind. Insbesondere hat RNG vom SHA1-Hash-Algorithmus auf den schnelleren und sichereren BLAKE2s-Algorithmus umgestellt.
Außerdem ist der Systemaufruf getrandom() jetzt im virtuellen dynamischen Shared Object-(vDSO-)Bereich des Kernels implementiert. Diese Implementierung verbessert die Performance beim Abrufen von Zufallszahlendaten, da kein Wechsel von einem Benutzerbereichskontext in den Kernelkontext erforderlich ist.
KVM und Virtualisierung
In diesem UEK 8-Release sind die folgenden KVM- und Virtualisierungsänderungen enthalten:
-
Die MMU-Unterstützung für zweidimensionales Paging (TDP) wird hinzugefügt, um die Seitenfehlerperformance auf VMs mit vielen VCPUs erheblich zu verbessern. Diese Funktionalität ist standardmäßig aktiviert.
-
Die UEK 8-Kernelkonfiguration für VCPUs wird auf eine theoretische Grenze von 4096 erhöht. Beachten Sie, dass das tatsächliche VCPU-Limit anwendungsfallspezifisch ist und von vielen Faktoren abhängt, einschließlich der System- und QEMU-Konfiguration.
Aktualisierte Treiber
Gerätetreiber, die in UEK 8 enthalten sind, sind an den Treibern im vorgelagerten Mainline-Linux 6.12-Kernel ausgerichtet. Einige bemerkenswerte Updates sind enthalten, bei denen Treiber Funktionen oder Korrekturen enthalten, die in späteren Upstream-Kernelversionen verfügbar sind.
Viele Treibermodule verfolgen keine Versionsinformationen mehr. Oracle arbeitet mit Anbietern zusammen, um Gerätetreiber, die in UEK 8 enthalten sind, an dem in Upstream-Kernelversionen verfügbaren Code auszurichten.
In der folgenden Tabelle sind bemerkenswerte Treiberaktualisierungen aufgeführt:
| Treibermodul | Treiberbeschreibung | Ausgerichtete Kernelversion | Wichtige Updates |
|---|---|---|---|
|
|
Cisco FCoE HBA-Treiber |
6,14 |
Updates von 6.14 wurden auf dieses Release zurückportiert. Beachten Sie, dass dieser Treiber eine Versionszeichenfolge enthält: 1.8.0.0. |
|
|
Broadcom Emulex Fibre Channel HBA-Treiber |
6,14 |
Updates von 6.14 wurden auf dieses Release zurückportiert. Beachten Sie, dass dieser Treiber eine Versionszeichenfolge enthält: 0:14.4.0.8. |
|
|
NVIDIA Netzwerkadapter der 5. Generation (NVIDIA ConnectX-Serie) Core Driver |
6,12 |
Mehrere Fixes und Verbesserungen von 6.14 wurden in diesem Release zurückportiert. |
Veraltete und entfernte Funktionen
Die folgenden Funktionen sind veraltet, wurden entfernt oder werden in UEK 8 nicht mehr unterstützt:
Veraltete Features
-
SHA-1 Algorithmus
Der SHA-1-Algorithmus ist in UEK 8 im FIPS-Modus veraltet und wird in einem zukünftigen UEK-Release entfernt. Der SHA-1-Algorithmus wurde vom National Institute of Standard and Technology (NIST) eingestellt, da der SHA-1-Hash-Algorithmus nicht mehr als sicher gilt. Weitere Informationen zur Verwendung und Einstellung von SHA-1 finden Sie in den Oracle Linux-Versionshinweisen.
-
Kernel-Module, die in das
kernel-uek-modules-deprecated-Package verschoben wurden, sind jetzt veraltet.Diese Module werden möglicherweise in einer zukünftigen UEK-Version entfernt.
Eine detaillierte Auflistung finden Sie unter UEK 8 Module Deprecations (x86_64) und UEK 8 Module Deprecations (aarch64).
-
cgroupsv1ist veraltetcgroupsv1ist in Oracle Linux 9 veraltet und wird in einem zukünftigen Oracle Linux-Release entfernt. -
XFS_SUPPORT_V4ist veraltetDas V4-Dateisystemformat enthält bekannte Schwachstellen im Festplattenformat. Daher sollte die Option in UEK 8 nicht mehr verwendet werden und wird in einem zukünftigen UEK-Release entfernt.
Sie können prüfen, ob das Dateisystem für die Verwendung von V4 formatiert ist, indem Sie den Befehl xfs_db -r -c version <device> ausführen.
Wenn die Funktion aktiviert ist, müssen Sie Daten sichern, das Gerät neu formatieren und Daten wiederherstellen.
-
XFS_SUPPORT_ASCII_CIist veraltetDie Funktion für XFS ASCII-Namen ohne Beachtung der Groß-/Kleinschreibung sollte in UEK 8 nicht mehr verwendet werden und wird in einem zukünftigen UEK-Release entfernt. Das Feature bot eine Option zur Formatierung eines XFS-Dateisystems, bei der die Option
ascii-ciaktiviert ist, um die Groß-/Kleinschreibung zu deaktivieren.Mit dem Befehl xfs_info können Sie prüfen, ob die Funktion aktiviert ist.
Wenn die Funktion aktiviert ist, müssen Sie Daten sichern, das Gerät mit deaktivierter Option neu formatieren und Daten wiederherstellen.
-
Die Optionen
CONFIG_SECURITY_SELINUX_DISABLEundCONFIG_SECURITY_WRITABLE_HOOKSsind deaktiviertDie Option zum Deaktivieren von SELinux zur Laufzeit mithilfe der sysfs-Schnittstelle wird in dieser UEK-Version entfernt.
Die bevorzugte Methode zum Deaktivieren von SELinux ist die Verwendung des Boot-Parameters
selinux=0
Entfernte Features
-
Option
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DESfür 3DES/DES3 RPCSEC GSS-Verschlüsselungstypen ist deaktiviertDie RPCSEC GSS-Verschlüsselungstypen DES und Triple-DES (3DES/DES3) werden in dieser UEK-Version entfernt.
Diese Verschlüsselungstypen wurden in den RFCs 6649 und 8429 nicht mehr unterstützt, da sie bekanntermaßen unsicher sind.
-
Die Optionen
CONFIG_NFS_V2undCONFIG_NFSD_V2für NFSv2-Client und -Server sind deaktiviertUnterstützung für NFSv2-Clients und NFSv2-Server wird in diesem UEK-Release entfernt.
NFSv2 wurde lange durch NFSv3 und NFSv4 ersetzt, die verbesserte Funktionalität, Performance und Sicherheit bieten.
- Option
CONFIG_NFS_DISABLE_UDP_SUPPORTfür NFSv3 über UDP ist aktiviertUnterstützung für NFS Version 3 über das UDP-Netzwerkprotokoll wird in dieser UEK-Version entfernt.
Moderne NFS/RPC-over-TCP- und RDMA-Implementierungen bieten eine bessere Performance als UDP und bieten eine zuverlässige geordnete Zustellung von Daten in Kombination mit Überlastungskontrolle.
Beachten Sie, dass NFSv4 aus den gleichen Gründen bereits nicht über UDP unterstützt wird. -
Option
CONFIG_STAGINGist deaktiviertDie Kernel-Konfigurationsoption
CONFIG_STAGINGist in UEK 8 deaktiviert. Die Kernel-Option stellte Treiber zur Verfügung, die nicht unbedingt die höchste Kernel-Qualitätsstufe erfüllen und für den Test verfügbar waren. Die Option sollte in UEK R7 nicht mehr verwendet werden und wird in UEK 8 entfernt. -
Option
CONFIG_IXGBist deaktiviertDie
CONFIG_IXGBfür Intel PRO/10GbE-Hardware wird in dieser UEK-Version entfernt. -
crashkernel=auto entfernt
Die Option
crashkernel=autoist in UEK R7 veraltet und wird für Oracle Linux 9 nicht mehr unterstützt. Die Kernel-Option wird in UEK 8 entfernt. Weitere Informationen zum Konfigurieren der Einstellungcrashkernelfür Oracle Linux finden Sie unter Kernels verwalten und Systemstart unter Oracle Linux. -
Option
CONFIG_IP_NF_TARGET_CLUSTERIPist deaktiviertDie Option
CONFIG_IP_NF_TARGET_CLUSTERIP, mit der Sie Load Balancing-Cluster von Netzwerkservern ohne einen dedizierten Load Balancing-Router oder Switch erstellen konnten, wird zugunsten der Funktionalität entfernt, die bereits im Netfilter-Clusterabgleich enthalten ist. -
Option
CONFIG_EFI_VARSdeaktiviertDie Option
CONFIG_EFI_VARS, die für die Konfiguration von UEFI-Variablen die sysfs-Schnittstelleefivarsbereitgestellt hat, wird aus diesem UEK-Release entfernt. Im Kernel gibt es seit 2012 Ersatzfunktionen. Weitere Informationen finden Sie unter https://www.kernel.org/doc/html/latest/filesystems/efivarfs.html. -
Firewire-Treiber entfernt
Die Option
CONFIG_FIREWIREist in diesem UEK-Release deaktiviert. -
Mehrere Netzwerkplaner-Module entfernt
Die folgenden Netzwerk-Scheduler-Module sind in UEK R7 veraltet und werden jetzt in UEK 8 entfernt:
-
cls_tcindex -
cls_rsvp -
sch_dsmark -
sch_atm -
sch_cbq
-
-
resilient_rdmaip-Modul entferntDas
resilient_rdmaip-Modul war in UEK R7 veraltet und wurde jetzt entfernt. -
oracleasmKernel-Modul entferntDas Kernelmodul
oracleasmwird in UEK 8 entfernt. Beachten Sie, dass dieses Modul weiterhin in den UEK R5- und UEK R6-Releases unterstützt wird.Oracle ASMLib wird weiterhin mit
io_uring-Schnittstellen unterstützt. Weitere Informationen finden Sie unter ASMLib v3. -
sundanceKernel-Modul entferntDer DLink Sundance (ST201),
sundance-Treiber wird in UEK 8 entfernt. Das Modul wurde im Upstream-Kernel entfernt, weil es nicht erhalten wurde. -
cpu5_wdtKernel-Modul entferntDer Watchdog-Treiber
cpu5_wdtwird in UEK 8 entfernt. Das Modul wurde im Upstream-Kernel entfernt, da es mehrere Probleme hatte, die nicht gelöst waren und nicht gewartet wurden. -
i2c-amd756-s4882undi2c-nforce2-s4985Kernel-Module entferntDie Legacy-Muxing-Treiber
i2c-amd756-s4882undi2c-nforce2-s4985werden in UEK 8 entfernt. Das Modul wurde im Upstream-Kernel entfernt, weil sie alt sind und technisch ungenauen Code enthalten. -
Kryptografische Modi
CONFIG_CRYPTO_OFBundCONFIG_CRYPTO_CFBDer für die TPM2-Kryptographie verwendete CFB-Modus (Cipher Feedback) (NIST SP800-38A) und der OFB-Modus (Output Feedback) (NIST SP800-38A), mit dem eine Blockchiffre in eine synchrone Streamchiffre umgewandelt wird, werden in UEK 8 entfernt, um sich an vorgelagerten Änderungen auszurichten.