Налаштування 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
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1140