Содержание

Создание ТК

Начальная установка операционной системы и программного обеспечения на тонком клиенте осуществляется только по сети. Для этого нужно загрузить компьютер ТК через встроенный PXE-загрузчик.

Поддерживаются BIOS- и UEFI- устройства.

Настройка PXE-сервера

Корень сетевой загрузки на сервере управления наполняется файлами:

ls ~/www/setup
------------------------------------------------
boot.ipxe       - см. далее
initrd.img      - собирается вручную (см. далее)
ipxe-x86_64.efi - из пакета "ipxe-bootimgs"
undionly.kpxe   - из пакета "ipxe-bootimgs"
vmlinuz         - собирается вручную (см. далее)
boot.ipxe
#!ipxe
kernel http://zmb.aliennet.ru/setup/vmlinuz initrd=initrd.img quiet selinux=0
initrd http://zmb.aliennet.ru/setup/initrd.img
boot

Настройка DHCP-сервера

Предполагается, что роль DHCP-сервера исполняет Windows (контроллер домена).

1. Стандартные опции для загрузки BIOS-устройств

Добавить в параметры сервера/области:

066 Имя узла сервера загрузки = zmb.aliennet.ru
067 Имя файла загрузки        = undionly.kpxe

2. Определить два новых класса

IPv4 -> Определить классы ПОЛЬЗОВАТЕЛЕЙ...
Добавить ->
  Выводимое имя: iPXE
  Описание     : iPXE
  Код (ASCII)  : iPXE

IPv4 -> Определить классы ПОСТАВЩИКОВ...
Добавить ->
  Выводимое имя: UEFI PXEClient
  Описание     : PXEClient:Arch:00007
  Код (ASCII)  : PXEClient:Arch:00007

3. Создать политики (на сервер или область)

Политики -> Создать политику...
  Имя политики           : iPXE
  Класс ПОЛЬЗОВАТЕЛЯ     : равно iPXE
  067 Имя файла загрузки : http://zmb.aliennet.ru/setup/boot.ipxe
Политики -> Создать политику...
  Имя политики           : UEFI
  Класс ПОСТАВЩИКА       : UEFI PXEClient +подставочный знак в конце (*)
  067 Имя файла загрузки : ipxe-x86_64.efi

Таким образом будет обеспечена загрузка «по сети» различного оборудования с поддержкой HTTP для ускорения процесса.

Загрузочный образ initrd.img

После сетевой загрузки в оперативной памяти ТК стартует минимальная редакция операционной системы которая позволяет:

Скрипт initrd подготовит соответствующую загрузочную пару файлов, которые следует разместить в каталоге ~/www/setup:

В переменной PSW скрипта задается пароль на консольный запуск процедуры развертывания ТК (он же пароль root).

initrd:1

Загрузочный скрипт initrd:1:

Скрипт устанавливает минимальную версию операционной системы, перезагружает ТК и запускает следующий скрипт:

initrd:2

Скрипт развертывания initrd:2:

Протокол работы скриптов можно наблюдать на консоли, а в конце - в файле на устройстве:

/var/log/zmb-setup

Сценарий создания

Создать тонкий клиент можно как локально (интерактивно за его консолью), так и удаленно - с сервера управления.
Можно одну часть работы выполнить локально, другую - удаленно.
Но в любом случае начать нужно с загрузки тонкого клиента «по сети» (network boot/pxe).

Администратор получает уведомление [0/2] о сетевой загрузке устройства (с указанием его IP-адреса).
С сервера управления можно сразу подключиться к такому клиенту по ssh и провести диагностические работы.
В частности, запустить процедуру создания:

ssh 192.168.100.100
/opt/zmb-setup/zmb-setup

Также создание тонкого клиента можно инициировать сразу одной командой с сервера управления:

zmb-setup 192.168.100.100

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

Network configuration:
----------------------

ip=192.168.100.100 mac=52:54:00:ad:79:24 srv=192.168.100.200 nic=enp1s0

Такие же сведения будут выведены на консоль ТК, только для продолжения следует ввести пароль PSW (см. initrd.img).
Это необходимо для предотвращения случайного или злонамеренного переформатирования устройства на месте.

Далее, на консоли или в административной ssh сессии запустится интерактивный выбор параметров развертывания:

Disk to install on:
-------------------

1) vda    5G disk
#? 1

Setup overview:
---------------

The Managed Box (ZMB) -> /dev/vda

1) No
2) Maybe
3) Yes
#? 3

Installation started in the background mode.

После этого жесткий диск ТК будет подвергнут изменениям!!!
До этого момента он остается в неприкосновенности.

На консоли устройства (но не в ssh сессии) будет в реальном времени отображаться протокол развертывания.

После очередной перезагрузки тонкий клиент сообщит о готовности ко вводу в домен:

Дальнейшие шаги по вводу ТК в домен различаются.

Если ввод в домен производится удаленно, то с сервера управления администратор запускает ту же команду:

zmb-setup 192.168.100.100

Если ввод в домен производится локально за консолью, то необходимо переключиться на другой TTY, например:

Ctrl-Alt-F2

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

Hostname: tc8525400ad7924.aliennet.ru
Datetime: 14.04.2021 18:03:16 UTC +0300
Username: Administrator
Password for Administrator@ALIENNET.RU: 
Using short domain name -- ALIENNET
Joined 'TC8525400AD7924' to dns domain 'aliennet.ru'

Запрос учетных данных будет повторяться вплоть до успешного ввода тонкого клиента в домен, после чего администратору будет отправлено уведомление [2/2] об успешном окончании процедуры создания, а сам ТК - выключится.