Выпуск системы виртуализации 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 механизмы аппаратной виртуализации для обеспечения более строгой изоляции виртуальных окружений. Экспериментальная поддержка планирования заданий в режиме реального времени, что позволяет организовать выполнение в виртуальных окружениях задач, работающих в режиме реального времени, а также обеспечить работу операционных систем реального времени внутри гостевых виртуальных машин. Новый планировщик 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