Релиз дистрибутива Red Hat Enterprise Linux 8.4

Компания Red Hat опубликовала дистрибутив Red Hat Enterprise Linux 8.4. Установочные сборки подготовлены для архитектур x86_64, s390x (IBM System z), ppc64le и Aarch64, но доступны для загрузки только зарегистрированным пользователям Red Hat Customer Portal. Исходные тексты rpm-пакетов Red Hat Enterprise Linux 8 распространяются через Git-репозиторий CentOS.

Ветка 8.x, которая будет поддерживаться как минимум до 2029 года, развивается в соответствии с новым предсказуемым циклом разработки, подразумевающим формирование релизов раз в полгода в заранее определённое время. Новый цикл разработки продуктов RHEL охватывает несколько уровней, включая Fedora как плацдарм для реализации новых возможностей, CentOS Stream для доступа к пакетам, формируемым для следующего промежуточного выпуска RHEL (rolling-вариант RHEL), минималистичный универсальный базовый образ (UBI, Universal Base Image) для запуска приложений в изолированных контейнерах и RHEL Developer Subscription для бесплатного использования RHEL в процессе разработки.

Ключевые изменения:

  • Добавлена экспериментальная поддержка технологии MPLS (Multiprotocol Label Switching) для маршрутизации пакетов с использованием многопротокольной коммутации по меткам. Применение MPLS, например, позволяет определить фильтры через утилиту tc для управления пакетами, приходящими из заданных портов или связанных с определённым видом трафика.
  • В пакет iproute2 включены три новых действия утилиты tc — mac_push, push_eth и pop_eth, позволяющие прикреплять MPLS-метки, добавлять или удалять заголовки Ethernet.

  • Добавлена экспериментальная поддержка модуля bareudp, позволяющего инкапсулировать в UDP-туннель различные L3-протоколы, такие как MPLS, IP и NSH.

  • Предложен пакет kpatch-dnf с плагином к пакетному менеджеру DNF, позволяющему подписаться на получение исправлений к ядру Linux, устанавливаемых без перезагрузки (live patch).

  • Добавлена поддержка механизма упреждающей упаковки страниц памяти в фоновом режиме (proactive compaction), позволяющего увеличить число больших страниц памяти (Huge Pages, страницы больше 4KB), доступных ядру. Фоновая автоматическая упаковка (дефрагментация) ценой минимальных накладных расходов позволяет в 70–80 раз снизить задержки при выделении крупных страниц памяти по сравнению с ранее применяемым механизмом упаковки по необходимости, запускаемым непосредственно при выделении крупной страницы. По умолчанию режим proactive compaction пока отключён.

  • Задействован новый контроллер распределения памяти slab (slab memory controller), который примечателен переносом учёта slab с уровня страниц памяти на уровень объектов ядра, что даёт возможность совместно использовать slab-страницы в разных cgroup, вместо выделения отдельных кэшей slab для каждой cgroup. Предложенный подход позволяет повысить эффективность использования slab, на 30–45% сократить размер используемой для slab памяти, значительно уменьшить общее потребление памяти ядром и снизить фрагментацию памяти.

  • Добавлена поддержка пространства имён для времени (time namespaces), позволяющего привязать к контейнеру состояние системных часов (CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_BOOTTIME), использовать в контейнере своё время и при миграции контейнера на другой хост обеспечить неизменность показаний CLOCK_MONOTONIC и CLOCK_BOOTTIME (учесть время после загрузки с учётом или без учёта нахождения в спящем режиме).

  • Обеспечена стабильная поддержка подсистемы XDP (eXpress Data Path), позволяющей манипулировать сетевыми пакетами на стадии до их обработки сетевым стеком ядра Linux. Например, при помощи XDP можно запускать BPF-программы на уровне сетевого драйвера с возможностью прямого доступа к DMA-буферу пакетов и на стадии до выделения буфера skbuff сетевым стеком.

  • Добавлена возможность возвращения неиспользуемой виртуальными машинами памяти обратно гипервизору. Для возвращения страниц памяти на стороне виртуальной машины должен использоваться драйвер virtio_balloon.

  • Компоненты для работы в режиме реального времени (kernel-rt) синхронизированы с набором патчей для ядра v5.10-rt7 (было 5.6.14-rt7).

  • В состав включён фоновый процесс stalld, отслеживающий потоки при запуске приложений, требующих высокой отзывчивости. При выявлении задержанных потоков выполняется временное переключение на политику планирования SCHED_DEADLINE с назначением потоку дополнительного времени CPU.

  • Добавлен модуль ядра с поддержкой механизма EDAC (Error Detection and Correction), предоставляемого в 8 и 9 поколении процессоров Intel Core, для выявления и коррекции ошибок в ECC-памяти и шине PCI.

  • Добавлен параметр ядра net.naming-scheme=SCHEME_VERSION для выбора версии алгоритма, генерирующего имена сетевых устройств.

  • В VPN IPsec, предоставляемом пакетом Libreswan, добавлена поддержка работы поверх TCP (RFC 8229) и возможность привязки меток IKEv2.

  • Во фреймворк fapolicyd, позволяющий определить какие программы можно запускать определённому пользователю, а какие нет, добавлена поддержка проверки целостности запускаемых файлов (Integrity Measurement Architecture) и реализована регистрация обновлений RPM-пакетов.

  • Обеспечена стабильная поддержка пакета nmstate, предоставляющего библиотеку и утилиту nmstatectl для управления сетевыми настройками через декларативный API (состояние сети описывается в форме предопределённой схемы).

  • Продолжена работа по стабилизации подсистем eBPF. Добавлена полная поддержка инструментария и библиотеки BCC (BPF Compiler Collection) для создания BPF-программ трассировки, мониторинга и отладки, поддержка eBPF в tc (Traffic Control) для классификации пакетов и обработки входящих и исходящих очередей, XDP для обработки пакетов до сетевого стека, libbpf для разработки связанных с BPF приложений, xdp-tools с утилитами для XDP. На стадии Technology Preview остаются компоненты bpftrace и реализация сокета AF_XDP для подключения к XDP из пространства пользователя.

  • В tcpdump добавлена поддержка захвата трафика RDMA.

  • В репозиторий AppStream добавлены модули с новыми ветками Python 3.9, SWIG 4.0, Subversion 1.14, Redis 6, PostgreSQL 13 и MariaDB 10.5.
  • Добавлены пакеты с GCC 10, LLVM 11, Rust 1.49.0 и Go 1.15.7.

  • Обновлены версии OpenIPMI 2.0.29 (с поддержкой IPMB), freeipmi 1.6.6 (с поддержкой новых устройств Dell, Intel и Gigabyte), postfix 3.5.8, BIND 9.11.26, SpamAssassin 3.4.4, libreswan 4.3, NetworkManager 1.30.0, SystemTap 4.4, CMake 3.18.2, samba 4.13.2.

  • Добавлены новые драйверы для Realtek 802.11ac, Regmap SoundWire, Intel QuickAssist Technology, Intel Data Accelerator Driver, VirtualBox Graphics Card, Elastic Fabric Adapter, Nitro Enclaves.

  • Стабилизирована поддержка драйвера igc для Intel 2.5G Ethernet.

  • Допустимый размер раздела подкачки, определяемого при установке, увеличен до 16 TiB (ранее разделы подкачки не могли превышать 128 GB).

  • Добавлена возможность неожиданного отключения устройств NVMe, без предварительного уведомления системы.
  • Добавлена новая опция монтирования »-o dax=inode» для выборочного включения DAX (Direct Access) для отдельных файлов в ФС XFS и ext4. Привязка к файлам осуществляется при помощи флага FS_XFLAG_DAX.

  • В SMB-клиент встроена поддержка режима SMB Direct, который позволяет использовать сетевые адаптеры с функцией удалённого доступа к памяти (RDMA) для увеличения скорости передачи SMB-пакетов.

  • В Ansible добавлены модули для автоматизации управления доступом на основе ролей (RBAC) в IdM (Identity Management). Добавлена роль для резервного копирования и восстановления сервисов IdM. Добавлен модуль для управления местоположением.

  • Добавлены системные роли для перенаправления логов на сервер rsyslog с использованием протокола RELP (Reliable Event Logging Protocol), задания политики использования криптоалгоритмов и настройки серверов и клиентов SSH.

  • Добавлена поддержка системного вызова close_range, позволяющего процессу разом закрыть целый диапазон открытых файловых дескрипторов.

  • Добавлена поддержка нового API для монтирования файловых систем.

  • В пакетном менеджере DNF реализована команда «dnf history store» для сохранения в файле транзакции из истории выполненных операций и команда «dnf history replay» для повторного воспроизведения ранее сохранённого файла с транзакцией на текущей или другой системе.

  • В DNF добавлена настройка protect_running_kernel, управляющая включением защиты от удаления пакетов, связанных с выполняемой в данный момент версией ядра Linux.

  • В GNOME предоставлена возможность настройки таймаута для признания приложения не отвечающим на запросы и вывода диалога для завершения или продолжения ожидания. Для отключения определения зависших приложений можно установить в параметр org.gnome.mutter.check-alive-timeout значение 0.

  • Добавлена поддержка виртуализации для третьего поколения процессоров AMD EPYC (EPYC Milan).

  • Добавлена поддержка GPU процессоров на базе микроархитектуры Intel Tiger Lake и Rocket Lake (11 gen), а также GPU NVIDIA Ampere (GA102, GA104).

  • Продолжено предоставление экспериментальной (Technology Preview) поддержки AF_XDP, XDP hardware offloading, Multipath TCP (MPTCP), KTLS, dracut, kexec fast reboot, DAX в ext4 и xfs, systemd-resolved, accel-config, eBPF, igc, OverlayFS, Stratis, Software Guard Extensions (SGX), NVMe/TCP, DNSSEC, GNOME на системах IBM Z, AMD SEV для KVM, Intel vGPU.



Источник: http://www.opennet.ru/opennews/art.shtml? num=55189

© OpenNet