oVirt
oVirt — это свободная, открытая платформа для управления виртуализацией корпоративного уровня, предназначенная для централизованного управления виртуальными серверами, рабочими станциями и сетевой инфраструктурой. oVirt предоставляет веб-интерфейс и API для развёртывания, мониторинга и миграции виртуальных машин (ВМ), работающих на базе гипервизора KVM (Kernel-based Virtual Machine). Проект развивается сообществом под эгидой Linux Foundation и является upstream-проектом (исходным кодом) для коммерческого продукта Red Hat Virtualization (RHV).
История
Проект oVirt был основан в 2011 году компанией Red Hat как открытая альтернатива проприетарным системам управления виртуализацией, таким как VMware vSphere и Microsoft Hyper-V. Основой для oVirt послужил код, разработанный Red Hat для своего коммерческого продукта Red Hat Enterprise Virtualization (RHEV), который, в свою очередь, был создан на базе технологий, приобретённых в результате покупки компании Qumranet в 2008 году (включая гипервизор KVM и систему управления VDSM).
Первая стабильная версия oVirt 3.0 была выпущена в марте 2012 года. С тех пор проект прошёл несколько этапов развития: от поддержки базовых функций управления ВМ до интеграции с продвинутыми технологиями, такими как Software-Defined Networking (SDN) с помощью Open vSwitch, управление хранилищами на базе GlusterFS и Ceph, а также поддержка контейнеров через интеграцию с OpenShift Virtualization (ранее KubeVirt). В 2020-х годах oVirt остаётся одним из ключевых проектов для построения частных и гибридных облачных инфраструктур.
Архитектура
Архитектура oVirt построена по принципу «управляющий-управляемый» (manager-agent) и состоит из двух основных компонентов:
oVirt Engine (Менеджер)
Центральный компонент управления, работающий как серверное приложение на базе Java (JBoss Application Server). oVirt Engine предоставляет:
- Веб-интерфейс (административный портал и пользовательский портал самообслуживания).
- RESTful API для автоматизации.
- Службы аутентификации (через LDAP, Active Directory, Kerberos).
- Планировщик размещения ВМ (Scheduler).
- Базу данных (PostgreSQL) для хранения конфигурации и состояния инфраструктуры.
oVirt Node (Гипервизоры)
Серверы, на которых выполняются виртуальные машины. oVirt поддерживает два типа узлов:
- oVirt Node — минимальный дистрибутив Linux (на базе CentOS Stream или Fedora), содержащий только необходимые компоненты для работы гипервизора KVM и агента управления VDSM (Virtual Desktop and Server Manager).
- Управляемый хост — стандартный дистрибутив Linux (например, CentOS, RHEL, Rocky Linux, AlmaLinux), на который устанавливается VDSM и дополнительные пакеты.
VDSM — это агент, работающий на каждом узле и отвечающий за выполнение команд от oVirt Engine: создание, запуск, остановку, миграцию ВМ, управление сетевыми интерфейсами и хранилищами.
Ключевые возможности
Управление виртуальными машинами
- Создание, клонирование, шаблонизация и удаление ВМ.
- Поддержка различных гостевых операционных систем: Windows, Linux (с драйверами VirtIO для оптимизации производительности), BSD.
- Горячее подключение/отключение виртуальных устройств (CPU, RAM, дисков, сетевых карт).
- Динамическая миграция (Live Migration) ВМ между узлами без остановки работы.
- Высокая доступность (High Availability) — автоматический перезапуск ВМ на другом узле при сбое хоста.
Управление хранилищами
oVirt поддерживает различные типы хранилищ для дисков ВМ и ISO-образов:
- NFS (Network File System) — классический сетевой протокол.
- iSCSI — блочное хранилище по IP-сети.
- Fibre Channel — высокоскоростное блочное хранилище.
- GlusterFS — распределённая файловая система, интегрируемая с oVirt для создания гиперконвергентных решений.
- Ceph (RBD) — объектное хранилище, обеспечивающее высокую отказоустойчивость.
Управление сетями
- Логические сети, VLAN, bonding.
- Программно-определяемая сеть (SDN) на базе Open vSwitch.
- Изоляция трафика (сеть управления, сеть хранения, сеть ВМ).
- Фильтрация трафика с помощью правил брандмауэра.
Управление шаблонами и образами
- Создание шаблонов ВМ для быстрой развёртки однотипных серверов.
- Поддержка тонких (thin provisioning) и толстых (thick provisioning) дисков.
- Снимки состояния (snapshots) ВМ для отката изменений.
Управление пользователями и ролями
- Интеграция с внешними каталогами (LDAP, Active Directory).
- Ролевая модель доступа (RBAC) с предопределёнными и настраиваемыми ролями (администратор, оператор, пользователь самообслуживания).
Применение
oVirt используется в различных сценариях:
- Частные облака (Private Cloud): построение инфраструктуры для корпоративных приложений, баз данных, веб-серверов.
- Виртуализация рабочих столов (VDI): развёртывание виртуальных рабочих станций с доступом через протоколы SPICE или VNC.
- Тестовые и лабораторные среды: быстрое создание изолированных сред для разработки, тестирования и обучения.
- Гиперконвергентная инфраструктура: совместное использование oVirt с GlusterFS или Ceph для объединения вычислительных ресурсов и хранилища на одних и тех же узлах.
- Образовательные проекты: изучение технологий виртуализации и управления облачной инфраструктурой.
Сравнение с коммерческими аналогами
oVirt часто сравнивают с VMware vSphere и Microsoft Hyper-V. Основные отличия:
- Лицензия: oVirt распространяется под лицензией Apache 2.0, что позволяет использовать его без лицензионных отчислений.
- Гипервизор: oVirt использует KVM, встроенный в ядро Linux, что обеспечивает высокую производительность и совместимость с Linux-экосистемой.
- Поддержка: oVirt не имеет официальной коммерческой поддержки (кроме downstream-продукта Red Hat Virtualization), что может быть ограничением для критически важных систем.
- Экосистема: VMware и Microsoft предлагают более широкий набор дополнительных продуктов (балансировка нагрузки, защита от сбоев, резервное копирование), в то время как oVirt требует интеграции сторонних решений.
Недостатки и критика
Несмотря на зрелость, oVirt имеет ряд недостатков:
- Сложность настройки: развёртывание и конфигурирование oVirt требует знаний в области Linux, сетей и хранилищ.
- Ограниченная поддержка Windows: хотя oVirt поддерживает Windows в качестве гостевой ОС, полная интеграция (например, драйверы, управление) уступает коммерческим решениям.
- Меньшее сообщество: по сравнению с VMware или Proxmox, сообщество oVirt меньше, что может затруднить поиск решений для нестандартных проблем.
- Зависимость от upstream-проектов: oVirt сильно зависит от развития KVM, libvirt, QEMU и других проектов, что иногда приводит к задержкам в исправлении ошибок.
Интересные факты
- oVirt является одним из немногих проектов виртуализации, который полностью построен на открытом коде и не имеет проприетарных компонентов.
- Код oVirt используется в коммерческом продукте Red Hat Virtualization (RHV), который, в свою очередь, входит в состав Red Hat OpenStack Platform и Red Hat OpenShift.
- oVirt поддерживает интеграцию с Ansible для автоматизации задач управления инфраструктурой.
- Проект oVirt активно участвует в разработке стандарта OVF (Open Virtualization Format) для переносимости ВМ между различными платформами.
Источники
- Официальная документация проекта oVirt (ovirt.org/documentation)
- Репозиторий исходного кода oVirt на GitHub (github.com/oVirt)
- Статья «oVirt: A Free and Open Source Virtualization Platform» на сайте Linux Foundation
- Документация Red Hat Virtualization (access.redhat.com/documentation)
- Книга «Virtualization with oVirt: A Practical Guide» (Packt Publishing)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →