Настройка oVirt для управления виртуализацией KVM под ключ

Управление KVM-виртуализацией без встроенных инструментов часто превращается в хаос: миграции вручную, отсутствие отказоустойчивости и сложный контроль доступа. Мы настраиваем oVirt под ключ — от планирования сети и хранилища до внедрения Live Migration и High Availability. Наша команда берёт на себя весь цикл работ и обеспечивает стабильную работу платформы с последующей поддержкой.
Часто задаваемые вопросы

Мы настраиваем oVirt для централизованного управления KVM-виртуализацией. oVirt — это enterprise-платформа с открытым исходным кодом, на базе которой построен Red Hat Virtualization. Если вам нужна функциональность VMware vCenter, но без лицензионных платежей — oVirt предоставляет Live Migration, High Availability, детальный RBAC и централизованное управление через веб-интерфейс и REST API. Однако установка и настройка требуют внимательного планирования сети и хранилища. Свяжитесь с нами для оценки вашего проекта.

Типичные проблемы при внедрении oVirt

Планирование сети. Без выделенных logical networks для management, VM-трафика, миграции и storage возникают конфликты и падение производительности. Например, если storage трафик идёт через management-сеть с MTU 1500, а не 9000, скорость NFS падает на 30%.

Выбор хранилища. NFS просто и быстро, но iSCSI с multipath даёт отказоустойчивость. Gluster подходит для гиперконвергентных решений, но требует дополнительной настройки репликации. Неправильный выбор приводит к сбоям HA.

Настройка HA. Если не задать приоритеты ВМ, при отказе хоста критичные сервисы могут не получить ресурсы первыми.

Почему oVirt лучше платных решений?

oVirt обеспечивает функциональность VMware vCenter без лицензионных отчислений. По стоимости владения oVirt в 2–3 раза дешевле при сопоставимом SLA, особенно на кластерах от 10 хостов. Открытый код и активное сообщество гарантируют независимость от вендора. Экономия на лицензиях при кластере из 3 хостов составляет до 60% за три года.

Как мы это делаем: кейс кластера из 3 хостов

В одном проекте мы разворачивали oVirt для компании с 50 ВМ. Использовали self-hosted Engine на CentOS Stream 9, три хоста с совместимыми Intel Xeon, NFS storage на отдельном сервере.

Установка Engine

# Установка на RHEL 9 / CentOS Stream 9
dnf install -y centos-release-ovirt45
dnf install -y ovirt-engine
# Запуск мастера настройки
engine-setup

engine-setup — интерактивный wizard, который настраивает PostgreSQL (локально или внешний), Keycloak/SSO, Apache reverse proxy, SSL сертификаты. На большинстве вопросов можно принять defaults, но несколько критичных:

  • FQDN engine — должен резолвиться с хостов кластера
  • DWH (Data Warehouse) — включаем, если нужна история метрик
  • Grafana — включаем вместе с DWH для дашбордов

Настройка хостов и кластера

После установки Engine открываем веб-интерфейс и добавляем KVM хосты. oVirt сам устанавливает VDSM на хост через SSH. Требования к хостам: RHEL/CentOS/AlmaLinux 9, отключены firewalld правила для oVirt (Engine управляет iptables через VDSM), одинаковые или совместимые CPU в кластере для Live Migration.

Сетевая конфигурация через oVirt Engine:

Logical Networks в oVirt:
├── ovirtmgmt — management сеть (обязательна, создаётся автоматически)
├── vm-network — трафик ВМ (VLAN 100)
├── migration — Live Migration трафик (выделенная сеть)
└── storage — NFS/iSCSI трафик (Jumbo frames, MTU 9000)

Каждая logical network назначается на физический NIC хостов через Network Bonds или напрямую. oVirt применяет конфигурацию на всех хостах кластера централизованно.

Storage Domain: NFS и iSCSI

Для NFS Storage Domain:

# На NFS сервере — экспорт с правильными правами
cat >> /etc/exports << 'EOF'
/exports/ovirt-storage 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
EOF
exportfs -a

В oVirt Engine: Storage → Domains → New Domain → тип NFS, указываем путь. oVirt монтирует NFS на все хосты кластера автоматически и форматирует под свой формат (SPM — Storage Pool Manager управляет метаданными).

Для iSCSI: Storage → Domains → New Domain → тип iSCSI, указываем Target IQN. oVirt использует multipath для отказоустойчивости — автоматически настраивает multipath.conf на хостах.

ISO Domain — отдельный Storage Domain для ISO образов. Хосты монтируют его для установки ОС на ВМ.

Как настроить Live Migration и HA?

Live Migration работает автоматически через DRS (если включена балансировка) или вручную из UI. Требования: общий Storage Domain, migration network с достаточной полосой. Среднее время миграции — 5 минут.

# Через REST API oVirt (полезно для автоматизации)
curl -X POST \
  -H "Content-Type: application/xml" \
  -H "Accept: application/xml" \
  --user admin@internal:password \
  "https://ovirt-engine.company.ru/ovirt-engine/api/vms/VM_ID/migrate" \
  -d '<action><host id="HOST_ID"/></action>'

HA для ВМ настраивается на уровне каждой ВМ: Edit VM → High Availability → Enable. При падении хоста oVirt HA Manager перезапускает ВМ на другом хосте в кластере. Приоритет ВМ при HA failover: Low/Medium/High — критичные ВМ получают ресурсы первыми.

Требования к хостам для oVirt
  • ОС: RHEL, CentOS или AlmaLinux 9
  • CPU: совместимые для Live Migration (одинаковые семейства)
  • Сеть: выделенные logical networks, Jumbo frames для storage (MTU 9000)
  • Firewall: отключить firewalld (oVirt управляет iptables через VDSM)
  • Диски: минимум 50 ГБ для OS, остальное под хранение ВМ

Ansible интеграция

Коллекция ovirt.ovirt позволяет управлять oVirt через Ansible:

# playbook: create-vm.yml
- hosts: localhost
  collections:
    - ovirt.ovirt
  vars:
    engine_url: https://ovirt-engine.company.ru/ovirt-engine/api
    engine_user: admin@internal
    engine_password: "{{ vault_ovirt_password }}"
  tasks:
    - name: Create VM
      ovirt_vm:
        auth:
          url: "{{ engine_url }}"
          username: "{{ engine_user }}"
          password: "{{ engine_password }}"
        name: webserver01
        template: rhel9-template
        cluster: production
        memory: 8GiB
        cpu_cores: 4
        state: running
        cloud_init:
          host_name: webserver01.company.ru
          authorized_ssh_keys: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"

Что входит в работу

  • Планирование архитектуры: сетевой план, sizing Engine и хостов, выбор типа storage.
  • Установка oVirt Engine с DWH и Grafana по желанию.
  • Подключение KVM хостов и настройка logical networks.
  • Создание Storage Domain (NFS, iSCSI, Gluster) и ISO Domain.
  • Настройка Live Migration и HA с тестированием failover.
  • Передача документации: runbook для администратора, процедуры операционного управления.
  • Обучение команды: основы управления через UI и REST API.
  • Поддержка на этапе ввода в эксплуатацию (2 недели).

Этапы и сроки

Этап Содержание
Планирование Сетевой план, sizing engine и хостов, выбор storage
Установка Engine oVirt Engine, DWH, Grafana
Настройка хостов Добавление KVM хостов, сетевые bonds, logical networks
Storage NFS/iSCSI Storage Domain, ISO Domain
Templates Создание ВМ шаблонов с cloud-init
HA и миграция Настройка HA политик, тестирование failover
Документация Runbook, процедуры операционного управления
Тип хранилища Пропускная способность Отказоустойчивость Сложность настройки
NFS до 1 ГБ/с (Gigabit) Средняя (резервирование сервера) Низкая
iSCSI до 10 ГБ/с (10GbE) Высокая (multipath) Средняя
Gluster до 5 ГБ/с (10GbE) Высокая (репликация) Высокая

Сроки: 3–5 дней для кластера из 3 хостов с NFS storage. При использовании iSCSI с multipath и Gluster хранилищем — до 7 дней.

Оценим ваш проект по виртуализации на oVirt под ключ. За 8 лет мы реализовали более 50 проектов. Получите консультацию инженера — пишите. Wikipedia — подробное описание платформы.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139