После восемнадцати месяцев разработки представлен релиз свободного гипервизора Xen 4.2. По сравнению с прошлым выпуском в Xen 4.2 внесено 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). Число адресуемой 64-разрядным хостом памяти увеличено до 5 Тб. Кроме того, добавлены такие возможности, как поддержка множественных сегментов PCI, автоматическое создания пула CPU (CPUPOOL) для NUMA-узлов и интеллектуальная расстановка VCPU по NUMA-узлам;
  • Улучшение механизмов безопасности: многочисленные улучшения внесены во фреймворк XSM (Xen Security Modules) и модули Flask, обеспечена поддержка режима SMEP (Intel Supervisor Mode Execution Protection), позволяющего предотвратить выполнение гипервизором страниц памяти из пространства пользователя, что существенно усложняет эксплуатацию уязвимостей гипервизора. Упрощены примеры настройки политик безопасности;
  • Улучшение производительности: поддержка AMD SVM DecodeAssist (позволяет избежать эмуляции), различные оптимизации работы планировщика, возможность использования Remus-сжатия для образов памяти виртуальных машин, ускорение работы проброса PCI-устройств, задействование инструкции xsave;
  • В гипервизор добавлена поддержка EFI (extensible Firmware Interface), что позволило Xen загружать системы на базе EFI, а не только BIOS;
  • Поддержка сетевой загрузки гостевых систем с использованием загрузчика Xenpvnetboot;
  • Возможность использования в гостевых системах компонентов QEMU, таких как qdisk и VFB.
  • Начальная поддержка создания вложенных виртуальных окружений (гостевые системы HVM могут получить доступ к возможностям виртуализации оборудования, позволяющим запустить в гостевой системе собственный гипервизор);
  • Удалена поддержка vnet и порта IA64;
  • Обеспечена возможность сборки с использованием Clang.


Источник: http://www.opennet.ru/opennews/art.shtml?num=34866