zVirt Hosted Engine: практика развертывания в картинках

adf3ced3aacd137cbac47abb5610f3ee.jpeg

Привет, друзья! С этой статьи компания 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.

Далее действуем по схеме:

  1. Загружаем образ zVirt Node и закидываем его на USB или DVD, загружаем с носителя сервер

  2. В меню загрузки выбираем Install zVirt Node и нажимаем Enter.

be6c1b9ab2da5c9b95975fc6563e4ac1.png

  1. Выбираем язык по умолчанию, часовой пояс и раскладку клавиатуры.

392d2c267b66fbf2b38f12f06ab107eb.png30251bbd871591667260eecb558ca0bc.png155d7b5d662ffac9e182362dd9faa6b5.png

  1. После этого нужно выбрать устройство, на которое нужно установить среду исполнения zVirt Node (раздел Installation Destination). В разделе Storage configuration нужно выбрать Custom и разметить диск с помощью автоматического сценария, кликнув на Click here to create them automatically. После автоматической разметки можно будет изменить пространство для lvm разделов, не затрагивая атрибуты диска и произвести другие настройки. Кстати, именно на этом этапе можно включить шифрование.

7ef33d84e58e7176acf01ef10d3a9108.png65d9be97125a2715bba123271674cfdd.png811c9bb69f9bec7cb39f2538b7b3af97.png3026a88c0cff0041d500decc141cc806.png

Настроим сеть

Строго говоря, этот шаг можно выполнить и после установки. Но раз уж у нас уже открыта консоль, и она позволяет сразу задать параметры адаптеров и сети, почему бы не сделать этого сразу?  

Для настройки нужно просто выбрать сетевой интерфейс из раздела Network & Host Name и перейти во вкладку конфигурации сети (кнопка [Configure])

2f0d7c0586ec0e3e7c5b43b00aa1bf7d.pnge47e54d0b48aad32263b140068ed6bb9.png

Не забудьте нажать [Save] и переключить тумблер в состояние ON на следующем экране

16610cd398cbf12d091a6a587a0003b9.png

В поле Host Name вводим имя хоста и нажимаем кнопку [Apply].

f88217181307ef44dc90f5cf613d4b9c.png

Также на этом этапе можно сразу настроить политику безопасности и Kdump, установить пароль пользователя root в разделе Root password. 

После этого установщик позволит вам нажать заветную кнопку [Begin Installation].

Настраиваем IP-адреса

Если сетевая конфигурация не была настроена при установке zVirt Node, ее необходимо применить уже через консоль. Для этого входим на сервер под учетной записью root и запускаем утилиту nmtui (команда nmtui).

698c642a6c5bf948600e2f2a0a8cb9db.png

В разделе Edit a connection мы выбираем нужный интерфейс и настраиваем IP в ручном режиме (выбираем manual). Теоретически можно, конечно, доверить присвоение адресов DHCP, но лучше этого не делать, чтобы ничего не поломалось в случае его недоступности.

d56d986f1069cef8f36dd17ea1a15d04.png

Тут все стандартно — указываем IP-адрес в формате

/, шлюз по умолчанию, адрес DNS-сервера (можно ввести несколько в порядке приоритета, нажимая Add)

da0fc965b73fcdffef7ad61d0f63b3e2.png

На этом этапе нужно обязательно отметить опцию Automatically connect, а после этого выйти из настроек и сначала деактивировать (рядом с интерфейсом пропадёт), а потом снова активировать соединение. Процедуру необходимо выполнить на всех серверах виртуализации, чтобы ваш кластер начал нормально работать.

aa0c7dddf24e1929f9ce3c36bf0ec3e2.png

Настраиваем репозитории

Еще одна процедура, которую нужно провести перед развертыванием Менеджера управления и добавлением хостов в среду — это настройка репозиториев.

Для этого будет использоваться веб-интерфейс Cockpit. Вообще, на zVirt Node он по умолчанию включен, но если по каким-то причинам он окажется остановленным, запустить его можно через консоль SSH командой systemctl enable --now cockpit

Настройка репозиториев происходит по следующему сценарию:

  1. В браузере перейдите по адресу (IP или FQDN) сервера виртуализации на порт 9090 для получения доступа в веб-интерфейс Cockpit zVirt Node (например, https://he-host-1.test- env.local:9090/).

65cfcbc0e448dd274468c8fabd04800f.png

  1. Войдите под учётной записью root и перейдите в раздел Терминал.

a8ae8c05691dc87930c634ce27785998.png

  1. С помощью команды dnf repolist all проверяем статус репозиториев (ожидаемый статус для репозиториев zvirt — включено (enabled))

355a7e922e13f37b1041fd900794412e.png

  1. На скриншоте выше показана ситуация, когда репозитории отключены. Если у вас так же — включите их командой dnf config-manager --enable «zvirt» и повторно проверьте статус репозиториев.

edab5e931619f14808006e5bc58cdcfa.png

  1. Настраиваем доступ к репозиториям с помощью утилиты 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 нужно:

  1. Выделить LUN (скажем, размером 100 Гб)

  2. Передать СХД имена инициаторов iscsi, в качестве которых выступают хосты zVirt (Имя инициатора хранится в файле /etc/iscsi/initiatorname.iscsi). В СХД нужно указать iqn всех хостов, которые будут находиться в центре данных с этим хранилищем

# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994–05.com.redhat: a2f614dc9ca

  1. Настроить имена пользователей и пароли

  2. Проверить доступность таргета 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

Развертывание Менеджера управления

Итак, начинаем. 

  1. В браузере переходим по адресу (IP или FQDN) первого сервера на порт 9090 для получения доступа в веб-интерфейс Cockpit zVirt Node (например https://he-host-1.test- env.local:9090/).

5586973d665d5c9045a6d2b8084b3da5.png

  1. Входим под учётной записью root. В боковой панели нажимаем zVirt и выбираем вкладку Hosted Engine

373f89a63d78bb2e5724da525c1c045a.png

  1. Под вариантом 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 Мб).

9e08d1730f140680504862b772e2a2b1.png

  1. На следующем этапе мы задаем пароль пользователя admin, который будет использоваться для доступа к веб-порталу zVirt.

839ee786457fe8327a72506c27b6f5c4.png

  1. После проверки конфигурации нажимаем [Подготовить ВМ]

5381fe9668fc2dbe7f045c4d223a780b.png

  1. Дождитесь успешной подготовки ВМ Hosted Engine и перейдите к настройке хранилища для домена hosted_storage, нажав [ Дальше ].

d72215b142d1540a4801156e94c2b1dc.png

  1.  На этапе конфигурации хранилища нужно будет задать следующие параметры:

a.  Выберите тип (iSCSI);

b.  Введите IP-адрес СХД (например, 10.252.12.10);

c.  Измените порт, если он отличается от стандартного (3260);

d. Если для обнаружения целей требуется аутентификация, введите имя пользователя и пароль;

e. Нажмите [ Получить список целей ]

6e5a26cb1d2be162df57f3ba90821650.png

f.  Подключите соответствующий LUN, который будет присоединен как домен хранения — для этого из списка целей выберите нужную.

c2cc965fb23c6197f8ae88fc302bd447.png

g. Из обнаруженных LUN выбираем тот, который будет использоваться как домен hosted_storage

9cf45644f686a02114122170c342d1b9.png

h. Если развернуть группу Дополнительно, можно будет увеличить размер диска ВМ Hosted Engine, если это требуется.

i. А в соответствующем поле нужно ввести имя пользователя и пароль, настроенные для подключения к таргету

cf8158e1021d2c132bcb79932dda769e.png

Если все было сделано правильно, вы можете [Завершить установку] 

ba22ed6257dc616f07e4348b9d16214a.png311826211b14fc91fc69abfb866e9b70.png

Для проверки доступности Менеджера управления перейдите в браузере по адресу https://, которое вы задали при установке. Например, he-engine.test-env.local.

18ad4e62f9c7e9dbcfc86ae88779ba62.png

Войдите на Портал администрирования под пользователем admin с паролем, заданным при развертывании Менеджера управления, и вы сможете проверить, в каком состоянии находится ваша среда zVirt.

b3e08d3cbef5a044e9516c445642ae10.png

Заключение

Как вы можете видеть, процедура развертывания zVirt в режиме Hosted Engine достаточно проста. После этого вы можете самостоятельно добавлять центры данных, центры хранения, кластеры, хосты и другие сущности, пользуясь возможностями системы виртуализации для своих нужд. Если будет интерес, эти процессы я также могу разобрать подробнее в следующей статье.

Кстати, если вы пользовались zVirt или, наоборот, oVirt, расскажите о своем опыте. Поделитесь, про какие аспекты работы с платформой и ее архитектуру вам интереснее всего было бы прочитать в следующих наших статьях на Хабре?

© Habrahabr.ru