Хоть данная технология и зародилась в начале 1960-х годов, будучи ответом на проблему, связанную с экономией вычислительных ресурсов ЭВМ того времени, она всё ещё не потеряла в актуальности. Важность виртуализации заключается в том, что данная технология позволяет улучшить эффективность, отказоустойчивость, гибкость и масштабируемость вычислительных мощностей, при этом сократив затраты, что будет актуально в IT сфере всегда. Область применения виртуализации довольно обширна, начиная от простого использования для запуска различных операционных систем и программных продуктов, предназначенных для них, без необходимости смены аппаратуры или операционной системы, заканчивая разделением больших систем на более мелкие части, что позволяет более эффективно использовать те же возможности сервера. Дата-центры и облака могут активно использовать виртуализацию для достижения актуальности, прописанной выше. Контейнеры также основаны на подходе виртуализации, они позволяют запускать приложения в изолированной среде, но в отличие от виртуальных машин контейнеры – это всего лишь отдельные процессы, а не полностью независимые машины.

ГИПЕРВИЗОРЫ

Гипервизор – это программное обеспечение, позволяющее создавать и запускать виртуальные машины. Существуют три типа архитектуры гипервизоров:

Гипервизоры первого типа (native). Запускается напрямую на аппаратной части компьютера. Данный гипервизор контролирует все виртуальные машины и распределение вычислительных ресурсов. Примеры: VMWare ESXi, KVM, XEN, Hyper-V.

Гипервизоры второго типа (hosted). Работает как программное обеспечение поверх операционной системы. Примеры: Oracle VM VirtualBox, VMWare Workstation, KVM.

Гипервизоры гибридного типа (hybrid). Сочетает в себе характеристики первого и второго типа. Выполняется поверх базовой операционной системы компьютера. Примеры: Xen, Hyper-V.
{{image name="hypervisors.png" alt="" title="" }}

MICROSOFT HYPER-V

  • Производитель – Microsoft.

  • Бесплатный продукт.

  • Можно использовать API для создания и администрирования виртуальных машин. В Windows встроены API-интерфейсы HCS и WMI. WMI в свою очередь предназначен для управления локальными серверами, когда же HCS является более низкоуровневым и предназначен для управления отдельным процессом виртуальной машины.

Плюсы:

  • Простота в использовании.

  • Возможность переносить работающий сервер с одного узла на другой.

  • Удалённое подключение через консоль.

  • Установка виртуальных рабочих столов.

Минусы:

  • Нет поддержки ПО от других разработчиков.

Утилиты для управления:

Hyper-V Manager. Устанавливается через Windows Features, соответственно официальная утилита от Microsoft.

Утилиты для соединения с виртуальными машинами

VMConnect

Использование данной технологии можно встретить в различных облачных продуктах. Например: ArubaCloud, DataLine и др.

VMWARE ESXI

  • Производитель – VMWare.

  • Бесплатный продукт. Есть платные версии с улучшенным функционалом.

  • Можно использовать REST API для создания и управления виртуальными машинами. API доступно только для платных продуктов.

Плюсы:

  • Простота в использовании.

  • Высокая плотность вычислительных машин.

  • Довольно широкий функционал (в платных версиях).

Минусы:

  • Ограниченность бесплатной версии.

  • Плата за каждый сервер, где используется данный гипервизор отдельно.

Утилиты для управления:

vSphere Client and vSphere Web Client.

Утилиты для соединения с виртуальными машинами:

Встроены в vSphere клиенты.

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

KVM

  • Производитель – Red Hat.

  • Бесплатный продукт.

  • API представляет из себя набор системных вызовов для работы с виртуальными машинами. Среди них глобальные системные вызовы, вызовы виртуальных машин, вызовы CPU, вызовы отдельных устройств.

Плюсы:

  • Простота в администрировании при помощи различного ПО.

  • Довольно быстр.

  • Широкая поддержка гостевых ОС.

  • Ресурсы распределяются между машинами независимо.

Минусы:

  • Сложность в настройке данного гипервизора.

Утилиты для управления:

VMmanager KVM (платный).

Virt-Manager и др.

Утилиты для соединения с виртуальными машинами

VNC

Хоть KVM и относительно молодая технология, чем тот же XEN, но она уже активно поддерживается такими гигантами как HP и IBM.

QEMU

  • Разработчик – Фабрис Беллар.

  • Бесплатный продукт.

  • Работа с QEMU через командную строку. Как такового отдельного API нет.

Плюсы:

  • Открытый исходный код.

  • Стабильный и простой в настройке.

Минусы:

  • Сложен в освоении (не очень подходит для новичков).

  • Работает в паре с KVM (при виртуализации).

  • Довольно медленный при программной эмуляции.

Утилиты для управления:

Qtemu

Утилиты для соединения с виртуальными машинами

VNC

Virtual Box использует QEMU в небольшой части своего функционала

OVIRT

  • Разработчик – Red Hat.

  • Бесплатный продукт, основанный на библиотеке KVM.

  • Присутствует REST API, используется библиотека libvirt.

Плюсы:

  • Возможность управлять виртуальными машинами через веб-интерфейс.

  • Легкость в добавлении и удалении виртуальных машин.

  • Автономное управление виртуальными машинами и хостами.

Минусы:

  • Сложен в освоении.

  • Хранение основано на сети.

Утилиты для управления:

oVirt VM Portal

Утилиты для соединения с виртуальными машинами

oVirt Remote Viewer

Недавно о поддержке проекта сообщили такие компании как CISCO, IBM, INTEL и др.

OPENVZ

  • Разработчик – Parallels.

  • Бесплатный продукт.

  • Виртуализация на уровне операционной системы, с поддержкой только linux гостевых систем.

  • Для интеграции возможно использовать LibVirt, либо OpenStack API который поддерживает работу с OpenVZ.

Плюсы:

  • Относительно малое использование памяти в сравнении с другими технологиями.

  • Легко отслеживать.

  • Контейнеры имеют лучшую производительность по CPU.

Минусы:

  • Есть ограничения по использованию ОС.

Утилиты для управления:

OpenVZ Web Panel.

Утилиты для соединения с виртуальными машинами:

OpenVZ guest tools.

Больше всего OpenVZ используют для создания контейнеров, используя инструмент Virtuozzo.

XEN

  • Разработчик – The Xen Project.

  • Бесплатный продукт.

  • Присутствует API в виде системных библиотек, Libvirt, XAPI, командной строки.

Плюсы:

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

  • Использует Citrix Storage Link как уникальный способ хранения данных.

  • Поддержка многоядерных процессоров.

Минусы:

  • Относительно медленный, особенно при высокой частоте запросов.

  • Интеграция XEN может быть довольно проблематичной.

Утилиты для управления:

Citrix XEN Center.

Утилиты для соединения с виртуальными машинами:

Citrix VM tools.

Citrix и Oracle использует виртуализацию от XEN в своих продуктах.