Гипервизор: что это такое, роль в виртуализации, типы и сравнение
Рассказываем о гипервизорах, их типах и истории развития.
Гипервизор — технология развертывания программного обеспечения на физическом оборудовании с использованием виртуализации.
Инструмент ускоряет и упрощает разработку, тестирование и поддержку программного обеспечения, а также экономит ресурсы на развертывании дорогостоящих серверных систем.
Selectel предлагает современные технологии виртуализации серверов (VPS/VDS), а также рабочих мест (VDI). Мы используем аппаратные ресурсы на базе процессоров Intel® Xeon®, а также SSD-накопителей, обеспечивая минимальное время отклика, высокую производительность и надежность. Для серверной виртуализации применяются решения VMware и KVM.
Основные задачи гипервизора:
- эмуляция аппаратных ресурсов;
- безопасное выполнение машинных инструкций;
- предотвращение выполнения команд гостевых операционных систем в режиме супервизора на хост-машине (исключение перехвата и анализа команд).
История гипервизоров
Технологии виртуализации начали активно использоваться разработчиками с конца 60-х годов прошлого века. Мейнфреймы IBM первыми стали поддерживать виртуализацию и предоставлять разработчикам гипервизоры в составе встроенного ПО. Первоначально команды разработки применяли их для эмуляции системных процессов компьютера, тестирования различных операционных систем и улучшений для них.
Повышение интереса IT-сообщества к гипервизорам приходится на середину нулевых. В этот период технологии виртуализации начинают активно использоваться в UNIX-подобных системах. В первую очередь, это было обусловлено ростом производительности серверного оборудования. Также значительную роль сыграла оптимизация архитектуры самих гипервизоров, сделавшая их более надежными и безопасными.
Помимо этого, виртуализация позволяла разворачивать и запускать требующие наличия ОС приложения в различных программных или функциональных средах. А в 2005 году технологии виртуализации начинают поддерживаться на аппаратном уровне в процессорах архитектуры x86, что позволяет использовать их как в серверных, так и в домашних системах.
Проблемы безопасности гипервизоров
В IT-сообществе ведутся дискуссии на тему безопасности виртуализации. Основная проблема — это возможность создания злоумышленниками вредоносного ПО, устанавливаемого на ОС под видом гипервизоров. Этот процесс получил название «гиперджекинг». Его сложно отследить, поскольку вредоносные алгоритмы работают под управлением ОС и перехватывают ее действия (например, авторизацию, запросы к сервисам и пр.).
В настоящее время разрабатываются различные подходы по обнаружению руткитов на базе гипервизоров:
- концепция вредоносного ПО: SubVirt, Blue Pill;
- антируткиты: Hooksafe (защита ОС без потерь производительности).
Контейнеры или гипервизоры
В последнее время все большую популярность приобретает технология контейнеров. Это обусловлено тем, что контейнеры, по сравнению с гипервизорами, могут развернуть большее число приложений на одном физическом хосте.
Гипервизор виртуализирует необходимые для работы ОС аппаратные ресурсы. При использовании гипервизоров возрастает потребность в наращивании аппаратных мощностей (дисковых устройств, CPU, памяти и пр.).
При этом производительность и ресурсоемкость использования той или иной технологии стоит рассматривать и в контексте безопасности. Существует мнение, что контейнеры более уязвимы, чем гипервизоры. Это обусловлено логикой рассматриваемых технологий. Гипервизор создает на физическом сервере несколько изолированных друг от друга виртуальных машин со своими ОС и приложениями. Контейнер же работает под основной ОС хоста.
Таким образом, при атаке на хост, использующий виртуализацию, есть риск потерять одну или несколько виртуальных машин и используемые на них приложения. Если на хосте развернут контейнер, то все его содержимое может быть повреждено или утеряно, поскольку вредоносное ПО получит доступ к основной ОС хоста.
Среди контейнеров наиболее популярен OpenVZ, лежащий в основе платформы Virtuozzo. Решение обладает хорошей производительностью, а также использует ресурсы физического сервера по максимуму за счет высокой плотности размещения виртуальных машин.
Также стоит обратить внимание и на Jailhouse. Решение компании Siemens работает на «железе», при этом запускается из-под работающей ОС Linux. При работе контейнер создает в ОС изолированные разделы для выполнения пользовательских приложений.
Типы гипервизоров
Существует два основных вида гипервизоров. Гипервизоры первого типа (сюда входят решения Hyper-V, KVM, ESXi) работают на аппаратном уровне без необходимости установки какой-либо ОС на хост. Поэтому их еще называют аппаратными. Гипервизорам второго типа (VMware Workstation, Oracle Virtual Box, OpenVZ) необходима ОС для доступа монитора виртуальных машин к аппаратным ресурсам хоста.
Отметим, что для корпоративного сегмента лучше подходят решения первого типа, так как работая на аппаратном уровне без программных посредников, они обеспечивают лучшую производительность. Также выделяются и гибридные гипервизоры. Рассмотрим каждый из типов подробнее.
Сравнение гипервизоров
При выборе технологии виртуализации следует помнить решаемые гипервизорами задачи. Также необходимо учитывать момент с лицензированием, аппаратными требованиями конкретного решения и его возможностями.
Hyper-V: для серверного оборудования под управлением Windows Server есть базовая роль Hyper-V. Кроме того, на рынке есть специальное решение Hyper-V Server. Операционная система Windows Server может поставляться в двух редакциях — Datacenter и Standard. Стандартная версия на одной лицензионной копии позволяет развернуть только две виртуальные машины. В версии Datacenter их число не ограничивается.
В соответствие, с актуальной лицензионной политикой Microsoft, действующей с 2016 года, стоимость лицензии на ПО зависит от количества физических ядер. Если речь идет о виртуализации Linux-машин на серверах под Windows Server, то их количество в стандартной редакции не ограничено. Если же требуется виртуализация Windows-машин, то необходимо решить вопрос с лицензированием ОС на них.
Специально для такой аудитории и был создан Hyper-V. Он позволяет организовать виртуализацию, не платя за лицензию на ОС. Решение доступно бесплатно, при этом и нет каких-либо ограничений на процедуры. Тем не менее, функционал продукта имеет и свои особенности:
- настройка и отладка через удаленную консоль: графический интерфейс не предусмотрен;
- лицензирование: необходимо лицензировать все виртуальные машины под управлением Windows;
- отсутствие поддержки: Microsoft не предоставляет техническую поддержку, но при этом регулярно обновляет продукт.
Эти особенности не критичны, за исключением момента с лицензированием. Кроме того, как и отмечалось ранее, решение может подойти IT-специалистам, планирующим разворачивать только Linux-виртуализацию.
VMware ESXi: в основе решения находится облегченное Linux-ядро VMkernel, содержащее необходимые для виртуализации технологии и приложения. Поставляется внутри продукта VMware vSphere. Лицензия покупается на каждый физический CPU сервера. Объем ОЗУ и виртуальных машин не учитываются при расчете стоимости лицензии.
VMware также предлагает и бесплатные решения для виртуализации, однако, они подходят только для любительского или полупрофессионального использования, поскольку имеют ряд существенных ограничений по функционалу. Так, например, бесплатная версия этого гипервизора 1 типа предоставляет API только для чтения данных. У виртуальной машины не может быть больше 8 vCPU, не предусмотрена работа с бэкапами с помощью продуктов Veeam и другие технологии, необходимые для корпоративного сегмента.
Основной недостаток Hyper-V по сравнению с VMware — это отсутствие USB Redirection. Она необходима для подключения USB оборудования к виртуальным машинам. Вместо нее в Hyper-V предлагается Discrete Device Assignment. Однако, Hyper-V может уменьшать дисковое пространство виртуальных машин, а не только расширять его, как VMware.
Hyper-V позволяет защищать виртуальные машины шифрованием. Однако, если требуется аппаратный проброс портов, то лучшим решением будет VMware, даже бесплатный.
При выборе гипервизора особое внимание следует уделить инструментам управления виртуальными машинами. У Hyper-V это Virtual Machine Manager (VMM), поддерживающий создание, клонирование, развертывание и другие операции с виртуальными машинами.
Инструмент управления от VMware называется vSphere. Он предполагает наличие ESXi хостов и vCenter Server для централизованного управления.
KVM — open-source гипервизор: предназначен для серверов на базе Linux/x86, поддерживает аппаратные расширения (Intel-VT и AMD-V).
Первоначально работал только с архитектурой x86, но актуальные версии KVM поддерживают различные CPU и гостевые ОС, в т.ч. Windows, Linux, BSD и пр.
Богатый функционал KVM сделал его популярным и широко распространенным. В настоящее время гипервизор активно используется во многих сетевых проектах (Wiki-ресурсы, финансовые сервисы, транспортные системы, государственный сектор и пр.).
Решение считается быстрым и за счет интеграции в ядро Linux.
Недостатки гипервизора:
- Управление виртуальными машинами: встроенные сервисы не соответствуют по функционалу решениям для других гипервизоров. Чтобы расширить функционал, приходится использовать сторонние инструменты, например, панель SolusVM.
- Стабильность и отказоустойчивость: этот недостаток проявляется при интенсивном вводе-выводе. Тем не менее KVM развивается и дорабатывается множеством независимых разработчиков, что положительным образом сказывается на работе гипервизора.
Xen (XenServer, Citrix Hypervisor): первый публичный релиз тонкого гипервизора был выпущен в 2003 году. В 2007 году проект был поглощен Citrix. Продукт является кроссплатформенным гипервизором с поддержкой аппаратной виртуализации и паравиртуализации (из-за этого его часто относят к гибридным гипервизорам). Объем кода минимален, т.к. большая часть модулей вынесена за пределы гипервизора. Исходный код открыт, что дает специалистам неограниченные возможности для модификаций продукта.
Oracle VM VirtualBox: кроссплатформенный модульный гипервизор для операционных систем Linux, macOS, FreeBSD и др. Создан в корпорации Sun Microsystems в 2007 году. После поглощения разработчика Oracle проект продолжил развитие под другим брендом. Исходный код базовой версии открыт и распространяется по лицензии GNU GPL, что послужило причиной высокой популярности гипервизора. Отличительная особенность гипервизора — возможность работы с 64-битными гостевыми ОС, даже если ОС хоста 32-битная.
VMware Workstation: первая версия гипервизора вышла в 1999 году. Решение является проприетарным для x86-64 ОС хоста Windows, Linux, Ubuntu, CentOS. Поддерживает более 200 гостевых операционных систем. Для ознакомления и тестирования предоставляется бесплатная версия с ограничениями по функциональности.
Гибридные гипервизоры: для улучшения стабильности, безопасности и производительности описанные выше подходы к виртуализации (непосредственная работа «на железе» и использование основной ОС хоста) комбинируются. В результате на рынке появляются гибридные решения. В последние годы в IT-сообществе к гибридным гипервизорам причисляют Xen и Hyper-V, поскольку их актуальные версии сочетают в себе оба подхода. Таким образом, просматривается тенденция к размытию границ между видами гипервизоров.