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
Пример ошибки:

По завершению установки открыть в браузере интерфейс 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-сервера |
|
полное доменное имя фронтальной машины — лидера кластера управления |
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 к Брест.