Релиз дистрибутива 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