- PVSM.RU - https://www.pvsm.ru -

Linux kernel 5.6 — что ждать в новой версии ядра

Выход Linux kernel 5.6 намечен на конец марта. В нашем сегодняшнем материале обсуждаем грядущие изменения — новую файловую систему, протокол WireGuard и обновления драйверов.

Linux kernel 5.6 — что ждать в новой версии ядра - 1 [1]
Фото — lucas huffman [2] — Unsplash

Долгожданный VPN-протокол

Дэвид Миллер (David Miller), ответственный за сетевую подсистему Linux, решил включить [3] в состав ядра WireGuard. Это — VPN-туннель, разработанный в ИБ-компании Edge Security. Идею обсуждали [4] еще два года назад — тогда её поддержал [5] сам Линус Торвальдс — однако реализацию отложили. Проект был сильно привязан к криптофункциям Edge Security. Но полгода назад авторы нового протокола пошли на компромисс и переключились [6] на поддерживаемые ядром Crypto API.

Есть мнение [3], что в перспективе WireGuard сможет заменить OpenVPN. Согласно тестам [7], пропускная способность нового протокола в четыре раза выше, чем у OpenVPN: 1011 Мбит/с против 258 Мбит/с. Но здесь стоит отметить, что переход на штатный Crypto API может ухудшить показатели.

Еще одна особенность WireGuard — он не разрывает соединение [8], даже если пользователь получил новый IP-адрес, и самостоятельно решает вопросы маршрутизации. Для этих целей каждому сетевому интерфейсу привязывают закрытый ключ. Он генерируется с помощью протокола Диффи — Хеллмана [9]. Само шифрование построено [10] на ChaCha20 и алгоритме Poly1305 [11]. Они считаются улучшенными аналогами AES-256-CTR и HMAC [12].

Новая файловая система

Этой системой стала [13] Zonefs, представленная инженерами Western Digital. Она предназначена для работы с зонированными устройствами хранения (zoned storage [14]). Это — блочные накопители, адресное пространство которых разбито на зоны (например, NVMe SSD). Файловая система позволяет обрабатывать каждую зону как файл — то есть использовать специальные API вместо ioctl [15] для обращения к СХД. Аналогичный подход задействован в базах данных RocksDB и LevelDB. Он дает возможность сократить издержки на перенос кода, изначально заточенного под работу с файлами.

В Linux уже есть функция для взаимодействия с блочными устройствами. В ядре версии 4.13 появился [16] модуль dm-zoned. Он представляет зонированный накопитель как обычное блочное устройство, а Zonefs станет альтернативой.

Linux kernel 5.6 — что ждать в новой версии ядра - 2
Фото — Suzan Kiršić [17] — Unsplash

Помимо внедрения новой файловой системы, разработчики Linux kernel внесли изменения в существующие. Были добавлены [18] механизмы сжатия LZO [19]/LZ4 [20] для F2FS — их поддержка пока останется экспериментальной. Её придется включать вручную во время монтирования раздела (опция compress_algorithm). Также апгрейд получит [21] EXT4 — он связан с операциями прямого ввода/вывода. Пакет обновлений представил инженер из IBM Ритеш Харжан (Ritesh Harjan). По его словам [22], в некоторых случаях патч может повысить производительность файловой системы на 140%.

Обновления драйверов

В ядре появится новый драйвер cpuidle_cooling. Его задача [23] — охлаждать CPU/SoC, встраивая холостые циклы во время работы. В каком-то смысле он похож на драйвер PowerClamp для процессоров Intel, однако не привязан к определенной архитектуре. Систему выступили [24] специалисты из Linaro, которые занимаются оптимизацией ПО с открытом исходным кодом для платформ ARM.

Также будет добавлена [25] поддержка видеокарт серии GeForce 20 (TU10x). Соответствующий драйвер разработал Бен Скеггс (Ben Skeggs) из проекта Nouveau. К сожалению, GeForce 16 (TU11x) пока останутся «за бортом». Nvidia не предоставили образы микропрограммного обеспечения, необходимые для инициализации карты. Также у новых видеокарт под Linux могут возникнуть проблемы с производительностью из-за отсутствия реклокинга — автоматического управления частотой. В прошлом было установлено, что драйверы Nouveau могут функционировать [26] на 20–30% медленнее оригинальных.

Linux kernel 5.6 — что ждать в новой версии ядра - 3
Фото — Andrew Abbate [27] — Unsplash

Еще новое ядро будет поддерживать [28] USB4. Соответствующие изменения предложили [29] инженеры из Intel. Они модифицировали существующую кодовую базу, связанную с Thunderbolt — это примерно две тысячи строк.

Разумеется, это не все обновления, которые придут в ядро, — например, можно ждать [30] поддержку дополнительной периферии и сетевых устройств. Также kernel 5.6 станет первым 32-битным ядром, где будет решена [31] проблема 2038 года [32]. В конце января инженеры внесли [33] финальные изменения в nfsd, xfs, alsa и v4l2. Они надеются, что за восемнадцать оставшихся лет пользователи и разработчики дистрибутивов успеют перейти на kernel 5.6 (или его последующие версии).

Материалы по теме из корпоративного блога 1cloud.ru:

Linux kernel 5.6 — что ждать в новой версии ядра - 4 Большая часть суперкомпьютеров работает под управлением Linux — обсуждаем ситуацию [34]
Linux kernel 5.6 — что ждать в новой версии ядра - 5 Как обезопасить Linux-систему: 10 советов [35]

О чем мы пишем на Хабре:

Linux kernel 5.6 — что ждать в новой версии ядра - 6 Анализируем рекомендации по защите персональных данных и ИБ — на что стоит обратить внимание [36]
Linux kernel 5.6 — что ждать в новой версии ядра - 7 Впервые фотон телепортировали с одного чипа на другой [37]
Linux kernel 5.6 — что ждать в новой версии ядра - 8 Как IT-сектор помогает миру выбрасывать меньше еды [38]

Автор: 1cloud

Источник [39]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/operatsionny-e-sistemy/350116

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/1cloud/blog/493058/

[2] lucas huffman: https://unsplash.com/photos/xqeWJEHajkA

[3] включить: https://itsfoss.com/linux-kernel-5-6/

[4] обсуждали: https://marc.info/?l=linux-netdev&m=153306429108040&w=2

[5] поддержал: https://lists.openwall.net/netdev/2018/08/02/124

[6] переключились: https://lists.zx2c4.com/pipermail/wireguard/2019-September/004560.html

[7] тестам: https://www.wireguard.com/performance/

[8] не разрывает соединение: https://www.xda-developers.com/wireguard-vpn-project-support-android-roms/

[9] протокола Диффи — Хеллмана: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0

[10] построено: https://www.wireguard.com/protocol/

[11] Poly1305: https://en.wikipedia.org/wiki/Poly1305

[12] HMAC: https://en.wikipedia.org/wiki/HMAC

[13] стала: https://www.phoronix.com/scan.php?page=news_item&px=Zonefs-Proposed-Linux-5.6

[14] zoned storage: https://www.zonedstorage.io/

[15] ioctl: https://en.wikipedia.org/wiki/Ioctl

[16] появился: https://www.zonedstorage.io/introduction/linux-support/

[17] Suzan Kiršić: https://unsplash.com/photos/-_GsVJIH4fE

[18] добавлены: https://www.phoronix.com/scan.php?page=news_item&px=F2FS-Compression-5.6-Landing

[19] LZO: https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer

[20] LZ4: https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)

[21] получит: https://www.phoronix.com/scan.php?page=news_item&px=EXT4-XFS-IO-uring-Linux-5.6

[22] его словам: https://www.phoronix.com/scan.php?page=news_item&px=EXT4-DIO-Faster-DBs

[23] задача: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/Documentation/driver-api/thermal/cpu-idle-cooling.rst?id=0a1990a2d1f2217db20b30f915f48d9b8b976949

[24] выступили: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-Generic-CPU-Cool-Idle

[25] будет добавлена: https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-Turing-Linux-5.6

[26] могут функционировать: https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-nvidia-linux-nouveau/33776-nouveau-driver-remains-much-slower-than-nvidia-s-official-driver?p=397898#post397898

[27] Andrew Abbate: https://unsplash.com/photos/Ku0883_deww

[28] будет поддерживать: https://www.phoronix.com/scan.php?page=news_item&px=USB4-Hits-Linux-5.6

[29] предложили: https://www.phoronix.com/scan.php?page=news_item&px=USB4-In-Linux-5.6

[30] можно ждать: https://www.phoronix.com/scan.php?page=article&item=linux-56-features&num=2

[31] будет решена: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-32-bit-Past-Y2038

[32] проблема 2038 года: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0

[33] внесли: https://lkml.org/lkml/2020/1/29/355?anz=web

[34] Большая часть суперкомпьютеров работает под управлением Linux — обсуждаем ситуацию: https://1cloud.ru/blog/superkomputer-na-linux?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel56&utm_content=blog

[35] Как обезопасить Linux-систему: 10 советов: https://1cloud.ru/blog/linux-server-security-advices?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel56&utm_content=blog

[36] Анализируем рекомендации по защите персональных данных и ИБ — на что стоит обратить внимание: https://habr.com/ru/company/1cloud/blog/491590/

[37] Впервые фотон телепортировали с одного чипа на другой: https://habr.com/ru/company/1cloud/blog/492966/

[38] Как IT-сектор помогает миру выбрасывать меньше еды: https://habr.com/ru/company/1cloud/blog/492386/

[39] Источник: https://habr.com/ru/post/493058/?utm_campaign=493058&utm_source=habrahabr&utm_medium=rss