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

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

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

  • В репозиторий AppStream добавлены модули с новыми ветками GCC 10, LLVM 10, Rust 1.43, nginx 1.18, Node.js 14, Perl 5.30, PHP 7.4, Ruby 2.7. Обновлены пакеты с Git 2.27, Go 1.14.4, Python 3.8.3 и Squid 4.11.
  • Инсталлятор Anaconda обновлён до версии 33.16.3.1, в которой реализован показ размера сектора для NVDIMM, улучшена настройка IPv6, разрешено использовать не ASCII символы в пароле для шифрования диска,
    показаны корректные рекомендации по выбору ФС для /boot, /tmp, /var и /usr, для шифрованных контейнеров по умолчанию задействован LUKS2. В окне с суммарными сведениями предоставлена возможность установить пароль для root и создать нового пользователя на этапе до начала установки (ранее данные действия выполнялись после начала установки).

  • По умолчанию отключено использование расширений Intel TSX (Transactional Synchronization Extensions), предоставляющих средства для повышения производительности многопоточных приложений за счёт динамического исключения лишних операций синхронизации. Расширения отключены из-за возможности совершения атак Zombieload, манипулирующих утечкой сведений по сторонним каналам, возникающей при работе механизма асинхронного прерывания операций (TAA, TSX Asynchronous Abort). Для включения поддержки TSX следует загрузить ядро с параметром «tsx=on».
  • В инструментах для управления идентификацией объявлена устаревшей поддержка набора шифров RC4, который по умолчанию использовался для шифрования при взаимодействии между доменами Active Directory (AD).
    Для сохранения совместимости предоставлена новая политика DEFAULT:AD-SUPPORT (update-crypto-policies —set DEFAULT:AD-SUPPORT) для выборочного включения RC4 в RHEL Identity Management (IdM) и SSSD Active Directory.

  • В окружении GNOME Classic кнопка для переключения виртуальных рабочих столов перемещена в нижний правый угол и оформлена в виде полоски с миниатюрами.
  • Графическая подсистема DRM (Direct Rendering Manager) синхронизирована с версией ядра Linux 5.3. Обновлены графические драйверы.
  • Заменён бэкенд в сборщике образов osbuild-composer. Из поддерживаемых типов образов отмечаются TAR (.tar), QEMU QCOW2 (.qcow2), VMware Virtual Machine Disk (.vmdk), Amazon Machine Image (.ami), Azure Disk Image (.vhd) и OpenStack Image (.qcow2). Пока недоступны ext4, partitioned-disk, Alibaba Cloud и Google GCE. Добавлена возможность размещения образа в облаке.
  • В ядро добавлены параметры:
    • cpuidle.governor для выбора обработчика состояния простоя CPU (cpuidle governor).
    • kvm.nx_huge_pages для обхода ошибки X86_BUG_ITLB_MULTIHIT.
    • kvm.nx_huge_pages_recovery_ratio для управления переводом
      4KiB страниц памяти в huge pages.

    • page_alloc.shuffle для управления рандомизацией списка свободных страниц.
    • panic_print и /proc/sys/kernel/panic_print для настройки сведений, выводимых в случае краха системы (состояния panic).
    • rcutree.sysrq_rcu, rcutorture.fwd_progress, rcutorture.fwd_progress_div, rcutorture.fwd_progress_holdoff, rcutorture.fwd_progress_need_resched для настройки параметров RCU (Read-copy update).
    • intel_iommu — для управления Intel IOMMU DMAR (Direct Memory Access Remapping).
    • tsc — для отключения проверки стабильности таймера для Time Stamp Counter (TSC).
    • isolcpus — для изоляции CPU от обработки прерываний.
    • mitigations, tsx, tsx_async_abort, mds для управления защитой от атак на механизм спекулятивного выполнения CPU.
    • mem_encrypt для управления включением расширений AMD SME (Secure Memory Encryption).
    • /proc/sys/kernel/sched_energy_aware для отключения планирования задач с учётом оптимизации энергопотребления.
    • /proc/sys/kernel/threads-max для определения максимального числа потоков, которые может создать функция fork().
    • /proc/sys/net/bpf_jit_enable для управления включением JIT-компилятора для BPF.
  • В dnf по умолчанию отключена возможность обновления пакета при помощи команды ‘dnf install пакет’, (параметру best присвоено значение False).
  • Обновлены версии NetworkManager 1.26.0, bind 9.11, samba 4.12, gnutls 3.6.14 (с поддержкой OCSP-stapling), USBGuard 0.7.8 (с поддержкой GUI-уведомлений), smartmontools 7.1, Libreswan 3.32 (вместо SHA-1 и RSA-PKCS v1.5 теперь применяются SHA-2 и RSA-PSS, добавлена поддержка виртуальных интерфейсов XFRMi), powertop 2.12 (с поддержкой Intel Comet Lake, Skylake и Jasper Lake), tuned 2.14.0 (добавлены профиль optimize-serial-console и плагин irqbalance, а также оптимизации для Marvell ThunderX и систем AMD), tcpdump 4.9.3, libpcap 1.9.1, memcached 1.5.22, libssh 0.9.4, stunnel 5.56, libkcapi 1.2.0, setools 4.3.0, OpenSCAP 1.3.3, scap-security-guide 0.1.50, clevis 13, fapolicyd 1.0, libseccomp 2.4.3, firewalld 0.8.2, tpm2-tools 4.1.1, pacemaker 2.0.4, krb5 1.18.2, OpenDNSSEC 2.1, tigervnc 1.10.1.
  • В iperf3 добавлена возможность использования протокола SCTP вместо TCP при тестировании пропускной способности, а также поддержка аутентификации соединения с сервером при помощи SSL.
  • В Cyrus SASL добавлена поддержка привязки каналов при помощи плагинов SASL/GSSAPI и SASL/GSS-SPNEGO.
  • Реализована возможность прикрепления меток SELinux к отдельным файлам и каталогам в CephFS.
  • В Ansible добавлены роли для автоматического развёртывания клиентов Clevis и серверов Tang. Добавлены модули ansible-freeipa для выполнения типовых задач IdM (Identity Management).
  • Модули для отслеживания соединений nf_conntrack_ipv4 и nf_conntrack_ipv6 объединены в один модуль nf_conntrack.
  • Продолжена работа по стабилизации подсистем eBPF. Добавлена полная поддержка libbpf. В RHEL 8.3 стабильными заявлены: инструментарий и библиотека BCC (BPF Compiler Collection) для создания BPF-программ трассировки и отладки, поддержка eBPF в tc (Traffic Control) для классификации пакетов и обработки входящих и исходящих очередей. На стадии Technology Preview остаются компоненты bpftrace и eXpress Data Path (XDP).
  • Добавлена поддержка отслеживания владельцев страниц памяти, позволяющая отдельно отслеживать потребление памяти ядра для упрощения отладки утечек памяти в ядре и выявления райверов, потребляющих слишком много памяти.
  • В утилите perf реализована визуализация статистики о производительности системы через FlameGraph.
  • В режиме FIPS устройства /dev/random и /dev/urandom переведены на использование при формировании энтропии генератора псевдослучайных чисел DRBG (Deterministic Random Bit Generator), предоставляемого в Kernel Crypto API.
  • В утилите lshw обеспечен вывод дополнительных сведений о CPU, таких как семейство, модель и степпинг.
  • Компоненты для работы в режиме реального времени (kernel-rt) синхронизированы с набором патчей для ядра v5.6.14-rt7 (было 5.2.21-rt13).
  • Обеспечена полная поддержка сетевых адаптеров Mellanox ConnectX-6 Dx.
  • В Apache httpd перенесена новая версия mod_http2, добавлена директива H2Padding и добавлена возможность сохранения логов, определённых через директиву CustomLog, в подсистеме journald.
  • В web-консоли предоставлена возможность переключения между привилегиями администратора и ограниченного пользователя без смены сеанса.
  • Добавлена поддержка создания дисковых образов QCOW2 в хранилищах RBD (виртуальные машины могут использовать серверы RBD в своих бэкендах хранения).
  • Лимит на число устройств VFIO увеличен с 32 до 64.
  • В QEMU/KVM перенесена поддержка команд discard и write-zeroes, а также механизма упакованных виртуальных очередей (virtqueue) для обмена данными с виртуальным устройством ввода/вывода в пакетном режиме.
  • Добавлена поддержка движка IBM POWER 9 XIVE (External Interrupt Virtualization Engine), который позволяет на системах IBM POWER9 поднять производительности при интенсивном вводе/выводе в виртуальной машине.
  • Для виртуальных машин предоставлена поддержка cgroup v2.
  • В KVM добавлена возможность миграции виртуальных машин с включённым дисковым кэшем и реализована поддержка векторных инструкций AVX512_BF16 (Vector Neural Network Instructions BFLOAT16).
  • Предоставлена возможность обновления драйверов Windows Virtio для виртуальных машин Windows 10+, Windows Server 2016 и Windows Server 2019+ через сервис Windows Updates.
  • Добавлены команды «virsh guestinfo» и «virsh pool-capabilities» для предоставления информации о гостевой системе и хранилище.
  • Добавлен экспериментальный Netfilter-модуль xt_u32, позволяющий перенаправлять пакеты на основе произвольной информации, недоступной в фильтрах пакетов, учитывающих протоколы.
  • В режиме Technology Preview предложен фреймворк OPAE (Open Programmable Acceleration Engine), развиваемый компанией Intel для управления и доступа к FPGA, интегрированных в CPU Intel Xeon или в Intel Programmable Acceleration Card (PAC) на базе Arria 10 GX.
  • В режиме Technology Preview реализована поддержка MPTCP (MultiPath TCP), расширения протокола TCP для организации работы TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Для сетевых приложений подобное агрегированное соединение выглядит как обычное TCP-соединение, а вся логика разделения потоков выполняется силами MPTCP. Multipath TCP может использоваться как для расширения пропускной способности, так и для увеличения надёжности. Например, MPTCP можно применять для организации передачи данных на смартфоне с использованием одновременно линков WiFi и 4G или для сокращения расходов за счёт подключения сервера с использованием нескольких дешёвых линков вместо одного дорогого.
  • Добавлены новые драйверы, в том числе
    • gVNIC Driver (gve.ko.xz),
    • Broadcom UniMAC MDIO (mdio-bcm-unimac.ko.xz),
    • Software iWARP (siw.ko.xz),
    • Clustered MD (md-cluster.ko.xz),
    • DRM VRAM memory-management (drm_vram_helper.ko.xz),
    • Intel Trace Hub (intel_th_*.ko.xz),
    • Device DAX (dax_pmem_core.ko.xz),
    • PMEM DAX (dax_pmem.ko.xz),
    • Intel PMC Core (intel_pmc_core_pltdrv.ko.xz)
    • Intel RAPL (Running Average Power Limit, intel_rapl_*.ko.xz).
  • Обновлены драйверы:
    • VMware vmxnet3,
    • Intel 10 Gigabit Virtual Function Network Driver,
    • Intel 10 Gigabit PCI Express Network,
    • Intel Ethernet Connection E800 Series,
    • Netronome Flow Processor (NFP),
    • Elastic Network Adapter (ENA),
    • HPE watchdog,
    • Intel I/OAT DMA,
    • HPE Smart Array Controller,
    • LSI MPT Fusion SAS 3.0,
    • QLogic FCoE Driver,
    • Emulex LightPulse Fibre Channel SCSI,
    • QLogic FastLinQ 4xxxx FCoE,
    • QLogic Fibre Channel HBA,
    • Microsemi Smart Family Controller,
    • QLogic FastLinQ 4xxxx iSCSI,
    • Broadcom MegaRAID SAS.
  • Объявлен устаревшим протокол для удалённого доступа к экрану SPICE. В ветке RHEL 8 поддержка SPICE сохранится, но в RHEL 9 будет прекращена. Вместо SPICE рекомендовано перейти на VNC, RDP, HP RGS или Mechdyne TGX.
  • Продолжено предоставление экспериментальной (Technology Preview) поддержки nmstate, AF_XDP, XDP, KTLS, dracut, kexec fast reboot, eBPF, igc, NVMe over TCP/IP, DAX в ext4 и xfs, OverlayFS, Stratis, DNSSEC, GNOME на системах ARM, AMD SEV для KVM, Intel vGPU.