Назад

2025/04/21

12. Сравнение программного обеспечения для серверной виртуализации

Прошло около 25 лет с момента появления программного обеспечения для серверной виртуализации на системах x86. Изначально VMware занимала подавляющую долю рынка, но теперь широко используется и Linux KVM. Услуги на базе Linux KVM особенно популярны среди сервисов виртуальных машин, предоставляемых поставщиками публичных облаков (такими как Amazon EC2 и OCI Compute).

В этой колонке мы несколько раз затрагивали Oracle Linux KVM как программное обеспечение для серверной виртуализации. Мы回顾 историю программного обеспечения для серверной виртуализации и объясним текущие варианты и ключевые моменты, которые следует учитывать при выборе.

Появление и эволюция программного обеспечения для серверной виртуализации

Первое программное обеспечение для серверной виртуализации для систем x86, VMware Workstation, было выпущено в 1999 году. В 2001 году был выпущен VMware ESX Server, начальная версия текущего VMware vSphere ESXi.

Еще до появления VMware технология виртуализации существовала для универсальных компьютеров и высокопроизводительных серверов UNIX, позволяя разделять один сервер на несколько, но появление этой технологии на недорогих системах x86 стало настоящим шоком.

С тех пор серверная виртуализация стала обычным явлением благодаря значительному улучшению производительности оборудования и эволюции программного обеспечения для серверной виртуализации. Здесь мы кратко коснемся улучшений производительности оборудования и回顾 историю программного обеспечения для серверной виртуализации.

Улучшение производительности оборудования

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

Кроме того, производительность оборудования значительно улучшилась за последние 20 лет.

  • Многоядерные и многопроцессорные ЦП
  • Увеличение числа потоков ЦП с помощью Hyper-Threading и Simultaneous Multi Threading (SMT)
  • Технологии поддержки виртуализации ЦП, такие как Intel VT и AMD-V (AMD SVM)
  • Распространение памяти большого объема в диапазоне от сотен гигабайт до терабайт
  • Ускорение доступа к дискам с помощью SSD/NVMe

Эволюция программного обеспечения для серверной виртуализации

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

С появлением VMware
С VMware ESX (ныне VMware ESXi) стала возможна эффективная виртуализация с использованием гипервизоров. Кроме того, теперь доступно множество функций, таких как живая миграция с помощью vMotion и появление мощного инструмента управления vCenter Server.

На сайте VMware можно увидеть, что только VMware vSphere имеет множество редакций с широким спектром функций. Кроме того, были выпущены многие связанные продукты, такие как vSAN и NSX.

Xen
Xen был первым гипервизором, появившимся в Linux. Первая версия была выпущена в 2003 году, и с тех пор компании Citrix Systems, Oracle и другие выпустили гипервизоры на базе Xen.

Продукт, выпущенный Oracle в это время, — Oracle VM Server для x86. Oracle VM Server позволил использовать жесткое разделение, что ранее не допускалось в средах виртуализации, таких как VMware.

Oracle VM Server все еще используется, но основная поддержка уже завершена, и было объявлено, что расширенная поддержка закончится в июне 2024 года. Преемником является Oracle Linux KVM, который будет описан ниже.

Linux KVM
KVM (Kernel-based Virtual Machine) был интегрирован в основное ядро Linux в 2007 году. Изначально он уступал, поскольку Xen был превосходящим (Amazon EC2 изначально также базировался на Xen). Однако после интеграции в основное ядро он постепенно начал доминировать, и теперь KVM является основным гипервизором Linux.

Кроме того, многие публичные облака, такие как Amazon Web Services, Oracle Cloud Infrastructure и Google Cloud, используют системы на базе Linux KVM.

KVM включен в ядро Linux и поэтому доступен в большинстве современных дистрибутивов Linux.

Oracle Linux — один из них, и нет продукта под названием Oracle Linux KVM. Вы можете использовать KVM с обычным Oracle Linux. Кроме того, в сочетании с Oracle Linux Virtualization Manager, выпущенным в 2019 году, вы можете не только достичь интегрированного управления, но и реализовать жесткое разделение, аналогичное Oracle VM Server.

Примером продукта, специализированного для виртуализации, является Red Hat Virtualization (ранее известный как Red Hat Enterprise Virtualization), выпущенный Red Hat в 2009 году.
Продукт был оптимизирован для виртуальных сред и поставлялся с инструментами управления, но было объявлено, что период поддержки завершится в 2022 году, а самая длительная поддержка фазы расширенного жизненного цикла закончится в августе 2026 года.

Red Hat Virtualization в настоящее время интегрирован в контейнерную платформу Red Hat OpenShift и существует как функция под названием Red Hat OpenShift Virtualization.

Microsoft Hyper-V
Hyper-V был представлен в 2008 году как одна из функций Windows Server. Изначально он страдал от недостаточной производительности и малого числа поддерживаемых гостевых операционных систем, но теперь он принят в качестве основы для Azure. Некоторые редакции Windows 8 и новее также имеют клиентский Hyper-V, но в этой статье мы сосредотачиваемся на Hyper-V для Windows Server.

Другие варианты

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

Nutanix классифицируется как
Гиперконвергентная инфраструктура (HCI). Это продукт, объединяющий все необходимые функции для серверной виртуализации, включая серверы, хранилища, сети и программное обеспечение. Он поставляется предварительно настроенным, что позволяет быстро его развернуть, и предоставляется одним поставщиком, что снижает сложность и эксплуатационные расходы.

В качестве гипервизора по умолчанию используется Nutanix AVH на базе Linux KVM, но также могут использоваться внешние гипервизоры, такие как ESXi.

Недостатки заключаются в том, что трудно настроить желаемое количество ядер ЦП из-за ограничений конфигурации сервера, а также есть ограничения на производительность ввода-вывода, поскольку хранилище программное. Однако Nutanix также поддерживает внешние хранилища.

OpenStack
OpenStack — это программное обеспечение для создания облачных вычислительных сред. Оно в основном используется в частных облачных средах и включает виртуальные машины, хранилища, сети, инструменты управления и т.д. Поддерживает гипервизоры, такие как KVM, ESXi и Hyper-V.

Изначально ожидалось, что это будет недорогая виртуальная среда, но из-за сложной структуры, трудностей с созданием и эксплуатацией, короткого цикла выпуска (шесть месяцев) и ограниченного периода поддержки, сейчас оно используется как инфраструктура некоторых технологических компаний и поставщиков публичных облаков.

OpenStack также выпускается в виде дистрибутива, например Red Hat OpenStack Platform.

Таблица 01: Таблица совместимости компонентов OpenStack и публичных облаков

OpenStackAWSOCI
ВычисленияNovaEC2Compute
СетьNeutronVPCVCN
Блочное хранилищеCinderEBSBlock Volume
Объектное хранилищеSwiftS3Object Storage
Инструменты управления операциямиHorizonManagement ConsoleOCI Console

Контейнеры
Начиная с Docker, появившегося в 2013 году, Kubernetes стал стандартом в качестве оркестратора контейнерной инфраструктуры примерно в 2018 году. Серверная виртуализация с использованием контейнеров имеет большую консолидационную мощность, работает быстрее и легче, чем гипервизоры. Она также совместима с DevOps, поэтому приветствуется продвинутыми инженерами приложений.

Однако использование в локальных производственных средах ограничено по следующим причинам, особенно при наличии существующих приложений.

  1. Цикл выпуска Kubernetes очень быстр (одна версия поддерживается девять месяцев), а сам Kubernetes и его экосистема развиваются с невероятной скоростью, что затрудняет отслеживание.
  2. Устранение неполадок сложнее, чем с виртуальными машинами.
  3. Существующие приложения требуют модификации, поскольку механизм отличается от виртуальных машин.

Проблема 1 может быть смягчена использованием управляемых сервисов в публичном облаке, но это недоступно для локальных сред.

Сравнение программного обеспечения для серверной виртуализации

Мы представили несколько методов серверной виртуализации. На этот раз мы сравним следующие три продукта как локальные гипервизоры.

  • VMware vSphere
  • Microsoft Hyper-V
  • Oracle Linux KVM

На самом деле, 10 лет назад VMware была подавляюще превосходящей. Однако с тех пор распространение публичных облаков и использование Linux KVM многими поставщиками публичных облаков значительно улучшилось, и теперь нет различий в базовых функциях, таких как функциональность, производительность и стабильность (Azure использует Hyper-V). Некоторые результаты опросов даже показывают, что KVM превосходит по масштабируемости.

Например, система AWS Nitro, которая лежит в основе Amazon EC2, состоит из оборудования с использованием специализированного SoC (System on a Chip) и гипервизора на базе KVM.

В этом сравнении программного обеспечения мы回顾 обзор и сравним аспекты стоимости и эксплуатации, где проявляются различия.

Сравнение обзоров

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

Таблица 02: Сравнение гипервизоров (основы)

*1: Это указывает только на наличие функции у гипервизора, но она может не работать в зависимости от настроек хоста и гостевой системы.

Сравнение затрат

Самое большое различие — это стоимость лицензий и поддержки. У VMware и Hyper-V сложное ценообразование, и некоторые части не являются общедоступными, поэтому я не буду указывать конкретные цены, но если вы когда-либо запрашивали коммерческое предложение для каждого из них, вы знаете, что Oracle Linux KVM значительно дешевле. Кроме того, если вы используете продукты Oracle, он сертифицирован как жесткое разделение, что позволяет значительно снизить затраты на лицензии Oracle.

Таблица 03: Сравнение гипервизоров (затраты)

Сравнение эксплуатационных аспектов

В отличие от аспекта затрат, Oracle Linux KVM уступает в плане эксплуатации. Даже если сервер вашего любимого поставщика официально не поддерживается, вы можете решить проблему поддержки, используя Oracle x86 Server от Oracle. Проблема заключается в отсутствии сторонних инструментов, таких как резервное копирование, и инженеров с необходимыми знаниями.

Таблица 04: Сравнение гипервизоров (эксплуатация)

Резюме

Теперь, когда различия в базовых функциях, производительности и стабильности сократились, важными пунктами для сравнения являются «стоимость» и «эксплуатация». Если у вас большой бюджет и вы хотите безопасной эксплуатации, VMware — это сильный выбор. Кроме того, если вы активно используете Windows Server, Hyper-V должен иметь высокую совместимость.

Oracle Linux KVM привлекателен для тех, кто заботится о затратах. Он не требует лицензий, а поддержка недорогая. Особенно при использовании продуктов Oracle разница в цене с другими компаниями становится более заметной благодаря возможности использования жесткого разделения. Остается вопрос эксплуатации. Решение этого вопроса — обучение внутренних инженеров или выбор хорошего партнера — может зависеть от политики компании и обстоятельств.

Для справки, Oracle опубликовала документ сравнения KVM и VMware vSphere, который я хотел бы представить.