Випуск гіпервізора Xen 4.17

Після року розробки опубліковано реліз вільного гіпервізора Xen 4.17. У розробці нового випуску взяли участь такі компанії, як Amazon, Arm, Bitdefender, Citrix, EPAM Systems та Xilinx (AMD). Формування оновлень для гілки Xen 4.17 триватиме до 12 червня 2024 року, а публікація виправлень уразливостей до 12 грудня 2025 року.

Ключові зміни в Xen 4.17:

  • Забезпечено часткову відповідність вимогам до розробки безпечних та надійних програм мовою Сі, сформульованими у специфікаціях MISRA-C, які застосовуються при створенні критично важливих систем. У Xen офіційно впроваджено 4 директиви та 24 правила MISRA-C (із 143 правил та 16 директив), а також забезпечена інтеграція у складальні процеси статичного аналізатора MISRA-C, що перевіряє виконання вимог специфікації.
  • Надано можливість визначення статичної конфігурації Xen для систем ARM, яка жорстко визначає всі ресурси, необхідні для завантаження гостьових систем. Всі ресурси, такі як пам'ять, що розділяється, канали для сповіщення про події і місце в купі гіпервізора, розподіляються заздалегідь при запуску гіпервізора, а не виділяються динамічно, що виключає можливі збої через брак ресурсів під час роботи.
  • Для систем, що вбудовуються, на базі архітектури ARM реалізована експериментальна (tech preview) підтримка віртуалізації вводу/виводу з використанням протоколів VirtIO. Для обміну даними з віртуальним пристроєм вводу/виводу задіяний транспорт virtio-mmio, що дозволило забезпечити сумісність із широким спектром пристроїв VirtIO. Реалізована підтримка фронтенду для Linux, інструментарію (libxl/xl), режиму dom0less та бекендів, що запускаються у просторі користувача (протестовані бекенди virtio-disk, virtio-net, i2c та gpio).
  • Поліпшено підтримку режиму dom0less, що дозволяє обійтися без розгортання оточення dom0 при запуску віртуальних машин на ранній стадії завантаження сервера. Надано можливість визначення пулів CPU (CPUPOOL) на стадії завантаження (через device tree), що дозволяє використовувати пули в конфігураціях без dom0, наприклад, для прив'язки різних типів ядер CPU на системах ARM на базі архітектури big.LITTLE, що комбінують в одному потужні чіпі, але споживають багато енергії, ядра, та менш продуктивні, але більш енергоефективні ядра. Крім того, dom0less надано можливість прив'язки фронтенду/бекенду паравіртуалізації до гостьових систем, що дозволяє завантажувати гостьові системи з необхідними паравіртуалізованими пристроями.
  • На системах ARM структури віртуалізації пам'яті (P2M, Physical to Machine) тепер виділяються з пулу пам'яті, що утворюється під час створення домену, що дозволяє підвищити ефективність ізоляції між гостьовими системами у разі виникнення пов'язаних із пам'яттю збоїв.
  • Для систем ARM додано захист від уразливості Spectre-BHB у мікроархітектурних структурах процесорів.
  • На системах ARM надано можливість запуску операційної системи Zephyr у кореневому оточенні Dom0.
  • Надано можливість окремого (out-of-tree) складання гіпервізора.
  • На системах x86 забезпечено підтримку великих сторінок IOMMU (superpage) для всіх типів гостьових систем, що дозволяє збільшити пропускну здатність при прокиданні PCI-пристроїв. Додано підтримку хостів, оснащених до 12 ТБ ОЗУ. На етапі завантаження реалізовано можливість завдання параметрів cpuid для dom0. Для управління в гостьових системах реалізованими на рівні гіпервізора заходами захисту від атак на CPU запропоновано параметри VIRT_SSBD та MSR_SPEC_CTRL.
  • Окремо розвивається транспорт VirtIO-Grant, що відрізняється від VirtIO-MMIO вищим рівнем безпеки та можливістю запуску обробників в окремому ізольованому домені для драйверів. У VirtIO-Grant замість прямого мапінгу пам'яті використовується трансляція фізичних адрес гостьової системи в grant-посилання, що дозволяє використовувати попередньо узгоджені області пам'яті для обміну даних між гостьовою системою і бекендом VirtIO, без надання бекенду прав на виконання мапінгу пам'яті. Підтримка VirtIO-Grant вже реалізована в ядрі Linux, але поки не включена в бекенди QEMU, virtio-vhost і інструментарій (libxl/xl).
  • Продовжується розвиток ініціативи Hyperlaunch, націленої на надання гнучких інструментів для налаштування запуску віртуальних машин під час завантаження системи. В даний час вже готовий перший набір патчів, що дозволяють визначати PV-домени та передавати їх образи під час завантаження гіпервізору. Реалізовано все необхідне для запуску подібних паравіртуалізованих доменів, включаючи компоненти Xenstore для PV-драйверів. Після прийняття патчів почнеться робота з включення підтримки пристроїв PVH і HVM, а також реалізації окремого домену domB (builder domain), придатного для організації завантаження (measured boot), що підтверджує достовірність всіх завантажуваних компонентів.
  • Продовжується робота зі створення порту Xen для архітектури RISC-V.

Джерело: opennet.ru

Додати коментар або відгук