Виртуализация XEN

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

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

На рисунке 1 показана система с работающими виртуальными машинами Xen.

Рисунок 1. Архитектура Xen
Архитектура Xen  

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

 

Функциональные возможности

Ниже приведены ключевые концепции архитектуры Xen.

  • Полная виртуализация.
  • Xen может исполнять несколько гостевых ОС, каждую на своей виртуальной машине.
  • Вместо драйвера, большинство интересных вещей происходит в xend, демоне Xen.

Полная виртуализация

Большинство гипервизоров основаны на полной виртуализации, что означает, что они полностью эмулируют все аппаратные устройства для виртуальных машин. Гостевые операционные системы не требуют никакой модификации и ведут себя так, будто они имеют эксклюзивный доступ ко всей системе.

Паравиртуализация

Паравиртуализация ― это метод виртуализации, который предоставляет виртуальным машинам программный интерфейс, подобный, но не идентичный базовым аппаратным средствам. Задачей этого модифицированного интерфейса является сокращение времени, затрачиваемого гостевой операционной системой на выполнение операций, которые в виртуальной среде выполнить значительно труднее, чем в невиртуализированной.

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

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

Внесение изменений в операционную систему необходимо для того, чтобы:

  • Xen мог заменить операционную систему в качестве наиболее привилегированной программы;
  • Xen мог использовать более эффективные интерфейсы (например, виртуальные блочные устройства и виртуальные сетевые интерфейсы) для эмуляции устройств — это повышает производительность.

Xen может исполнять несколько гостевых ОС, каждую на своей виртуальной машине

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

Domain 0 – это домен управления, который несет ответственность за управление системой. Он решает такие задачи, как создание дополнительных доменов (или виртуальных машин), управление виртуальными устройствами для каждой виртуальной машины, приостановка виртуальных машин, возобновление работы виртуальных машин и перенос виртуальных машин. Domain 0 исполняет гостевую операционную систему и отвечает за устройства.

Вместо драйвера, большинство интересных вещей происходит в демоне Xen

Демон Xen, xend, ― это программа на языке Python, которая запускается в dom0. Это центральный пункт управления виртуальными ресурсами всех виртуальных машин, работающих на гипервизоре Xen. Большинство команд анализа, проверки и планирования решается в пространстве пользователя Xend, а не в драйвере.

IBM поддерживает версию Xen для SUSE Linux Enterprise Edition (SLES) 10, которая обеспечивает следующую конфигурацию:

  • четыре виртуальных машины на каждый процессор и до 64 виртуальных машин на одну физическую систему;
  • гостевые операционные системы SLES 10 (только паравиртуализированные).

Развертывание виртуализации

Для развертывания виртуализации на базе Xen:

  • установите Xen в систему;
  • создайте и настройте виртуальные машины (в том числе гостевую операционную систему).

Установите программное обеспечение Xen, используя один из следующих методов:

  • интерактивная установка: используйте эту процедуру для установки непосредственно на выделенную виртуальную машину на сервере Xen. В процессе установки эта специальная виртуальная машина называется клиентским компьютером;
  • установка с консоли CommCell: используйте эту процедуру для дистанционной установки на выделенную виртуальную машину на сервере Xen.

Управление виртуальными машинами

Существует несколько менеджеров виртуальных машин.

  • Менеджеры с открытым исходным кодом:
    • OpenXenManager, клон XenServer XenCenter от Citrix с открытым исходным кодом, управляет как XCP, так и Citrix XenServer;
    • Xen Cloud Control System (XCCS) ― легкий пакет клиентской части замечательной системы облачных вычислений Xen Cloud Platform;
    • Zentific, Web-интерфейс для эффективного управления виртуальными машинами, работающими на гипервизоре Xen.
  • Коммерческие менеджеры:
    • Convirture: ConVirt ― это централизованное решение, которое позволяет управлять всем жизненным циклом установки Xen;
    • Citrix XenCenter — графический пользовательский интерфейс управления Citrix XenServer и XCP для Windows;
    • Versiera ― Web-технология, предназначенная для безопасного управления и контроля как в облачных средах, так и на предприятии с поддержкой Linux, FreeBSD, OpenBSD, NetBSD, OS X, Windows, Solaris, OpenWRT и DD-WRT.

Выбор Xen

Доводы в пользу Xen:

  • сервер Xen построен на гипервизоре Xen с открытым исходным кодом и использует комбинацию паравиртуализации и виртуализации с аппаратной поддержкой. Такое взаимодействие между ОС и платформой виртуализации позволило создать простой гипервизор, который обеспечивает высокую оптимизацию производительности;
  • Xen обеспечивает усовершенствованное выравнивание нагрузки, охватывая процессор, память, дисковые операции ввода/вывода и сетевые данные ввода/вывода, и имеет два режима оптимизации: производительности и плотности;
  • сервер Xen использует преимущество уникальной интеграции системы хранения данных Citrix Storage Link. С ее помощью администратор может непосредственно использовать возможности дисковых массивов таких компаний, как HP, Dell Equal Logic, NetApp, EMC и другие;
  • сервер Xen поддерживает многоядерные процессоры, динамическую миграцию, преобразование физического сервера в виртуальную машину (P2V) и инструменты преобразования между виртуальными машинами (V2V), централизованное управление многосерверной средой, мониторинг производительности в режиме реального времени и высокую производительность для Windows и Linux.

Доводы против Xen:

  • Xen занимает относительно большой объем памяти и полагается на Linux в dom0;
  • Xen опирается на решения сторонних производителей драйверов устройств, системы хранения данных, резервного копирования и восстановления, обеспечения отказоустойчивости;
  • Xen плохо работает в системах с высокоскоростным вводом/выводом или в ситуациях, когда ВМ «высасывает» ресурсы и обирает другие виртуальные машины;
  • интеграция Xen может оказаться проблематичной; со временем он может отбирать много ресурсов у ядра Linux;
  • в XenServer 5 отсутствует поддержка объединения каналов виртуальных локальных сетей (VLAN) 802.1Q; что касается безопасности, то он не обеспечивает интеграции служб каталогов, управление доступом на основе ролей и регистрацию/аудит или административные действия.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *