Xen

редактировать
Гипервизор

Xen
Логотип гипервизора Xen black.svg
Xen под управлением NetBSD и трех дистрибутивов Linux 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 наборы инструкций.

Содержание
  • 1 Архитектура программного обеспечения
  • 2 История
    • 2.1 История выпусков Xen Проект (исходный проект)
    • 2.2 Xen в дистрибутивах Linux и восходящий поток Linux
    • 2.3 Использует
  • 3 Технология
    • 3.1 Типы виртуализации
      • 3.1.1 Паравиртуализация - модифицированные гости
      • 3.1.2 Аппаратное обеспечение -сопровождаемая виртуализация, позволяющая использовать немодифицированные гостевые системы
    • 3.2 Миграция виртуальных машин
    • 3.3 Целевые процессоры
    • 3.4 Масштабируемость
  • 4 хоста
  • 5 Гости
    • 5.1 Unix-подобные системы в качестве гостевых систем
    • 5.2 Майкрософт Виндоус систем в качестве гостевых систем
  • 6 Консоли управления Xen
  • 7 Коммерческие версии
    • 7.1 Обзор выпусков Xen Projects в коммерческих дистрибутивах
  • 8 См. также
  • 9 Ссылки
  • 10 Дополнительная литература
  • 11 Внешние ссылки
Архитектура программного обеспечения

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 является самоуправляемым.

История выпусков для Xen Project (восходящий проект)

ВерсияДата выпускаПримечания
1.02 октября 2003 г.
2.05 ноября 2004 г.Живая миграция гостей PV.
3.05 декабря 2005 г.

В выпусках до 3.0.4 также добавлено:

  • Поддержка расширений виртуализации AMD SVM.
  • Поддержка архитектуры PowerPC.
  • Поддержка графического буфера кадра для паравиртуализированных гостей.
3.118 мая 2007 г.Живая миграция для гостей HVM, XenAPI
3.217 января 2008 г.сквозной пропуск PCI и режим ожидания ACPI S3 для хост-системы.
3.324 августа 2008 г.Улучшения для сквозной передачи PCI и управления питанием. Исходный код гипервизора Xen ARM выпущен для поддержки ЦП ARM
3.418 мая 2009 г.Содержит первую версию «Инициативы клиента Xen», вскоре XCI.
4.07 апреля 2010 г.Дает возможность использовать ядро ​​Linux dom0, которое было реализовано с помощью PVOps. Для этой цели было модифицировано ядро ​​Linux версии 2.6.31, поскольку официальное ядро ​​Linux фактически не поддерживает использование в качестве ядра dom0 (дата июль 2010 г.).
4.125 марта 2011 г.Некоторые улучшения: Поддержка более 255 процессоров, повышенная стабильность. Ядро Linux v2.6.37 и последующие версии поддерживают использование в качестве ядра dom0.
4.28 сентября 2012 г.XL стал стеком инструментов по умолчанию. Поддержка до 4095 хост-процессоров и до 512 гостевых процессоров.
4.39 июля 2013 г.Экспериментальная поддержка ARM. Планирование с учетом NUMA. Поддержка Open vSwitch.
4.410 марта 2014 г.Надежная поддержка libvirt для libxl, новый интерфейс масштабируемого канала событий, гипервизор ABI для ARM объявлен стабильным, вложенная виртуализация на Intel аппаратное обеспечение.
4.517 января 2015 г.4.5 включает в себя 43 основных новых функции и большинство обновлений за всю историю проекта.
4.613 октября, 2015Нацелен на повышение качества кода, усиление защиты, включение устройств безопасности и предсказуемость цикла выпуска.
4.724 июня 2016 г.Улучшено: безопасность, живые миграции, производительность и рабочая нагрузка. Поддержка оборудования (ARM и Intel Xeon).
4.8.112 апреля 2017 г.
4.928 июня 2017 г.Примечания к выпуску Xen Project 4.9
4.1012 декабря 2017 г.Примечания к выпуску Xen Project 4.10
4.1110 июля 2018 г.Примечания к выпуску Xen Project 4.11
4.122 апреля 2019 г.Примечания к выпуску Xen Project 4.12
4.1318 декабря 2019 г.Примечания к выпуску Xen Project 4.13
4.1424 июля 2020 г.Примечания к выпуску Xen Project 4.14

Xen в дистрибутивах Linux и восходящей ветке Linux

Начиная с версии 3.0 ядра Linux, поддержка Xen для dom0 и domU существует в основном ядре.

Использует

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

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

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

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

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

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

Технологии

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

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

  • HVM (аппаратная виртуальная машина)
  • HVM с драйверами PV
  • PVHVM (паравиртуализация с полной аппаратной виртуализацией, т.е. HVM с драйверами PVHVM)
  • PVH (PV в контейнере HVM)
  • 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 также часто предлагают новые инструкции, разрешающие прямые вызовы паравиртуализированного гостя / драйвера в гипервизор, обычно используемые для 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 был перенесен на несколько семейств процессоров.

  • 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 может масштабироваться до 4095 физических процессоров, 256 VCPU на гостевую HVM, 512 VCPU на гостевую PV, 16 ТБ RAM на хост и до 1 ТБ RAM на гостевую HVM или 512 ГБ RAM на гостевую PV.

Хосты

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

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

  • Alpine Linux предлагает минимальную систему dom0 (Busybox, UClibc ), которую можно запускать со съемных носителей, таких как USB-накопители.
  • Arch Linux предоставляет необходимые пакеты с подробными инструкциями по установке на своей Wiki.
  • Debian GNU / 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: только 64-битные хосты поддерживается с версии 12.1;
  • Qubes OS использует Xen для изоляции приложений для более безопасного рабочего стола.
  • SUSE Linux Enterprise Server (начиная с версии 10);
  • Solaris (с 2013 года с Oracle VM Server для x86, ранее с Sun xVM );
  • Ubuntu (начиная с 12.04 "Precise Pangolin" ; также 8.04 "Hardy Heron", но без ядра с поддержкой dom0 в 8.10 "Intrepid Ibex" до 12.04.)
Гости

Unix-подобные системы как гости

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

Для обновленного списка, различающего поддержку PV и PVHVM, см. Поддержка DomU для Xen.

Системы Microsoft Windows в качестве гостевых систем

В 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

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

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

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

Обзор выпусков Xen Projects в коммерческих дистрибутивах

Обзор выпусков Citrix XenServer и связанных версий Xen Project
Коммерческая версия распространенияДата выпуска коммерческой версииXen Projects версияДата коммерческого выпуска
Citrix XenServer 6.030.09.20114.1.126.09.2016
Citrix XenServer 6.128.09.20124.1.32016-09-30
Citrix XenServer 6.22013 -06-184.1.52018-06-26
Citrix XenServer 6.2 SP12013-12-164.1. 526.06.2018
Citrix XenServer 6.513.01.20154.4.126.06.2018
Citrix XenServer 6.5 SP12015-05-124.4.12018-06-26
Citrix XenServer 7.02016 -05-244.6.12021-05-19
Citrix XenServer 7.12017-02-234.7.101.08.2022
Citrix XenServer 7.427.02.20184.7.42018-09-30
Citrix XenServer 7.52018-05-304.7.x2019-04-20
Citrix XenServer 7.62018-09-064.7.62019-07-06
См. Также
  • Бесплатная версия с открытым исходным кодом программный портал
Ссылки
Дополнительная литература
Внешние ссылки
На Викискладе есть средства массовой информации, связанные с Xen.
Последняя правка сделана 2021-06-22 07:19:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте