Релиз гипервизора Xen 4.7.0

После восьми месяцев разработки состоялся релиз свободного гипервизора Xen 4.7. По сравнению с прошлым выпуском в Xen 4.7 внесено 1622 изменения. В разработке нового выпуска приняли участие такие компании, как AMD, ARM, Bitdefender, Bosch, Broadcom, Citrix, Fujitsu, Huawei, Intel, Linaro, Netflix, NSA, Oracle, Red Hat и SUSE.

Ключевые изменения в Xen 4.7:

  • Возможность применения патчей на лету (Live Patching) без необходимости перезапуска гипервизора. Новая техника подходит для устранения примерно 90% уязвимостей в гипервизоре. Реализация включает в себя добавленный в гипервизор системный вызов LIVEPATCH_SYSCTL, утилиту xen-livepatch для загрузки патча и инструментарий для создания патчей (создается сборка гипервизора с исправлением и без, после чего на основе изменения создаёт я модуль, вносящий изменения в работающую систему);
  • Поддержка удаления отдельных функций гипервизора через изменение настроек в KCONFIG, что позволяет создавать минималистичные сборки ядра с урезанным гипервизором для применения на встраиваемых системах и устройствах интернета вещей (IoT) или для отключения в гипервизоре потенциально уязвимых подсистем;
  • Проведена оптимизация производительности и надёжности интерфейса интроспекции виртуальных машин (VMI, Virtual Machine Introspection), позволяющий задействовать аппаратные механизмы виртуализации Intel EPT и AMD RVI для контроля обращения к критичным с точки зрения безопасности областям памяти и блокирования возможных атак. На базе VMI разработан новый инструмент обеспечения безопасности Bitdefender Hypervisor Introspection, который вошёл в состав XenServer 7;
  • Представлены наработки по обеспечению перезапуска частей Dom0, вынесенных в отдельные окружения для избавления от единой точки отказа. Если демон xenstored, отвечающий за управление настройками гипервизора, может выполняться в отдельной виртуальной машине «xenstored stub domain» начиная с Xen 4.2, то в 4.7 процесс создания подобной виртуальной машины существенно упрощён и обеспечена возможность перезапуска xenstored без нарушения работы Dom0;
  • Добавлен новый интерфейс командной строки для управления устройствами PVUSB для гостевых систем. Поддерживается как бэкенд PVUSB, работающий на уровне ядра, так и вариант на базе QEMU;
  • Поддержка горячего подключения дисковых бэкендов QEMU и устройств USB к гостевым системам, работающим в режиме HVM, что позволяет подключать и извлекать накопители без перезапуска гостевой системы. Для HVM также реализована функция мягкой перезагрузки (Soft-reset);
  • Улучшена поддержка миграции виртуальных машин. Расширены возможности переноса окружений между хостами с разным аппаратным обеспечением. В состав интегрирован менеджер блокировок COLO (Coarse-grained Lock-stepping), позволяющий поднять производительность за счёт избавления от создания лишних слепков состояния (checkpoint). Отдельно развиваются дополнения COLO Block Replication и COLO Proxy, которые войдут в состав после их принятия проектом QEMU;
  • Обеспечена адаптация Xen для новых типов нагрузок и приложений. Снято ограничение на размер памяти паравиртуализированной гостевой системы (512 Гб ОЗУ), что в сочетании с оставшимся ограничением на 512 vCPU на VM даёт возможность применения Xen для создания систем обработки больших объёмов данных и запуска СУБД, держащих данные в ОЗУ;
  • Улучшена работа планировщика Credit2, который почти готов к промышленному применению. Добавлена возможность отправки команды для перегруппировки очередей выполняемых задач (runqueues) и балансировки нагрузки между ядрами CPU, отдельными процессорами и узлами NUMA. Возможности расширенной настройки позволяют реализовать более агрессивные схемы балансировки нагрузки, оптимальные для систем среднего размера (например, демонстрируется хорошая производительность при применении Hyper Threading). Для более крупных систем реализована поддержки закрепления CPU и vCPU (hard affinity);
  • Улучшена работа realtime-планировщика RTDS, предоставляющего гостевой системе гарантированные ресурсы CPU. В новом выпуске планировщик RTDS переведён с модели распределения квантов времени на событийно-ориентированную архитектуру, что снизило накладные расходы от работы планировщика, улучшило производительность на встраиваемых системах и повысило качество выполнения realtime-задач. Добавлена возможность определения настроек для отдельных vCPU;
  • Добавлена инфраструктура для организации блокировок чтения/записи в привязке к CPU, позволяющая повысить скорость выполнения интенсивных операций чтения. Например, переход на новые блокировки позволил увеличить пропускную способность передачи данных между виртуальными машинами с 15 до 48 gbit/s на двухпроцессорном сервере Haswell-EP;
  • Расширена поддержка систем на базе архитектуры ARM: Добавлена возможность загрузки на ARM-хостах с ACPI 6.0. Обеспечена совместимость с интерфейсом PSCI 1.0 (Power State Co-ordination Interface). Реализация vGIC-v3 (Virtual Generic Interrupt Controller version 3) приведена в соответствие с требованиями спецификации. Добавлена поддержка прямого получения данных о времени Wallclock через совместно используемую страницу памяти;
  • Задействованы новые возможности процессоров Intel Xeon: Добавлена поддержка механизма VT-d Posted Interrupts, предоставляющего средства аппаратного ускорения для виртуализации обработки прерываний. Добавлена поддержка технологии CDP (Code and Data Prioritization), позволяющей изолировать код и данные в совместно используемом кэше L3 для увеличения эффективности использования кэша в многопользовательских системах. Добавлена поддержка технологии VMX TSC Scaling, которая позволяет упростить миграцию между машинами с CPU, работающими на разной частоте. Добавлена поддержка механизма изоляции сетка Memory Protection Keys.

© OpenNet