5. Установка Брест и ALD Pro#

В домашнем каталоге пользователя astra находится папка ald-brest-ceph, в ней расположены нужные для развертывания файлы:

/home/astra/ald-brest-ceph/conf/inventory.yml
/home/astra/ald-brest-ceph/conf/group_vars/all.yml

Перед началом установки необходимо задать правильные значения переменных в двух файлах:

  • файл inventory.yml содержит IP-адреса виртуальных машин для развертывания всего сценария. Необходимо поменять только значения переменных, отвечающих за IP адреса виртуальных машин, остальные параметры и переменные файла необходимо оставить со значениями по умолчанию;

  • файл group_vars/all.yml содержит переменные настройки ALD Pro и Брест. Все значения переменных, кроме переменных, содержащих IP-адреса / адрес подсети, можно оставить без изменений.

5.1. Подготовка файла inventory#

Для заполнения файла инвентори понадобятся IP-адреса виртуальных машин из файла с переменными env_variables для скрипта rolloutvm.sh.

Сопоставление переменных указано в таблице:

inventory.yml

env_variables

Значение

Пояснение

dc1-test dc2-test

aldphost1 aldphost2

192.168.22.230 192.168.22.231

контроллер домена ALD Pro и реплика

node1-test node2-test node3-test

frnthost1 frnthost2 frnthost3

192.168.22.233 192.168.22.234 192.168.22.235

серверы управления Брест

aichost1 aichost2 aichost3

kvmhost1 kvmhost2 kvmhost3

192.168.22.11 192.168.22.12 192.168.22.13

серверы виртуализации Брест

Используя таблицу выше, заполнить файл inventory.yml:

/home/astra/ald-brest-ceph/conf/inventory.yml

Переменная ansible_user необходима для указания пользователя, из-под которого выполняется эта часть сценария. В случае, если имя пользователя отличается от astra, необходимо указать его в переменной. Если имя пользователя astra, то переменную ansible_user можно закомментировать.

Пример файла inventory.yml:

aa_default_infra:
  hosts:
    dc1-test:
      ansible_host: 192.168.22.230
    dc2-test:
      ansible_host: 192.168.22.231
    node1-test:
      ansible_host: 192.168.22.233
    node2-test:
      ansible_host: 192.168.22.234
    node3-test:
      ansible_host: 192.168.22.235
    aichost1:
      ansible_host: 192.168.22.11
      ansible_user: aicadmin
    aichost2:
      ansible_host: 192.168.22.12
      ansible_user: aicadmin
    aichost3:
      ansible_host: 192.168.22.13
      ansible_user: aicadmin

5.2. Подготовка файла переменных#

Описание переменных из файла group_vars/all.yml:

Переменная

Пояснение

aldpro_admin_password

пароль для пользователя admin для входа в веб-интерфейс ALD Pro

generic_ldap_domain

доменное имя для Брест

astra_brest_admin_pass

пароль для пользователя admin для входа в веб-интерфейс Бреста

astra_brestadmin_pass

пароль для пользователя brestadmin для входа в веб- интерфейс Бреста

astra_brest_pgsql_pass

пароль для пользователя базы данных postgres, используемой Брестом

brest_raft_floating_ip

плавающий IP-адрес лидера кластера управления Брестом

brest_raft_network_number

адрес подсети кластера управления Брестом

brest_raft_floating_name

короткое плавающее имя кластера управления Брестом (эта A-запись будет зафиксирована в DNS ALD Pro)

api_url

адрес HTTP и порт точки входа в API Брест (указывается IP-адрес лидера)

Используя таблицу выше, отредактировать файл group_vars/all.yml:

/home/astra/ald-brest-ceph/conf/inventory.yml
/home/astra/ald-brest-ceph/conf/group_vars/all.yml

Пример файла group_vars/all.yml:

aldpro_admin_password: =mvp1CL@st=
generic_ldap_domain: aicstand.ru

astra_brest_admin_pass: =mvp1CL@st=
astra_brestadmin_pass: =mvp1CL@st=
astra_brest_pgsql_pass: =mvp1CL@st=

brest_raft_floating_ip: 192.168.22.100
brest_raft_network_number: 192.168.22.0
brest_raft_floating_name: bha

api_url: http://192.168.22.100:2633/RPC2

Предупреждение

Доменное имя не должно содержать «.local».

В случае изменения в текущем конфигурационном файле необходимо поменять записи в файле /etc/hosts на физических серверах.

Указываемый пароль должен:

  • состоять минимум из 8 символов;

  • содержать спецсимволы, цифры, буквы нижнего и верхнего регистра;

Для ALD Pro нельзя использовать в пароле символ «$».

5.3. Заполнение файла /etc/hosts на узлах виртуализации#

Последним подготовительным этапом является заполнение файла /etc/hosts согласно выбранным ранее IP-адресам и доменным именам на каждом физическом сервере.

Пример файла /etc/hosts:

127.0.0.1       localhost
192.168.22.11   aichost1
192.168.22.12   aichost2
192.168.22.13   aichost3
192.168.22.14   aic-storage

192.168.22.21   boot-offline

192.168.22.230 dc1-test.aicstand.ru dc1-test
192.168.22.231 dc2-test.aicstand.ru dc2-test

192.168.22.233 node1-test.aicstand.ru node1-test
192.168.22.234 node2-test.aicstand.ru node2.test
192.168.22.235 node3-test.aicstand.ru node3-test

В данном случае 192.168.22.21 boot-offline — адрес и имя bootstrap сервера.

5.4. Запуск сценария#

Для запуска сценария выполнить:

cd /home/astra/ald-brest-ceph
task deploy

В связи с большим количеством зависимостей компонентов друг от друга и от физического оборудования выполнение сценария может завершиться с ошибками. В таком случае необходимо запустить сценарий заново.

Ошибку, связанную с маркетплейсом, можно игнорировать. Такая ошибка может возникать при отсутствии доступа в Интернет, необходимого для корректной работы маркетплейса.

Если выполнение сценария прерывается ошибкой, связанной с free-ipa, необходимо на контроллере домена и его реплике выполнить команду:

sudo -i
ipactl restart

После чего заново запустить сценарий:

cd /home/astra/ald-brest-ceph
task deploy

Пример ошибки:

../../_images/failed_example.png

По завершению установки открыть в браузере интерфейс ALD Pro, например:

https://dc1-test.aicstand.ru

Зайти во вкладку «Компьютеры» и убедиться, что все перечисленные в ней машины имеют IP-адрес.

Примечание

Если хотя бы одна из машин не имеет IP-адреса, нужно:

  • удалить машину из ALD Pro;

  • запустить rolloutvm.sh;

  • запустить task deploy.

5.5. Инициализация сервера виртуализации Брест#

После завершения сценария необходимо инициализировать службу узла виртуализации на каждом физическом сервере.

Примечание

Любые действия управления кластером Брест необходимо выполнять только на лидере.

Перед этим нужно узнать, какой из серверов управления является лидером, выполнив на любом из них:

onezone show 0

Пример вывода команды в случае, когда сервер управления node2-test.aicstand.ru является лидером:

root@node2-test:~# onezone show 0
ZONE 0
INFORMATION

ID                : 0
NAME              : OpenNebula

ZONE
SERVERS

ID NAME
ENDPOINT
 0 node1-test.aics http://192.168.22.233:2633/RPC2
 1 node3-test.aics http://192.168.22.235:2633/RPC2
 2 node2-test.aics http://192.168.22.234:2633/RPC2

HA & FEDERATION SYNC
STATUS
ID NAME            STATE      TERM       INDEX      COMMIT     VOTE
FED_INDEX
 0 node1-test.aics follower   51         65         65         2
-1
 1 node3-test.aics follower   51         65         65        -1
-1
 2 node2-test.aics leader     51         65         65         2
-1

ZONE
TEMPLATE

ENDPOINT="http://localhost:2633/RPC2"
root@node2-test:~#

Команда для инициализации:

sudo ipa-libvirt-qemu-configure

В процессе инициализации нужно вручную ввести параметры:

Параметр

Значение (пример)

имя администратора ipa-сервера

admin

пароль администратора ipa-сервера

mvp1CL@st

полное доменное имя фронтальной машины — лидера кластера управления

node2-test.aicstand.ru

имя локального администратора фронтальной машины

astra

пароль администратора

astra

Пример вывода скрипта инициализации:

aicadmin@aichost1:~$ sudo ipa-libvirt-qemu-configure

Мастер настройки libvirt в режиме взаимодействия с IPA-доменом
------------------
PARSEC-привилегии:
 4 parsec_cap_ignmaclvl
 5 parsec_cap_ignmaccat
13 parsec_cap_ignmacint
минимальная метка: Уровень_0:Низкий:Нет:0x0
   0:0:0x0:0x0
максимальная метка: Уровень_0:Высокий:Нет:0x0
   0:127:0x0:0x0
Введите имя администратора ipa-сервера (по умолчанию admin): admin
Введите пароль администратора ipa-сервера:  =mvp1CL@st=
Password for admin@AICSTAND.RU: =mvp1CL@st=
Таблица ключей успешно получена и сохранена в: /etc/libvirt/libvirt.keytab
Добавляется пользователь «brestadmin» в группу «libvirt-admin» ...
Добавление пользователя brestadmin в группу libvirt-admin
Готово.
Добавляется пользователь «brestadmin» в группу «libvirt-qemu» ...
Добавление пользователя brestadmin в группу libvirt-qemu
Готово.
Добавляется пользователь «brestadmin» в группу «libvirt» ...
Добавление пользователя brestadmin в группу libvirt
Готово.
Добавляется пользователь «brestadmin» в группу «kvm» ...
Добавление пользователя brestadmin в группу kvm
Готово.
Пользователь «brestadmin» уже является членом группы «astra-console».
Пользователь «libvirt-qemu» уже является членом группы «kvm».
Добавление системных групп в домен
Включение Group Merging
2024-05-27T13:01:39Z Change brestadmins from gid 9870 to 1646000004
2024-05-27T13:01:39Z Change brestusers from gid 9871 to 1646000005

-----Добавление хоста к кластеру "Брест"------
Введите полное доменное имя фронтальной машины "Брест": node2-test.aicstand.ru
Введите имя локального администратора фронтальной машины "Брест" (пользователь должен иметь беспарольный доступ через механизм sudo): astra
Введите пароль администратора: astra

        Настройка прошла успешно!
Для вас есть почта в /var/mail/aicadmin
aicadmin@aichost1:~$

Далее нужно поменять начальный порт VNC, для этого на каждом из серверов управления выполнить:

sudo sed -i 's/START    = 5900,/START    = 5903,/g' /etc/one/one.d/base.conf
sudo systemctl restart opennebula.service

Это нужно сделать, так как первые порты на узлах виртуализации Брест заняты существующими виртуальными машинами — ALD Pro и серверами управления.

После выполнения команды на каждом из узлов виртуализации Брест можно переходить к следующему шагу — подключению двух iSCSI LUN к Брест.