Даступныя Oracle Linux 9 і ядро ​​Unbreakable Enterprise Kernel 7

Кампанія Oracle апублікавала стабільныя выпускі дыстрыбутыва Oracle Linux 9 і ядры Unbreakable Enterprise Kernel 7 (UEK R7), пазіцыянаванага для выкарыстання ў дыстрыбутыве Oracle Linux у якасці альтэрнатывы штатнаму пакету з ядром з Red Hat Enterprise Linux. Дыстрыбутыў Oracle Linux 9 створаны на аснове пакетнай базы Red Hat Enterprise Linux 9 і цалкам бінарна сумяшчальны з ёй.

Для загрузкі без абмежаванняў прапанаваны ўсталявальныя iso-выявы, памерам 8.6/840 ГБ і 86 МБ, падрыхтаваныя для архітэктур x64_64 і ARM64 (aarch9). Для Oracle Linux XNUMX адкрыты неабмежаваны і бясплатны доступ да yum-рэпазітара з бінарнымі абнаўленнямі пакетаў з ухіленнем памылак (errata) і праблем бяспекі. Для загрузкі таксама падрыхтаваны асобна падтрымліваюцца рэпазітары з наборамі пакетаў Application Stream і CodeReady Builder.

Апроч пакета з ядром са складу RHEL (на базе ядра 5.14) у Oracle Linux прапанавана ўласнае ядро ​​Unbreakable Enterprise Kernel 7, заснаванае на ядры Linux 5.15 і аптымізаванае для працы з прамысловым праграмным забеспячэннем і абсталяваннем Oracle. Зыходныя тэксты ядра, уключаючы разбіўку на асобныя патчы, даступныя ў публічным Git-рэпазітары Oracle. Ядро Unbreakable Enterprise Kernel усталёўваецца па змаўчанні, пазіцыянуецца ў якасці альтэрнатывы штатнаму пакету з ядром RHEL і падае шэраг пашыраных магчымасцяў, такіх як інтэграцыя DTrace і палепшаная падтрымка Btrfs. Акрамя дадатковага ядра па функцыянальнасці выпускі Oracle Linux 9 і RHEL 9 цалкам ідэнтычныя (спіс змен можна паглядзець у анонсе RHEL9).

Ключавыя навіны ў ядры Unbreakable Enterprise Kernel 7:

  • Палепшана падтрымка архітэктуры Aarch64. Памер старонак памяці на 64-разрадных сістэмах ARM па змаўчанні паменшаны з 64 КБ да 4 КБ, што лепш спалучаецца з аб'ёмамі памяці і выглядамі нагрузкі, тыповымі для ARM-сістэм.
  • Прадоўжана пастаўка сістэмы дынамічнай адладкі DTrace 2.0, якая пераведзена на выкарыстанне падсістэмы ядра eBPF. DTrace 2.0 працуе па-над eBPF, па аналогіі з тым, як па-над eBPF працуюць існуючыя ў Linux інструменты трасіроўкі.
  • Пашыраны магчымасці ФС Btrfs. У Btrfs дададзена асінхронная рэалізацыя аперацыі DISCARD для пазнакі вызваленых блокаў, якія ўжо можна не захоўваць фізічна. Асінхронная рэалізацыя дазваляе не чакаць завяршэння DISCARD назапашвальнікам і выконваць дадзеную аперацыю ў фоне. Дададзеныя новыя опцыі мантавання для спрашчэння аднаўлення дадзеных з пашкоджанай ФС: "rescue=ignorebadroots" для мантавання, нягледзячы на ​​пашкоджанні некаторых каранёвых дрэў (extent, uuid, data reloc, device, csum, free space), "rescue=ignoredatacsums" для адключэння правер кантрольных сум для дадзеных і "rescue=all" для адначасовага ўключэння рэжымаў 'ignorebadroots', 'ignoredatacsums' і 'nologreplay'. Унесены істотныя аптымізацыі прадукцыйнасці, злучаныя з выкананнем аперацый fsync(). Дададзена падтрымка fs-verity (праверка сапраўднасці і цэласнасці файлаў) і супастаўленні ідэнтыфікатараў карыстачоў.
  • У XFS рэалізаваная падтрымка аперацый DAX для прамога доступу да ФС у абыход старонкавага кэша для выключэння падвойнага кэшавання. Дададзеныя змены, вырашальныя праблемы з перапаўненнем 32-разраднага тыпу дадзеных time_t у 2038 году, у тым ліку прапанаваны новыя опцыі мантавання bigtime і inobtcount.
  • Унесены паляпшэнні ў файлавую сістэму OCFS2 (Oracle Cluster File System).
  • Дададзена файлавая сістэма ZoneFS, якая спрашчае нізкаўзроўневую працу з занаванымі прыладамі захоўвання. Пад занаванымі назапашвальнікамі маюцца на ўвазе прылады на цвёрдых магнітных дысках або NVMe SSD, прастора для захоўвання ў якіх разбіта на зоны, якія складаюць групы блокаў або сектараў, у якія дапушчаецца толькі паслядоўнае даданне дадзеных з абнаўленнем цалкам усёй групы блокаў. ФС ZoneFS злучае кожную зону ў назапашвальніку з асобным файлам, які можна выкарыстоўваць для захоўвання дадзеных у raw-рэжыме без маніпуляцыі на ўзроўні сектараў і блокаў, г.зн. дазваляе прыкладанням выкарыстоўваць файлавы API замест прамога звароту да блокавай прылады пры дапамозе ioctl.
  • Стабілізаваная падтрымка пратаколу VPN WireGuard.
  • Пашыраны магчымасці падсістэмы eBPF. Рэалізаваны механізм CO-RE (Compile Once – Run Everywhere), які вырашае праблему з пераноснасцю скампіляваных eBPF-праграм і дазваляе збіраць код eBPF-праграм толькі адзін раз і выкарыстоўваць адмысловы ўніверсальны загрузнік, які адаптуе загружаную праграму да бягучага ядра і тыпам BTFB Format). Дададзены механізм "BPF trampoline", які дазваляе практычна звесці да нуля накладныя выдаткі пры перадачы выклікаў паміж ядром і праграмамі BPF. Прадастаўлены магчымасці прамога звароту да функцыянальнасці ядра з BPF-праграм і прыпыненні апрацоўшчыка.
  • Інтэграваны дэтэктар расшчэпленых блакіровак ("split lock"), якія ўзнікаюць пры доступе да невыраўнаваных дадзеных у памяці з-за таго, што пры выкананні атамарнай інструкцыі дадзеныя перасякаюць дзве лініі кэша CPU. Ядро можа на лёце выяўляць падобныя блакаванні, якія прыводзяць да значнага падзення прадукцыйнасці, і выводзіць папярэджанні ці адпраўляць сігнал SIGBUS з дадаткам, які выклікаў блакаванне.
  • Забяспечана падтрымка Multipath TCP (MPTCP), пашырэнні пратаколу TCP для арганізацыі працы TCP-злучэнні з дастаўкай пакетаў адначасова па некалькіх маршрутам праз розныя сеткавыя інтэрфейсы, прывязаныя да розных IP-адрасоў.
  • У планавальніку задач рэалізаваны рэжым планавання SCHED_CORE, які дазваляе кіраваць тым, якія працэсы могуць сумесна выканаюцца на адным ядры CPU. Кожнаму працэсу можа быць прызначаны cookie-ідэнтыфікатар, які вызначае вобласць даверу паміж працэсамі (напрыклад, прыналежнасць аднаму карыстачу ці кантэйнеру). Пры арганізацыі выканання кода планавальнік можа забяспечыць сумеснае выкарыстанне аднаго ядра CPU толькі для працэсаў, злучаных з адным уладальнікам, што можа выкарыстоўвацца для блакавання некаторых нападаў класа Spectre за кошт прадухілення выканання ў адным струмені SMT (Hyper Threading) годных і не годных даверы задач.
  • Для cgroups рэалізаваны кантролер размеркавання памяці slab (slab memory controller), які характэрны пераносам уліку slab з узроўня старонак памяці на ўзровень аб'ектаў ядра, што дае магчымасць сумесна выкарыстоўваць slab-старонкі ў розных cgroup, замест вылучэння асобных кэшаў slab для кожнай cgroup. Прапанаваны падыход дазваляе павысіць эфектыўнасць выкарыстання slab, на 30-45% скараціць памер выкарыстоўванай для slab памяці, значна паменшыць агульнае спажыванне памяці ядром і знізіць фрагментацыю памяці.
  • Забяспечана пастаўка адладкавых дадзеных у фармаце CTF (Compact Type Format), які забяспечвае кампактнае захоўванне звестак аб Сі-тыпах, сувязях паміж функцыямі і адладкавых сімвалах.
  • Спынена пастаўка модуля DRBD (Distributed Replicated Block Device) і прылады /dev/raw (для прамога доступу да файлаў варта выкарыстоўваць сцяг O_DIRECT).

Крыніца: opennet.ru

Дадаць каментар