Развертывание новых узлов под контролем РОСА Центр управления

Сетевое развертывание новых узлов под контролем РОСА Центр управления выполняется в автоматическом режиме с применением стандартизированного сценария развертывания Kickstart.

В процессе развертывания узла осуществляется установка ОС и первичная настройка системной конфигурации узла (автоматически настраиваются имя узла, параметры сети и репозитории), а также выполняется регистрация узла в РОСА Центр управления, при этом правила автоподписывания сертификатов не требуют какой-либо специальной подготовки.

Подготовка установочного носителя для ОС

Установочные носители для сетевой установки необходимо подготавливать на отдельном сервере, отличного от сервера РОСА Центр Управления.

Установочный носитель представляет собой копию установочного ISO-образа.

Настройка сервера репозиториев установочных носителей

Для установки ОС для сервера репозиториев установочных носителей рекомендуется использовать ROSA Enterprise Server.

Установка ОС производится в минимальной конфигурации.

При установке ОС необходимо задать статический адрес IPV4, который впоследствии будет использоваться в настройках Комплекса. Протокол IPV6 рекомендуется отключить.

После установки ОС необходимо установить дополнительное программное обеспечение apache, для чего выполнить команду от имени пользователя root:

dnf -y install httpd

Установленный сервис нужно запустить и включить автоматический запуск при загрузке ОС. Для этого следует выполнить команду от имени пользователя root:

systemctl enable --now httpd

В случае установленной и активной службы firewalld необходимо разрешить доступ на 80 порт TCP, либо отключить, выполнив команду:

systemctl disable --now firewalld

По умолчанию корневой каталог сервера расположен по пути /var/www/html.

Для установки сервера подготавливаются установочные диски для одной из следующих ОС:

  • ROSA Enterprise Server 9.х;
  • ROSA Chrome/Fresh;
  • Astra Linux 1.7;
  • РЕД ОС 8;
  • ALT Linux P10.

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

mkdir -p /var/www/html/media

Затем требуется создать каталоги для размещения установочных носителей, выполнив команду от имени пользователя root:

mkdir -p /var/www/html/media/res
mkdir -p /var/www/html/media/rosa
mkdir -p /var/www/html/media/astra
mkdir -p /var/www/html/media/redos
mkdir -p /var/www/html/media/alt

Для получения ISO-образов рекомендуется использовать программу wget. В минимальной установке сервера она отсутствует, поэтому ее необходимо установить с помощью команды от имени пользователя root:

dnf -y install wget

Затем необходимо скачать установочные образы ОС в каталог /tmp, например

wget -O /tmp/res.iso [путь для установочного образа Rosa Enterprise Server 9]
wget -O /tmp/rosa.iso [путь для установочного образа RosaLinux]
wget -O /tmp/astra.iso [путь для установочного образа Astra Linux]
wget -O /tmp/redos.iso [путь для установочного образа Redos Linux]
wget -O /tmp/alt.iso [путь для установочного образа AltLinux]

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

mkdir -p /tmp/res
mkdir -p /tmp/rosa
mkdir -p /tmp/astra
mkdir -p /tmp/redos
mkdir -p /tmp/alt

Далее требуется смонтировать установочные ISO-образы в созданные каталоги, для чего выполнить команду от имени пользователя root:

mount -o loop /tmp/res.iso /tmp/res
mount -o loop /tmp/rosa.iso /tmp/rosa
mount -o loop /tmp/astra.iso /tmp/astra
mount -o loop /tmp/redos.iso /tmp/redos
mount -o loop /tmp/alt.iso /tmp/alt

И, наконец, необходимо скопировать файлы из смонтированных ISO-образов ОС в каталоги установочных носителей, выполнив команды:

cp -r /tmp/res/* /var/www/html/media/res
cp -r /tmp/rosa/* /var/www/html/media/rosa
cp -r /tmp/astra/* /var/www/html/media/astra
cp -r /tmp/redos/* /var/www/html/media/redos
cp -r /tmp/alt/* /var/www/html/media/alt

Подготовка установочного носителя ROSA Chrome/Fresh

Для подготовки установочного носителя ROSA Chrome/Fresh в каталоге установочного носителя /var/www/html/media/rosa нужно создать подкаталог для файлов загрузки командой:

mkdir -p ./images/pxeboot

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

cp ./initrd0.img ./images/pxeboot/initrd.img
cp ./vmlinuz0 ./images/pxeboot/vmlinuz

Подготовка установочного носителя Astra Linux 1.7

Для подготовки установочного носителя Astra Linux 1.7 в каталоге установочного носителя /var/www/html/media/astra нужно создать подкаталог для файлов загрузки:

mkdir -p ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64

Затем требуется скопировать файлы для загрузки:

cp ./netinst/initrd.gz ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
cp ./netinst/linux ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux

Подготовка установочного носителя ALT Linux P10

Для подготовки установочного носителя ALT Linux P10 нужно выполнить следующие действия:

  1. В каталоге установочного носителя /var/www/html/media/alt создать подкаталог для файлов загрузки:
mkdir -p ./syslinux/alt0
  1. Скопировать файлы для загрузки:
cp ./boot/initrd.img ./syslinux/alt0/full.cz
cp ./boot/vmlinuz ./syslinux/alt0/vmlinuz
  1. Перейти в каталог для установки:
cd ./Metadata
  1. Создать каталог для скриптов установки:
mkdir -p ./install-scripts/postinstall.d
mkdir -p ./install-scripts/preinstall.d
  1. Создать файл ./install-scripts/postinstall.d/99_grub_install.sh для установки загрузчика:
#!/bin/bash
if [ "$(lsblk | grep /mnt/destination/boot/efi)" != "" ];then
exit
fi
if [ "$(lsblk | grep /mnt/destination | grep nvme)" != "" ]; then
bootdevice='/dev/nvme'
elif [ "$(lsblk | grep /mnt/destination | grep vda)" != "" ]; then
bootdevice='/dev/vda'
elif [ "$(lsblk | grep /mnt/destination | grep sda)" != "" ]; then
bootdevice='/dev/sda'
else
bootdevice='notfound'
fi
if [ ${bootdevice} == "notfound" ]; then
exit 1
fi
echo "${bootdevice}" > /mnt/destination/tmp/grub_install.device
cat > /mnt/destination/tmp/grub_install.sh << EOF
#!/bin/bash
device=\`cat /tmp/grub_install.device\`
LC_ALL=C /usr/sbin/grub-install --boot-directory=/boot \${device}
LC_ALL=C /usr/sbin/update-grub
fi
EOF
chmod +x /mnt/destination/tmp/grub_install.sh
mount --bind /dev /mnt/destination/dev
mount --bind /proc /mnt/destination/proc
mount --bind /sys /mnt/destination/sys
chroot /mnt/destination /tmp/grub_install.sh
exit 0
  1. Создать права на исполнение скрипта:
chmod +x ./install-scripts/postinstall.d/99_grub_install.sh
  1. Создать архив с установочными скриптами:
rm -f ./install-scripts.tar && cd ./install-scripts && tar -cf ../install-scripts.tar ./* && cd ..
  1. Удалить каталог подготовки скриптов:
rm -rf ./install-scripts

Подготовка к сетевому развертыванию узла на других ОС

Установка ОС на узле без автоматического развертывания

Процедура развертывания ОС на узле осуществляется по сценариям в виде скриптов "Шаблонов подготовки".

Перед сетевой установкой необходимо создать конфигурационные файлы для загрузки по сети. Для этого необходимо перейти в "Узлы → Шаблоны → Шаблоны подготовки", нажать на кнопку Создать PXE по умолчанию в верхнем правом углу и в появившемся модальном окне нажать на кнопку Подтвердить.

В случае развертывания ОС Альт Linux для подготовки в меню "Управление Параметры" во вкладке "Подготовка" необходимо изменить значение параметра "Рендеринг в безопасном режиме" на "Да" (рисунок 53).

Рисунок 53 — Изменение параметров подготовки сетевой установки

Для подготовки установки ОС на узле без настройки автоматического развертывания необходимо настроить ВМ для загрузки по сети.

Затем следует перейти к загрузке ВМ, на которой предполагается развертывание, и на экране выбрать плагин "Control Center Discovery Image" (рисунок 54).

Рисунок 54 — Меню загрузки ВМ

После успешной загрузки по сети на экран будет выведено окно (рисунок 55).

Рисунок 55 — Результат успешной загрузки

Далее в меню "Узлы → Обнаруженные узлы" в рабочей панели должен появиться обнаруженный узел.

Для процедуры сетевой установки следует нажать кнопку Сетевая установка.

Затем в появившемся модальном окне нужно выбрать группу узлов "Puppet", организацию и местоположение и нажать кнопку Настроить узел (рисунок 56).

Рисунок 56 — Выбор параметров конфигурации

На вкладке "Узел" необходимо указать параметры (рисунок 57):

  • Имя узла;
  • Организация;
  • Местоположение;
  • Группа узлов;
  • Окружение;
  • Прокси Puppet;
  • Прокси CA Puppet;
  • Область (домен).

Рисунок 57 — Вкладка "Узел"

На вкладке "Операционные системы (рисунок 58) следует указать параметры:

  • Архитектура;
  • Операционная система;
  • Сборка – установить флажок, чтобы "Разрешить подготовку узла";
  • Носитель;
  • Таблица разделов;
  • XE-загрузчик;
  • Пароль пользователя root.

Рисунок 58 — Вкладка "Операционная система"

На вкладке "Интерфейсы" (рисунок 59) проверить, что параметры сети заданы правильно. По умолчанию узлу присваивается адрес из диапазона, заданного DHCP-сервером. При необходимости данный адрес можно изменить.

Рисунок 59 — Вкладка "Интерфейсы"

После указания параметров для создания конфигурации установки ОС на узле нужно нажать кнопку Применить.

Установка ОС на узле с автоматическим развертыванием

Для включения автоматического развертывания вновь обнаруженных узлов или групп узлов по заданным правилам требуется в меню "Управление → Параметры" на вкладке "Обнаружение" рабочей области задать значение "Да" параметру "Автоматическая подготовка" (рисунок 60), указать "Местоположение обнаружения", "Организация обнаружения". Для отмены авторазвертывания параметру присваивают значение "Нет".

Рисунок 60 — Параметры авторазвертывания

Для автоматического развертывания ОС на узле необходимо создать группу узлов и настроить ее. Для этого нужно перейти в меню на страницу "Настройки → Группы узлов" и нажать на кнопку Создать группу узлов.

В появившейся форме для редактирования на вкладке "Группа узлов" (рисунок 61) указать обязательные параметры:

  • Имя группы – например, "Deploy";
  • Окружение;
  • Прокси Puppet;
  • Прокси CA Puppet.

Рисунок 61 — Вкладка "Группа узлов"

На вкладке "Сеть" (рисунок 62) указать параметры:

  • Домен;
  • Подсеть IPv4;
  • Область (домен).

Рисунок 62 — Вкладка "Сеть"

На вкладке "Операционные системы" (рисунок 63) следует указать параметры:

  • Архитектура;
  • Операционная система;
  • Носитель;
  • Таблица разделов;
  • PXE-загрузчик;
  • Пароль Root (системный пользователь root).

Рисунок 63 — Вкладка "Операционная система"

На вкладках "Местоположение" и "Организации" (рисунки 64 и 65 соответственно) выбрать нужные элементы.

Рисунок 64 — Вкладка "Местоположения"

Рисунок 65 — Вкладка "Организации"

В результате будет создана группа узлов "Deploy", к которой будет применено правило с настроенными параметрами.

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

Для создания правила обнаружения в меню "Настройка → Правила обнаружения" требуется нажать кнопку Создать правило (рисунок 66).

Рисунок 66 — Правила обнаружения

В рабочей области на вкладке "Основной" необходимо ввести значения полей (рисунок 67):

  • Имя – имя правила;
  • Search – условие для поиска узлов по их характеристикам;
  • Hostname – имя узла;
  • Ограничение узлов – максимальное инициализируемых число в соответствии с правилами (0 – без ограничений);
  • Группа узлов – "Deploy", к которой будет применено правило с настроенными параметрами;
  • Приоритет – приоритет применения правила (тем выше, чем ниже число).
  • Включено – можно отключить параметр, чтобы правило не использовалось.

Рисунок 67 — Редактирование правила обнаружения

Для сохранения правила нужно нажать кнопку Применить.

В рабочей области отобразится созданное правило автоматического развертывания, в строке которого можно выбором из столбца "Действия" нажать кнопки:

  • Обнаруженные узлы – просмотреть обнаруженные по этому правилу узлы;
  • Сопоставленные узлы – просмотреть управляемые узлы по этому правилу;
  • Отключить – отключить правило;
  • Удалить – удалить правило.

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

Параметры сетевого развертывания узла

После регистрации лицензии и подготовки установочного носителя ОС необходимо выполнить настройку параметров сетевого развертывания узла. Для этого в веб-интерфейсе РОСА Центр управления переходят в меню "Узлы → Создать узел" панели навигации.

На экране появится интерфейс настройки, в котором параметры развертывания нового узла распределены по вкладкам (рисунок 68).

Рисунок 68 — Параметры сетевого развертывания узла

Во вкладке "Узел" интерфейса настройки указывают имя узла. Следует обратить внимание, что здесь указывается не полное доменное имя, а только непосредственно символьное имя узла (например, backup или monitoring). Затем из раскрывающегося списка "Область" выбирают домен СИПА, в который РОСА Центр управления может вводить узлы. В итоге полное доменное имя узла будет составлено автоматически из символьного имени узла и имени домена.

При необходимости в первой вкладке можно выбрать группу, в которую будет включен узел (впрочем, узел может быть и вне группы). При этом соответствующие поля настроек Puppet будут автоматически заполнены в соответствии с настройками выбранной группы. Также здесь можно настроить параметры Puppet вручную. Необходимо обратить внимание, что изменить значения этих параметров после установки ОС будет невозможно. Для этого потребуется переустановка ОС.

Вкладка "Роли Ansible" предоставляют возможность присвоить роли Ansible. Перед установкой ОС допускается оставить для этих параметров значения по умолчанию, так как настройки этих параметров можно изменить впоследствии.

Во вкладке "Операционная система" указывают значения для следующих обязательных параметров настройки:

  • архитектура;
  • ОС;
  • установочный носитель;
  • таблица разделов;
  • пароль суперпользователя root.

Во вкладке "Интерфейсы" настраивают параметры как минимум для одного (первичного) сетевого интерфейса. Обязательно указывают IP-адрес и MAC-адрес. При этом указанный MAC-адрес интерфейса должен соответствовать фактическому, так как по MAC-адресу первичного сетевого интерфейса узел идентифицируется во время первой загрузки и получает настройки через DHCP.

Вкладка "Puppet ENC" позволяет назначить список модулей Puppet для выполнения на узле. Перед установкой ОС допускается оставить для этих параметров значения по умолчанию, так как настройки этих параметров можно изменить впоследствии.

Вкладка "Параметры" содержит параметры управления поведением шаблонов подготовки, то есть параметры, которые влияют на генерируемые скрипты установки и настройки. При этом значения по умолчанию этих параметров согласованы с ROSA Enterprise Server, поэтому рекомендуется оставить существующие значения без изменений.

После завершения настройки параметров развертывания нужно нажать кнопку Применить.

В результате РОСА Центр управления автоматически подготовит необходимые конфигурационные файлы pxelinux и kickstart, разместит ядро ОС и файл initrd в корневом каталоге TFTP, после чего на экране появится сообщение о готовности к сетевому развертыванию узла.

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