Oracle udostępnia Unbreakable Enterprise Kernel 6

Firma Oral представила pierwsze stabilne wydanie Niezniszczalne jądro korporacyjne 6 (UEK R6), rozszerzona wersja jądra Linuksa, przeznaczona do użytku w dystrybucji Oracle Linux jako alternatywa dla standardowego pakietu jądra z Red Hat Enterprise Linux. Jądro jest dostępne tylko dla architektur x86_64 i ARM64 (aarch64). Źródła jądra z uwzględnieniem podziału na poszczególne łatki, opublikowane w publicznym repozytorium Git firmy Oracle.

Na jądrze oparty jest pakiet Unbreakable Enterprise Kernel 6 Linux 5.4 (UEK R5 był oparty na jądrze 4.14), który jest aktualizowany o nowe funkcje, optymalizacje i poprawki, a także testowany pod kątem kompatybilności z większością aplikacji działających na RHEL i jest specjalnie zoptymalizowany do pracy z oprogramowaniem przemysłowym i sprzętem Oracle. Pakiety instalacyjne i src z jądrem UEK R6 przygotowane są dla systemu Oracle Linux 7.x и 8.x. Zakończono wsparcie dla gałęzi 6.x, aby móc korzystać z UEK R6 należy zaktualizować system do Oracle Linux 7 (nie ma przeszkód, aby używać tego jądra w podobnych wersjach RHEL, CentOS i Scientific Linux).

Klucz innowacje Niezniszczalne jądro przedsiębiorstwa 6:

  • Rozszerzona obsługa systemów opartych na 64-bitowej architekturze ARM (aarch64).
  • Zaimplementowano obsługę wszystkich funkcji Cgroup v2.
  • Framework ktask został zaimplementowany w celu zrównoleglenia zadań w jądrze, które zużywają znaczne zasoby procesora. Na przykład, używając ktask, można zorganizować operacje równoległe w celu oczyszczenia zakresów stron pamięci lub przetworzenia listy i-węzłów;
  • W równoległej wersji kswapd włączono asynchroniczne przetwarzanie wymian stron pamięci, zmniejszając liczbę bezpośrednich (synchronicznych) wymian. W miarę zmniejszania się liczby wolnych stron pamięci kswapd wykonuje skanowanie w celu zidentyfikowania nieużywanych stron, które można zwolnić.
  • Obsługa weryfikacji integralności obrazu jądra i oprogramowania sprzętowego za pomocą podpisu cyfrowego podczas ładowania jądra za pomocą mechanizmu Kexec (ładowanie jądra z już załadowanego systemu).
  • Zoptymalizowano wydajność systemu zarządzania pamięcią wirtualną, poprawiono wydajność czyszczenia stron pamięci i pamięci podręcznej oraz poprawiono przetwarzanie dostępu do nieprzydzielonych stron pamięci (błędy stron).
  • Rozszerzono obsługę NVDIMM, tej trwałej pamięci można teraz używać jako tradycyjnej pamięci RAM.
  • Dokonano przejścia na system dynamicznego debugowania DTrace 2.0, który przetłumaczony aby używać podsystemu jądra eBPF. DTrace działa teraz na eBPF, podobnie jak istniejące narzędzia do śledzenia Linuksa działają na eBPF.
  • Wprowadzono ulepszenia w systemie plików OCFS2 (Oracle Cluster File System).
  • Ulepszona obsługa systemu plików Btrfs. Dodano możliwość użycia Btrfs na partycjach głównych. Do instalatora dodano opcję wyboru Btrfs podczas formatowania urządzeń. Dodano możliwość umieszczania plików wymiany na partycjach za pomocą Btrfs. Btrfs dodał obsługę kompresji przy użyciu algorytmu ZStandard.
  • Dodano obsługę interfejsu asynchronicznego wejścia/wyjścia - io_uring, który wyróżnia się obsługą odpytywania wejść/wyjść oraz możliwością pracy z buforowaniem lub bez. Pod względem wydajności io_uring jest bardzo zbliżony do SPDK i znacznie przewyższa libaio podczas pracy z włączonym odpytywaniem. Aby wykorzystać io_uring w aplikacjach końcowych działających w przestrzeni użytkownika, przygotowano bibliotekę liburing, zapewniającą powiązanie wysokiego poziomu poprzez interfejs jądra;
  • Dodano obsługę trybu adiantum do szybkiego szyfrowania pamięci.
  • Dodano obsługę kompresji za pomocą algorytmu zstandardowy (zstd).
  • System plików ext4 używa 64-bitowych znaczników czasu w polach superbloków.
  • XFS zawiera narzędzia do raportowania stanu integralności systemu plików podczas działania i uzyskiwania statusu podczas wykonywania fsck w locie.
  • Domyślny stos TCP został przełączony na „Wczesny czas wyjazdu" zamiast "Tak szybko, jak to możliwe" podczas wysyłania pakietów. Obsługa GRO (Generic Odbiór Odciążania) jest włączona dla UDP. Dodano obsługę odbierania i wysyłania pakietów TCP w trybie zerowej kopii.
  • Chodzi o implementację protokołu TLS na poziomie jądra (KTLS), który może być teraz wykorzystywany nie tylko do wysyłanych, ale i odbieranych danych.
  • Domyślnie włączone jako backend dla zapory sieciowej
    nftables. Dodano opcjonalne wsparcie filtr bp.

  • Dodano obsługę podsystemu XDP (eXpress Data Path), który umożliwia uruchamianie programów BPF w systemie Linux na poziomie sterownika sieciowego z możliwością bezpośredniego dostępu do bufora pakietów DMA oraz na etapie przed przydzieleniem bufora skbuff przez stos sieciowy.
  • Ulepszono i włączono podczas korzystania z trybu bezpiecznego rozruchu UEFI Lockdown, co ogranicza dostęp użytkownika root do jądra i blokuje ścieżki obejścia UEFI Secure Boot. Na przykład w trybie blokady dostęp do /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes mode debuging, mmiotrace, tracifs, BPF, PCMCIA CIS (struktura informacji o karcie), niektóre interfejsy są ograniczone Rejestry ACPI i MSR procesora, wywołania kexec_file i kexec_load są blokowane, tryb uśpienia jest zabroniony, użycie DMA dla urządzeń PCI jest ograniczone, import kodu ACPI ze zmiennych EFI jest zabroniony, manipulacje na portach I/O nie są zabronione dozwolone, łącznie ze zmianą numeru przerwania i portu we/wy dla portu szeregowego.
  • Dodano obsługę udoskonalonych instrukcji IBRS (Enhanced Indirect Branch Restricted Speculation), które umożliwiają adaptacyjne włączanie i wyłączanie spekulatywnego wykonywania instrukcji podczas przetwarzania przerwań, wywołań systemowych i przełączania kontekstu. Dzięki obsłudze ulepszonego IBRS metoda ta służy do ochrony przed atakami Spectre V2 zamiast Retpoline, ponieważ pozwala na wyższą wydajność.
  • Ulepszone bezpieczeństwo w katalogach z możliwością zapisu na całym świecie. W takich katalogach zabronione jest tworzenie plików FIFO oraz plików będących własnością użytkowników, które nie odpowiadają właścicielowi katalogu z przyklejoną flagą.
  • Domyślnie w systemach ARM randomizacja przestrzeni adresowej jądra w systemach (KASLR) jest włączona. Uwierzytelnianie wskaźnika jest włączone dla Aarch64.
  • Dodano obsługę „NVMe over Fabrics TCP”.
  • Dodano sterownik virtio-pmem zapewniający dostęp do urządzeń pamięci masowej mapowanych w przestrzeni adresów fizycznych, takich jak moduły NVDIMM.

Źródło: opennet.ru

Dodaj komentarz