Oracle Linux 9 și kernel-ul Unbreakable Enterprise Kernel 7 sunt disponibile

Compania Oracle a publicat versiunile stabile ale distribuției Oracle Linux 9 și kernel-ului Unbreakable Enterprise Kernel 7 (UEK R7), destinat utilizării în distribuția Oracle Linux ca alternativă la pachetul standard cu kernel din Red Hat Enterprise Linux. Distribuția Oracle Linux 9 este bazată pe baza de pachete Red Hat Enterprise Linux 9 și este complet compatibilă binar cu aceasta.

Pentru descărcare fără restricții sunt disponibile imagini ISO de instalare, cu dimensiuni de 8.6 GB și 840 MB, pregătite pentru arhitecturile x86_64 și ARM64 (aarch64). Accesul la depozitul yum pentru Oracle Linux 9 este nelimitat și gratuit, oferind actualizări binare ale pachetelor cu remedieri de erori (errata) și probleme de securitate. De asemenea, sunt pregătite depozite separate de suport cu seturi de pachete Application Stream și CodeReady Builder.

Pe lângă pachetul cu kernel din RHEL (bazat pe kernel 5.14), Oracle Linux oferă propriul kernel Unbreakable Enterprise Kernel 7, bazat pe kernel Linux 5.15 și optimizat pentru a funcționa cu software-ul și hardware-ul industrial Oracle. Codul sursă al kernel-ului, inclusiv împărțirea în patch-uri separate, este disponibil în depozitul Git public Oracle. Kernelul Unbreakable Enterprise Kernel se instalează în mod implicit, fiind poziționat ca alternativă la pachetul standard cu kernel RHEL și oferind o serie de caracteristici avansate, cum ar fi integrarea DTrace și suport îmbunătățit pentru Btrfs. În afară de kernelul suplimentar, versiunile Oracle Linux 9 și RHEL 9 sunt complet identice (lista modificărilor poate fi consultată în anunțul RHEL9).

Noile caracteristici cheie ale kernel-ului Unbreakable Enterprise Kernel 7:

  • Suportul pentru arhitectura Aarch64 a fost îmbunătățit. Dimensiunea paginilor de memorie pe sistemele ARM pe 64 de biți a fost redusă în mod implicit de la 64 KB la 4 KB, ceea ce se potrivește mai bine cu volumele de memorie și tipurile de sarcini de lucru specifice sistemelor ARM.
  • Continua livrarea sistemului de depanare dinamică DTrace 2.0, care a fost adaptat pentru a utiliza subsistemul de kernel eBPF. DTrace 2.0 funcționează deasupra eBPF, similar cu modul în care instrumentele de depanare existente din Linux funcționează deasupra eBPF.
  • Funcționalitățile FS Btrfs au fost extinse. A fost adăugată o implementare asincronă a operației DISCARD pentru a marca blocurile eliberate care nu mai trebuie păstrate fizic. Implementarea asincronă permite evitarea așteptării finalizării DISCARD de către stocare și efectuarea acestei operații în fundal. Au fost adăugate noi opțiuni de montare pentru simplificarea recuperării datelor din FS deteriorate: „rescue=ignorebadroots” pentru montare, în ciuda deteriorării unor arbori rădăcină (extent, uuid, data reloc, device, csum, free space), „rescue=ignoredatacsums” pentru dezactivarea verificării sumelor de control pentru date și „rescue=all” pentru activarea simultană a modurilor ‘ignorebadroots’, ‘ignoredatacsums’ și ‘nologreplay’. Au fost realizate optimizări semnificative ale performanței legate de executarea operațiunilor fsync(). A fost adăugat suport pentru fs-verity (verificarea autenticității și integrității fișierelor) și maparea identificatorilor de utilizatori.
  • În XFS a fost implementat suportul pentru operațiile DAX pentru acces direct la FS, ocolind memoria cache pe pagini, pentru a elimina dubla cache. Au fost aduse modificări pentru a rezolva problemele legate de depășirea tipului de date pe 32 de biți time_t în anul 2038, inclusiv noi opțiuni de montare bigtime și inobtcount.
  • Au fost aduse îmbunătățiri sistemului de fișiere OCFS2 (Oracle Cluster File System).
  • A fost adăugată sistemul de fișiere ZoneFS, care simplifică lucrul la nivel redus cu dispozitivele de stocare zonate. Prin dispozitivele zonate se înțeleg dispozitive pe discuri magnetice dure sau NVMe SSD, al căror spațiu de stocare este împărțit în zone, constituind grupuri de blocuri sau sectoare în care este permisă doar adăugarea secvențială a datelor, actualizând întreaga grupare de blocuri. FS ZoneFS leagă fiecare zonă din stocare cu un fișier separat, care poate fi utilizat pentru stocarea datelor în mod raw, fără manipulare la nivel de sectoare și blocuri, permițând astfel aplicațiilor să utilizeze API-ul fișierelor în loc să apeleze direct la dispozitivul bloc cu ajutorul ioctl.
  • Suportul pentru protocol a fost stabilizat VPN WireGuard.
  • Capabilitățile subsistemului eBPF au fost extinse. A fost implementat mecanismul CO-RE (Compile Once — Run Everywhere), care abordează problema portabilității programelor eBPF compilate, permițând compilarea codului programelor eBPF o singură dată și utilizarea unui loader universal special, care adaptează programul încărcat la nucleul curent și tipurile BTF (BPF Type Format). A fost adăugat mecanismul „BPF trampoline”, care reduce practic la zero cheltuielile de procesare pentru apelurile între nucleu și programele BPF. Au fost oferite posibilități de acces direct la funcționalitățile nucleului din programele BPF și de suspendare a handlerilor.
  • A fost integrat un detector de blocaje frânte („split lock”), care apar în urma accesului la date nealiniate în memorie, din cauza faptului că, în timpul execuției unei instrucțiuni atomice, datele traversează două linii de cache ale CPU-ului. Nucleul poate identifica în timp real astfel de blocaje, care conduc la o scădere semnificativă a performanței, și poate emite avertismente sau trimite un semnal SIGBUS aplicației care a provocat blocajul.
  • A fost asigurată suportul pentru Multipath TCP (MPTCP), o extensie a protocolului TCP pentru a gestiona conexiuni TCP cu livrarea pachetelor simultan pe mai multe rute prin diferite interfețe de rețea asociate diferitelor adrese IP..
  • În programatorul de sarcini a fost implementat modul de planificare SCHED_CORE, care permite gestionarea proceselor ce pot rula simultan pe un singur nucleu CPU. Fiecărui proces poate fi asociat un identificator cookie, care definește domeniul de încredere între procese (de exemplu, apartenența la un singur utilizator sau containere). În organizarea execuției codului, programatorul poate asigura partajarea unui singur nucleu CPU doar pentru procesele asociate aceluiași proprietar, ceea ce poate fi utilizat pentru a bloca anumite atacuri de tip Spectre prin prevenirea execuției în același fir SMT (Hyper Threading) a sarcinilor de încredere și neîncredere.
  • Pentru cgroups a fost implementat un controler de gestionare a memoriei slab (slab memory controller), care se distinge prin mutarea contabilizării slab de la nivelul paginilor de memorie la nivelul obiectelor nucleului, permițând utilizarea comună a paginilor slab în diferite cgroup-uri, în loc de alocarea unor cache-uri slab separate pentru fiecare cgroup. Abordarea propusă permite creșterea eficienței utilizării slab, reducând cu 30-45% dimensiunea memoriei utilizate pentru slab, diminuând semnificativ consumul total de memorie al nucleului și scăzând fragmentarea memoriei.
  • Sunt furnizate date de depanare în format CTF (Compact Type Format), care asigură stocarea compactă a informațiilor despre tipurile C și relațiile dintre funcții și simbolurile de depanare.
  • A fost întreruptă furnizarea modulului DRBD (Distributed Replicated Block Device) și a dispozitivului /dev/raw (pentru acces direct la fișiere, folosiți flag-ul O_DIRECT).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster