После одиннадцати месяцев разработки представлен релиз свободного гипервизора Xen 4.1. По сравнению с прошлым выпуском в Xen 4.1 внесено 1906 коммитов, в подготовке которых приняло участие 102 разработчика и 25 организаций. Кроме того, около 400 коммитов связанных с поддержкой Xen, было принято в состав основной ветки Linux-ядра. Ожидается, что интеграция оставшихся бэкенд-драйверов, необходимых для обеспечения работы Xen Dom0 из коробки, будет завершена в Linux-ядре 2.6.39.

Из ключевых улучшений Xen 4.1 можно отметить:

  • Переработана архитектура и расширены возможности инструментария XL, заменяющего собой XM/XEND. XL базируется на использовании библиотеки libxenlight, предоставляющей простой и надежный управляющий API. Функционально XL эквивалентен и обратно совместим с ранее созданными для XM файлами конфигурации. В версии Xen 4.1 поддержка XEND сохранена, но пользователям рекомендуется продумать обновление до XL. В настоящее время ведется работа по переводу xapi и libvirt на использование новой библиотеки libxenlight;
  • Интегрирован прототип планировщика credit2, способного оптимально обслуживать большие системы и созданного для обеспечения функционирования чувствительных к задержкам конфигураций (latency-sensitive), таким как обработка звука или выполнение сетевых функций. По сравнению с планировщиком credit1 код credit2 был полностью переписан и оптимизирован для систем с большим числом CPU. Credit2 пока находится на стадии прототипа и сможет занять место основного планировщика после окончательной рихтовки алгоритмов. Тем не менее, код credit2 уже достаточно стабилен для начала его активного применения;
  • Поддержка CPU-пулов (CPU pools) и расширенных способов разделения ресурсов сервера (partitioning), дополняющих такие стандартные механизмы планировщика credit1 как привязка CPU к виртуальному окружению и расстановка приоритетов. CPU-пулы предоставляют возможность логического разбиения физических CPU на группы, каждый из CPU-пулов снабжен отдельным планировщиком и занимается обслуживанием только заданного набора виртуальных окружений. Подобный подход не только значительно повышает гибкость разбиения процессорных ресурсов сервера, но и позволяет использовать разные типы планировщиков для разных пулов, более оптимальные для выполняемых в привязанных к пулу виртуальных окружений;
  • Поддержка больших систем, построенных на базе архитектуры Intel x2APIC и состоящих из боле чем 255 процессоров. В будущем ожидается появление поддержки для EPT/VTd больших страниц памяти (1GB/2MB super pages), сокращающих число используемых TLB-блоков (Translation Lookaside Buffer);
  • Поддержка AVX-расширений системы команд x86 CPU (Advanced Vector eXtension). В Xen обеспечена возможность использования при работе паравиртуализированных гостевых окружений инструкций xsave и xrestor, доступных в новых процессорах Intel;
  • Новый API для управления доступом к памяти (mem_access API), позволяющий интегрировать в Xen окружения сторонние системы обеспечения безопасности. API позволяет привилегированным Xen-доменам перехватывать и обрабатывать ситуации обращения к невыделенным страницам памяти (memory faults), что дает возможность подключать сторонние средства контроля за безопасностью и определения активности вредоносного ПО;
  • Новый набор автоматизированного регрессивного тестирования;
  • Расширение поддержки PXE-загрузки гостевых систем, работающих в режиме аппаратной виртуализации (HVM), за счет замены gPXE на iPXE;
  • Осуществлено слияние с libvirt стороннего libvirt-драйвера для libxl;
  • Отмечены многочисленные исправления в IOMMU, связанные с поддержкой Intel VT-d IOMMU и AMD IOMMU. Устранены недоработки в инструментарии и системе сборки для Linux и NetBSD хостов.

Дополнительно продолжается работа по обеспечению поддержки Xen dom0 и Xen guest в немодифицированных поставках различных Linux-дистрибутивов. Степень поддержки Xen в различных дистрибутивах можно оценить на данной странице. Из достигнутых успехов отмечается разработка кода для поддержки Xen в Qemu (код пока не включен в состав Qemu); интеграция в Linux-ядро 2.6.38 базовой поддержки dom0 (код пока не позволяет запускать VM без дополнительных бэкенд-драйверов, которые планируется интегрировать в следующий релиз Linux-ядра); переписанные Xen PV-on-HVM драйверы вошли в состав Linux-ядра 2.6.36, а в ядро 2.6.37 принят код дополнительных оптимизаций к PV-on-HVM.

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