Хоть данная технология и зародилась в начале 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 в своих продуктах.