Ксен - Xen

Xen
Логотип гипервизора Xen black.svg
Xen screenshot.png
Xen работает NetBSD и три Linux дистрибутивов
Автор (ы) оригинала Кейр Фрейзер, Уильям Перкинс-младший, Стивен Хэнд, Ян Пратт , Компьютерная лаборатория Кембриджского университета
Разработчики) Linux Foundation
Intel
Первый выпуск 2003 г. ( 2003 )
Стабильный выпуск
4.15 / 8 апреля 2021 г . ; 6 месяцев назад ( 2021-04-08 )
Репозиторий
Написано в C
Тип Гипервизор
Лицензия GPLv2
Веб-сайт xenproject .org

Xen (произносится / г ɛ п / ) представляет собой 1- го типа гипервизор , предоставляя услуги , которые позволяют несколько компьютерной операционной системы , чтобы выполнить на том же компьютерной техники одновременно. Первоначально он был разработан компьютерной лабораторией Кембриджского университета, а в настоящее время разрабатывается Linux Foundation при поддержке Intel , Citrix , Arm Ltd , Huawei , AWS , Alibaba Cloud , AMD , Bitdefender и epam .

Сообщество Xen Project разрабатывает и поддерживает Xen Project как бесплатное программное обеспечение с открытым исходным кодом в соответствии с требованиями Стандартной общественной лицензии GNU (GPL) версии 2. В настоящее время Xen Project доступен для IA-32 , x86-64 и ARM. наборы инструкций .

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

Xen Project работает в более привилегированном состоянии ЦП, чем любое другое программное обеспечение на машине.

В обязанности гипервизора входит управление памятью и планирование ЦП всех виртуальных машин («доменов»), а также запуск самого привилегированного домена («dom0») - единственной виртуальной машины, которая по умолчанию имеет прямой доступ к оборудованию. С dom0 можно управлять гипервизором и запускать непривилегированные домены («domU»).

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

Xen Project загружается из загрузчика, такого как GNU GRUB , а затем обычно загружает паравиртуализированную операционную систему хоста в домен хоста (dom0).

История

Xen возникла как исследовательский проект в Кембриджском университете под руководством Ян Пратт , в доцентом в компьютерной лаборатории , и его аспирантка Кейр Фрейзер. Первый публичный выпуск Xen был выпущен в 2003 году, а за ним последовала версия 1.0 в 2004 году. Вскоре после этого Пратт и Фрейзер вместе с другими выпускниками Кембриджа, включая Саймона Кросби и генерального директора-основателя Ника Голта, создали XenSource Inc., чтобы превратить Xen в конкурентоспособный корпоративный продукт. .

Для поддержки встраиваемых систем, таких как смартфон / Интернет вещей с относительно ограниченными аппаратными вычислительными ресурсами, архитектура 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 2 октября 2003 г.
2.0 5 ноября 2004 г. Живая миграция PV гостей.
3.0 5 декабря 2005 г.

В релизах до 3.0.4 также добавлено:

  • Поддержка расширений виртуализации AMD SVM .
  • Поддержка архитектуры PowerPC .
  • Поддержка графического фреймбуфера для паравиртуализированных гостей.
3.1 18 мая 2007 г. Живая миграция для гостей HVM, XenAPI
3,2 17 января 2008 г. Сквозная передача PCI и режим ожидания ACPI S3 для хост-системы.
3.3 24 августа 2008 г. Улучшения для сквозной передачи PCI и управления питанием. Исходный код гипервизора Xen ARM выпущен для поддержки процессора ARM
3,4 18 мая 2009 г. Содержит первую версию «Инициативы клиентов Xen», вскоре XCI.
4.0 7 апреля 2010 г. Позволяет использовать ядро ​​Linux dom0, которое было реализовано с помощью PVOps. Для этой цели было изменено ядро ​​Linux версии 2.6.31, поскольку официальное ядро ​​Linux фактически не поддерживает использование в качестве ядра dom0 (дата июль 2010 г.).
4.1 25 марта 2011 г. Некоторые улучшения: Поддержка более 255 процессоров, лучшая стабильность. Ядро Linux v2.6.37 и более поздние версии поддерживают использование в качестве ядра dom0.
4.2 8 сентября 2012 г. XL стал набором инструментов по умолчанию. Поддержка до 4095 хост-процессоров и до 512 гостевых процессоров.
4.3 9 июля 2013 г. Экспериментальная поддержка ARM. Планирование с учетом NUMA. Поддержка Open vSwitch .
4.4 10 марта 2014 г. Надежная поддержка libvirt для libxl, новый масштабируемый интерфейс канала событий, гипервизор ABI для ARM объявлен стабильным, вложенная виртуализация на оборудовании Intel.
4.5 17 января 2015 г. 4.5 включает в себя 43 основных новых функции и самое большое количество обновлений за всю историю проекта.
4.6 13 октября 2015 г. Основное внимание уделяется повышению качества кода, усилению безопасности, включению устройств безопасности и предсказуемости цикла выпуска.
4,7 24 июня 2016 г. Улучшено: безопасность, живые миграции, производительность и рабочая нагрузка. Аппаратная поддержка (ARM и Intel Xeon).
4.8.1 12 апреля 2017 г.
4.9 28 июня 2017 г. Примечания к выпуску Xen Project 4.9
4.10 12 декабря 2017 г. Примечания к выпуску Xen Project 4.10
4.11 10 июля 2018 г. Примечания к выпуску Xen Project 4.11
4,12 2 апреля 2019 г., Примечания к выпуску Xen Project 4.12
4,13 18 декабря 2019 г., Примечания к выпуску Xen Project 4.13
4,14 24 июля 2020 г. Примечания к выпуску Xen Project 4.14
4,15 8 апреля 2021 г. Примечания к выпуску Xen Project 4.15

Использует

Компании, предоставляющие услуги интернет-хостинга, используют гипервизоры для предоставления виртуальных частных серверов . Amazon EC2 (с августа 2006 г.), IBM SoftLayer , Liquid Web, Fujitsu Global Cloud Platform , Linode , OrionVM и Rackspace Cloud используют Xen в качестве основного гипервизора виртуальных машин для своих предложений продуктов.

Мониторы виртуальных машин (также известные как гипервизоры) также часто работают на мэйнфреймах и больших серверах под управлением IBM, HP и других систем. Виртуализация серверов может дать такие преимущества, как:

  • Консолидация, ведущая к увеличению использования
  • Быстрая инициализация
  • Динамическая отказоустойчивость от сбоев программного обеспечения (за счет быстрой начальной загрузки или перезагрузки)
  • Отказоустойчивость оборудования (за счет миграции виртуальной машины на другое оборудование)
  • Безопасное разделение виртуальных операционных систем
  • Поддержка устаревшего программного обеспечения, а также новых экземпляров ОС на одном компьютере

Поддержка Xen динамической миграции виртуальных машин с одного хоста на другой позволяет балансировать нагрузку и избегать простоев.

Виртуализация также имеет преимущества при разработке (включая разработку операционных систем): запуск новой системы в качестве гостя позволяет избежать перезагрузки физического компьютера при возникновении ошибки. Изолированные гостевые системы также могут помочь в исследованиях компьютерной безопасности, позволяя изучать эффекты некоторых вирусов или червей без возможности компрометации хост-системы.

Наконец, поставщики аппаратных устройств могут решить поставлять свои устройства с несколькими гостевыми системами, чтобы иметь возможность выполнять различные части программного обеспечения, требующие разных операционных систем.

Типы виртуализации

Xen предлагает пять подходов к запуску гостевой операционной системы:

  • HVM (аппаратная виртуальная машина)
  • HVM с фотоэлектрическими драйверами
  • PVHVM (паравиртуализация с полной аппаратной виртуализацией, т.е. HVM с драйверами PVHVM)
  • ПВХ (ПВ в контейнере ТВМ)
  • PV (паравиртуализация).

Xen предоставляет форму виртуализации, известную как паравиртуализация, при которой гости запускают модифицированную операционную систему. Гости модифицированы для использования специального ABI гипервызова вместо определенных архитектурных особенностей. Благодаря паравиртуализации Xen может достичь высокой производительности даже на своей хост-архитектуре (x86), которая имеет репутацию несовместимой с традиционными методами виртуализации. Xen может запускать паравиртуализированные гостевые системы («гости PV» в терминологии Xen) даже на процессорах без какой-либо явной поддержки виртуализации. Паравиртуализация позволяет избежать необходимости имитировать полный набор аппаратных и встроенных сервисов, что упрощает управление фотоэлектрической системой и снижает вероятность атаки потенциально злонамеренных гостей. На 32-битной платформе x86 код ядра хоста Xen работает в кольце 0 , а размещенные домены - в кольце 1 (ядро) и кольце 3 (приложения).

Процессоры, поддерживающие виртуализацию, позволяют запускать немодифицированные гостевые системы, включая проприетарные операционные системы (например, Microsoft Windows). Это называется аппаратной виртуализацией , однако в Xen это называется аппаратной виртуальной машиной (HVM). Расширения HVM предоставляют дополнительные режимы выполнения с явным различием между наиболее привилегированными режимами, используемыми гипервизором с доступом к реальному оборудованию (так называемый "корневой режим" в x86), и менее привилегированными режимами, используемыми гостевыми ядрами и приложениями с " аппаратный "доступ под полным контролем гипервизора (в x86, известный как" некорневой режим "; и корневой, и некорневой режим имеют кольца 0–3). И Intel, и AMD внесли изменения в Xen для использования соответствующих расширений архитектуры Intel VT-x и AMD-V. Расширения виртуализации ARM v7A и v8A использовались в Xen 4.3. Расширения HVM также часто предлагают новые инструкции, разрешающие прямые вызовы паравиртуализированного гостя / драйвера в гипервизор, которые обычно используются для ввода-вывода или других операций, требующих высокой производительности. Это позволяет гостям HVM с соответствующими небольшими изменениями получить многие преимущества производительности паравиртуализированного ввода-вывода. В текущих версиях Xen (до 4.2) только полностью виртуализированные гостевые системы HVM могут использовать аппаратные средства для нескольких независимых уровней защиты памяти и подкачки. В результате для некоторых рабочих нагрузок гостевые системы HVM с драйверами PV (также известные как PV-on-HVM или PVH) обеспечивают лучшую производительность, чем гостевые системы без PV. Xen HVM имеет эмуляцию устройства на основе проекта QEMU для обеспечения виртуализации ввода-вывода для виртуальных машин. Система эмулирует оборудование через пропатченный демон QEMU «диспетчер устройств» (qemu-dm), работающий как бэкэнд в dom0. Это означает, что виртуализированные машины видят эмулированную версию довольно простого ПК. В среде, критичной к производительности, диски PV-on-HVM и сетевые драйверы используются во время нормальной работы гостя, так что эмулируемое оборудование ПК в основном используется для загрузки.

Функции

Администраторы могут «вживую» переносить виртуальные машины Xen между физическими узлами в локальной сети без потери доступности. Во время этой процедуры LAN итеративно копирует память виртуальной машины в место назначения, не останавливая ее выполнение. Процесс требует остановки примерно на 60–300 мс для выполнения окончательной синхронизации до того, как виртуальная машина начнет работу в своем конечном пункте назначения, что создает иллюзию плавной миграции. Подобная технология может служить для приостановки работы виртуальных машин на диске, «замораживая» их рабочее состояние для возобновления позже.

Xen может масштабироваться до 4095 физических процессоров, 256 виртуальных ЦП на гостевую HVM, 512 виртуальных ЦП на гостевую PV, 16 ТБ ОЗУ на хост и до 1 ТБ ОЗУ на гостевую HVM или 512 ГБ ОЗУ на гостевую PV.

Доступность

Гипервизор Xen был перенесен на несколько семейств процессоров:

  • Intel: IA-32, IA-64 (до версии 4.2), x86-64
  • PowerPC: ранее поддерживался в рамках проекта XenPPC, больше не активен после Xen 3.2
  • ARM: ранее поддерживался проектом XenARM для более старых версий ARM без расширений виртуализации, таких как Cortex-A9. В настоящее время поддерживается с Xen 4.3 для более новых версий ARM с расширениями виртуализации, такими как Cortex-A15 .
  • MIPS : экспериментальный порт XLP832

Хосты

Xen может поставляться в специальной платформе виртуализации, такой как Citrix Hypervisor (ранее Citrix XenServer, а ранее XenSource XenEnterprise).

В качестве альтернативы Xen распространяется как дополнительная конфигурация многих стандартных операционных систем. Xen доступен и распространяется с:

  • Alpine Linux предлагает минимальную систему dom0 ( Busybox , UClibc ), которую можно запускать со съемных носителей, таких как USB-накопители.
  • Arch Linux предоставляет необходимые пакеты с подробными инструкциями по установке на своей вики.
  • Debian Linux (начиная с версии 4.0 "etch") и многие его производные;
  • FreeBSD 11 включает экспериментальную поддержку хостов.
  • В Gentoo есть необходимые пакеты для поддержки Xen, а также инструкции в их Wiki.
  • Mageia (начиная с версии 4);
  • NetBSD может работать как domU и dom0.
  • Распределения на основе OpenSolaris могут функционировать как dom0 и domU начиная с Nevada build 75 и новее.
  • openSUSE 10.x - 12.x: с 12.1 поддерживаются только 64-битные хосты;
  • Qubes OS использует Xen для изоляции приложений и повышения безопасности рабочего стола.
  • SUSE Linux Enterprise Server (начиная с версии 10);
  • Solaris (с 2013 года с Oracle VM Server для x86 , ранее с Sun xVM );
  • Ubuntu12.04 "Precise Pangolin" ; также 8.04 "Hardy Heron" , но без ядра с поддержкой dom0 в 8.10 "Intrepid Ibex" до 12.04.)

Гостей

Гостевые системы могут работать полностью виртуализированными (для чего требуется аппаратная поддержка), паравиртуализированными (для чего требуется модифицированная гостевая операционная система) или полностью виртуализированными с паравиртуализированными драйверами (PVHVM). Большинство операционных систем, которые могут работать на ПК, могут работать в качестве гостевой системы Xen HVM. Следующие системы могут работать как паравиртуализированные гости Xen:

В Xen версии 3.0 появилась возможность запускать Microsoft Windows в качестве гостевой операционной системы без изменений, если процессор хост-машины поддерживает аппаратную виртуализацию, предоставляемую Intel VT-x (ранее под кодовым названием Vanderpool) или AMD-V (ранее под кодовым названием Pacifica). Во время разработки Xen 1.x Microsoft Research вместе с группой операционных систем Кембриджского университета разработали перенос Windows XP на Xen, что стало возможным благодаря программе Microsoft Academic Licensing Program. Условия этой лицензии не разрешают публикацию этого порта, хотя документация по опыту содержится в исходном документе Xen SOSP . Джеймс Харпер и сообщество разработчиков ПО с открытым исходным кодом Xen приступили к разработке драйверов паравиртуализации бесплатного программного обеспечения для Windows. Они предоставляют интерфейсные драйверы для блочных и сетевых устройств Xen и позволяют значительно повысить производительность диска и сети для систем Windows, работающих в режиме HVM. Без этих драйверов весь дисковый и сетевой трафик должен обрабатываться через QEMU-DM. Впоследствии Citrix выпустила под лицензией BSD (и продолжает поддерживать) драйверы PV для Windows.

Управление

Сторонние разработчики создали ряд инструментов (известных как консоли управления Xen) для облегчения общих задач администрирования хоста Xen, таких как настройка, запуск, мониторинг и остановка гостевых систем Xen. Примеры включают:

  • Веб-интерфейс HyperVM
  • OpenNebula инструментарий управления облаком
  • В openSUSE YaST и virt-man предлагают графическое управление виртуальными машинами
  • OpenStack изначально поддерживает Xen в качестве цели гипервизора / вычислений.
  • Apache CloudStack также поддерживает Xen в качестве гипервизора.
  • Novell PlateSpin Orchestrate также управляет виртуальными машинами Xen для доставки Xen в SUSE Linux Enterprise Server.

Коммерческие версии

На гипервизор Xen распространяется стандартная общественная лицензия GNU, поэтому все эти версии содержат ядро ​​бесплатного программного обеспечения с исходным кодом. Однако многие из них содержат проприетарные дополнения.

Обзор выпусков Citrix XenServer и связанных версий Xen Project
Версия коммерческого распространения Дата выхода коммерческой версии Версия Xen Projects Дата коммерческого релиза EOL
Citrix XenServer 6.0 2011-09-30 4.1.1 2016-09-26
Citrix XenServer 6.1 2012-09-28 4.1.3 2016-09-30
Citrix XenServer 6.2 2013-06-18 4.1.5 2018-06-26
Citrix XenServer 6.2 с пакетом обновления 1 (SP1) 2013-12-16 4.1.5 2018-06-26
Citrix XenServer 6.5 2015-01-13 4.4.1 2018-06-26
Citrix XenServer 6.5 с пакетом обновления 1 (SP1) 2015-05-12 4.4.1 2018-06-26
Citrix XenServer 7.0 2016-05-24 4.6.1 2021-05-19
Citrix XenServer 7.1 2017-02-23 4.7.1 2022-08-01
Citrix XenServer 7.4 2018-02-27 4.7.4 2018-09-30
Citrix XenServer 7.5 2018-05-30 4.7.x 2019-04-20
Citrix XenServer 7.6 2018-09-06 4.7.6 2019-07-06

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки