Top.Mail.Ru
Выберите ваш город

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

29.02.2024
26 мин на чтение
18551

Привет!

Пришло время обозреть KVM (Kernel-based Virtual Machine), не путайте с другой аббревиатурой KVM (Keyboard, Video, Mouse) — ей описывают консоли и свитчи для управления оборудованием. В нашем случае KVM — это бесплатный open source гипервизор.

И да, это статья из цикла: в блоге Сервер Молл уже выходили подробные разборы других популярных гипервизоров:

Предупреждаю, что перед вами лонгрид: большой, длинный и необрезанный :) Если не осилите за раз, то добавляйте в закладки (Ctrl+D).

Что такое KVM: про гипервизор

Гипервизор 1-го типа.

Гипервизор 2-го типа.

KVM — это по сути модуль ядра Linux, который делает из ОС гипервизор первого типа (Bare Metal) — то есть работающий сразу поверх железа без лишних уровней абстракции. Такой подход снижает накладные расходы и улучшает производительность виртуализации. Структура следующая: аппаратный сервер (железо) → гипервизор → виртуальные машины (ВМ) → гостевые операционные системы.

Ремарка! KVM бесплатен и открыт для всех — лицензия GNU General Public License (GPL). Не буду забегать вперёд, но дальше в статье я обязательно расскажу про это.

Теперь кратко про концепцию гипервизора. Гипервизор — это ПО, которое позволяет запускать на одном физическом сервере несколько программных серверов (гостевые ОС). На виртуалки можно устанавливать различные операционные системы и приложения, в том числе взаимоисключающие и несовместимые друг с другом, например Linux и Windows одновременно. Более того, системы будут полностью изолированы друг от друга — сбой одной ВМ не приведёт к отказу второй или третьей ВМ. Пользователь может даже не знать, что работает не на физическом, а виртуальном сервере.

Простая аналогия из жизни. Представьте, что владелец бизнеса, например отеля (хост-система), хочет максимально эффективно использовать номера. Он нанимает эффективного менеджера (гипервизор), который управляет всеми бронированиями, обеспечением, подготовкой номеров к проживанию, нанимает другой персонал (другое ПО), чтобы каждый гость (пользователь) заселялся в чистую комнату (виртуальная машина) со всеми удобствами (выделенные ресурсы хоста). Руководству, менеджеру и персоналу безразлично, откуда приехал гость, на каком языке он говорит (различные операционные системы). В соседних номерах может проживать русский (Astra Linux), китаец (Deepin), американец (Windows) и европеец (openSUSE), не мешая друг другу. Максимум в лифте пересекутся или на выходе из отеля (общий сетевой канал хоста).

Другое преимущество — гипервизор упрощает администрирование. Да, нужно разобраться в самой виртуализации, но после внедрения станет намного проще управлять десятком-другим ВМ, чем аналогичным количеством физических серверов. Но бывают огромные IT-инфраструктуры, те же дата-центры, которые используют системы виртуализации (надстройка над гипервизором) с удобным графическим интерфейсом (GUI, Graphical User Interface) и/или функциональной командной строкой (CLI, Command Line Interface). Если всё сделать по уму, то вы также выиграете в общей надёжности системы, сократите время восстановления после сбоев (RTO/RPO) и снизите расходы на общее владение. 

Как использовать KVM: инструменты для управления

Чистый KVM (только гипервизор без дополнительных инструментов и интерфейсов управления) как правило никто не использует, особенно в корпоративной среде. Обычно KVM — это фундамент для платформ виртуализации:

  • Proxmox Virtual Environment: Популярен среди тех, кто предпочитает Debian. Proxmox VE базируется на KVM и предоставляет GUI для простой настройки и администрирования виртуализированной инфраструктурой. Платформа огромная, функциональная и одна из самых популярных в рамках KVM, а потому я обозревал её в отдельной статье.

  • oVirt: Выбор админов, работающих на CentOS/Red Hat. Open source платформа оVirt основана на KVM и технологиях Red Hat и предлагает инструменты управления виртуальной инфраструктурой: web-интерфейс и API. Кстати, красные шляпы сворачивают проект Red Hat Enterprise Virtualization (RHEV) — по сути связка KVM + oVirt — в пользу OpenShift. Как следствие, судьба oVirt теперь в руках сообщества.

  • Ubuntu Server с поддержкой KVM: Canonical (компания, развивающая Linux-дистрибутив Ubuntu) предлагает решение для виртуализации на базе Ubuntu Server, включая поддержку KVM. Это гибкое решение, которое можно настроить и расширить под потребности пользователя/организации.

  • OpenStack: Платформа для больших облачных инфраструктур, обеспечивает гибкость и масштабируемость. Она поддерживает различные гипервизоры, включая KVM, и может работать на многих дистрибутивах Linux.


  • Nutanix: Предлагает комплексное ПО для виртуализации и управления облачной средой. С ним можно развернуть гиперконвергентную инфраструктуру (HCI) и кластерные системы. Nutanix использует собственный интегрированный гипервизор AHV (Acropolis Hypervisor) на базе KVM (форк) или сторонние, вроде VMware ESXi или Microsoft Hyper-V.

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

Это лишь часть вариантов использования KVM в виртуализированных средах. Каждая из этих платформ имеет свои плюс и минусы, а выбор зависит от конкретных потребностей и бизнес-задач.

Что входит в KVM

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

  • Модуль ядра KVM (kvm.ko): KVM, начиная с версии 2.6.20, это часть стандартного ядра Linux. Этот модуль работает напрямую с железом сервера, обеспечивает поддержку виртуализации на аппаратном уровне, а потому процессоры должны поддерживать аппаратную виртуализацию (Intel VT-x и AMD-V). KVM эмулирует vCPU (виртуальный процессор) и память, а также VirtIO (виртуальные устройства для эффективного взаимодействия с хостом).

  • Монитор/менеджер виртуальных машин (Virtual Machine Monitor/Manager, VMM): Программная составляющая, которая напрямую работает с ядром KVM. VMM управляет жизненным циклом ВМ, следит за их производительностью и предоставляет администраторам интерфейсы для взаимодействия с виртуальными машинами. Примеры: crosvm или Firecracker.

  • Гостевая операционная система: Гостевая ОС работает поверх виртуальной машины, созданной модулем KVM. Она работает так, как будто запущена на физической машине, не подозревая (ну, почти), что работает в виртуализированной среде.

  • QEMU (Quick Emulator; необязательный, но крайне частый компонент): Может выступать в роли VMM, а может как ПО, которое работает вместе с KVM для эмуляции аппаратного обеспечения виртуальных машин (процессор, хранилище, устройства ввода-вывода, сеть, шины, интерфейсы и т.д.). Если KVM использует аппаратные расширения (например, Intel VT-x или AMD-V) для аппаратной виртуализации (HVM, Hardware-assisted Virtualization), то QEMU эмулирует аппаратные и программные компоненты виртуальной машины, когда это необходимо. А в довесок он может запускать ОС на несовместимых архитектурах, например, ОС под ARM на процессорах x86 и наоборот. Скажу проще: QEMU дополняет функциональность KVM на уровне эмулирования реального железа, так как сам KVM эмулирует очень мало аппаратного обеспечения. Отсюда и частые связки в названиях: “KVM-QEMU” или “QEMU-KVM”.

  • Виртуальные устройства: KVM создаёт виртуальные устройства: сетевые адаптеры, контроллеры дисков и прочее, для использования в виртуальных машинах. Они могут быть эмулированными, как я описал выше, или синтетическими (про синтетические я писал здесь), в зависимости от конфигурации и требований. Пример синтетики:

    • Synthetic Network Adapter (virtio-net): Виртуальная сетевая карта с высокой производительностью для гостевых ОС. 

    • Synthetic Storage Controller (virtio-blk, virtio-scsi): Позволяет гостевой операционной системе общаться с виртуальным блочным устройством или SCSI-устройством.

  • Libvirt (необязательный компонент): Это набор библиотек, инструментов и API для управления виртуализацией. Libvirt играет ключевую роль в управлении виртуализированными ресурсами: виртуальными машинами (создавать, запускать, останавливать и удалять), хранилищами и сетями. Также позволять мониторить систему и собирать статистику о работе хоста и ВМ. Сюда же миграция и работы с другими гипервизорами (Hyper-V, ESXi и Xen).

  • KVM PV (Paravirtualization):

Этот механизм реализует поддержку виртуализации без эмуляции. Гостевая ОС “знает”, что она работает в виртуализированной среде и обращается напрямую к гипервизору через API, получая привилегии на доступ к аппаратным ресурсам хоста и исполнение операций. PV-драйверы улучшают производительность и эффективность, так как накладные расходы минимальны. Но у паравиртуализации есть минус — гостевую ОС нужно адаптировать для работы на гипервизоре. На открытых ОС можно модифицировать ядро системы, а на проприетарных (например, Windows), устанавливают специальные драйверы устройств, которые оптимизированы для работы в паравиртуальной среде и выдают лучшую производительность, чем при эмуляции аппаратного обеспечения.

Архитектура драйвера KVM PV.

  • Live Migration: KVM поддерживает технологию Live Migration, которая позволяет перемещать работающие виртуальные машины между хостами без прерывания их работы. Это обеспечивает гибкость в управлении ресурсами и повышает доступность системы.

  • Управляющие инструменты: Для управления виртуальными машинами, мониторинга и т.д. обычно используют различные управляющие инструменты и системы виртуализации. Например, Proxmox, oVirt, OpenStack и другие.

Эти компоненты совместно обеспечивают функциональность KVM как гипервизора в среде Linux и не только.

Серверы KVM

Dell PowerEdge R750 16SFF
CPU:
2x Intel Xeon
Silver 4310 (12C 18M Cache 2.1 GHz)
2x Intel Xeon Silver 4310 (12C 18M Cache 2.1 GHz)
RAM:
2x 32GB DDR4
RDIMM 3200MHz Dell
2x 32GB DDR4 RDIMM 3200MHz Dell
RAID:
RAID Dell H745 (4GB+BBU)
БП:
2x DELL 800W Hot-Plug
Net:
2 port 1Gb/s
(Integrated)
2 port 1Gb/s (Integrated)
HDD:
noHDD (до 16 HDD 2.5'' SFF)
HPE ProLiant DL180 Gen10 8LFF
CPU:
2x HPE Intel
Xeon Silver 4208 (8C 11M Cache 2.10 GHz)
2x HPE Intel Xeon Silver 4208 (8C 11M Cache 2.10 GHz)
RAM:
16GB DDR4
RDIMM 2933MHz HP (Поддержка до 1024GB максимально, 16 DIMM портов)
16GB DDR4 RDIMM 2933MHz HP (Поддержка до 1024GB максимально, 16 DIMM портов)
RAID:
RAID HPE S100i (ZM)
БП:
1x HP 500W
Net:
2 port 1Gb/s
RJ-45 (Integrated)
2 port 1Gb/s RJ-45 (Integrated)
HDD:
noHDD (до 8 HDD 2.5'' SFF)
от 384 546 ₽  
% выгодное предложение % выгодно
Dell PowerEdge R740xd 24SFF
CPU:
2x Intel Xeon
Silver 4215R (8C 11M Cache 3.20 GHz)
2x Intel Xeon Silver 4215R (8C 11M Cache 3.20 GHz)
RAM:
4x 32GB DDR4
RDIMM 2666MHz (Поддержка до 3072GB максимально, 24 DIMM портов)
4x 32GB DDR4 RDIMM 2666MHz (Поддержка до 3072GB максимально, 24 DIMM портов)
RAID:
RAID Dell H730p (2GB+BBU)
БП:
2x DELL 750W
Net:
4 port 1Gb/s
(Integrated)
4 port 1Gb/s (Integrated)
HDD:
noHDD (до 24 HDD 2.5'' SFF)

Минимальные системные требования KVM

В целом серьёзных требований нет. Так как KVM часть ядра Linux, а его можно поставить на любой “калькулятор”, то и гипервизор у вас будет.

Два основных требования к процессору:

  • Требуется поддержка аппаратной виртуализации в процессоре хоста (Intel VT-x и AMD-V). Проверьте, что она включена в BIOS/UEFI.

  • Раньше работал только на x86 64-битных процессорах, но сейчас портирован и на другие архитектуры. В этой статье я буду говорить о классических серверах на x86, всё же всякие ARM-процессоры пока ещё не столь популярны за пределами смартфонов и устройств Apple, хоть и потихоньку набирают обороты.

Но вопрос скорее не в самом гипервизоре, а в гостевых системах. Здесь уже нужно рассчитывать конфигурацию конкретно под ваши бизнес-задачи, предпочтения и бюджет. Каждая ВМ будет есть ресурсы, приложения на них тоже. Если возникнут сложности, пишите нашим ребятам в Сервер Молл, они быстро подберут оптимальный сервер, учтя все требования. Двигаемся дальше.

Минимальные требования для виртуализации KVM на хост-машине:

  • 6 ГБ свободного места на накопителе.

  • 2 ГБ оперативной памяти.

Рекомендуемые требования:

  • 6 ГБ + дополнительное дисковое пространство для каждой ВМ.

  • Минимум одно процессорное ядро или поток для каждой ВМ и одно для гипервизора.

  • 2 ГБ оперативной памяти + ОЗУ для каждой ВМ.  

Рекомендации от меня (не минимальные требования): 

  • Сверху нужно добавить 15-20% всех ресурсов, чтобы сервер не работал на пределе возможностей, а имел запас под небольшой масштабирование или пиковые нагрузки.

  • Серверные накопители — быстрые и надёжные: SAS HDD, SSD, NVMe SSD.

  • Используйте RAID-массивы, чтобы сервер не встал, если один или несколько дисков откажет.

  • Подход “3-2-1” к резервному копированию данных. Этот вопрос я уже разбирал в другой статье: “Выбор сервера для бэкапов: надеемся на лучшее, готовимся к худшему”.

  • Сетевая карта от 1 Гбит/c с несколькими Ethernet-портами.

  • Резервные комплектующие для отказоустойчивости и непрерывной работы (например, несколько блоков питания и сетевых карт/портов).

Ключевые возможности и конкурентные преимущества KVM


Я пройдусь по основным преимуществам KVM, но при желании список можно расширить.

Первое преимущество KVM — это открытое лицензирование GNU General Public License (GPL). Любой может бесплатно изучать исходный код, запускать его, вносить изменения и даже распространять свои модификации, продавая поддержку (но не сам Linux), как это делает Proxmox. По сути пользователи получают полный и бесплатный контроль над KVM.

Всё это породило второе преимущество — активное сообщество разработчиков и пользователей. Многие проблемы быстро находят и решают, а новые функции и улучшения регулярно добавляют в проект. Есть сотни живых форумов, наверное, на всех более-менее популярных языках мира. Так что без помощи не останетесь.

Третье преимущество, но не по важности — вариативность. 

KVM чаще всего используют в составе бесплатных дистрибутивов GNU\Linux: Ubuntu, CentOS, Debian и т.д. Вам не придётся покупать дополнительные лицензии или коммерческие версии — всё бесплатно, разве что на лицензии гостевых ОС нужно потратиться, вроде Windows, но так с любым гипервизором.

Дальше кратко по ключевым возможностям:

Хранилище. KVM может использовать любой протокол хранения данных, поддерживаемый Linux, включая сетевые хранилища (NAS) и локальные диски. Многопутевой ввод-вывод (Multipath I/O) можно использовать для избыточности и улучшения скорости доступа к хранилищу. Образы дисков могут использовать thin provisioning (тонкие тома), чтобы выделять пространство по требованию, а не в момент создания диска. KVM поддерживает использование общих файловых систем, вроде NFS (Network File System) или Ceph, что позволяет хранить образы ВМ на сетевом хранилище и использовать их на нескольких хостах одновременно, что особенно полезно для повышения доступности — тут и кластерные развёртывания, и резервное копирование с восстановлением, ведь образы виртуальных машин хранятся в централизованном хранилище, их легко восстановить на любой ноде кластера после сбоя.

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

Память. KVM эффективно использует функции управления памятью, например, KSM (kernel same-page merging). Это функция ядра, которая позволяет гипервизору совместно использовать страницы памяти с одинаковым содержимым между несколькими процессами или ВМ. А также NUMA (Non-Uniform Memory Access, неравномерный доступ к памяти). Память ВМ можно временно “подкачать” (swapping) в хранилище, если ОЗУ не хватает для более приоритетных процессов. Также память можно расшарить (сделать общей для нескольких ВМ) или хранить файлом на диске, например, для сохранения состояния ВМ, что позже возобновить работу на том же месте.

Миграция.

KVM поддерживает миграцию (Live Migration), поэтому админы могут перемещать любую работающую ВМ между физическими хостами без остановки работы.

Безопасность. KVM использует комбо из безопасной виртуализации (SVirt) и Linux с усиленной защитой (SELinux) для улучшения безопасности и изоляции ВМ. SELinux управляет доступом процессов и файлов в системе, определяет политику безопасности, которая ограничивает действия программ и пользователя, чтобы не допустить компрометацию системы. SVirt — это расширение SELinux, специально разработанное для безопасной виртуализации. Оно контролирует доступ (MAC) к ресурсам хост-системы, которые используют ВМ, уменьшая ручную работу админу.

Гостевые системы. KVM поддерживает запуск множества гостевых операционных систем: OpenBSD, NetBSD, Solaris, Ubuntu, CentOS, Debian, Fedora, Windows (разных версий) и даже macOS (правда помним, что легально запускать ОС от Apple можно только на железе от Apple). Получаем универсальное решение для виртуализации.

Управление с помощью сторонних инструментов. Про это я уже говорил выше — KVM можно (и проще) управлять через сторонние инструменты, вроде Proxmox VE и oVirt.

Сценарии использования KVM


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

  • Виртуализация серверов: Главный сценарий использования KVM — это виртуализация. Обычные пользователи и/или организации могут использовать KVM для запуска нескольких гостевых ОС на одном физическом сервере. Это позволяет оптимальнее использовать аппаратные ресурсы, упрощает масштабирование и управление IT-инфраструктурой.

  • Консолидация серверов: Организации могут использовать KVM для консолидации нескольких физических серверов с разными ролями в набор виртуальных машин на одном хосте (или в кластере). Это может сократить расходы на обслуживание и управление серверным парком.

  • Тестирование и разработка: KVM отлично подходит для создания изолированных сред, чтобы тестировать и разрабатывать ПО. Разработчики могут быстро создавать виртуальные среды с различными конфигурациями для своих приложений.

  • Облака: Провайдеры могут использовать KVM для продажи виртуальных машин своим клиентам. А конечные пользователи могут арендовать виртуальные серверы, не покупая собственное оборудование.

  • Виртуализация рабочих мест (VDI): KVM можно использовать для виртуализации рабочих мест. Если кратко, то организация может сделать так, чтобы у каждого пользователя был свой виртуальный ПК (с доступом по сети через тонкий клиент, ноутбук или другое устройство), а данные с этого виртуального ПК хранились централизованно — на сервере. VDI лучше в плане конфиденциальности, стоимости (не всегда) и простоты администрирования.

  • Обучение и образование: KVM полезен в учебных целях. Преподаватели или старшие специалисты могут создавать виртуальные среды для демонстрации концепции виртуализации и для практических занятий по администрированию ВМ.

Учтите, что малому бизнесу не всегда нужна виртуализация. Да, KVM бесплатен, но он всё же программно усложняет инфраструктуру и требует от администраторов дополнительных компетенций. Перед развёртыванием обязательно взвешивайте все за и против.

Плюсы и минусы KVM: таблица

Плюсы

Минусы

Бесплатно и с открытым исходным кодом, что делает его доступным для всех, кому нужна виртуализация.

Развёртывание и администрирование требует знаний Linux и CLI.

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

Не так хорошо масштабируется, как некоторые другие гипервизоры.

KVM — часть ядра Linux, что упрощает установку и поддержку.

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

Поддерживает множество гостевых операционных систем, включая Windows и различные дистрибутивы Linux.

Встроенные средства управления менее интуитивны по сравнению с конкурентами.

Поддерживает аппаратную виртуализацию (Intel VT-x и AMD-V), что повышает производительность гостевых ОС.

Расширенные функции требуют дополнительной настройки и/или сторонних инструментов.


Сравнение KVM с другими гипервизорами

Я не буду углубляться в технические особенности каждого гипервизора. Для этого лучше переходите в отдельные статьи: Обзор гипервизора Proxmox; Обзор гипервизора ESX; Обзор гипервизора Hyper-V.

А здесь я кратко в таблицах сравню KVM с ESXi, Hyper-V и Proxmox VE. 

Ремарка! Лицензионные гостевые ОС (например Windows Server) не бесплатны. Даже на бесплатном KVM за лицензии на ВМ нужно платить.

KVM vs Microsoft Hyper-V

Подробный обзор гипервизора Microsoft Hyper-V читайте в блоге. Здесь кратко.

Hyper-V — гипервизор 1-го типа (Bare-Metal) от Microsoft, интегрированный в ОС Windows, Windows Server и экосистему Microsoft. Занимает 2 место в мире, после ESXi, по количеству хостов. Работает с аппаратной виртуализацией Intel и AMD. Можно установить отдельным бесплатным софтом “Microsoft Hyper-V Server”, но с ограничениями: без GUI и других ролей Windows Server.

Функционал Hyper-V похож на ESXi и, пожалуй, лучше, чем у KVM, но у него непростая схема лицензирования. Я уже разбирал её в отдельном обзоре, получилось подробно, так что следуйте за белым кроликом

Если вы готовы платить за лицензии и/или уже используете продукты Microsoft, то можете смело выбирать Hyper-V. По деньгам Hyper-V выйдет дороже KVM, но дешевле ESXi, хотя все три гипервизора работают стабильно, позволяют создавать полноценные и функциональные виртуализированные среды. Но, конечно, исходите из бизнес-задач.

Параметр

KVM

Hyper-V

Тип гипервизора

Открытый и встроен в ядро Linux

Проприетарный (встроен в Windows Server)

Управление

Обычно через libvirt, virt-manager

Через Hyper-V Manager, System Center Virtual Machine Manager (SCVMM)

Интерфейс управления

Virt-manager, WebVirtMgr, VirtView

Hyper-V Manager, SCVMM (System Center Virtual Machine Manager), Windows Admin Center

Поддерживаемые гостевые ОС

Широкий спектр, включая Windows и Linux

Windows, Linux, и другие гостевые ОС

Системные требования для хоста

Может работать на менее мощных системах

Зависит от версии Windows Server, обычно более высокие требования

Миграция виртуальных машин

Live Migration (через libvirt)

Live Migration (встроено в Hyper-V)

Высокая доступность

Может быть реализована с использованием сторонних инструментов

Failover Clustering (встроено в Hyper-V)

Скорость развертывания

Зависит от опыта админа и инструментов управления

Зависит от опыта и инструментов управления

Лицензирование

Бесплатное (включено в ядро Linux)

Функционал Hyper-V включён в стоимость Windows Server (и зависит от лицензии на саму Windows). Есть бесплатный Hyper-V Server без лицензии на Windows, а также платный продукт SCVMM для управления виртуализированной инфраструктурой.

Экосистема и поддержка

Меньше коммерческой поддержки, но активное сообщество

Интеграция с другими продуктами Microsoft, активное сообщество

KVM vs ESXi


Чтобы лучше погрузиться в тему, читайте подробный обзор гипервизора VMWare ESXi.

VMware ESXi — это гипервизор 1-го типа (Bare Metal), который функционирует независимо от операционных систем, таких как Linux или Windows. Он базируется на проприетарном ядре VMkernel от VMware. ESXi представляет собой сложный, но весьма функциональный гипервизор. Его можно использовать в отдельности, например, для малого бизнеса или в простых тестовых средах, но обычно его применяют в составе платформы VMware vSphere для управления большим количеством хостов и виртуальных машин централизованно. Платформа vSphere включает в себя и другие компоненты: vCenter Server, vSphere Client (интерфейс для управления), vSphere Update Manager, vSphere Management Assistant (vMA) и т.д.

Параметр

KVM

ESXi

Тип гипервизора

Открытый и встроен в ядро Linux

Проприетарный

Управление

Обычно через libvirt, virt-manager

Через vCenter Server

Интерфейс управления

Virt-manager, WebVirtMgr, VirtView

Web-интерфейс, vSphere Client

Поддерживаемые гостевые ОС

Широкий спектр, включая Windows и Linux

Широкий спектр, включая Windows и Linux

Системные требования для хоста

Может работать на менее мощных системах

Обычно более высокие, железо по хорошему должно быть из списка HCL

Миграция виртуальных машин

Live migration (через libvirt)

vMotion (через vCenter Server)

Высокая доступность

Может быть реализована с использованием сторонних инструментов

Встроенные средства vSphere

Скорость развертывания

Зависит от опыта админа и инструментов управления

Обычно более простое

Лицензирование

Бесплатное (включено в ядро Linux)

Платное

Экосистема и поддержка

Меньше коммерческой поддержки, но активное сообщество, много инструментов и решений на базе KVM

Обширная, но платная


KVM vs Proxmox VE

Большой обзор гипервизора Proxmox выходил в нашем блоге ранее. Там много интересного.

Важно! Когда я сравнивал KVM c ESXi или с Hyper-V, я сравнивал дизельный двигатель с бензиновым. А поскольку Proxmox VE — это платформа для виртуализации, которая ещё и работает на KVM, то сравнивать Proxmox VE с KVM — это как сравнивать двигатель и автобус. Некорректно, в общем :) Но всё же люди в интернетах ищут это, поэтому сравним.

Proxmox VE (Proxmox Virtual Environment) — это бесплатная и открытая платформа виртуализации, основанная на гипервизоре KVM и контейнерах LXC (Linux Containers). Его можно отнести к гипервизорам 2-го типа, так как работает он поверх дистрибутива Linux — Debian (хотя есть и другие точки зрения). Proxmox VE представляет собой конкурентоспособный продукт, особенно для малого и среднего бизнеса, поскольку позволяет бесплатно запускать виртуальные машины и контейнеры с хорошей гибкостью, высокой производительностью и удобным веб-интерфейсом для управления и мониторинга виртуальных сред. Кроме того, в него встроены инструменты резервного копирования, миграции и кластеризации. Некоторые компании разворачивают на Proxmox VE высокодоступные и масштабируемые кластеры.



Параметр

KVM

Proxmox VE

Тип гипервизора

Открытый и встроен в ядро Linux

Открытый и бесплатный (на основе KVM и LXC)

Управление

Обычно через libvirt, virt-manager

Веб-интерфейс (Proxmox Virtual Environment)

Интерфейс управления

Графический, командная строка

Веб-интерфейс (Proxmox GUI), командная строка

Поддерживаемые гостевые ОС

Широкий спектр, включая Windows и Linux

Windows, Linux, и другие гостевые ОС

Системные требования для хоста

Может работать на менее мощных системах

Минимальные требования, Debian Linux

Миграция виртуальных машин

Live migration (через libvirt)

Live Migration, включено в Proxmox VE

Высокая доступность

Может быть реализована с использованием сторонних инструментов

Использование Ceph в Proxmox VE для создания отказоустойчивых конфигураций (репликация и распределение данных).


HA-кластеры (объединение узлов) и резервные ноды (автоматический перенос работы на резервный узел)

Скорость развертывания

Зависит от опыта админа и инструментов управления

Простое развертывание и управление, включая контейнеры LXC

Лицензирование

Бесплатное (включено в ядро Linux)

Бесплатный (с открытым исходным кодом)

Экосистема и поддержка

Меньше коммерческой поддержки, но активное сообщество

Активное сообщество, поддержка сообщества и платные опции поддержки


Общее сравнение гипервизоров KVM, Hyper-V, ESXi и Proxmox VE

Конечный выбор гипервизора зависит от бизнес-задач, технических требований, бюджета, а также от предпочтений организации, технического директора или системного администратора. ESXi идеален для крупных корпораций с высокими бюджетами, требованиями к безопасности, производительности и функционалу. KVM и Proxmox VE подходят для малых и средних предприятий с ограниченным бюджетом (или для энтузиастов, предпочитающих открытое ПО). Hyper-V предназначен для тех, кто уже работает в среде Windows или стремится сэкономить по сравнению с ESXi.

  • KVM: Бесплатен, открытый исходный код, поддерживает множество операционных систем. Требует сторонние инструменты для управления.

  • ESXi: Широкий функционал, высокая надёжность и качественная поддержка, но требует платной лицензии для использования всех возможностей.

  • Hyper-V: Интегрирован в Windows Server (или доступен как отдельное ПО), требует лицензирования ядер хоста, хорошо совместим с другими продуктами Microsoft. Для использования расширенных функций нужна платная лицензия.

  • Proxmox VE: Бесплатный и открытый, предоставляет веб-интерфейс для управления и интеграцию с ZFS. Отличный выбор для малых и средних компаний.

Вот краткое сравнение в таблице.

Характеристика

KVM

ESXi

Hyper-V

Proxmox VE

Тип гипервизора

Type 1 (Bare Metal)

Type 1 (Bare Metal)

Type 1 (Bare Metal)

Type 2 (Host OS)

Лицензирование

Бесплатное

Платное, бесплатное

Встроено в Windows, лицензирование Hyper-V Server

Бесплатное, платное (Proxmox Backup Server)

Управление

Virt Manager, CLI

vSphere Client, vCenter Server

Hyper-V Manager, System Center Virtual Machine Manager

Web GUI (Proxmox), CLI

Экосистема продуктов

Ограниченная

Широкий набор (vSAN, NSX и др.)

Широкий набор (System Center и др.)

Ограниченная (Proxmox Backup Server)

Миграция виртуальных машин (vMotion)

С использованием сторонних инструментов

Да

Да

Да

Балансировка нагрузки (DRS)

Нет

Да

Да

Через сторонние инструменты

Поддержка гостевых ОС 

Широкая

Широкая

Ограниченная

Широкая

Шаблоны виртуальных машин

Да

Да

Да

Да

Отказоустойчивость (HA)

Да

Да

Да

Да

Открытость и поддержка

Открытая

Закрытая (VMware)

Закрытая (Windows)

Открытая

Сообщество поддержки

Активное

Активное

Активное

Активное


Вместо выводов

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

Но как ни странно, KVM популярен и в сегменте крупного бизнеса. Админы, техдиры и разработчики доверяют качеству и эффективности этого гипервизора, даже в корпоративной среде. Особенно в составе платформ, вроде Proxmox VE.

Спасибо, что дошли до конца статьи :) Лучший подарок автору — это блог Сервер Молл в ваших закладках (Ctrl-D). Обещаю и дальше выпускать полезные и подробные статьи!

Чуть не забыл, если вам понадобится сервер(ы) под KVM или любой другой гипервизор, то пишите или звоните — подберём и отправим КП за час. С гарантией 5 лет, бесплатной доставкой до двери и другими ништяками.

Поможем с выбором сервера для KVM

Автор

СЕРВЕР МОЛЛ

Поделиться
Комментарии
(3)
Роман
10.12.2024
норм
СЕРВЕР МОЛЛ:
Спс :)
Михаил
05.12.2024
1. Хотелось бы увидеть сравнение по производительности (типа сколько виртуалок могут жить на одинаковом железе, но на разных системах виртуализации и разных типах виртуализации). 2. Удивляет отсутствие в сравнении гипервизора Xen (количество виртуалок на нём в облаке AWS более чем велико)
СЕРВЕР МОЛЛ:
Здравствуйте, Михаил! Спасибо за интересный вопрос! Сразу про Xen отвечу: в блоге есть статья про него, где вы найдёте сравнения с другими гипервизорами. (https://servermall.ru/blog/obzor-gipervizora-xen/#sravnenie-xen-s-drugimi-gipervizorami). В процессе написания этой статьи автор тоже решил, что Xen заслуживает отдельного внимания, хоть он и не столь популярен в России :) Так что welcome. Идём дальше :) Для спортивного интереса автор тоже хотел сделать такое сравнение; это интересно, но на практике бесполезно — объективной картины не получится. Во-первых, слишком много переменных: оборудование, типы нагрузок (CPU-интенсивных, I/O-зависимых, памяти) и конфигурации гипервизоров. Даже небольшие отличия в настройках могут сильно изменить итоговые цифры. Во-вторых, KVM и Xen (как и другие гипервизоры) поддерживают разные типы виртуализации: паравиртуализацию, полную виртуализацию и аппаратную виртуализацию. Оптимизация у них разная под разные сценарии и задачи. Xen (переработанная версия), к слову, работает в паре с Nitro в облаке AWS — получается уникальная архитектура, которую сложно сравнивать. А крупные провайдеры и различные гиперскейлеры вообще создают собственные модификации гипервизоров (как конфигурации 1С), что делает их уникальными. Даже если отбросить беллетристику и сравнения, то ответа на вопрос "Сколько виртуалок выдержит система?" не получится. Ещё раз благодарю за ваш вопрос!
Евгений
09.07.2024
Спасибо. Статья помогла мне структурировать информацию полученную из разных источников.
СЕРВЕР МОЛЛ:
Спасибо за оценку! Если появятся вопросы — задавайте :)
Написать комментарий
Поля, отмеченные *, обязательны для заполнения

Больше статей

Подписаться на новости

Нажимая кнопку «Подписаться», я даю согласие
на обработку и хранение персональных данных и принимаю соглашение
icon-recall
Отправить ТЗ
client consultations icon-delivery discount icon-facebook franchise icon-google_plus it-solutions icon-jivosite icon-menu icon-up icon-message payment icon-recall shops-local shops-network icon-solutions icon-support tasks icon-twitter Group 8 icon-user icon-viber icon-vk icon-watsup icon-watsup-2
Мы используем файлы 'cookie', чтобы обеспечить максимальное удобство пользователям.