zVirt Hosted Engine: практика развертывания в картинках
Привет, друзья! С этой статьи компания Orion soft начинает вести свой блог на Хабре. Сегодня я расскажу о том, как происходит развертывание системы виртуализации zVirt. Текст предназначен для тех, кто еще ни разу не работал с нашим гипервизором, но в тайне (или явно) мечтает об этом. Мы с коллегами решили помочь вам сэкономить свое время, познакомившись с процессом деплоя виртуально, и подготовили инструкцию how-to (можно повторять все прямо за нами). Под катом — подробный гайд по развертыванию zVirt в режиме Hosted Engine (то есть прямо на ваших хостах) с примерами значений, рекомендациями по базовым настройкам и понятными скриншотами. Так что если вы ждали знак, чтобы решиться установить у себя zVirt, вот он. Время пришло сегодня :)
Меня зовут Игорь Бонев, я — директор продуктов zVirt и Termit в компании Orion Soft. Если вдруг вы не слышали про zVirt, для начала — пару слов о платформе. zVirt представляет собой российскую систему виртуализации, построенную на базе решения с открытым исходным кодом oVirt. Еще в 2011 году мы приступили к разработке своего продукта, и за годы собственного развития форка Orion soft увел zVirt достаточно далеко от изначального открытого исходного кода. В частности, в zVirt были исправлены некоторые характерные для oVirt баги с хранилищем, разработана своя версия SDN для работы с сетью, реализованы механизмы Site Recovery и так далее (тем, кому интересно, об этом мы расскажем подробнее в следующих материалах нашего блога).
Еще одна особенность zVirt — исключительно российская разработка. Вся среда виртуализации и смежные с ней решения протестированы и стабильно работают на российских ОС. Так что если вы рассматриваете zVirt как один из вариантов виртуализации, например, на Astra Linux, Альт Линукс…да и вообще на любых ОС, разумеется, его хочется развернуть и протестировать. И сейчас я расскажу, как конкретно это сделать максимально быстро.
Устанавливаем zVirt
Итак, для начала приготовления этого блюда нам потребуется:
3 сервера
2 сервера — кластеризованные хосты в режиме Host Engine
1 сервер будет работать с поддержкой SDN (это новая фишка zVirt, о которой мы расскажем в одной из следующих статей).
Хотя бы один СХД (в примере у нас iSCSI;, но в принципе можно сделать NFS, Fibre Channel или другое хранилище — просто настройка будет происходить немного иначе).
Коммутатор;
Маршрутизатор;
И по желанию сервер DNS (хотя можно и без него).
Чтобы собрать рекомендованную конфигурацию zVirt, нужно соединить компоненты согласно следующей топологии:
канальный уровень
сетевой уровень
Настроим DNS
Если развертывать zVirt с DNS (как уже говорилось, можно и без него…но зачем?), нужно сначала настроить разрешение имена хостов в прямом и обратном направлении. Это необходимо для корректного развертывания Менеджера управления
Для этого нужно создать на DNS-сервере зоны прямого и обратного просмотра и внести в них соответствующие A и PTR записи. Например, вот такие:
Компонент | FQDN | IP-адрес |
Виртуальная машина с Менеджером управления (ВМ Hosted Engine) | he-engine.test- env.local | 10.252.12.14/ 24 |
Сервер 1 | he-host-1.test- env.local | 10.252.12.11/ 24 |
Сервер 2 | he-host-2.test- env.local | 10.252.12.12/ 24 |
Сервер 3 | he-host-3.test- env.local | 10.252.12.13/ 24 |
Устанавливаем zVirt Node
Убедившись, что в BIOS серверов включена поддержка аппаратной виртуализации Intel VT или AMD-V, можно приступать. Лучше также сразу включить аппаратную виртуализацию ввода/вывода MMU (Intel VT- d или AMD-Vi), потому что позволит в дальнейшем использовать проброс устройств. Позаботьтесь, чтобы у вас уже были учетные записи zVirt, иначе вас не пустит загружать репозиторий zVirt Node.
Далее действуем по схеме:
Загружаем образ zVirt Node и закидываем его на USB или DVD, загружаем с носителя сервер
В меню загрузки выбираем Install zVirt Node и нажимаем Enter.
Выбираем язык по умолчанию, часовой пояс и раскладку клавиатуры.
После этого нужно выбрать устройство, на которое нужно установить среду исполнения zVirt Node (раздел Installation Destination). В разделе Storage configuration нужно выбрать Custom и разметить диск с помощью автоматического сценария, кликнув на Click here to create them automatically. После автоматической разметки можно будет изменить пространство для lvm разделов, не затрагивая атрибуты диска и произвести другие настройки. Кстати, именно на этом этапе можно включить шифрование.
Настроим сеть
Строго говоря, этот шаг можно выполнить и после установки. Но раз уж у нас уже открыта консоль, и она позволяет сразу задать параметры адаптеров и сети, почему бы не сделать этого сразу?
Для настройки нужно просто выбрать сетевой интерфейс из раздела Network & Host Name и перейти во вкладку конфигурации сети (кнопка [Configure])
Не забудьте нажать [Save] и переключить тумблер в состояние ON на следующем экране
В поле Host Name вводим имя хоста и нажимаем кнопку [Apply].
Также на этом этапе можно сразу настроить политику безопасности и Kdump, установить пароль пользователя root в разделе Root password.
После этого установщик позволит вам нажать заветную кнопку [Begin Installation].
Настраиваем IP-адреса
Если сетевая конфигурация не была настроена при установке zVirt Node, ее необходимо применить уже через консоль. Для этого входим на сервер под учетной записью root и запускаем утилиту nmtui (команда nmtui).
В разделе Edit a connection мы выбираем нужный интерфейс и настраиваем IP в ручном режиме (выбираем manual). Теоретически можно, конечно, доверить присвоение адресов DHCP, но лучше этого не делать, чтобы ничего не поломалось в случае его недоступности.
Тут все стандартно — указываем IP-адрес в формате
/На этом этапе нужно обязательно отметить опцию Automatically connect, а после этого выйти из настроек и сначала деактивировать (рядом с интерфейсом пропадёт), а потом снова активировать соединение. Процедуру необходимо выполнить на всех серверах виртуализации, чтобы ваш кластер начал нормально работать.
Настраиваем репозитории
Еще одна процедура, которую нужно провести перед развертыванием Менеджера управления и добавлением хостов в среду — это настройка репозиториев.
Для этого будет использоваться веб-интерфейс Cockpit. Вообще, на zVirt Node он по умолчанию включен, но если по каким-то причинам он окажется остановленным, запустить его можно через консоль SSH командой systemctl enable --now cockpit
Настройка репозиториев происходит по следующему сценарию:
В браузере перейдите по адресу (IP или FQDN) сервера виртуализации на порт 9090 для получения доступа в веб-интерфейс Cockpit zVirt Node (например, https://he-host-1.test- env.local:9090/).
Войдите под учётной записью root и перейдите в раздел Терминал.
С помощью команды dnf repolist all проверяем статус репозиториев (ожидаемый статус для репозиториев zvirt — включено (enabled))
На скриншоте выше показана ситуация, когда репозитории отключены. Если у вас так же — включите их командой dnf config-manager --enable «zvirt» и повторно проверьте статус репозиториев.
Настраиваем доступ к репозиториям с помощью утилиты zvirt-credentials: zvirt-credentials -u
-p (юзернейм и пасворд выдаются при получении лицензии)..
Ура! Репозитории готовы!
Предварительная подготовка СХД
Все, мы на финишной прямой! Осталось только подготовить СХД, если вы развертываете Менеджер управления в режиме Hosted Engine. В этом случае хранилище будет добавлено в среду как домен hosted_storage для хранения диска виртуальной машины Hosted Engine.
Обратите внимание! Если же LUN, который планируется использовать для домена hosted_storage, ранее был в использовании, его необходимо очистить:
1. Удалите сопоставления разделов в kpartx -dv /dev/mapper/
2. Ликвидируйте файловую систему или raid-подписи: wipefs -a /dev/mapper/
3. Сообщите операционной системе об изменениях в таблице разделов: partprobe
Для работы по интерфейсу iSCISI нужно:
Выделить LUN (скажем, размером 100 Гб)
Передать СХД имена инициаторов iscsi, в качестве которых выступают хосты zVirt (Имя инициатора хранится в файле /etc/iscsi/initiatorname.iscsi). В СХД нужно указать iqn всех хостов, которые будут находиться в центре данных с этим хранилищем
# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994–05.com.redhat: a2f614dc9ca
Настроить имена пользователей и пароли
Проверить доступность таргета iSCSI на всех хостах:
# iscsiadm --mode discovery --type sendtargets --portal 10.252.12.10:3260 10.252.12.10:3260,1 iqn.2003–01.org.linux-iscsi.data.x8664: sn.40c037a2f63f
Развертывание Менеджера управления
Итак, начинаем.
В браузере переходим по адресу (IP или FQDN) первого сервера на порт 9090 для получения доступа в веб-интерфейс Cockpit zVirt Node (например https://he-host-1.test- env.local:9090/).
Входим под учётной записью root. В боковой панели нажимаем zVirt и выбираем вкладку Hosted Engine
Под вариантом Hosted Engine нажимаем [ Запустить ] иустановщик начинает свою работу. От нас ему нужны будут следующие параметры:
◦ FQDN Менеджера управления (например, he-engine.test-env.local).
◦ Выберите ручной режим сетевой конфигурации.
◦ Введите IP-адрес Менеджера управления (например, 10.252.12.14/24).
◦ Убедитесь, что от сервера получен шлюз по умолчанию (например, 10.252.12.254).
◦ Введите адрес DNS-сервера, который позволяет разрешать имена в среде (например, 10.252.3.250).
◦ Убедитесь, что выбран корректный сетевой интерфейс или бонд (например, enp1s0).
◦ Задайте пароль для пользователя root Менеджера управления.
◦ Выберите, разрешен ли пользователю root доступ по SSH к Менеджеру.
◦ Задайте количество vCPU для ВМ Hosted Engine (минимум 4).
◦ Задайте размер RAM для ВМ Hosted Engine (минимум 4096 Мб).
На следующем этапе мы задаем пароль пользователя admin, который будет использоваться для доступа к веб-порталу zVirt.
После проверки конфигурации нажимаем [Подготовить ВМ]
Дождитесь успешной подготовки ВМ Hosted Engine и перейдите к настройке хранилища для домена hosted_storage, нажав [ Дальше ].
На этапе конфигурации хранилища нужно будет задать следующие параметры:
a. Выберите тип (iSCSI);
b. Введите IP-адрес СХД (например, 10.252.12.10);
c. Измените порт, если он отличается от стандартного (3260);
d. Если для обнаружения целей требуется аутентификация, введите имя пользователя и пароль;
e. Нажмите [ Получить список целей ]
f. Подключите соответствующий LUN, который будет присоединен как домен хранения — для этого из списка целей выберите нужную.
g. Из обнаруженных LUN выбираем тот, который будет использоваться как домен hosted_storage
h. Если развернуть группу Дополнительно, можно будет увеличить размер диска ВМ Hosted Engine, если это требуется.
i. А в соответствующем поле нужно ввести имя пользователя и пароль, настроенные для подключения к таргету
Если все было сделано правильно, вы можете [Завершить установку]
Для проверки доступности Менеджера управления перейдите в браузере по адресу https://
Войдите на Портал администрирования под пользователем admin с паролем, заданным при развертывании Менеджера управления, и вы сможете проверить, в каком состоянии находится ваша среда zVirt.
Заключение
Как вы можете видеть, процедура развертывания zVirt в режиме Hosted Engine достаточно проста. После этого вы можете самостоятельно добавлять центры данных, центры хранения, кластеры, хосты и другие сущности, пользуясь возможностями системы виртуализации для своих нужд. Если будет интерес, эти процессы я также могу разобрать подробнее в следующей статье.
Кстати, если вы пользовались zVirt или, наоборот, oVirt, расскажите о своем опыте. Поделитесь, про какие аспекты работы с платформой и ее архитектуру вам интереснее всего было бы прочитать в следующих наших статьях на Хабре?