После восемнадцати месяцев разработки представлен релиз свободного гипервизора Xen 4.2. По сравнению с прошлым выпуском в Xen 4.1 внесено 2900 коммитов, в подготовке которых приняло участие 124 разработчика и 43 организации. Наибольший объем коммитов внесён разработчиками из компании Citrix (1270), SUSE (501), Xen.org (216), AMD (138) и Intel (107).
Если в процессе развития ветки 4.1 была произведена интеграция в штатное ядро Linux компонентов Xen, необходимых для обеспечения работы Dom0, то ветка 4.2 примечательна работой по передаче проекту QEMU кода с реализаций модели взаимодействия с устройствами HVM. Изначально проектом Xen развивался собственный форк инструментария и драйверов, основанных на QEMU, но в процессе подготовки релиза QEMU 0.15 было произведено возвращение в родительский проект всех созданных в Xen дополнений и изменений. Слияние кодовых баз для общих компонентов Xen и QEMU позволило избавиться от выполнения двойной работы и перейти к более тесному сотрудничеству. Похожая передача кода также произведена для проектов SeaBIOS и Tianocore/OVMF (UEFI BIOS).
Ключевые улучшения в Xen 4.2.0:
- Переход на использование по умолчанию инструментария XL, пришедшего на смену XM/XEND (поддержка XEND будет прекращена в Xen 4.3). Функционально XL эквивалентен и обратно совместим с ранее созданными для XM файлами конфигурации и может выступать в роли прозрачной замены xend для большинства систем. Из возможностей присутствующих в XM/XEND, но пока не реализованных в XL можно отметить поддержку проброса USB и SCSI устройств, возможность включения Python-кода в файлы конфигурации и поддержку управляемых доменов ("xm vm-create").
XL базируется на использовании библиотеки libxl, предоставляющей простой и надежный управляющий API, позволяющий напрямую использовать большинство возможностей инструментария XL в сторонних приложениях. API libxl объявлен стабильным, что в будущем позволит обеспечить его поддержку в таких внешних инструментариях, как libvirt и XCP xapi;
- Поддержка работы на больших системах, включающих до 4095 процессоров на стороне хоста и до 512 виртуальных процессоров на стороне паравиртуализированной гостевой системы (для HVM - 256). Кроме того, добавлены такие возможности, как автоматическое создания пула CPU (CPUPOOL) для NUMA-узлов и интеллектуальная расстановка VCPU по NUMA-узлам;
- Улучшение механизмов безопасности, например, многочисленные улучшения внесены во фреймворк XSM (Xen Security Modules) и модули Flask, обеспечена поддержка режима SMEP (Intel Supervisor Mode Execution Protection), позволяющего предотвратить выполнение гипервизором страниц памяти из пространства пользователя, что существенно усложняет эксплуатацию уязвимостей гипервизора. Упрощены примеры настройки политик безопасности;
- Добавлена поддержка сетевой загрузки гостевых систем с использованием загрузчика Xenpvnetboot;