Oracle Linux 9 und Unbreakable Enterprise Kernel 7 verfügbar

Oracle hat stabile Versionen der Oracle Linux 9-Distribution und des Unbreakable Enterprise Kernel 7 (UEK R7) veröffentlicht, die für die Verwendung in der Oracle Linux-Distribution als Alternative zum Standard-Kernelpaket von Red Hat Enterprise Linux vorgesehen sind. Die Oracle Linux 9-Distribution basiert auf der Paketbasis von Red Hat Enterprise Linux 9 und ist damit vollständig binärkompatibel.

Installations-ISO-Images von 8.6 GB und 840 MB, vorbereitet für die Architekturen x86_64 und ARM64 (aarch64), werden ohne Einschränkungen zum Download angeboten. Oracle Linux 9 verfügt über unbegrenzten und kostenlosen Zugriff auf das Yum-Repository mit Binärpaket-Updates, die Fehler (Errata) und Sicherheitsprobleme beheben. Separat unterstützte Repositorys mit Sätzen von Application Stream- und CodeReady Builder-Paketen wurden ebenfalls zum Download vorbereitet.

Neben dem Kernel-Paket von RHEL (basierend auf Kernel 5.14) bietet Oracle Linux einen eigenen Kernel, Unbreakable Enterprise Kernel 7, an, der auf dem Linux-Kernel 5.15 basiert und für die Arbeit mit Industriesoftware und Oracle-Hardware optimiert ist. Die Kernel-Quellen, einschließlich der Aufschlüsselung in einzelne Patches, sind im öffentlichen Oracle Git-Repository verfügbar. Der Unbreakable Enterprise Kernel wird standardmäßig installiert, stellt eine Alternative zum Standard-RHEL-Kernelpaket dar und bietet eine Reihe erweiterter Funktionen wie DTrace-Integration und verbesserte Btrfs-Unterstützung. Abgesehen vom zusätzlichen Kernel sind die Releases von Oracle Linux 9 und RHEL 9 im Funktionsumfang völlig identisch (die Liste der Änderungen finden Sie in der RHEL9-Ankündigung).

Wichtige Neuerungen in Unbreakable Enterprise Kernel 7:

  • Verbesserte Unterstützung für die Aarch64-Architektur. Die Standardgröße von Speicherseiten auf 64-Bit-ARM-Systemen wurde von 64 KB auf 4 KB reduziert, was den für ARM-Systeme typischen Speichergrößen und Arbeitslasten besser entspricht.
  • Die Bereitstellung des dynamischen Debugging-Systems DTrace 2.0 wurde fortgesetzt und auf die Verwendung des eBPF-Kernel-Subsystems umgestellt. DTrace 2.0 läuft auf eBPF, ähnlich wie bestehende Linux-Tracing-Tools auf eBPF funktionieren.
  • Die Fähigkeiten des Btrfs-Dateisystems wurden erweitert. Btrfs wurde eine asynchrone Implementierung der DISCARD-Operation hinzugefügt, um freigegebene Blöcke zu markieren, die nicht mehr physisch gespeichert werden müssen. Durch die asynchrone Implementierung müssen Sie nicht warten, bis das Laufwerk DISCARD abgeschlossen hat, und können diesen Vorgang im Hintergrund ausführen. Neue Mount-Optionen hinzugefügt, um die Datenwiederherstellung aus einem beschädigten Dateisystem zu vereinfachen: „rescue=ignorebadroots“ zum Mounten trotz Beschädigung einiger Root-Bäume (Extent, UUID, Datenverschiebung, Gerät, Csum, freier Speicherplatz), „rescue=ignoredatacsums“ zum Deaktivieren Überprüfung der Prüfsummen für Daten und „rescue=all“, um gleichzeitig die Modi „ignorebadroots“, „ignoredatacsums“ und „nologreplay“ zu aktivieren. Erhebliche Leistungsoptimierungen im Zusammenhang mit fsync()-Operationen vorgenommen. Unterstützung für fs-verity (Dateiauthentifizierung und Integritätsüberprüfung) und Benutzer-ID-Zuordnung hinzugefügt.
  • XFS unterstützt DAX-Operationen für den direkten Dateizugriff und umgeht den Seitencache, um doppeltes Caching zu vermeiden. Es wurden Änderungen hinzugefügt, um Überlaufprobleme mit dem 32-Bit-Datentyp „time_t“ im Jahr 2038 zu beheben, einschließlich neuer Mount-Optionen „bigtime“ und „inobtcount“.
  • Am OCFS2-Dateisystem (Oracle Cluster File System) wurden Verbesserungen vorgenommen.
  • Das ZoneFS-Dateisystem wurde hinzugefügt, das die Arbeit auf niedriger Ebene mit in Zonen aufgeteilten Speichergeräten vereinfacht. Bei in Zonen unterteilten Laufwerken handelt es sich um Geräte auf magnetischen Festplatten oder NVMe-SSDs, deren Speicherplatz in Zonen unterteilt ist, die Gruppen von Blöcken oder Sektoren bilden, in denen nur das sequentielle Hinzufügen von Daten zulässig ist, wodurch die gesamte Gruppe von Blöcken aktualisiert wird. Das ZoneFS FS ordnet jeder Zone auf dem Laufwerk eine separate Datei zu, die zum Speichern von Daten im Rohmodus ohne Manipulation auf Sektor- und Blockebene verwendet werden kann, d. h. Ermöglicht Anwendungen die Verwendung der Datei-API, anstatt direkt über ein IOCTL auf das Blockgerät zuzugreifen.
  • Die Unterstützung für das VPN WireGuard-Protokoll wurde stabilisiert.
  • Die Fähigkeiten des eBPF-Subsystems wurden erweitert. Der CO-RE-Mechanismus (Compile Once – Run Everywhere) wurde implementiert, der das Problem der Portabilität kompilierter eBPF-Programme löst und es Ihnen ermöglicht, den Code von eBPF-Programmen nur einmal zu kompilieren und einen speziellen universellen Loader zu verwenden, der das geladene Programm anpasst (der aktuelle Kernel und das BPF-Typenformat). Der „BPF-Trampolin“-Mechanismus wurde hinzugefügt, mit dem Sie den Overhead beim Übertragen von Aufrufen zwischen dem Kernel und BPF-Programmen praktisch auf Null reduzieren können. Es besteht die Möglichkeit, über BPF-Programme direkt auf die Kernel-Funktionalität zuzugreifen und den Handler anzuhalten.
  • Ein integrierter Detektor für geteilte Sperren tritt beim Zugriff auf nicht ausgerichtete Daten im Speicher auf, da die Daten bei der Ausführung eines atomaren Befehls zwei CPU-Cache-Zeilen überschreiten. Der Kernel kann solche Blockaden, die zu erheblichen Leistungseinbußen führen, im Handumdrehen identifizieren und Warnungen ausgeben oder ein SIGBUS-Signal an die Anwendung senden, die die Blockade verursacht.
  • Unterstützt wird Multipath TCP (MPTCP), eine Erweiterung des TCP-Protokolls zur Organisation des Betriebs einer TCP-Verbindung mit der gleichzeitigen Zustellung von Paketen auf mehreren Routen über verschiedene Netzwerkschnittstellen, die unterschiedlichen IP-Adressen zugeordnet sind.
  • Der Taskplaner implementiert den Planungsmodus SCHED_CORE, mit dem Sie steuern können, welche Prozesse gemeinsam auf demselben CPU-Kern ausgeführt werden können. Jedem Prozess kann eine Cookie-ID zugewiesen werden, die den Vertrauensbereich zwischen Prozessen definiert (z. B. Zugehörigkeit zum selben Benutzer oder Container). Bei der Organisation der Codeausführung kann der Scheduler sicherstellen, dass ein CPU-Kern nur von Prozessen gemeinsam genutzt wird, die demselben Eigentümer zugeordnet sind. Dies kann zum Blockieren einiger Spectre-Angriffe verwendet werden, indem verhindert wird, dass vertrauenswürdige und nicht vertrauenswürdige Aufgaben auf demselben SMT-Thread (Hyper Threading) ausgeführt werden .
  • Für Cgroups wurde ein Slab-Speichercontroller implementiert, der sich durch die Übertragung der Slab-Abrechnung von der Ebene der Speicherseiten auf die Ebene der Kernelobjekte auszeichnet, was es ermöglicht, Slab-Seiten in verschiedenen Cgroups zu teilen, anstatt separate Slab-Caches zuzuweisen jede Gruppe. Der vorgeschlagene Ansatz ermöglicht es, die Effizienz der Slab-Nutzung zu steigern, die Größe des für Slab verwendeten Speichers um 30–45 % zu reduzieren, den Gesamtspeicherverbrauch des Kernels erheblich zu reduzieren und die Speicherfragmentierung zu reduzieren.
  • Die Bereitstellung der Debugging-Daten erfolgt im CTF-Format (Compact Type Format), das eine kompakte Speicherung von Informationen über C-Typen, Verbindungen zwischen Funktionen und Debugging-Symbolen ermöglicht.
  • Das DRBD-Modul (Distributed Replicated Block Device) und das Gerät /dev/raw wurden eingestellt (verwenden Sie das Flag O_DIRECT für direkten Dateizugriff).

Source: opennet.ru

Kommentar hinzufügen