Oracle Linux 9 en Unbreakable Enterprise Kernel 7 beschikbaar

Oracle heeft stabiele releases gepubliceerd van de Oracle Linux 9-distributie en de Unbreakable Enterprise Kernel 7 (UEK R7), gepositioneerd voor gebruik in de Oracle Linux-distributie als alternatief voor het standaard kernelpakket van Red Hat Enterprise Linux. De Oracle Linux 9-distributie is gebaseerd op de Red Hat Enterprise Linux 9-pakketbasis en is er volledig binair compatibel mee.

Installatie-ISO-images van 8.6 GB en 840 MB, voorbereid voor x86_64- en ARM64- (aarch64)-architecturen, kunnen zonder beperkingen worden gedownload. Oracle Linux 9 heeft onbeperkte en gratis toegang tot de yum-repository met binaire pakketupdates die fouten (errata) en beveiligingsproblemen oplossen. Afzonderlijk ondersteunde opslagplaatsen met sets Application Stream- en CodeReady Builder-pakketten zijn ook voorbereid om te downloaden.

Naast het kernelpakket van RHEL (gebaseerd op kernel 5.14) biedt Oracle Linux een eigen kernel, Unbreakable Enterprise Kernel 7, gebaseerd op de Linux-kernel 5.15 en geoptimaliseerd voor het werken met industriële software en Oracle-hardware. De kernelbronnen, inclusief de uitsplitsing in afzonderlijke patches, zijn beschikbaar in de openbare Oracle Git-repository. De Unbreakable Enterprise Kernel wordt standaard geïnstalleerd, gepositioneerd als alternatief voor het standaard RHEL-kernelpakket en biedt een aantal geavanceerde functies zoals DTrace-integratie en verbeterde Btrfs-ondersteuning. Afgezien van de extra kernel zijn de releases van Oracle Linux 9 en RHEL 9 qua functionaliteit volledig identiek (de lijst met wijzigingen is te vinden in de RHEL9-aankondiging).

Belangrijkste innovaties in Unbreakable Enterprise Kernel 7:

  • Verbeterde ondersteuning voor Aarch64-architectuur. De standaardgrootte van geheugenpagina's op 64-bits ARM-systemen is teruggebracht van 64 KB naar 4 KB, wat beter aansluit bij de geheugengroottes en werklasten die typisch zijn voor ARM-systemen.
  • De levering van het dynamische foutopsporingssysteem DTrace 2.0 is voortgezet, waarbij is overgeschakeld op het gebruik van het eBPF-kernelsubsysteem. DTrace 2.0 draait bovenop eBPF, vergelijkbaar met de manier waarop bestaande Linux-traceertools bovenop eBPF werken.
  • De mogelijkheden van het Btrfs-bestandssysteem zijn uitgebreid. Een asynchrone implementatie van de DISCARD-bewerking is aan Btrfs toegevoegd om bevrijde blokken te markeren die niet langer fysiek hoeven te worden opgeslagen. Met asynchrone implementatie hoeft u niet te wachten tot de schijf DISCARD heeft voltooid en deze bewerking op de achtergrond uit te voeren. Nieuwe mount-opties toegevoegd om dataherstel van een beschadigd bestandssysteem te vereenvoudigen: “rescue=ignorebadroots” voor mounten ondanks schade aan sommige root-trees (extent, uuid, data reloc, device, csum, free space), “rescue=ignoredatacsums” om uit te schakelen het controleren van checksums op gegevens en "rescue=all" om tegelijkertijd de 'ignorebadroots', 'ignoredatacsums' en 'nologreplay' modi in te schakelen. Er zijn aanzienlijke prestatie-optimalisaties doorgevoerd met betrekking tot fsync()-bewerkingen. Ondersteuning toegevoegd voor fs-verity (bestandsauthenticatie en integriteitsverificatie) en gebruikers-ID-toewijzing.
  • XFS ondersteunt DAX-bewerkingen voor directe bestandstoegang, waarbij de paginacache wordt omzeild om dubbele caching te elimineren. Er zijn wijzigingen toegevoegd om overflow-problemen met het 32-bit time_t-gegevenstype in 2038 aan te pakken, inclusief nieuwe bigtime- en inobtcount-mountopties.
  • Er zijn verbeteringen aangebracht aan het OCFS2-bestandssysteem (Oracle Cluster File System).
  • Het ZoneFS-bestandssysteem toegevoegd, dat het werken op laag niveau met gezoneerde opslagapparaten vereenvoudigt. Gezoneerde schijven zijn apparaten op harde magnetische schijven of NVMe SSD's, waarbij de opslagruimte is verdeeld in zones die groepen blokken of sectoren vormen, waarin alleen opeenvolgende toevoeging van gegevens is toegestaan, waarbij de hele groep blokken wordt bijgewerkt. De ZoneFS FS associeert elke zone op de schijf met een afzonderlijk bestand, dat kan worden gebruikt om gegevens in onbewerkte modus op te slaan zonder manipulatie op sector- en blokniveau, d.w.z. Hiermee kunnen toepassingen de bestands-API gebruiken in plaats van rechtstreeks toegang te krijgen tot het blokapparaat met behulp van een ioctl.
  • Ondersteuning voor het VPN WireGuard-protocol is gestabiliseerd.
  • De mogelijkheden van het eBPF-subsysteem zijn uitgebreid. Het CO-RE-mechanisme (Compile Once - Run Everywhere) is geïmplementeerd, dat het probleem van de portabiliteit van gecompileerde eBPF-programma's oplost en u in staat stelt de code van eBPF-programma's slechts één keer te compileren en een speciale universele lader te gebruiken die het geladen programma aanpast aan de huidige kernel en BPF Types Format). Het "BPF-trampoline"-mechanisme toegevoegd, waarmee u de overhead bij het overbrengen van oproepen tussen de kernel- en BPF-programma's praktisch tot nul kunt terugbrengen. Er wordt voorzien in de mogelijkheid om rechtstreeks toegang te krijgen tot de kernelfunctionaliteit vanuit BPF-programma's en de handler op te schorten.
  • Een geïntegreerde detector voor gesplitste vergrendelingen treedt op bij toegang tot niet-uitgelijnde gegevens in het geheugen vanwege het feit dat bij het uitvoeren van een atomaire instructie de gegevens twee CPU-cachelijnen overschrijden. De kernel kan dergelijke blokkades die aanzienlijke prestatievermindering veroorzaken on-the-fly identificeren en waarschuwingen geven of een SIGBUS-signaal sturen naar de applicatie die de blokkering veroorzaakt.
  • Er wordt ondersteuning geboden voor Multipath TCP (MPTCP), een uitbreiding van het TCP-protocol voor het organiseren van de werking van een TCP-verbinding met de gelijktijdige levering van pakketten langs verschillende routes via verschillende netwerkinterfaces die aan verschillende IP-adressen zijn gekoppeld.
  • De taakplanner implementeert de SCHED_CORE planningsmodus, waarmee u kunt bepalen welke processen samen op dezelfde CPU-kern kunnen worden uitgevoerd. Aan elk proces kan een cookie-ID worden toegewezen die de reikwijdte van het vertrouwen tussen processen definieert (bijvoorbeeld die tot dezelfde gebruiker of container behoren). Bij het organiseren van code-uitvoering kan de planner ervoor zorgen dat één CPU-kern alleen wordt gedeeld tussen processen die aan dezelfde eigenaar zijn gekoppeld, wat kan worden gebruikt om sommige Spectre-aanvallen te blokkeren door te voorkomen dat vertrouwde en niet-vertrouwde taken op dezelfde SMT-thread (Hyper Threading) worden uitgevoerd. .
  • Voor cgroups is een slab-geheugencontroller geïmplementeerd, die opmerkelijk is voor het overbrengen van slab-accounting van het niveau van geheugenpagina's naar het niveau van kernelobjecten, wat het mogelijk maakt om slab-pagina's in verschillende cgroups te delen, in plaats van afzonderlijke slab-caches toe te wijzen voor elke cgroep. De voorgestelde aanpak maakt het mogelijk om de efficiëntie van het gebruik van slab te vergroten, de grootte van het geheugen dat voor slab wordt gebruikt met 30-45% te verminderen, het totale geheugenverbruik van de kernel aanzienlijk te verminderen en de geheugenfragmentatie te verminderen.
  • De foutopsporingsgegevens worden geleverd in het CTF-formaat (Compact Type Format), dat compacte opslag biedt van informatie over C-typen, verbindingen tussen functies en foutopsporingssymbolen.
  • De DRBD-module (Distributed Replicated Block Device) en het /dev/raw-apparaat zijn stopgezet (gebruik de vlag O_DIRECT voor directe toegang tot bestanden).

Bron: opennet.ru

Voeg een reactie