oVirt. все статьи цикла
На мой взгляд архитектура (См. рис. 1) oVirt довольно проста, но при этом гибка и масштабируема. По сути, базовые компоненты это хорошо известные, самодостаточные Open Source решения, объединенные в одной платформе.
Основные составляющие:
-
oVirt Engine — сервер мониторинга и управления вычислительными узлами, хранилищами, сетями и виртуальными машинами. Обеспечивает полный жизненный цикл ВМ. Реализован в виде веб-сервиса на Java (JBoss) с расчетом на максимальную масштабируемость и безопасность. Заявлено, что один экземпляр Engine способен управлять пятью сотнями гипервизоров и десятью тысячами ВМ! Правда, найти инфраструктуру такого масштаба для подтверждения данного заявления навряд ли возможно. Это основной инструмент и точка входа для администратора и пользователя:
-
oVirt Nodes — вычислительные узлы на которых выполняются ВМ, а так же могут быть размещены локальные хранилища. Каждый узел это в первую очередь Linux-сервер с поддержкой аппаратной виртуализации на базе FedoraCentOS. Возможно использование и DebianUbuntu но тут придется повозиться так как официальные репозитории есть только для RHEL-подобных ОС. Кроме ОС это:
-
QEMU-KVM (в дальнейшем просто KVM) — собственно гипервизор:
-
Libvirt — библиотека управления гипервизором. Так же Libvirt поддерживает Xen, VirtualBox, OpenVZ, LXC, VMware ESXi и позволяет управлять ими используя один и тот же набор команд. Но в рамках oVirt допустимо использовать только KVM:
-
VDSM (Virtual Desktop and Server Manager) – это агент, написанный на Python по средствам которого oVirt Engine взаимодействует с вычислительными узлами. VDSM умеет управлять всеми необходимыми подсистемами узла, в том числе и KVM с помощью Libvirt.
-
-
БД — необходима для хранения метаданных и информации об инфраструктуре. В качестве БД используется PostgreSQL:
-
Общее сетевое хранилище — необходимо для использования возможностей “живой” миграции и защиты ВМ с помощью HA:
-
LDAP-каталог — необходим для хранения информации об учетных записях и авторизации пользователей. Не обязательный компонент, так как есть возможность создавать внутренние учетные записи:
-
Клиенты — если точнее, то средства взаимодействия с oVirt Engine. Это может быть веб-консоль для администраторов и пользователей, интерфейс командной строки или Python SDK:
-
Guest tools (компоненты внутри ВМ) — если более точно это:
-
oVirt Guest Agent — агент внутри ВМ предоставляющий серверу управления информацию о ВМ. Ее IP, версию ОС и прочее. Так же модуль необходим для корректной обработки сигналов выключения и перезагрузки:
-
VirtIO Drivers — драйвера виртуального оборудования (virtio-net, virtio-block, virtio-serial, spice-qxl, virtio-balloon) для максимальной производительности и оптимального использования ресурсов узла. Дополнительно они необходимы для работы протокола SPICE.
-
Помогла ли вам статья?