Тестируем отечественную систему виртуализации: РЕД Виртуализация
Привет, Хабр!
Пришло время продолжить сагу об импортозамещении и российской виртуализации. И сегодня я буду разбирать по винтикам РЕД Виртуализацию. В опросе он занял почетное второе место, посмотрим, оправдает ли решение надежды проголосовавших за него читателей.
Предыдущие материалы:
Кратко о РЕД Виртуализации
РЕД Виртуализация — система управления виртуализацией серверов и рабочих станций от компании РЕД СОФТ. Разработчик решения на рынке уже 15 лет — за это время у РЕД СОФТ накопился довольно неплохой портфель программных продуктов. Многие из них (и РЕД Виртуализация в их числе) входят в Единый реестр российского ПО.
Итак, что нам известно о РЕД Виртуализации.
Компоненты решения открыто представлены в презентации:
Скриншот презентации РЕД Виртуализации
Как можно заметить, среди «ингредиентов» мы не видим ничего принципиального нового. Допускаю, что результаты будут близки к тестам zVirt, так как в основе лежит система oVirt. Но раз система «вышла в финал», следует еще раз пройти по этому пути и произвести все выкладки.
Производитель обещает удобный интерфейс, широкие функциональные возможности, совместимость со сторонним ПО для бэкапов, защиты от вирусов и средствами защиты информации. В этой статье я, как обычно, сосредоточусь на тестировании функций. Если вдруг вы читаете меня впервые, советую сначала обратиться к этой статье и ознакомиться с методикой тестирования.
Результаты тестирования РЕД Виртуализации
Кратко об условиях.
В тестировании использовалась версия 7.3.
Ранее я уже тестировал похожий zVirt, поэтому может сказаться небольшой эффект опыта.
Тестирование проходило в режиме вложенной виртуализации, поэтому параметры производительности почти не оценивались. Основной акцент — на возможности ПО.
Установка продукта и настройка
Документация
Полный комплект документации поставляется в виде руководств в формате PDF на сайте производителя. Также есть онлайн база знаний. Читать документацию в PDF лично мне было неудобно. Сложилось впечатление, что сделана она, как говорится, для галочки. На сайте присутствует раздел ответов на частые вопросы.
Архитектура решения
Описание структуры решения разбросано по документации, в презентации указаны 3 схемы применения:
отказоустойчивый кластер;
гиперконвергентный кластер;
отдельный гипервизор «Всё-в-одном».
РЕД Виртуализация устанавливалась в варианте Hosted Engine — это виртуализированная среда, в которой Engine работает на виртуальной машине на хостах, управляемых данной службой. В документации представлена архитектура решения:
Интерфейс разбит на портал, при входе необходимо выбрать нужный.
Портал администратора:
Портал виртуальных машин:
Портал мониторинга:
Простота установки
К сожалению, несмотря на второй опыт с oVirt, с первого раза с установкой справиться не получилось. После получения разных ошибок я отправился читать документацию — как оказалось, не зря. Это помогло. Было принято решение развернуть в режиме Host (в данном варианте Hosted Engine создается в виде виртуальной машины после установки первого узла).
Как я уже писал в статье про zVirt, продукт однозначно не для новичков в Linux, только для настройки потребуется знания уровня «опытный пользователь» или выше.
Возможность установки в открытом и закрытом контурах
Дистрибутив поставляется в виде ISO-образа со всеми необходимыми пакетами и фирменной RED OS MUROM. Установка возможна без доступа в интернет. Рекомендуется использовать настроенный DNS-сервер либо прописать все используемые хосты, хранилища, ВМ с платформой в файле hosts на всех узлах.
Управление гипервизором
Согласно документации, «прямой доступ к хосту РЕД Виртуализации через SSH или консоль не поддерживается, поэтому пользовательский интерфейс Cockpit предоставляет графический пользовательский интерфейс для задач, выполняемых перед добавлением хоста к Engine, таких как настройка сети и развертывание self-hosted Engine, а также может использоваться для запуска команд терминала через вкладку Терминал».
То есть формально доступ есть, но это, скорее, про управление операционной системой, нежели виртуализацией. Аналога графического интерфейса ESXi не наблюдается.
Операции с виртуальными машинами
Установка виртуальной машины из ISO-образа
Для создания ВМ из ISO предварительно необходимо настроить домен для хранения ISO-образов. После всех приготовлений создание ВМ происходит через мастер за 4 шага через Портал виртуальных машин. Особых трудностей не возникло — сказался эффект опыта:)
Создание виртуальной машины из портала администратора содержит больше настроек ВМ.
Выбор метода эмуляции процессора
При создании из портала виртуальных машин выбрать режим эмуляции CPU не представляется возможным, но на портале администратора возможно задать тип CPU, количество сокетов, ядер на сокет, потоков CPU на ядро, указать тип CPU. При явном указании узла можно включить проброс CPU узла.
Способы создания виртуальной машины
ВМ можно создать из шаблона, это наиболее быстрый способ создания ВМ. Шаблоны доступны из ovirt-image-repository. Предварительно шаблон необходимо импортировать. Количество шаблонов ограничено. Также есть возможность импортировать свои шаблоны из формата OVA либо создать шаблон из ранее созданной ВМ.
Установка из ISO, расположенного на локальном компьютере администратора, невозможна, поддерживается библиотека ISO-образов.
Можно создавать пулы виртуальных машин. Пул виртуальных машин — это группа виртуальных машин, которые являются клонами одного шаблона и могут использоваться по требованию любым пользователем в данной группе.
Базовые операции с виртуальной машиной
Присутствуют все базовые функции управления виртуальной машиной.
В интерфейсе администратора удаления ВМ спрятана в дальнем меню. Удалить работающую ВМ нельзя, перед этим она должна быть предварительно выключена.
Возможности установки Guest Agent
Гостевые агенты (ovirt-guest-agent, emu-guest-agent) должны быть установлены отдельно.
Из интересных дополнительных функций после установки агента:
ovirt-guestagent-common — позволяет получать внутренние события виртуальных машин и информацию (IP-адрес и установленные приложения). Также дает Engine возможность выполнять определенные команды на ВМ, такие, как выключение или перезагрузка.
rhev-sso — позволяет пользователям автоматически входить в свои виртуальные машины на основе учетных данных, используемых для доступа к Engine.
После установки агента в карточке ВМ доступна информация о гостевой ОС, IP-адрес, полученный по DHCP, отображается корректно.
Клонирование виртуальной машины
В документации указано: «Кнопка Клонировать ВМ неактивна во время работы виртуальных машин; вы должны выключить виртуальную машину, прежде чем сможете клонировать ее». Однако у меня кнопка была активна, клонирование включенной ВМ запустилось и было завершено успешно без выключения ВМ. Возникают некоторые вопросы — либо к документации, либо к продукту.
Связные клоны (по сути, пулы виртуальных машин) создаются администратором. Пользователи получают доступ к пулу виртуальных машин, выбирая виртуальную машину из пула.
Снапшоты
В этот раз работа со снимками прошла более гладко, чем при тестировании zVirt. Логика работы уже была понятна и ожидания от интерфейса тоже сформировались.
Поддерживается создание снимков, в том числе с сохранением оперативной памяти. Миграция ВМ со снимком успешно выполняется. Есть возможность создать новую виртуальную машину из снимка путем клонирования. Удаление снимка не влияет на работоспособность ВМ.
Восстановить из снимка текущую ВМ на портале администратора нельзя, можно лишь создать новую или клонировать ее из снимка.
Образ виртуальной машины
Функции работы с шаблонами достаточно развитые: их можно создавать, редактировать, импортировать и экспортировать. Подготовка виртуальной машины в документации называется «Запечатывание». Возможно, при адаптации оригинальной документации у специалистов РЕД Софт возникли определенные сложности. Лично я бы назвал этот процесс обезличиванием — в документации oVirt этот пункт обозначен как «Sealing Virtual Machines in Preparation for Deployment as Templates». Присутствует функционал Sysprep — он используется для запечатывания шаблонов Windows перед использованием. Cloud-Init тоже в наличии, однако пакет cloud-init должен быть сначала установлен на виртуальной машине.
Группировка виртуальных машин
Присутствует возможность добавлять метки-тэги к виртуальным машинам. Метки могут использоваться для групповых операций с виртуальными машинами.
Живая миграция виртуальной машины
Функции живой миграции присутствуют. Однако документация и тут смогла меня удивить. Вот вам выдержка: «Вы можете использовать живую миграцию … Ваша среда РЕД Виртуализации должна быть правильно настроена для поддержки живой миграции задолго до ее использования». Несмотря на то, что среду виртуализации я настраивал незадолго до живой миграции, перенос прошел успешно. Живая миграция виртуальных машин между разными кластерами обычно не рекомендуется. Политики миграции настраиваются на уровне кластера.
Описание миграции между хранилищами в документации не нашел — возможно, плохо искал. В интерфейсе данный функционал присутствует, к тому же доступна оригинальная документация oVirt. Миграция между хранилищами выполняется из интерфейса управления дисками ВМ.
Горячее изменение ресурсов
Из карточки виртуальной машины можно изменить ее параметры, при необходимости перезагрузки выводится соответствующее сообщение. Изменения не применятся, пока ВМ не будет перезагружена руками. Изменение CPU/RAM на горячую не требует предварительной настройки ВМ.
Подключение диска и сетевого интерфейса также происходит на горячую. Для RAM возможно горячее отключение.
Способы подключения к виртуальной машине
В РЕД Виртуализации приложением по умолчанию для открытия консоли на ВМ выступает Remote Viewer, который необходимо установить на клиентском компьютере перед использованием. В документации описан процесс установки для Windows и РЕД ОС.
Трансляция USB-устройств
Трансляция USB-устройства возможна с клиентского компьютера в виртуальную машину, подключенную по протоколу SPICE. USB-устройство будет перенаправлено, только если виртуальная машина активна, находится в фокусе и запущена с портала виртуальных машин. Чтобы добавить хост-устройство к виртуальной машине, нужно выключить ВМ, после чего добавить нужное устройство в карточке ВМ.
Настройки сети
Различные типы эмуляции сетевых интерфейсов
Функция выбора режима эмуляции сетевого интерфейса доступна в карточке ВМ, можно выбрать один из четырех вариантов: rtl8139, e1000, VirtIO и проброс физического адаптера.
VLAN на узлах в формате Standard vSwitch
В меню сети можно создать логическую сеть, привязать ее к кластеру, указать DNS и тэг VLAN:
Затем виртуальную сеть в карточке узла необходимо привязать к физическому интерфейсу.
Агрегация линий в формате Standard vSwitch
Настройка агрегации производится через веб-интерфейс управления узлом, доступные режимы отображены ниже.
Сетевые настройки в формате распределенного коммутатора (Distributed vSwitch)
Как и было с zVirt, есть возможность централизованно настраивать VLAN на всех хостах виртуализации. По сути, это является неким аналогом Distributed vSwitch. Во всяком случае, позволяет достичь тех же целей по упрощению администрирования, что и Distributed vSwitch.
Тестирование более продвинутой опции с Open vSwitch не производилось из-за ограничений стенда.
Поддержка функции сетевой фабрики
Аналогично предыдущему пункту — работа фабрики требует Open vSwitch. На данный момент тестирование функционала не производилось из-за ограничений стенда.
Настройки хранилища
Поддержка различных типов эмуляции дисков для виртуальной машины
В карточке ВМ можно выбрать тип эмуляции:
«Тонкие» и «толстые» диски
Функция выбора типа эмуляции доступна для различных хранилищ. В случае использования NAS хранилища есть возможность указать политику выделения — тонкий или толстый. Присутствует возможность подключения прямого LUN с СХД по iSCSI.
Работа с SAN хранилищами
Для управления хранилищами используется отдельный пункт меню. Типы поддерживаемых хранилищ отображены на скриншоте.
В документации РЕД Виртуализации описано использование NFS и SAN хранилищ. В документации oVirt подключению SAN хранилищ просвещен пункт 2.6.6. При этом довольно большое количество примечаний там отмечено восклицательным знаком. Как указано в документации, multipath настраивается на уровне узлов. А вот в документации РЕД Виртуализации этого пункта нет, поэтому будем считать, что этот сценарий производителем не поддерживается или поддерживается ограничено.
Работа в гиперконвергентной среде
Поддерживается гиперконвергентная установка с Gluster. В рамках тестирования на стенде такой вариант не настраивался, но по документации функция присутствует.
Отказоустойчивость и эффективность
НА-кластер
Включение режима высокой доступности для ВМ требует ее перезагрузки.
После отключения узла через 2 минуты появилось вот такое сообщение.
Наверное, стоит упомянуть, что все сообщения в «Ящике уведомлений» появляются только на английском языке. К этому моменту я уже порядком устал от этого недоперевода, однако, несмотря на все издержки, ВМ была автоматически запущена на другом узле. После возвращения узла в строй ВМ осталась на том узле, где была запущена. Работе в режиме высокой доступности, а если точнее «Повышению времени безотказной работы за счет высокой доступности виртуальных машин» в документации отведено буквально полторы страницы текста с базовыми определениями и инструкцией по включению этого режима. При отключении 2-х узлов из 3-х «высокодоступные» ВМ были удачно запущены на единственном рабочем узле.
Репликация виртуальных машин
В документации данная функция не описана.
Автоматическая балансировка виртуальных машин
РЕД Виртуализация предполагает 5 политик планирования по умолчанию: None, Evenly_Distributed, VM_Evenly_Distributed, Power_Saving и Cluster_Maintenance. Собственно, здесь все то же самое, что и у zVirt. Также можно отредактировать параметры по умолчанию или создать собственные политики.
Системные настройки
Ролевой доступ
Имеются предопределенные роли для Администраторов и Пользователей.
Есть возможность создавать собственные роли с нужными привилегиями.
Также можно создавать дополнительных пользователей во внутреннем домене с помощью ovirt-aaa-jdbc-tool.
Создание пользователей и подключение к существующим каталогам выполняется из консоли. Пользователи должны быть предварительно созданы из командной строки с помощью ovirt-aaa-jdbc-tool, прежде чем их можно будет добавлять в веб-интерфейс и назначать им роли и разрешения.
Для нового пользователя, согласно установленным ролям, доступен только Портал виртуальных машин, при попытке перехода на Портал администратора получаем соответствующее уведомление.
Интеграция с внешними каталогами
Для настройки интеграции с внешними каталогами необходимо использовать утилиту командной строки ovirt-engine-extension-aaa-ldap-setup в консоли виртуальной машины Hosted Engine. Доступны интеграции Available LDAP implementations:
389ds
389ds RFC-2307 Schema
Active Directory
IBM Security Directory Server
IBM Security Directory Server RFC-2307 Schema
IPA
Novell eDirectory RFC-2307 Schema
OpenLDAP RFC-2307 Schema
OpenLDAP Standard Schema
Oracle Unified Directory RFC-2307 Schema
RFC-2307 Schema (Generic)
RHDS
RHDS RFC-2307 Schema
iPlanet
Процесс требует настроенного DNS сервера, тестирование не производилось.
Интеграция с почтовыми системами
Настройка «ловушек SNMP» производится из консоли виртуальной машины Hosted Engine и отправляются службой ovirt-engine-notifier. В рамках тестирования я не стал проверять функцию, приведу скрин примера конфигурации.
Резервное копирование сервера управления
Для высокой доступности сервера управления должна быть выполнена установка в варианте Hosted Engine. Если хост, на котором запущена виртуальная машина Engine, переходит в режим обслуживания или неожиданно выходит из строя, виртуальная машина будет автоматически перенесена на другой хост в среде. По крайней мере, так должно быть в идеальной ситуации.
Что мы имеем на практике?
Я отключил хост с сервером управления, и… чуда не произошло! Вероятно, отработка этого сценария требует дополнительных настроек. После возвращения узла в строй, ВМ с Engine автоматически не запустилась. Чтобы вернуть стенд к жизни, пришлось обращаться к документации oVirt.
Мониторинг и удобство работы с системой
Удобство работы с системой
Работая с oVirt в первый раз, на создание ВМ потребовалось 20–30 минут. Довольно средненький результат. А вот за миграцию я бы поставил твердую пятерку, она выполняется достаточно предсказуемо, к тому же можно использовать сжатие.
Информативность списка ВМ я бы оценил как среднюю. На Пользовательском портале ВМ отображаются карточками, при большом количестве ВМ это неудобно даже с учетом возможности фильтрации и сортировки.
Мониторинг системы
Довольно информативно, но не самый качественный перевод усложняет жизнь.
Общая информация об утилизации ресурсов:
Информация об утилизации хостов:
Информация по потреблению ресурсов ВМ:
Карточка хоста:
Подведем итоги
Что ж, давайте я попробую суммировать свой опыт с РЕД Виртуализацией.
По самому продукту во многом выводы аналогичны zVirt, но с небольшими отличиями.
Что понравилось:
Установка из ISO всей системы, гипервизор не является «приложением» поверх операционной системы;
Множество функций, доставшихся системе от oVirt. Как и писал в выводе про zVirt: «я бы согласился с оценкой «реализовано 95% функционала VMware vSphere Ent+ и vCenter»».
Систему можно существенно кастомизировать. Присутствует множество различных настроек.
Что не понравилось:
Вклад разработчика в продукт. Из замеченных мной доработок, пожалуй, я могу выделить лишь веб-интерфейс, который доработан и переведен относительно oVirt. Сравнивая с zVirt, который расширяет систему новыми доработками, РЕД Виртуализация — это более «чистый» oVirt.
Все такой же высокий порог входа в работу с системой. Чтобы начать пользоваться РЕДом, вам потребуется уверенное знание Linux или специалист с подобными скиллами.
Документация требует перевода с русского на русский, но иногда варианты перевода поднимают настроение.
В целом, я бы отнес РЕД Виртуализацию к уже протестированному Альту. Подход тот же: производитель операционной системы добавляет в свой портфель решение по виртуализации на базе open source. Только Альт использует Proxmox / OpenNebula, а у РЕД — oVirt.
От производителя в продукте: веб-интерфейс, поддержка, функции безопасности операционной системы и реестр отечественного ПО. Эти пункты, безусловно, важны и существенны, но каждый заказчик пусть решает достаточны ли они для установки такой системы в своем продуктивном окружении.
Если у вас остались вопросы, задавайте их в комментариях, постараюсь ответить! Также буду рад, если вы поделитесь своим опытом работы с РЕД Виртуализацией.