Выпуск системы виртуализации Xen 4.5.0

После десяти месяцев разработки представлен релиз свободного гипервизора Xen 4.5. По сравнению с прошлым выпуском в Xen 4.5 внесено почти 12 тысяч изменений, что в 10 раз больше, чем было добавлено в процессе разработки Xen 4.4. Пол числу и важности добавленных новшеств Xen 4.5 отмечен как наиболее крупный выпуск за всю историю проекта. Ключевые изменения в Xen 4.5:

Полное прекращение поддержки инструментария XM/XEND и удаление из кодовой базы связанных с ним компонентов. XM/XEND полностью заменил продвигаемый последние несколько выпусков инструментарий XL, который обратно совместим с файлами конфигурации и утилитами XM/XEND, базируется на использовании библиотеки libxl (xm/xend написан на Python, а xl на Си) и может выступать в роли прозрачной замены xend для большинства систем. Исключение составляют конфигурации, в которых используются встроенные Python-скрипты, определение совместно используемых дисков с использованием нотации «w!», генерация окружений командами «xm vm-create» и «xm vm-start»; Начальная поддержка доменов (dom0), обеспечивающих работу в режиме PVH, который комбинирует элементы режимов паравиртуализации (PV) и полной виртуализации (HVM). PVH может использоваться на системах с процессорами Intel для выполнения dom0 во FreeBSD и Linux. В режиме PVH с одной стороны применяется полная виртуализация на уровне ограничения привилегированных инструкций, изоляции системных вызовов и виртуализации таблиц страниц памяти, но с другой стороны используются методы паравиртуализации для ввода/вывода, обработки прерываний, организации загрузки и взаимодействия с оборудованием. Таким образом, PVH, как и режим PV, обеспечивает высокую производительность, благодаря исключению накладных расходов на симуляцию аппаратных устройств, но использует вместо PV MMU свойственные HVM механизмы аппаратной виртуализации для обеспечения более строгой изоляции виртуальных окружений. 0_1394463450.jpg Экспериментальная поддержка планирования заданий в режиме реального времени, что позволяет организовать выполнение в виртуальных окружениях задач, работающих в режиме реального времени, а также обеспечить работу операционных систем реального времени внутри гостевых виртуальных машин. Новый планировщик RTDS (Real-Time-Deferrable-Server) реализует возможность предсказуемого гарантированного выделения вычислительных ресурсов, привязывая к VCPU такие дополнительные параметры, как маска для закрепления выполнения на определённых физических CPU и максимальный размер ресурсов CPU, которые могут быть выделены за квант времени планировщика. При работе на многоядерных системах предоставляются возможность формирования многоядерных виртуальных машин; Добавлена поддержка набора инструкций SMAP (Supervisor Mode Access Prevention), реализованного в новых процессорах Intel. SMAP позволяет блокировать доступ к данным в пространстве пользователя из привилегированного кода, выполняемого на уровне ядра. Для Xen данный режим предоставляет защиту от внесения модификаций в гипервизор в случае успешной атаки на компоненты, работающие в пространстве пользователя; Существенное улучшение поддержки конфигураций высокой доступности на основе системы Remus, позволяющей организовать синхронизацию виртуальных машин на разных серверах и обеспечить горячее резервное копирование Xen-окружений. Обеспечение высокой надежности осуществляется за счёт поддержания на запасном сервере полностью синхронизированной копии виртуального окружения. В случае сбоя, при переключении на резервный сервер сохраняются все запущенные процессы, открытые файлы и TCP-сессии. В версии 4.5 обеспечена интеграция Remus с инструментарием XL, улучшена поддержка DRDB, повышена стабильность работы, включена поддержка механизма COLO (coarse grain lock-stepping); Улучшения, специфичные для архитектуры x86: Возможность мягкой привязки физических процессоров к виртуальным. Например, теперь возможно определить какому набору физических CPU следует отдавать предпочтение при работе vCPU, и Xen при возможности будет следовать заданному правилу; Снижены задержки при обработке прерываний в процессе проброса PCI-устройств на крупных серверах, содержащих более двух процессров; Поддержка прикрепления к гостевой системе нескольких обработчиков ввода/вывода (IO-REQ), что позволяет привязать к одному домену несколько экземпляров QEMU и ускорить работу конфигураций с несколькими бэкендами (QEMU), выполняющими разные виды эмуляции; Реализация таймера событий высокой точности (HPET) изменена для более быстрого и точного предоставления значений; Значительно ускорен процесс загрузки на системах с большим объёмом памяти (1 Тб и выше) за счёт обеспечения чистки памяти в параллельном потоке; Расширение средств интроспекции гостевых систем с использованием аппаратных механизмов виртуализации Intel EPT иAMD RVI с целью контроля обращения к критичным с точки зрения безопасности областям памяти и блокирования возможных атак; Поддержка технологии Intel Resource Director, предоставляемой процессорами Intel Haswell и позволяющая осуществлять мониторинг наполнения кэша (Server Cache QoS Monitoring); Задействование vAPIC-расширений, доступных в процессорах Intel SandyBridge, для оптимизации работы гостевых систем, работающих в режиме PVHVM, за счёт оптимизации ввода/вывода и сокращения задержек в обработке прерываний; Для AMD Kabini, Kaveri и более новых процессоров добавлена поддержка расширений DBE (Data Breakpoint Extensions) и маскировки MSR; Улучшения, специфичные для архитектуры ARM: Использование IOMMU (SMMUv1) для изоляции между гостевыми системами; Поддержка выделения до 1 Тб памяти для гостевой системы; Поддержка загрузки в режиме UEFI; Поддержка контроллера прерываний GIC v3 (Generic Interrupt Controller), в том числе с поддержкой Message Signaled Interrupts (MSI) и более 8 CPU на гостевую систему; Поддержка технологии Super Pages; Поддержка проброса MMIO-регионов для PCI-устройств. Полноценной поддержки проброса PCI пока нет, но у учётом того, что в ARM-платах обычно не используются полноценные PCI-устройства, для организации доступа к сетевым устройствам и хранилищам достаточно проброса MMIO-регионов; Поддержка интерфейса управления питанием PSCI 0.2 (Power State Coordination Interface); Обеспечена поддержка плат: AMD Seattle, Broadcom 7445D0 A15, Midway (Calxeda), Vexpress (ARM Ltd.), OMAP5, DRA7 (Texas Instrument), Exynos5250 (Exynos 5 Dual), Odroid-Xu, Exynos 5420 (Exynos Octa) (Samsung), SunXI (AllWinner aka A20/A21), CubieTruck, CubieBoard, Mustang (Applied Micro-X-Gene, ARMv8 SoC), McDivitt/HP Moonshot (Applied Micro X-Gene); Улучшение инструментария: Поддержка инфраструктуры JSON в Libxenlight (libxl), что позволяет использовать формат JSON при обмене данными с другими инструментариями; В Libxenlight (libxl) добавлена поддержка отслеживания конфигурации домена; Поддержка Systemd; Поддержка идентификаторов генерации виртуальной машины (VM Generation ID), позволяющих обеспечить миграцию гостевых систем с контроллерами домена на базе Windows 2012 Server и более новых выпусков; В libvirt добавлена поддержка миграции окружений, проброса PCI/SR-IOV, PV-консоли, флагов PARAVIRT и ACPI. Улучшены средства преобразования файлов конфигураций между xl и libvirt domXML. Xen 4.5 поставляется с QEMU 2.0 и SeaBIOS 1.7.5.

© OpenNet