Обзор гипервизоров

Введение

Ранее, в своей статье о виртуализации я писал, что такое гипервизор и система контейнеризации. В чем их различие. Какие типы гипервизоров существуют и какой продукт к какому типу относится. Пришло время рассмотреть каждый из них по отдельности и провести краткое сравнение. А так же понять какой продукт подходит вам, так как если вы читаете данную статью, то наверняка озадачены вопросом выбора. Тем кто еще не читал, советую ознакомится перед прочтением настоящего обзора. И так, поехали.

Обзор гипервизоров

Microsoft Hyper-V

Microsoft Hyper-V - система виртуализации от корпорации Microsoft. Поставляется в двух вариантах: 1) как роль Microsoft Windows Server, а так же Microsoft Windows 10 и 8.1; 2) как самостоятельный продукт Microsoft Hyper-V Server. Первый вариант доступен только при наличии лицензии на ОС Windows, второй бесплатен и доступен для скачивания с официального сайта Microsoft. В принципе разницы в них нет, за исключением отсутствия графического интерфейса в Microsoft Hyper-V Server. Функционал Hyper-V идентичен.

Hyper-V является гипервизором, работающим на микроядерной архитектуре. Его особенность в том, что драйвера на устройства устанавливаются внутри хостовой операционной системы. Хоставая операционная система, запускается точно так же как все виртуальные машины. С той лишь разницей, что только хостовая операционная система имеет прямой доступ к оборудованию. Распределением ресурсов и прочими задачами занимается гипервизор. К плюсам такого типа гипервизоров можно отнести поддержку практически любого оборудования, так как не требуются драйвера заточенные именно под гипервизор.

Начиная с версии 2016 появилась поддержка вложенной виртуализации. Для управления данным гипервизором по умолчанию используется Диспетчер Hyper-V, который имеет много полезных функций, таких как репликация, миграция, снапшоты. Однако средства автоматического резервного копирования в нем отсутствуют. Так же допускается использование средств управления и резервного копирования от сторонних вендоров.

KVM

KVM (Kernel-based Virtual Machine) - система аппаратной виртуализации в среде Linux. Полностью бесплатный продукт. Все компоненты системы открыты. Является загружаемым модулем ядра Linux (kvm.ko). Состоит из модуля ядра kvm.ko и процессорно-специфических модулей kvm-intel.ko и kvm-amd.ko. Поскольку KVM это всего лишь модуль ядра Linux, сам по себе он работать не будет. Но тут на помощь приходит QEMU. QEMU - программа для эмуляции аппаратного обеспечения с открытым исходным кодом. В принципе, QEMU может работать и без KVM, но при использовании аппаратной виртуализации KVM скорость работы виртуальных машин выше чем при работе без него. Связка QEMU/KVM является предпочтительной.

Средства управления KVM

По умолчанию для управления QEMU/KVM графический интерфейс отсутствует. Управление гипервизором осуществляется через утилиту командной строки - virsh. Virsh имеет много возможностей, через него можно создавать и настраивать виртуальные машины, управлять резервным копированием и многое другое. Для получения полного списка команд данной утилиты служит команда - help.

Существуют и приложения с графическим интерфейсом для управлением виртуальными машинами, работающими на KVM. Самое распространенное - Virtual Machine Manager. Довольно неплохое средство управления виртуальными машинами. Легко устанавливается, имеет много возможностей и понятный интерфейс.

ConVirt - приложение, позволяющее управлять виртуальными машинами на KVM. Подходит как для управления несколькими виртуальными машинами на одном сервере, так и для управления большим количеством машин на нескольких серверах.

Еще одно средство с понятным графическим интерфейсом это Proxmox VE (Proxmox Virtual Environment) -  система виртуализации с открытым исходным кодом, работающая на дистрибутиве Debian. Является самостоятельным продуктом австрийской компании Proxmox Server Solutions GmbH. В роли гипервизоров использует KVM и LXC. Управление сервером и виртуальными машинами осуществляется через веб-интерфейс. Так же есть возможность управления через терминал. Поддерживает кластеризацию, живую миграцию, снапшоты, автоматическое резервное копирование и многое другое. Сам продукт бесплатный, но имеет платные опции, такие как техническая поддержка.

Citrix Hypervisor

Citrix Hypervisor (ранее XenServer) - это коммерческая платформа серверной виртуализации. Изначально Xen был исследовательским проектом Кембриджского университета. Руководителем проекта был Иэн Прэтт, который впоследствии основал компанию XenSource. Компания занималась разработкой продукта с открытым исходным кодом (Xen), а так же коммерческих продуктов (XenServer и XenEnterprise). Первый выпуск Xen датируется 2003 годом. В 2007 году компания Citrix купила XenSource. Отличительной особенностью Xen является поддержка паравиртуализации наряду с аппаратной виртуализацией. Паравиртуализация — адаптация ядра гостевой операционной системы для работы совместно с гипервизором. При этом за счет отсутствия необходимости эмуляции железа достигается достаточно высокая производительность. XenServer включает в себя несколько версий: Free, Standard и Enterprise. Устанавливаются все с они с одного образа. Ранее версия Standard мало чем отличалась от Free версии. Первая включала в себя дополнительную поддержку. Но начиная с версии XenServer 7.3 с бесплатной версии убрали часть функций, таких как интеграция с Active Directory, управление динамической памятью и много другое. Максимальный размер пула теперь ограничен тремя хостами. Тем самым разрыв между Free и Standard стал довольно существенным. Лицензируется по разъемам центральных процессоров. Для управления гипервизором используется консоль управления Citrix XenCenter, которая устанавливается на компьютер под управлением ОС Windows.

VMware

VMware ESXi - программный продукт аппаратной виртуализации, нацеленный в первую очередь на корпоративных клиентов. Устанавливается непосредственно на физический сервер и разделяет его ресурсы на логические разделы (виртуальные машины). Это полностью коммерческое решение, имеющее ограниченную по функционалу бесплатную версию - VMware vSphere Hypervisor.

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

 Управление гипервизором осуществляется через консоль VMware vSphere Client или VMware vCenter Server. Сервер vCenter представляет собой программное обеспечение для централизованное управления всеми серверами VMware ESXi из одного интерфейса. Поддерживает ряд дополнительных возможностей, таких как как планировщик, резервное копирование и т.д. vCenter Server рекомендуется использовать если у вас несколько серверов VMware ESXi.

На ряду с серверной версией VMware ESXi, компания имеет версию VMware Workstation. VMware Workstation - программное обеспечение виртуализации для компьютеров под управлением операционных Windows и Linux. Имеет урезанную бесплатную для некомерческого использования версию - VMware Workstation Player. Так же имеется лицензированная версия VMware Player - VMware Player Plus, позволяющая использовать дополнительные функции.

Oracle VM VirtualBox

VirtualBox - программный продукт виртуализации, разработанный компанией Oracle. Основная часть продукта распространяется бесплатно под лицензией GNU GPL v2. Работает под управлением всех популярных операционных систем, так как Windows, Linux, MacOS. Начиная с версии 5 VirtualBox не поддерживает установку на операционные стемы Windows XP и Windows Vista, а с версии 6 — на 32-разрядную версию Windows 7. VirtualBox довольно неплохой продукт и отлично подходит для домашнего использования. Прост в использовании, имеет понятный интерфейс и множество настроек. Присутствует возможность проброса USB на гостевую операционную систему.

Обзор систем контейнеризации

OpenVZ

OpenVZ - продукт виртуализации на уровне операционной системы, базируемая на ядре Linux. Отличительной особенность данного продукта является то, что в роли гостевых операционных систем могут выступать только дистрибутивы Linux. Но при этом у OpenVZ производительность виртуализации уровня операционной системы выше чем у аналогичных решений. OpenVZ распространяется на условиях лицензии GNU GPL v.2. Для работы OpenVZ не требуется поддержка процессором аппаратной виртуализации. Управлять данным гипервизором можно через терминал, а так же через OpenVZ Web Panel.

LXC

LXC - система виртуализации на уровне операционной системы. Представляет собой тоже, что и OpenVZ. Основана на технологии cgroups, входящей в ядро Linux, начиная с версии 2.6.29.

Выводы

В настоящей обзоре мы рассмотрели самые популярные гипервизоры. Какой из них выбрать? Решать только вам. Поскольку однозначного ответа на этот вопрос не существует. Для каких то задач лучше подойдет один, для каких то другой. Например в Hyper-V до сих пор отсутствует технология USB Redirection, используемая для проброса виртуальной машине аппаратных USB портов. Да вместо этого имеется Discrete Device Assigment (выделение дискретного устройства), но это не совсем то. Так, что если вам необходим проброс USB, то можно рассмотреть платный VMware (быть может в вашем случае будет достаточно ограниченной по функционалу бесплатной версии?), так же у бесплатного KVM с этим проблем не наблюдаются.

Если вы выбираете гипервизор для корпоративного использования, то советую выбирать между решениями гипервизоров первого типа. При выборе обратите внимание на то, под управлением каких операционных системам будут работать ваши виртуальные сервера. Для виртуализации Linux серверов лучше рассмотреть KVM, Citrix Hypervisor, либо VMware. Для Windows - Hyper-V. Считается, что Windows системы на нем работают несколько лучше (это не значит, что на KVM или VMware Microsoft Windows у вас будет плохо работать). К тому же Windows сервера на Hyper-V проще лицензировать, поскольку в лицензии Microsoft Windows Server входят определенное количество виртуальных серверов (2 для версии Standart и неограниченное количество для версии Datacenter).

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

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

Лично я, поработав с различными продуктами, пришел к следующему: для виртуализации Linux серверов в основном использую QEMU/KVM и Virtual Machine Manager, иногда, если необходимо создания кластера - Proxmox VE; для виртуализации Windows - Hyper-V Server; для домашнего использования - VirtualBox.

 

Читайте также:

Оставить комментарий