Xen под управлением NetBSD и трех дистрибутивов Linux | |
Первоначальный автор (ы) | Кейр Фрейзер, Стивен Хэнд, Ян Пратт, Компьютерная лаборатория Кембриджского университета |
---|---|
Разработчик (и) | Linux Foundation. Intel |
Первоначальный выпуск | 2003 (2003) |
Стабильный выпуск | 4.14.0 / 23 июля 2020 г.; 3 месяца назад (23.07.2020) |
Репозиторий | |
Написано в | C |
Тип | Гипервизор |
Лицензия | GPLv2 |
Веб-сайт | xenproject.org |
Xen (произносится как ) виртуальная машина типа 1 , предоставляющая услуги, которые позволяют нескольким компьютерам операционным системам работать на одном и том же компьютерном оборудовании одновременно. Первоначально он был разработан компьютерной лабораторией Кембриджского университета, а сейчас разрабатывается Linux Foundation при поддержке Intel.
. Сообщество проекта Xen разрабатывает и поддерживает Xen Проект как бесплатное программное обеспечение с открытым исходным кодом в соответствии с требованиями Стандартной общественной лицензии GNU (GPL), версия 2. В настоящее время проект Xen доступен для 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 в конкурентоспособный корпоративный продукт.
Проект Xen с открытым исходным кодом продолжал поддерживаться XenSource, а затем Citrix после приобретения XenSource в октябре 2007 года. Эта организация поддерживает разработку проекта бесплатного программного обеспечения, а также продает корпоративные версии программное обеспечение.
Для поддержки встраиваемых систем, таких как смартфон / Интернет вещей, с относительно ограниченными аппаратными вычислительными ресурсами, архитектура 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 <35.>, 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 является самоуправляемым.
Версия | Дата выпуска | Примечания |
---|---|---|
1.0 | 2 октября 2003 г. | |
2.0 | 5 ноября 2004 г. | Живая миграция гостей PV. |
3.0 | 5 декабря 2005 г. |
В выпусках до 3.0.4 также добавлено:
|
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 |
Начиная с версии 3.0 ядра Linux, поддержка Xen для dom0 и domU существует в основном ядре.
услуги Интернет-хостинга Компании используют гипервизоры для предоставления виртуальных частных серверов. Amazon EC2 (с августа 2006 г.), IBM SoftLayer, Liquid Web, Fujitsu Global Cloud Platform, Linode, OrionVM и Rackspace Cloud используют Xen в качестве основного гипервизора виртуальных машин для своих продуктов.
Мониторы виртуальных машин (также известные как гипервизоры) также часто работают на мэйнфреймах и большие серверы под управлением IBM, HP и других систем. Виртуализация серверов может обеспечить такие преимущества, как:
Поддержка Xen динамической миграции виртуальных машин с одного хоста на другой позволяет балансировать рабочую нагрузку и избегать простоев.
Виртуализация также имеет преимущества при разработке (включая разработку операционных систем): запуск новой системы в качестве гостя позволяет избежать необходимости перезагружать физический компьютер при возникновении ошибки. Изолированные гостевые системы также могут помочь в исследованиях компьютерной безопасности, позволяя изучать эффекты некоторых вирусов или червей без возможности компрометации хост-системы.
Наконец, поставщики аппаратного обеспечения могут решить поставлять свое устройство с несколькими гостевыми системами, чтобы иметь возможность запускать различные части программного обеспечения, требующие разных операционных систем.
Xen предлагает пять подходов к запуску гостевой операционной системы:
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 также часто предлагают новые инструкции, разрешающие прямые вызовы паравиртуализированного гостя / драйвера в гипервизор, обычно используемые для I / O или другие операции, требующие высокой производительности. Это позволяет гостям 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 был перенесен на несколько семейств процессоров.
Xen может масштабироваться до 4095 физических процессоров, 256 VCPU на гостевую HVM, 512 VCPU на гостевую PV, 16 ТБ RAM на хост и до 1 ТБ RAM на гостевую HVM или 512 ГБ RAM на гостевую PV.
Xen может поставляться в специальной платформе виртуализации, такой как Citrix Hypervisor (ранее Citrix XenServer, а ранее XenSource XenEnterprise).
В качестве альтернативы Xen распространяется как дополнительная конфигурация многих стандартных операционных систем. Xen доступен и распространяется с:
Гостевые системы могут работать полностью виртуализированными (для чего требуется поддержка оборудования), паравиртуализированными (для чего требуется модифицированная гостевая операционная система) или полностью виртуализированными с паравиртуализированными драйверами (PVHVM). Большинство операционных систем, которые могут работать на ПК, могут работать как гость Xen HVM. Следующие системы могут работать как паравиртуализированные гостевые системы Xen:
Для обновленного списка, различающего поддержку PV и PVHVM, см. Поддержка DomU для Xen.
В Xen версии 3.0 появилась возможность запускать Microsoft Windows в качестве гостевой операционной системы без изменений, если процессор хост-машины поддерживает аппаратную виртуализацию, предоставляемую Intel VT- x (ранее под кодовым названием Vanderpool) или AMD-V (ранее под кодовым названием Pacifica).
Во время разработки Xen 1.x Microsoft Research вместе с группой операционных систем Кембриджского университета разработали перенос Windows XP на Xen - made возможно в рамках программы лицензирования для учебных заведений Microsoft. Условия этой лицензии не разрешают публикацию этого порта, хотя документация по этому опыту представлена в исходном документе Xen SOSP .
Джеймс Харпер и сообщество разработчиков ПО Xen начали разработка драйверов паравиртуализации под GPL для Windows. Они предоставляют интерфейсные драйверы для блочных и сетевых устройств Xen и позволяют значительно повысить производительность диска и сети для систем Windows, работающих в режиме HVM. Без этих драйверов весь дисковый и сетевой трафик должен обрабатываться через QEMU-DM. Впоследствии Citrix выпустила под лицензией BSD (и продолжает поддерживать) драйверы PV для Windows.
Сторонние разработчики создали ряд инструментов (известных как Xen Management Консоли) для облегчения общих задач администрирования хоста Xen, таких как настройка, запуск, мониторинг и остановка гостевых систем Xen. Примеры включают:
Гипервизор Xen защищен Стандартной общественной лицензией GNU, поэтому все эти версии содержат ядро бесплатного программного обеспечения с исходным кодом. Однако многие из них содержат проприетарные дополнения.
Коммерческая версия распространения | Дата выпуска коммерческой версии | Xen Projects версия | Дата коммерческого выпуска |
---|---|---|---|
Citrix XenServer 6.0 | 30.09.2011 | 4.1.1 | 26.09.2016 |
Citrix XenServer 6.1 | 28.09.2012 | 4.1.3 | 2016-09-30 |
Citrix XenServer 6.2 | 2013 -06-18 | 4.1.5 | 2018-06-26 |
Citrix XenServer 6.2 SP1 | 2013-12-16 | 4.1. 5 | 26.06.2018 |
Citrix XenServer 6.5 | 13.01.2015 | 4.4.1 | 26.06.2018 |
Citrix XenServer 6.5 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 | 01.08.2022 |
Citrix XenServer 7.4 | 27.02.2018 | 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 |
На Викискладе есть средства массовой информации, связанные с Xen. |