Введение

программное обеспечение виртуализации, гипервизор 1 типа

Архитектура программного обеспечения

Xen Project работает в более привилегированном состоянии процессора, чем любое другое программное обеспечение на машине, за исключением прошивки. В обязанности гипервизора входят управление памятью и планирование процессора всех виртуальных машин ("доменов"), а также запуск наиболее привилегированного домена ("dom0") – единственной виртуальной машины, которая по умолчанию имеет прямой доступ к аппаратному обеспечению. Из dom0 можно управлять гипервизором и запускать непривилегированные домены ("domU"). Домен dom0 обычно представляет собой версию Linux или BSD. Пользовательские домены могут быть как традиционными операционными системами, такими как Microsoft Windows, в которых привилегированные инструкции обеспечиваются инструкциями аппаратной виртуализации (если хост-процессор поддерживает виртуализацию x86, например, Intel VT-x и AMD-V), так и паравиртуализированными операционными системами, которые знают, что работают внутри виртуальной машины, и поэтому выполняют гипервызовы напрямую, вместо выдачи привилегированных инструкций. Проект Xen загружается с загрузчика, такого как GNU GRUB, а затем обычно загружает паравиртуализированную операционную систему хоста в домен хоста (dom0).

История

Xen возник как исследовательский проект в Кембриджском университете под руководством Иэна Пратта, старшего преподавателя в Компьютерной лаборатории, и его аспиранта Кира Фрейзера. Первый публичный релиз Xen состоялся в 2003 году, а версия 1.0 была выпущена в 2004 году. Вскоре после этого Пратт и Фрейзер вместе с другими выпускниками Кембриджа, включая Саймона Кросби и основателя и генерального директора Ника Гольта, создали компанию XenSource Inc. с целью превратить Xen в конкурентоспособный продукт для корпоративного сектора. Для поддержки встраиваемых систем, таких как смартфоны и IoT, с ограниченными аппаратными вычислительными ресурсами, архитектура Secure Xen ARM на базе процессора ARM была продемонстрирована на саммите Xen Summit 17 апреля 2007 года, проходившем в IBM TJ Watson. Первый публичный релиз исходного кода Secure Xen ARM был представлен на Xen Summit 24 июня 2008 года Сангом Бумом Сухом, выпускником Кембриджа, в Samsung Electronics. 22 октября 2007 года Citrix Systems завершила приобретение XenSource, и проект Xen перешел на домен xen.org. Этот переход начался некоторое время ранее и сделал публичным существование Консультативного совета проекта Xen (Xen AB), в состав которого входили представители Citrix, IBM, Intel, Hewlett Packard, Novell, Red Hat, Sun Microsystems и Oracle. Консультативный совет Xen консультирует руководителя проекта Xen и отвечает за товарный знак Xen, который Citrix свободно лицензировала всем поставщикам и проектам, реализующим гипервизор Xen. Citrix также использовала бренд Xen для некоторых проприетарных продуктов, не связанных с Xen, включая XenApp и XenDesktop. 15 апреля 2013 года было объявлено о переходе проекта Xen под эгиду Linux Foundation в качестве совместного проекта. Linux Foundation запустила новый товарный знак для "Xen Project", чтобы отделить проект от любого коммерческого использования старого товарного знака "Xen". В рамках передачи был запущен новый веб-сайт сообщества xenproject.org. Членами проекта на момент объявления были: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung и Verizon. Сам проект Xen является самоуправляемым. Начиная с версии 3.0 ядра Linux, поддержка Xen для dom0 и domU реализована в основном ядре.

История релизов

Версия Дата выпуска Примечания 1.0 2003 10 02 2.0 2004 11 05 Живая миграция PV-гостей. 3.0 2005 12 05 Поддержка технологии Intel VT для HVM-гостей. Поддержка архитектуры Intel IA 64. В версиях до 3.0.4 также добавлено: Поддержка расширений виртуализации AMD SVM. Поддержка архитектуры PowerPC. Поддержка графического фреймбуфера для паравиртуализированных гостей. 3.1 2007 05 18 Живая миграция для HVM-гостей, XenAPI. 3.2 2008 01 17 PCI passthrough и режим ожидания ACPI S3 для хост-системы. 3.3 2008 08 24 Улучшения для PCI passthrough и управления питанием. Исходный код гипервизора Xen ARM выпущен для поддержки CPU ARM. 3.4 2009 05 18 Содержит первую версию "Xen Client Initiative", кратко XCI. 4.0 2010 04 07 Позволяет использовать ядро Linux dom0, реализованное с помощью PVOps. Для этой цели было модифицировано ядро Linux версии 2.6.31, поскольку официальное ядро Linux фактически не поддерживает использование в качестве ядра dom0 (дата июля 2010 года). 4.1 2011 03 25 Некоторые улучшения: поддержка более 255 процессоров, повышенная стабильность. Ядро Linux v2.6.37 и более поздние версии поддерживают использование в качестве ядра dom0. 4.2 2012 09 08 XL стал набором инструментов по умолчанию. Поддержка до 4095 хост-процессоров и до 512 гостевых процессоров. 4.3 2013 07 09 Экспериментальная поддержка ARM. Планирование с учетом NUMA. Поддержка Open vSwitch. 4.4 2014 03 10 Надёжная поддержка libvirt для libxl, новый масштабируемый интерфейс канала событий, ABI гипервизора для ARM объявлен стабильным, вложенная виртуализация на аппаратном обеспечении Intel. 4.5 2015 01 17 С 43 основными новыми функциями, 4.5 включает в себя наибольшее количество обновлений за всю историю проекта. Улучшены: безопасность, живая миграция, производительность и рабочая нагрузка. Аппаратная поддержка (ARM и Intel Xeon). 4.8.1 12 апреля 2017 4.9 28 июня 2017 Xen Project 4.9 Release Notes 4.10 12 декабря 2017 Xen Project 4.10 Release Notes 4.11 10 июля 2018 Xen Project 4.11 Release Notes 4.12 2 апреля 2019 Xen Project 4.12 Release Notes 4.13 18 декабря 2019 Xen Project 4.13 Release Notes 4.14 24 июля 2020 Xen Project 4.14 Release Notes 4.15 8 апреля 2021 Xen Project 4.15 Release Notes 4.16 2 декабря 2021 Xen Project 4.16 Release Notes 4.17 14 декабря 2022 Xen Project 4.17 Release Notes 4.18 23 ноября 2023 Xen Project 4.18 Release Notes

Особенности

Администраторы могут выполнять "живую миграцию" виртуальных машин Xen между физическими хостами по локальной сети без потери доступности. В ходе этой процедуры локальная сеть итеративно копирует память виртуальной машины на целевой хост, не останавливая её работу. Процесс требует кратковременной остановки продолжительностью около 60–300 мс для выполнения финальной синхронизации перед началом выполнения виртуальной машины на конечном хосте, создавая иллюзию бесшовной миграции. Аналогичная технология может использоваться для приостановки работающих виртуальных машин на диск, "замораживая" их состояние для последующего возобновления. Xen может масштабироваться до 4095 физических процессоров, 256 VCPUs на гостевую HVM-машину, 512 VCPUs на гостевую PV-машину, 16 ТБ оперативной памяти на хост и до 1 ТБ оперативной памяти на гостевую HVM-машину или 512 ГБ оперативной памяти на гостевую PV-машину.