Привет!
В 2022 году в нашем блоге выходила статья “Как выбрать сервер для виртуализации”. В ней я подробно рассказывал про подбор оборудования, но без углубления в софт. Кстати материал всё ещё актуален, так что можете почитать на досуге. Теперь же пришло время обсудить тёмную программную сторону виртуализации :)
Пара слов о конъюнктуре: в 2022 году рынок виртуализации оценили в $57,3 миллиардов; IMARC Group ожидает, что к 2028 году он вырастет до $190,7 миллиардов. Растём, в общем. Тренд на внедрение виртуализации для оптимизации ресурсов, улучшения управления, производительности и высокой доступности очевиден, а раз вы читаете эту статью, то гипервизор is coming. Близко, одним словом :)
Готовы вы или нет — мы начинаем.
Определение гипервизора и виртуализации
Чтобы продолжить, нам нужно разобраться в терминологии. Для нас важны 3 понятия: виртуализация, гипервизор и платформа для виртуализации (они же система виртуализации).
Итак, виртуализация — это технология создания виртуальных (то есть программных) версий серверов/компьютеров/рабочих станций, обычно их называют виртуальными машинами (ВМ). Идея простая — один настоящий физический сервер запускает несколько изолированных друг от друга ВМ, со своими ресурсами и операционными системами, которые работают как независимые системы. Виртуализация позволяет эффективнее использовать ресурсы сервера или кластера (про кластеры будет дальше), управлять IT-инфраструктурой, масштабировать её, снижать прямые и косвенные расходы (если всё сделать правильно). К слову, виртуализировать можно не только серверы, но и сети, хранилища данных и даже приложения.
Идём дальше.
Гипервизор — это прикладное программное обеспечение (ПО), которое и реализует виртуализацию на практике. Оно создаёт и запускает ВМ, а также управляет ими. Гипервизор позволяет одному серверу (хост-компьютеру/хосту) одновременно работать с несколькими гостевыми операционными системами (ОС). Он же разделяет физические ресурсы хоста между ВМ: память, ядра/потоки, сеть, хранилище и т.д. Этакий двигатель внутреннего сгорания, без которого все системы в авто работать не будут.
Ну и последнее, платформа для виртуализации. Если гипервизор — это двигатель, то платформа для виртуализации — автомобиль. Такие платформы не просто отдельное приложение, а целый набор инструментов для создания и конфигурирования виртуальных сред, управления ресурсами и мониторинга их работы. Платформы для виртуализации могут включать гипервизоры разных типов (обычно 1 гипервизор на 1 платформу, но бывает и больше), управляющие интерфейсы, менеджеры ресурсов, средства мониторинга, системы резервного копирования, механизмы миграции ресурсов и многое другое.
Гипервизор можно использовать отдельно, а можно в составе платформы. Первое подходит для малых инфраструктур, личного использования, тестирования и разработки, а для сложных проектов понадобится второй вариант.
Далее в статье я буду говорить про выбор гипервизора, но держим в голове, что любой их из них может работать в составе платформы.
Типы гипервизоров
Гипервизоры бывают двух основных типов:
-
1-го типа (Type 1) — он же “Bare-Metal”, исполняемый на "голом железе". Этот тип гипервизоров работает на аппаратном уровне, без операционной системы хоста. По сути это и есть минимальная ОС. Примеры: VMware ESXi, Microsoft Hyper-V (как и Hyper-V Server), и KVM.
Гипервизор 1-го типа.
-
2-го типа (Type 2) — он же “Hosted”, хостовый. Эти гипервизоры работают поверх операционной системы хоста. Они запускаются как приложения внутри операционной системы. Примеры: VMware Workstation, Oracle VirtualBox и Microsoft Virtual PC.
Гипервизор 2-го типа.
Иногда выделяют и третий тип гипервизоров — гибридный, внутри которого выделяют ещё несколько подтипов. Они могут работать как с аппаратной, так и программной виртуализацией. Например, гибридный гипервизор может иметь ядро, работающее на уровне железа, а некоторые компоненты управления могут работать на уровне операционной системы. Получается баланс производительности и гибкости управления.
Примеры гибридных: VMware Fusion и Parallels Desktop для Mac. Иногда и Microsoft Hyper-V относят к этому типу. В целом они работают как гипервизоры второго типа, то есть поверх обычной операционной системы, но могут и используют технологии аппаратной виртуализации, когда это возможно — для улучшения производительности.
ВАЖНО! Для простоты я не буду фокусироваться на гипервизорах 2-го и гибридного типов. Чаще всего их используют для разработки, тестирования и обучения, но не для серьезных бизнес-задач. Дальше только о гипервизорах 1-ого типа — они производительны, выдают максимальную эффективность, изолированность и безопасность. В дата-центрах и крупных корпоративных средах используют именно их.
Преимущества гипервизора
Как я уже говорил, современные IT-инфраструктуры все больше переходят на виртуализацию. Причин много: оптимизация ресурсов и расходов, улучшение управления и отказоустойчивость. Гипервизоры и системы виртуализации — основа в этих процессах, с массой преимуществ для бизнеса, администраторов и пользователей.
-
Скорость: Гипервизоры позволяют создавать виртуальные машины практически мгновенно, в отличие от классического развёртывания на аппаратном сервере. Это облегчает предоставление ресурсов пользователям по мере необходимости для динамических рабочих нагрузок.
-
Эффективность: Виртуализация позволяет лучше раскрыть потенциал сервера (или кластера серверов). Когда на физическом оборудовании выполняется несколько мелких задач вместо одной большой, вероятность простоя мощностей снижается. Если в классическом варианте вам придётся использовать несколько недозагруженных серверов для разных серверных ролей, то с гипервизором можно использовать один более мощный, но загруженный на полную (обычно стремятся к 80%, а 20% оставляют про запас). Такой подход экономичнее и энергоэффективнее.
-
Кластеризация: Гипервизоры позволяют создавать кластеры из нескольких физических серверов, это гарантирует отказоустойчивость (в определенной степени, зависит от параметров кластера и количества его узлов aka нод) и высокую доступность виртуальных машин. Если один сервер в кластере выходит из строя, то гипервизор автоматически переносит ВМ на другие рабочие ноды, без остановки приложений. Называется это миграцией.
-
Гибкость и миграция: Гипервизоры обычно поддерживают функции миграции виртуальных машин, такие как vMotion в VMware или Live Migration в Hyper-V. Эти функции позволяют перемещать ВМ между хостами кластера без остановки приложений — можно обслуживать оборудование или решать проблемы параллельно с рабочими процессами, а не вопреки :)
-
Автоматическое восстановление после сбоя: Гипервизоры как правило поддерживают автоматическое восстановление после сбоев. Если ВМ или физический сервер перестает отвечать, гипервизор может автоматически перезапустить или переместить ВМ на другой сервер в кластере.
-
Резервирование и репликация: Некоторые гипервизоры и платформы виртуализации поставляются со встроенными системами бэкапирования данных и ВМ, а также с механизмами репликации на удалённые серверы, что даёт вам дополнительные уровни защиты от сбоев и возможность быстрого восстановления данных. P.S. Репликация — создание и поддержка точной копии данных или ВМ в реальном времени на другом узле или сервере. Используется для максимально быстрого восстановления.
Серверы для гипервизора
Краткий обзор популярных гипервизоров и сравнительный анализ
В 2024 году на рынке много гипервизоров. От бесплатных на open source (открытое бесплатное ПО), вроде KVM, до дорогущих корпоративных решений, вроде ESXi или Hyper-V. Также сейчас на рынке есть и множество отечественных вариантов для виртуализации, Брест, zVirt, SpaceVM, VMmanager, vStack. Нет им числа. В целом, неплохие решения в условиях импортозамещения, особенно для государственных учреждений, так как они обязаны выбирать из реестра минпромторга по закону.
Каждый гипервизор имеет свои особенности, преимущества и недостатки. Чтобы вам было проще выбрать, я сравню самые популярные решения между собой. Но сначала краткие обзоры.
Гипервизор VMware ESXi
VMware ESXi — самый популярный гипервизор 1-ого типа (bare-metal) на рынке. Функциональный, удобный и дорогой. Особенно интересен в составе платформы для виртуализации VMware vSphere. Чаще всего его используют в масштабных корпоративных IT-инфраструктурах: дата-центры хостингов, ЦОДы банков, облачные провайдеры, просто большие компании со своей инфраструктурой.
ВАЖНО! Недавно в нашем блоге вышел подробный обзор гипервизора VMware ESXi. Рекомендую к чтению для полного погружения, в том числе в лицензирование.
ESXi предлагает, возможно, самый широкий набор функций для виртуализации и управления вычислительными ресурсами, хранилищами и сетями:
-
Миграция в реальном времени (vMotion, vSphere Storage vMotion) и высокая доступность vSphere HA (High Availability)
-
Снимки (snapshots) текущего состояния ВМ для последующего быстрого восстановления при необходимости.
-
Динамическое распределение ресурсов хоста, чтобы выделять ВМ ресурсы под текущие требования.
-
Удобное управление и автоматизация задач через веб-интерфейс.
-
Есть возможность интеграции с облачными сервисами VMware, вроде VMware Cloud on AWS, для создания гибридных облаков и миграции виртуальных машин между локальными и облачными средами.
-
Многое другое.
Есть у ESXi и особенность — для кого-то недостаток (для 7.0 и выше особенно важно): список совместимого оборудования (HCL). VMware гарантирует работу только на нём, так что перед развёртыванием надо сверяться с сайтом. Иначе готовьтесь к проблемам, вплоть до нерабочих комплектующих. Но эта же особенность гарантирует преимущество — на одобренных комплектующих всё будет работать, а выстрелить себе в ногу становится сложнее.
При всём при этом ESXi обеспечивает отличную производительность и масштабируемость, а потому идеально подходит для управления большим количеством виртуальных машин. Особенно, если учесть удобное управление через веб-интерфейс vSphere Client и API для автоматизации задач и интеграции с другими системами.
Всё это сделало VMware ESXi неким индустриальным стандартом в корпоративных средах. Но и по цене выходит дороже конкурентов, а потому подходит не всем. Ближайший конкурент по возможностям и доле рынка — Microsoft Hyper-V.
Гипервизор Microsoft Hyper-V
Microsoft Hyper-V — это также распространённый гипервизор 1-ого типа (bare-metal). Да, я считаю что он 1-ого типа :) Его главная особенность в том, что он изначально встроен как в Windows Server, так и в клиентскую Windows. Вы сможете работать с ним через графический интерфейс управления и/или PowerShell сразу, без дополнительных инсталляций. Отличный вариант, если ваша инфраструктура построена на Microsoft-стеке и Windows-ориентированных приложениях. А ещё дешевле ESXi при прочих равных.
ВАЖНО! Большой обзор гипервизора Microsoft Hyper-V также есть в блоге. У него очень непростая модель лицензирования, которую я разобрал в статье — welcome, друзья.
По функционалу здесь тоже всё отлично:
-
Быстрое создание ВМ, управление ими, миграция и мониторинг.
-
Полноценная виртуализация ресурсов, сетей и хранилищ, включая SAN, NAS и облачные хранилища.
-
Динамическое распределение — позволяет автоматически распределять ресурсы между ВМ в реальном времени, учитывая текущую нагрузку.
-
Высокая доступность Failover Clustering — автоматически восстановит ВМ после сбоев хоста.
-
Checkpoint — создание снимков ВМ, аналогично snapshots в VMware ESXi. Позволяет сохранять текущее состояние виртуальной машины в конкретный момент времени.
-
Создание кластеров Hyper-V для повышения отказоустойчивости и эффективного управления ресурсами.
-
Интеграция с облачными сервисами Microsoft Azure для создания гибридных облаков и миграции виртуальных машин между локальными и облачными средами.
-
Многое другое.
ESXI и Hyper-V — это платные решения, которые не всем по карману.Пиратство мы осуждаем, а малый бизнес (хотя средний и большой тоже) может использовать бесплатное ПО. Один из самых популярных открытых гипервизоров — KVM (Kernel-based Virtual Machine).
Гипервизор KVM в составе платформы Proxmox VE
KVM — также гипервизор 1-го типа (bare-metal), встроенный в ядро open source операционной системы Linux и многих дистрибутивов, что способствует распространённости. Как вы поняли, он бесплатный (GPL-лицензия), но не в ущерб функциональности и производительности.
ВАЖНО! Я делал отдельные подробные обзоры KVM и Proxmox VE. Для полного понимания прыгайте туда, здесь же вкратце.
Хоть KVM и включает в себя основной функционал гипервизора, чистым его используют редко (без дополнительных инструментов и интерфейсов управления). Как правило KVM — это надёжная и производительная основа для построения других полноценных систем/платформ виртуализации. Небезызвестные Proxmox VE и OpenStack используют KVM для виртуализации и облачных вычислений. Кстати, у многих бесплатных решений есть опции платной поддержки.
По этой причине я и поговорю о Proxmox VE, одной из самых популярных платформ для виртуализации на базе QEMU (Quick Emulator), KVM и LXC (Linux Containers). Кстати, помимо полной виртуализации Proxmox поддерживает и "лёгкую" (изоляцию) с помощью технологии OpenVZ, так называемые контейнеры — они разделяют ядро операционной системы хоста, но изолированы друг от друга со всем вытекающим блэкджеком: собственные файловые системы и пользовательские пространства. Работает фича только с Linux, но такой подход не требует эмуляции аппаратных компонентов, а потому потери производительности процессора и памяти околонулевые.
Технически Прокс можно отнести либо к оболочке для KVM и LXC, либо к гипервизорам 2-го типа, так как работает он поверх Debian (дистрибутив Linux). Но тема дискуссионная, так что решайте сами :)
Proxmox в целом нетребователен к характеристикам хоста, никаких строгих требований к железу (забудьте про списки HCL), при желании можно запустить на умном холодильнике. Другой вопрос, как эта связка работать будет :)
Функционал у Proxmox VE широкий — как для простых задач, так и для построения больших виртуализированных инфраструктур:
-
Proxmox VE позволяет создавать, запускать, останавливать и управлять виртуальными машинами на базе KVM и LXC. KVM виртуализирует аппаратные компоненты, включая CPU, память и комплектующие, а LXC реализует контейнерную виртуализацию, позволяя запускать множество изолированных Linux-контейнеров на одном хосте.
-
Proxmox VE может создавать кластеры из нескольких узлов для отказоустойчивости и масштабируемости. Кластеризация позволяет автоматически балансировать нагрузку и продолжать работу приложений, если один из узлов выходит из строя.
-
Интегрированные средства для создания резервных копий виртуальных машин и восстановления из них. Такой подход защитит вас от потери данных и позволит быстро восстановиться после сбоев и аварий.
-
Мониторинг — позволяет отслеживать производительность и использование ресурсов виртуальных сред, а также вести журналы их работы, создавать отчёты.
-
Proxmox VE можно интегрировать с другими системами управления, вроде OpenStack или Kubernetes, что расширяет функционал, возможности управления и автоматизации.
Гипервизор Xen и платформа XenServer
XenServer — это ещё одна популярная платформа виртуализации, построенная на гипервизоре Xen 1-го типа (bare-metal) с открытым исходным кодом. Сам гипервизор минималистичный, бесплатный (GPL-лицензия) и функциональный; реализует полноценное виртуализационное окружение для развёртывания виртуальных машин. Вполне конкурент другим решениями из этой статьи.
ВАЖНО! Читайте подробный обзор гипервизора Xen в нашем блоге.
Интересный факт: если считать по количеству ВМ, работающих в мире, то Xen в составе AWS (переработанная версия by xenproject.org) становится самым популярным гипервизором в мире. По этой причине Xen и называют гипервизором для облачных вычислений :)
Раньше коммерческая версия XenServer называлась “Citrix Hypervisor”. Сейчас есть базовая бесплатная версия и платная коммерческая с корпоративной поддержкой и расширенным набором функций и инструментов управления.
РЕМАРКА! Проект Xen включает в себя множество подпроектов: в XenServer используется как гипервизор Xen, так и набор инструментов XAPI. Подробнее читайте здесь.
Есть интересный форк XCP-ng (Xen Cloud Platform) — это что-то вроде дистрибутива Linux для запуска гипервизора Xen “из коробки”, основанный на XAPI. По сути открытая и бесплатная альтернатива платформе Citrix XenServer со всем необходимым функционалом, которого нет в бесплатной версии.
Итак, проект Xen был разработан в Кембридже для Linux и поддерживает виртуализацию на многих архитектурах: x86, x86-64, IA-64, ARM и др. Используется в крупных облаках и виртуализированных средах, благодаря производительности, надёжности и отличной масштабируемости.
ВАЖНО! XenServer — это что-то вроде пакетного решения для виртуализации на гипервизоре Xen: за вас уже выбрали инструментарий — XAPI. Вы можете реализовать и свой вариант базе Xen под свои потребности, выбрать инструментарий и стек управления, но если вы хотите виртуализацию именно на XenServer, то заменить XAPI не получится — он часть корабля :)
XAPI — это проприетарные API, которые предоставляют интерфейсы и реализуют выполнение всех ожидаемых функций ВМ: управление хостом, хранение и работу сетей. Если два и более хоста XenServer объединены в кластер, XAPI открывает дополнительные инструменты управления.
Ключевые функции XenServer:
-
Гипервизор Xen первого типа с высокой производительностью, надёжностью и безопасностью.
-
Мощные средства для создания, управления и мониторинга виртуальных машин, Включая журналирование и создание отчётов. Поддержка многих гостевых операционных систем.
-
XenServer может создавать кластеры из нескольких физических хостов для повышения отказоустойчивости и масштабируемости инфраструктуры + автоматическая балансировка нагрузки.
-
Лёгкая интеграция с существующими инфраструктурами.
-
Обслуживание без простоев через миграцию виртуальных машин между узлами кластера XenServer.
-
Интегрированные инструменты бэкапирования ВМ и их автоматического восстановления, что обеспечивает повышенную защиту данных, а также быстрое восстановление после сбоев.
-
Интеграция с другими системами управления, вроде OpenStack или Kubernetes, что расширяет функционал и обеспечивает большую гибкость управления и автоматизации.
Лицензирование XenServer (подробнее можете почитать на сайте XenServer):
Пробная версия |
Standard Edition |
Premium Edition |
Набор функций премиум-версии для пула ограниченного размера (максимум три хоста), но не позволяет выполнять постоянное обновление пула через XenCenter. |
Это коммерческое предложение начального уровня. Оно обладает рядом функций для клиентов, которым нужна надёжная и высокопроизводительная платформа виртуализации, но не требуются дополнительные функции Premium Edition. Между тем, они по-прежнему хотят получать выгоду от гарантии всесторонней поддержки и сопровождения. |
Премиальное предложение, оптимизированное для настольных компьютеров, серверов и облачных рабочих нагрузок. В дополнение к функциям, доступным в стандартной версии, Premium Edition предлагает следующие функции:
|
Советы по выбору гипервизора в 2024 году
От виртуализации зависят многие бизнес-процессы. Вашу работу можно будет разделить на “до” и “после” внедрения виртуализации. Процесс, разумеется, обратимый, можно попробовать разное на одном оборудовании, но чтобы не тратить время попусту, лучше подойти к вопросу правильно. Метод тыка хорош, но не всегда :)
Первое — всё зависит от требований вашего проекта и организации. То есть подход персональный, а потому общие советы из статьи не покроют 100% ваших вопросов. Но всё же изучить их полезно. Если возникнут трудности, вы можете написать или позвонить менеджерам СЕРВЕР МОЛЛ — ребята подскажут, какое оборудование и гипервизор подойдёт под ваш бюджет и задачи.
Итак, советы:
-
Проанализируйте требования вашего проекта. Это первый шаг. Оцените масштаб, текущее или планируемое оборудование, типы приложений и характер нагрузки.
-
Ресёрч: Изучите гипервизоры подробнее — наши подробные статьи в блоге неплохое начало, но можно копнуть ещё глубже, почитать документацию, посмотреть на реальные кейсы и проблемы, с которыми сталкивались другие, чтобы понять их особенности, преимущества и недостатки. Я приведу краткую таблицу-сравнение, но дополнительный ресёрч лишним не будет.
Характеристика |
VMware ESXi |
Microsoft Hyper-V |
KVM |
Xen |
Лицензирование |
Проприетарное, есть бесплатная версия с ограничениями |
Бесплатный, входит в состав Windows Server, расширение функций стоит денег |
Бесплатный, открытый исходный код, платформы с платной поддержкой |
Бесплатный, открытый исходный код, платные платформы |
Поддержка ОС гостей |
Широкий спектр (Windows, Linux, другие) |
Широкий спектр (Windows, Linux), но меньше других |
Широкий спектр (Windows, Linux, другие) |
Широкий спектр (Windows, Linux, другие) |
Управление |
VMware vSphere, vCenter |
System Center Virtual Machine Manager |
Libvirt, oVirt, Proxmox VE, другие |
XenServer, другие |
Интеграция |
Хорошая интеграция с другими продуктами VMware |
Хорошая интеграция с другими продуктами Microsoft |
Интегрируется с различными инструментами Linux |
Интегрируется с различными инструментами Linux |
Производительность |
Высокая |
Хорошая |
Хорошая |
Хорошая |
Масштабируемость |
Высокая |
Хорошая |
Хорошая |
Высокая |
Экосистема |
Богатая (множество инструментов и приложений) |
Хорошая (множество инструментов и приложений) |
Растущая |
Растущая |
Сообщество |
Большое |
Большое |
Огромное |
Большое |
Графический интерфейс |
VMware vSphere Client |
Hyper-V Manager, Windows Admin Center |
Virt Manager, oVirt, Proxmox VE, другие |
XenCenter, OpenXenManager, другие |
Дополнительные функции |
vMotion, High Availability, Fault Tolerance |
Live Migration, Replica, Failover Cluster |
Live Migration, Snapshots, Thin Provisioning |
Live Migration, XenMotion, управление памятью через XenCenter |
-
Учтите совместимость и интеграцию. Какой бы гипервизор или платформу вы не выбрали, нужно, чтобы он хорошо интегрировался в уже существующую IT-инфраструктуру: СХД, системы мониторинга, управления, резервного копирования; проверьте, если ли ваше железо в списках HCL (может быть критично для того же ESXi).
-
Совокупная стоимость владения и лицензирование. Open source бесплатен, но может требовать более тонкой настройки, больше человеко-часов на администрирование, дополнительных специалистов и компетенций в технической команде. За сам софт вы не заплатите, но совокупно тот же Proxmox может выйти недешево (особенно с платной поддержкой). Поэтому взвесьте все за и против, возможно, платный гипервизор, вроде Hyper-V, ваш вариант.
-
Сообщество. Активное сообщество пользователей упростит вам жизнь. В целом у всех гипервизоров из этой статьи, кроме, пожалуй, Xen, огромное комьюнити. На форумах почти точно найдёте решение вашей проблемы или сможете задать вопрос. Но в лидерах по этому параметру связка Linux-KVM. Другие админы и специалисты всегда поделятся лучшими практиками, дополнительным софтом, инструментами и материалами для обучения.
-
Тестирование и оценка. Перед выкатыванием “на бой” проведите тестирование различных гипервизоров в вашей среде и оцените их производительность, надёжность и удобство. У многих есть базовые версии, пробные варианты и т.д.
-
Смотреть в завтрашний день могут не только лишь все. Помните, что гипервизор/платформа должны решать не только текущие задачи проекта, но и адаптироваться под будущие изменения. Кластеризация позволяет масштабироваться, но железо нужно выбирать с запасом (20-30% ресурсов сверху точно) или с возможностью масштабироваться без замены всей инфраструктуры. Иначе минимальный апгрейд будет стоить очень дорого.
Вместо выводов
Выбрать гипервизор или платформу для виртуализации — непросто. Нужен комплексный подход: компетенции, хорошее понимание IT-инфраструктур и потребностей бизнеса. Если вам потребуется помощь профессионалов, то мы бесплатно подскажем, какое оборудование и ПО подойдёт именно вам. Всегда подбираем решение под бюджет и задачу.
Не забывайте, что развёртывание виртуализированной инфраструктуры может как оптимизировать процессы, так и усложнить/удорожить их. Малому бизнесу для простых офисных задач гипервизор нужен не всегда, иногда достаточно парочки выделенных серверов общего назначения.
Спасибо, что дочитали статью. В нашем блоге много интересного, а новые статьи выходят регулярно — чтобы не пропустить, добавляйте блог СЕРВЕР МОЛЛ в закладки (Ctrl-D).