oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация

Въведение

Проект с отрытым исходным кодом oVirt — безплатна платформа за виртуализация на корпоративно ниво. Преглеждайки habr, открих, че oVirt не е осветена тук толкова широко, колкото заслужава.
oVirt по същество е основата на комерсиалната система Red Hat Virtualization (RHV, преди RHEV), която расте под крилото на Red Hat. За да не възникне объркване, това не е същото като CentOS срещу RHEL, моделът е по-близък до Fedora срещу RHEL.
Под капака — KVM, управлението се осъществява чрез уеб интерфейс. Базирана е на ОС RHEL/CentOS 7.
oVirt може да се използва както за "традиционна" сървърна, така и за десктопна виртуализация (VDI), в отличие от решението на VMware, и двете системи могат да съществуват в един комплекс.
Проектът е добре документиран, вече е достигнал зрялост за продуктивно приложение и е готов за високи натоварвания.
Тази статия е първата в цикъла за това как да изградим работещ отказоустойчив кластер. Преминавайки през тях, за кратко време (около 2 часа) ще получим напълно работеща система, въпреки че редица въпроси, разбира се, няма да могат да бъдат разгледани, ще се постарая да ги осветя в следващите статии.
Използваме го от няколко години, започнахме с версия 4.1. Нашата промишлена система в момента работи на изчислители HPE Synergy 480 и ProLiant BL460c 10-то поколение с Xeon Gold CPU.
Към момента на написването, активната версия е 4.3.

Статии

  1. Въведение (Ние сме тук)
  2. Инсталация на мениджъра (ovirt-engine) и хипервизорите (hosts)
  3. Допълнителни настройки

Функционални характеристики

В oVirt има 2 основни същности: ovirt-engine и ovirt-host(s). За тези, които са добре запознати с продуктите на VMware, oVirt като платформа е аналог на vSphere, ovirt-engine — управляващият слой — изпълнява същите функции като vCenter, а ovirt-host — хипервизор, като ESX(i). Тъй като vSphere е много популярно решение, понякога ще правя сравнение с него.
oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация
Рис. 1 — контролен панел на oVirt.

Поддържат се повечето дистрибуции на Linux и версии на Windows за гостуващи машини. За гостуващите машини има агенти и оптимизирани виртуални устройства и драйвери virtio, преди всичко диск контролер и мрежов интерфейс.
За реализиране на отказоустойчиво решение и всички интересни функции е необходимо споделено хранилище. Поддържат се както блокови FC, FCoE, iSCSI, така и файлови NFS хранилища и др. За да реализирате отказоустойчиво решение, системата за съхранение също трябва да е отказоустойчива (минимум 2 контролера, мултипасинг).
Използването на локални хранилища е възможно, но по подразбиране за реален клъстер са подходящи само споделени хранилища (shared storages). Локалните хранилища правят системата разпокъсан набор от хипервизори и дори при наличие на споделено хранилище, клъстер не може да бъде събран. Най-правилният път е бездискови машини с boot from SAN или дискове с минимален обем. Вероятно, чрез vdsm hook е възможен вариант за изграждане от локални дискове на Software Defined Storage (например, Ceph) и представянето му на ВМ, но сериозно не го разглеждах.

Архитектура

oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация
Рис. 2 — архитектура oVirt.
В детайли с архитектурата можете да се запознаете в документацията разработчика.

oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация
Рис. 3 — обекти oVirt.

Върховният елемент в йерархията — Център за данни. Той определя дали се използват споделени (shared) или локални хранилища, както и използвания набор от функции (съвместимост, от 4.1 до 4.3). Може да има един или повече. За много варианти подходящо е използването на Център за данни по подразбиране — Default.
Центърът за данни се състои от един или повече Клъстери.Клъстерът определя типа процесор, политики за миграция и др. За малки инсталации можете да се ограничите и до клъстера Default.
Клъстерът, от своя страна, се състои от Хостхостове, извършващи основната работа — те носят виртуални машини, към тях са свързани хранилища. В клъстера се предполага наличие на 2 или повече хостове. Въпреки че технически е възможно да се създаде клъстер с 1 хост, това няма практическа полза.

В oVirt се поддържат множество функции, в т.ч. жива миграция на виртуални машини между хипервизорите (live migration) и хранилищата (storage migration), десктопна виртуализация (virtual desktop infrastructure) с пулове ВМ, statefull и stateless ВМ, поддръжка на NVidia Grid vGPU, импорт от vSphere, KVM, има мощно API и много други. Всички тези функции са налични без лицензионни отчисления, а при необходимост от поддръжка може да я закупите от Red Hat чрез регионални партньори.

За цените на RHV

Цената не е висока в сравнение с VMware, купува се само поддръжката — без изискване за закупуване на самата лицензия. Поддръжката се закупува само за хипервизорите, ovirt-engine, в отличие от vCenter Server не изисква разходи.

Пример за изчисление за 1-ва година на притежание

Да разгледаме клъстера от 4 две сокетни машини и търговските цени (без проектови отстъпки).
Стандартна абонаментна такса за RHV струва $999 за сокет/година (премиум 365/24/7 — $1499), общо 4*2*$999=$7992.
Цена на vSphere:

  • VMware vCenter Server Standard 10,837.13 $ на инстанция, плюс основна абонамент 2,625.41 $ (Производство — 3,125.39 $);
  • VMware vSphere Standard 1,164.15 $ + Основна абонамент 552.61 $ (Производство 653.82 $);
  • VMware vSphere Enterprise Plus 6,309.23 $ + Основна абонамент 1,261.09 $ (Производство 1,499.94 $).

Общо: 10,837.13 + 2,625.41 + 4 * 2 * (1,164.15 + 552.61) = $27 196,62 за най-базовата опция. Разликата е около 3.5 пъти!
В oVirt всички функции са достъпни без ограничения.

Кратки характеристики и максимуми

Системни изисквания

За хипервизора е необходим CPU с включена хардуерна виртуализация, минимален обем RAM за стартиране — 2 ГБ, препоръчителен обем за съхранение на ОС — 55 ГБ (предимно за журнали и т.н., самата ОС заема малко).
Повече информация — тук.
За Engine минимални изисквания 2 ядра / 4 ГБ RAM / 25 ГБ съхранение. Препоръчителни — от 4 ядра / 16 ГБ RAM / 50 ГБ съхранение.
Както при всяка система, има ограничения на обемите и количествата, повечето от които надвишават възможностите на достъпните масови търговски сървъри. Така, двойка Intel Xeon Gold 6230 може да адресира 2 TiB RAM и да предостави 40 ядра (80 потока), което е по-малко дори от лимитите на едно ВМ.

Максимуми на виртуалните машини:

  • Максимален брой едновременно работещи виртуални машини: Неограничен;
  • Максимален брой виртуални CPU на виртуална машина: 384;
  • Максимална памет на виртуална машина: 4 TiB;
  • Максимален размер на един диск на виртуална машина: 8 TiB.

Максимуми на хост:

  • Логически ядра на CPU или нишки: 768;
  • RAM: 12 TiB;
  • Брой хоствани виртуални машини: 250;
  • Едновременни живи миграции: 2 входящи, 2 изходящи;
  • Пропускна способност за жива миграция: По подразбиране 52 MiB (~436 Mb) на миграция при използване на политиката за наследствена миграция. Други политики използват адаптивни стойности за пропускна способност, основани на скоростта на физическото устройство. Политики за управление на качеството могат да ограничат пропускната способност на миграцията.

Максимуми на логическите ентитети на мениджъра:

В 4.3 съществуват следните лимити.

  • Център за данни
    • Максимален брой центрове за данни: 400;
    • Максимален брой хостове: 400 поддържани, 500 тествани;
    • Максимален брой ВМ: 4000 поддържани, 5000 тествани;
  • Cluster
    • Максимален брой клъстери: 400;
    • Максимален брой хостове: 400 поддържани, 500 тествани;
    • Максимален брой ВМ: 4000 поддържани, 5000 тествани;
  • Мрежа
    • Логически мрежи/клъстър: 300;
    • SDN/външни мрежи: 2600 тествани, без наложен лимит;
  • Хранилище
    • Максимален брой домейни: 50 поддържани, 70 тествани;
    • Хостове на домейн: Без ограничение;
    • Логически томове на блоков домейн (повече): 1500;
    • Максимален брой LUNs (повече): 300;
    • Максимален размер на диск: 500 TiB (ограничен на 8 TiB по подразбиране).

Варианти на внедряване

Както вече споменахме, oVirt се състои от 2 основни елемента — ovirt-engine (управление) и ovirt-host (хипервизор).
Engine може да бъде разположен както извън самата платформа (самостоятелен мениджър — това може да бъде ВМ, пусната в друга платформа или отделен хипервизор и дори физическа машинa), така и на самата платформа (self-hosted engine, подобно на подхода VCSA от VMware).
Хипервизорът може да бъде инсталиран както на обикновена ОС RHEL/CentOS 7 (EL Host), така и на специализирана минимална ОС (oVirt-Node, основана на el7).
Хардуерните изисквания за всички варианти са приблизително еднакви.
oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация
Рис. 4 — стандартна архитектура.

oVirt за 2 часа. Част 1. Отворена отказоустойчива платформа за виртуализация
Рис. 5 — Архитектура на самообслужваните енджини.

Избрах опцията standalone Manager и EL Hosts за себе си:

  • standalone Manager е малко по-прост при проблеми с пускането, няма дилема с яйцето и кокошката (както и за VCSA — няма да се стартира, докато не се стартира поне един хост изцяло), но се появява зависимост от друга система*;
  • EL Host предоставя цялата мощ на ОС, което е полезно за външен мониторинг, отстраняване на проблеми и т.н.

* Въпреки това, през всичките тези години на експлоатация, това не се е наложило, дори след сериозни аварии с захранването.
Но вече да преминем към същността!
За експеримента имаме възможност да освободим няколко лезвия ProLiant BL460c G7 с Xeon® CPU. На тях ще извършим инсталационния процес.
На възлите ще присвоим имената ovirt.lab.example.com, kvm01.lab.example.com и kvm02.lab.example.com.
Преминаваме директно към инсталацията.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster