Dostępny jest Oracle Linux 9 i Unbreakable Enterprise Kernel 7

Firma Oracle opublikowała stabilne wersje dystrybucji Oracle Linux 9 i Unbreakable Enterprise Kernel 7 (UEK R7), przeznaczone do użytku w dystrybucji Oracle Linux jako alternatywa dla standardowego pakietu jądra z Red Hat Enterprise Linux. Dystrybucja Oracle Linux 9 bazuje na bazie pakietów Red Hat Enterprise Linux 9 i jest z nią w pełni binarnie kompatybilna.

Instalacyjne obrazy ISO o pojemności 8.6 GB i 840 MB, przygotowane dla architektur x86_64 i ARM64 (aarch64), są oferowane do pobrania bez ograniczeń. Oracle Linux 9 ma nieograniczony i bezpłatny dostęp do repozytorium yum z aktualizacjami pakietów binarnych, które naprawiają błędy (erraty) i problemy bezpieczeństwa. Do pobrania przygotowano także oddzielnie obsługiwane repozytoria z zestawami pakietów Application Stream i CodeReady Builder.

Oprócz pakietu jądra firmy RHEL (opartego na jądrze 5.14), Oracle Linux oferuje własne jądro Unbreakable Enterprise Kernel 7, oparte na jądrze Linuksa 5.15 i zoptymalizowane do pracy z oprogramowaniem przemysłowym i sprzętem Oracle. Źródła jądra wraz z podziałem na poszczególne łatki dostępne są w publicznym repozytorium Oracle Git. Jądro Unbreakable Enterprise Kernel jest instalowane domyślnie i stanowi alternatywę dla standardowego pakietu jądra RHEL i zapewnia szereg zaawansowanych funkcji, takich jak integracja DTrace i ulepszona obsługa Btrfs. Poza dodatkowym jądrem wydania Oracle Linux 9 i RHEL 9 są całkowicie identyczne pod względem funkcjonalności (lista zmian znajduje się w zapowiedzi RHEL9).

Kluczowe innowacje w Unbreakable Enterprise Kernel 7:

  • Ulepszona obsługa architektury Aarch64. Domyślny rozmiar stron pamięci w 64-bitowych systemach ARM został zmniejszony z 64 KB do 4 KB, co lepiej odpowiada rozmiarom pamięci i obciążeniom typowym dla systemów ARM.
  • Kontynuowano dostarczanie systemu dynamicznego debugowania DTrace 2.0, który został przestawiony na wykorzystanie podsystemu jądra eBPF. DTrace 2.0 działa na eBPF, podobnie jak istniejące narzędzia do śledzenia Linuksa działają na eBPF.
  • Rozszerzono możliwości systemu plików Btrfs. Do Btrfs dodano asynchroniczną implementację operacji DISCARD, aby zaznaczyć zwolnione bloki, które nie muszą już być fizycznie przechowywane. Implementacja asynchroniczna pozwala nie czekać, aż dysk zakończy DISCARD i wykonać tę operację w tle. Dodano nowe opcje montowania, aby uprościć odzyskiwanie danych z uszkodzonego systemu plików: „rescue=ignorebadroots” do montażu pomimo uszkodzenia niektórych drzew głównych (zasięg, uuid, relokacja danych, urządzenie, csum, wolne miejsce), „rescue=ignoredatacsums” do wyłączenia sprawdzanie sum kontrolnych danych i „rescue=all”, aby jednocześnie włączyć tryby „ignorebadroots”, „ignoredatacsums” i „nologreplay”. Dokonano znaczących optymalizacji wydajności związanych z operacjami fsync(). Dodano obsługę fs-verity (uwierzytelnianie plików i weryfikację integralności) oraz mapowanie identyfikatorów użytkowników.
  • XFS obsługuje operacje DAX w celu bezpośredniego dostępu do plików, omijając pamięć podręczną strony, aby wyeliminować podwójne buforowanie. Dodano zmiany mające na celu rozwiązanie problemów z przepełnieniem 32-bitowego typu danych time_t w roku 2038, w tym nowe opcje montowania typu bigtime i inobtcount.
  • Wprowadzono ulepszenia w systemie plików OCFS2 (Oracle Cluster File System).
  • Dodano system plików ZoneFS, który upraszcza pracę na niskim poziomie ze strefowymi urządzeniami pamięci masowej. Dyski strefowe oznaczają urządzenia na twardych dyskach magnetycznych lub dyskach SSD NVMe, których przestrzeń dyskowa jest podzielona na strefy tworzące grupy bloków lub sektorów, do których dozwolone jest jedynie sekwencyjne dodawanie danych, aktualizując całą grupę bloków. ZoneFS FS kojarzy każdą strefę na dysku z oddzielnym plikiem, który może być używany do przechowywania danych w trybie surowym bez manipulacji na poziomie sektora i bloku, tj. Zezwala aplikacjom na korzystanie z interfejsu API plików zamiast bezpośredniego dostępu do urządzenia blokowego za pomocą protokołu ioctl.
  • Ustabilizowano obsługę protokołu VPN WireGuard.
  • Rozszerzono możliwości podsystemu eBPF. Zaimplementowano mechanizm CO-RE (Compile Once - Run Everywhere), który rozwiązuje problem przenośności skompilowanych programów eBPF i pozwala na jednorazową kompilację kodu programów eBPF i wykorzystanie specjalnego uniwersalnego modułu ładującego, który dostosowuje załadowany program do aktualne jądro i format typów BPF). Dodano mechanizm „trampoliny BPF”, który pozwala praktycznie zredukować obciążenie przy przenoszeniu wywołań pomiędzy jądrem a programami BPF do zera. Zapewniona jest możliwość bezpośredniego dostępu do funkcjonalności jądra z programów BPF i zawieszenia procedury obsługi.
  • Zintegrowany detektor blokad podziału występuje podczas uzyskiwania dostępu do niewyrównanych danych w pamięci, ponieważ podczas wykonywania instrukcji atomowej dane przekraczają dwie linie pamięci podręcznej procesora. Jądro może na bieżąco identyfikować takie blokady, które powodują znaczny spadek wydajności i wydawać ostrzeżenia lub wysyłać sygnał SIGBUS do aplikacji powodującej blokadę.
  • Zapewniona jest obsługa Multipath TCP (MPTCP), rozszerzenia protokołu TCP do organizowania działania połączenia TCP z dostarczaniem pakietów jednocześnie kilkoma trasami przez różne interfejsy sieciowe powiązane z różnymi adresami IP.
  • Harmonogram zadań implementuje tryb planowania SCHED_CORE, który pozwala kontrolować, które procesy mogą być wykonywane razem na tym samym rdzeniu procesora. Każdemu procesowi można przypisać identyfikator pliku cookie, który określa zakres zaufania pomiędzy procesami (np. przynależność do tego samego użytkownika lub kontenera). Organizując wykonanie kodu, program planujący może zapewnić, że jeden rdzeń procesora będzie współdzielony tylko między procesami powiązanymi z tym samym właścicielem, co może zostać wykorzystane do zablokowania niektórych ataków Spectre, uniemożliwiając uruchamianie zaufanych i niezaufanych zadań w tym samym wątku SMT (Hyper Threading). .
  • Dla grup cgroup zaimplementowano kontroler pamięci płyt, który wyróżnia się przenoszeniem rozliczania płyt z poziomu stron pamięci na poziom obiektów jądra, co umożliwia współdzielenie stron płyt w różnych cgrupach, zamiast przydzielania oddzielnych pamięci podręcznych płyt dla każda grupa. Proponowane podejście umożliwia zwiększenie efektywności wykorzystania płyty, zmniejszenie rozmiaru pamięci wykorzystywanej przez płytę o 30-45%, znaczne zmniejszenie całkowitego zużycia pamięci przez jądro oraz zmniejszenie fragmentacji pamięci.
  • Dostarczanie danych debugowania jest dostarczane w formacie CTF (Compact Type Format), który zapewnia kompaktowe przechowywanie informacji o typach C, połączeniach między funkcjami i symbolach debugowania.
  • Moduł DRBD (Distributed Replicated Block Device) i urządzenie /dev/raw zostały wycofane (użyj flagi O_DIRECT, aby uzyskać bezpośredni dostęp do plików).

Źródło: opennet.ru

Dodaj komentarz