Виртуализация | Xen: паравиртуализация

Опубликовано: 9 Июля, 2021

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

Рисунок - Архитектура Xen и управление гостевой ОС

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

Кроме того, определенное управляющее программное обеспечение, которое имеет привилегированный доступ к хосту и обрабатывает все остальные гостевые ОС, работает в специальном домене, называемом Домен 0. Это единственный домен, загружаемый после полной загрузки диспетчера виртуальных машин, и размещает HTTP-сервер, который доставляет запросы на создание, настройку и завершение виртуальных машин. Этот компонент устанавливает основную версию диспетчера общих виртуальных машин (VMM), который является необходимой частью системы облачных вычислений, предоставляющей решение «инфраструктура как услуга» (IaaS).

Различные реализации x86 поддерживают четыре различных уровня безопасности, называемых кольцами, т. Е.

 Кольцо 0,
Кольцо 1,
Кольцо 2,
Кольцо 3

Здесь кольцо 0 представляет уровень с наибольшими привилегиями, а кольцо 3 представляет уровень с наименьшими привилегиями. Почти все часто используемые операционные системы, за исключением OS / 2, используют только два уровня, т.е. кольцо 0 для кода ядра и кольцо 3 для пользовательского приложения и непривилегированной программы ОС. Это дает Xen возможность реализовать паравиртуализацию. Это позволяет Xen без изменений управлять двоичным интерфейсом приложения (ABI), что позволяет легко перейти к виртуализированным решениям Xen с точки зрения приложения.

Из-за структуры набора инструкций x86 некоторые инструкции позволяют выполнять код в кольце 3, чтобы переключиться на кольцо 0 (режим ядра). Такая операция выполняется на аппаратном уровне, и, следовательно, между виртуализированной средой она приведет к TRAP или тихой ошибке, что предотвратит общую работу гостевой ОС, поскольку она теперь работает в кольце 1.

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

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

Фактически, их невозможно изменить для безопасной работы в кольце 1, поскольку их кодовая база недоступна, и одновременно основное оборудование не поддерживает их выполнение в более привилегированном режиме, чем в кольце 0. ОС с открытым исходным кодом, например Linux можно просто модифицировать, поскольку его код находится в открытом доступе, а Xen обеспечивает полную поддержку виртуализации, в то время как компоненты Windows в основном несовместимы с Xen, если не доступна виртуализация с аппаратной поддержкой. Поскольку новые выпуски ОС предназначены для виртуализации, проблема решается, и новое оборудование поддерживает виртуализацию x86.

Плюсы:

  • a) Сервер Xen разработан на основе гипервизора Xen с открытым исходным кодом и использует комбинацию аппаратной виртуализации и паравиртуализации. Такое тесное сотрудничество между операционной системой и виртуализированной платформой позволяет системе разрабатывать более легкий и гибкий гипервизор, который оптимизировал их функциональные возможности.
  • б) Xen поддерживает эффективную балансировку большой рабочей нагрузки, которая захватывает ЦП, память, ввод-вывод данных на диск и сетевой ввод-вывод данных. Он предлагает два режима для обработки этой рабочей нагрузки: повышение производительности и обработка плотности данных.
  • c) Он также оснащен специальной функцией хранения, которую мы называем Citrix Storage Link. Что позволяет системному администратору использовать возможности массивов от компаний-гигантов - Hp, Netapp, Dell Equal logic и т. Д.
  • г) Он также поддерживает несколько процессоров, перенос с одной машины на другую, физический сервер на виртуальную машину или виртуальный сервер в инструменты преобразования виртуальной машины, централизованное многосерверное управление, мониторинг производительности в реальном времени через окно и Linux.

Минусы:

  • а) Xen более надежен по сравнению с Linux, чем с окнами.
  • б) Xen полагается на сторонний компонент для управления такими ресурсами, как драйверы, хранилище, резервное копирование, восстановление и отказоустойчивость.
  • c) Со временем развертывание Xen может стать бременем для вашей ядерной системы Linux.
  • г) Xen иногда может вызвать увеличение нагрузки на ваши ресурсы из-за высокой скорости ввода-вывода и может вызвать нехватку других виртуальных машин.

Вниманию читателя! Не прекращайте учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.