IT-инфраструктура • инструкции • практикаПоиск по сайту

Серверы и системное администрирование

Найти материал →

Linux kernel 7.2: улучшения планировщика, btrfs, сетей и виртуализации

Linux Kernel 7.2: крупное обновление с улучшенным планировщиком, Btrfs и сетевыми возможностями

Выпуск Linux Kernel 7.2 стал заметным этапом развития ядра Linux. Новая версия получила изменения в планировщике задач, файловых системах, управлении памятью, виртуализации, сетевом стеке, безопасности и поддержке оборудования. Основная цель релиза - повысить масштабируемость системы и эффективнее использовать возможности современных многоядерных процессоров и серверных платформ.

Одним из наиболее интересных нововведений стал механизм балансировки нагрузки с учётом кэш-памяти. Планировщик теперь способен размещать процессы, активно обменивающиеся данными, в пределах одного кэш-домена. Это уменьшает количество перемещений информации между ядрами и потенциально сокращает задержки при выполнении параллельных задач. Особенно заметный эффект такая оптимизация может дать на крупных многоядерных системах.

Серьёзные изменения затронули управление памятью. Разработчики продолжают переработку подсистемы swap, сближая подходы к обработке анонимных и разделяемых folio. При этом удалось сократить накладные расходы на служебные структуры: статические метаданные теперь занимают практически нулевой объём. В отдельных сценариях новая реализация также демонстрирует небольшой прирост производительности.

Отдельное внимание уделено Btrfs. В Linux Kernel 7.2 большие folio включены по умолчанию, а экспериментальная конфигурация позволяет использовать структуры размером до 2 МБ. Это может положительно сказаться на операциях с крупными файлами и снизить нагрузку на подсистему управления памятью. Одновременно поддержка зонного хранения в XFS, появившаяся в Linux 6.15, больше не считается экспериментальной.

В хранилищах появился новый объект Device Mapper - dm-inlinecrypt. Он предназначен для блочных устройств, поддерживающих встроенное аппаратное шифрование. Изменения в NFS увеличивают стандартный размер блока передачи до 4 МБ на системах, оснащённых как минимум 16 ГБ оперативной памяти. Это должно улучшить производительность при работе с большими файлами и быстрыми сетевыми накопителями.

Встроенный SMB-сервер получил возможность работать с файлами, хранящимися в сжатом виде, а также поддерживать сжатие данных при передаче по сети. Файловая система NTFS теперь лучше защищена от различных вариантов повреждения метаданных на диске и научилась корректнее обрабатывать символические ссылки в формате Windows.

Сетевой стек Linux продолжает масштабироваться. MultiPath TCP теперь поддерживает до 64 подсоединений вместо прежних восьми, что расширяет возможности распределения трафика между несколькими каналами. Параллельно продолжается отказ от чрезмерной зависимости от глобальной блокировки rtnl_lock - важный шаг для эффективной работы сетевых подсистем на серверах с большим числом процессорных ядер.

Развитие BPF также вошло в состав ключевых изменений. Хеш-таблицы BPF теперь могут создаваться с изменяемой реализацией, не ограниченной фиксированным числом корзин. Снято прежнее ограничение на пять параметров для функций BPF и kfunc: дополнительные аргументы разрешено передавать через стек. Кроме того, одна и та же BPF-программа может эффективно подключаться сразу к нескольким tracepoint.

Как показывает подробный обзор Linux Kernel 7.2, значительная часть нововведений рассчитана не только на обычные настольные компьютеры, но и на серверы, виртуальные машины и специализированные инфраструктуры. В KVM появилась поддержка Intel Mode-Based Execution Control и AMD Guest-Mode Execution Trap. Эти технологии позволяют тоньше управлять разрешениями на выполнение кода внутри виртуальных машин и уменьшают необходимость частых обращений гостевой системы к гипервизору.

Для платформ Intel TDX добавлена инфраструктура управления программным модулем TDX, включая возможность заменить его без остановки работающей системы. Это особенно важно для защищённых виртуальных сред, где простой сервера может быть критичным.

Расширяется и применение Rust внутри ядра. Архитектура IBM s390 теперь способна собирать код ядра на Rust. В исходное дерево также включён crate zerocopy, предоставляющий эффективные примитивы для работы с памятью и помогающий локализовать потенциально опасный unsafe-код. Подобные изменения постепенно повышают надёжность новых компонентов ядра.

В области безопасности Linux Kernel 7.2 расширяет возможности Landlock: теперь с его помощью можно ограничивать использование UDP-сокетов. Integrity Measurement Architecture получила возможность экспортировать и удалять данные измерений из памяти ядра. На системах с большими журналами это потенциально позволяет освободить значительный объём оперативной памяти.

Новая версия продолжает очищать код от давно устаревших архитектурных компонентов. Из ядра удалено более 13 тысяч строк эмуляции операций с плавающей точкой, предназначенной для процессоров без аппаратного FPU и относящейся к эпохе i486. Также убрана аппаратно оптимизированная реализация MD5 для PowerPC.

Сокращается и поддержка устаревшего сетевого оборудования и протоколов. В список удалённых компонентов вошли различные ISA- и PCMCIA-устройства ARCnet, старые PCMCIA Bluetooth-адаптеры, дополнительные части ATM-кода и AppleTalk. Механизм AF_ALG получил статус устаревшего и в перспективе также может быть полностью удалён.

Для разработчиков появилась новая цель сборки `make sbom`. Она формирует конфигурационно-зависимый Software Bill of Materials с использованием информации SPDX из исходного дерева ядра. В итоговый документ включаются только файлы, участвующие в конкретной сборке, что делает перечень компонентов более точным и полезным для аудита.

Тем, кто планирует Linux Kernel 7.2 скачать, важно учитывать: обычным пользователям не всегда требуется самостоятельная установка основного ядра. В большинстве дистрибутивов обновление появляется через штатные репозитории после тестирования и адаптации пакетов. Ручная установка оправдана главным образом для разработчиков, администраторов и владельцев оборудования, которому необходимы новые драйверы или функции.

Перед тем как выполнять Linux Kernel 7.2 установку, следует проверить совместимость драйверов, загрузчика, модулей сторонних производителей и используемых средств виртуализации. Для рабочих серверов желательно сначала протестировать ядро в отдельной среде и сохранить возможность загрузки предыдущей версии. Дополнительные практические сведения о выпуске и его функциях собраны в материале о новом ядре Linux 7.2.

Отдельного универсального перечня Linux Kernel 7.2 требований к системе разработчики не публикуют: они зависят от архитектуры и конфигурации сборки. Однако для стабильной работы необходимы совместимые процессор, загрузчик, достаточный объём памяти и актуальные драйверы. В целом версия сохраняет широкий диапазон поддерживаемого оборудования, одновременно избавляясь от наиболее архаичных компонентов.

Таким образом, Linux Kernel 7.2 - это не революционный, а комплексный релиз, ориентированный на повышение эффективности и надёжности. Улучшения планировщика, Btrfs, сетевых механизмов, виртуализации, Rust и средств безопасности делают обновление особенно интересным для серверов, рабочих станций разработчиков и современных инфраструктур с большим количеством ядер и быстрыми накопителями.

Прокрутить вверх