Download PDF
Download page Распределенная установка Termidesk.
Распределенная установка Termidesk
Распределенная установка программного комплекса
Основные принципы распределенной установки
В Termidesk предусмотрена распределенная установка компонентов в качестве ролей на отдельные серверы или ВМ.
Установка компонентов Termidesk выполняется в среде функционирования ОС Astra Linux Special Edition 1.7.
Распределенно могут устанавливаться следующие компоненты:
- универсальный диспетчер (служба
termidesk-vdi
); - шлюз подключений (служба
termidesk-wsproxy
); - менеджер рабочих мест (службы
termidesk-taskman
,termidesk-celery-beat
,termidesk-celery-worker
).
Перечень условий для распределенной установки:
- компонент RabbitMQ-server устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);
Если будет использоваться внешняя СУБД, нужно установить компонент RabbitMQ-server на узел менеджера рабочих мест Termidesk или на отдельный узел.
- на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
- на всех узлах настроена синхронизация времени от единого источника.
Упрощенная общая схема при распределенной установке Termidesk приведена на рисунке.
Перечень обозначенных на схеме компонентов приведен в таблице.
Компонент | FQDN | Подпись на схеме |
---|---|---|
Универсальный диспетчер Termidesk 1 | disp1.termidesk.local | Диспетчер 1 |
Универсальный диспетчер Termidesk 2 | disp2.termidesk.local | Диспетчер 2 |
Шлюз Termidesk 1 | gw1.termidesk.local | Шлюз 1 |
Шлюз Termidesk 2 | gw2.termidesk.local | Шлюз 2 |
Менеджер рабочих мест (master) | tsk1.termidesk.local | Менеджер рабочих мест 1 |
Менеджер рабочих мест (slave) | tsk2.termidesk.local | Менеджер рабочих мест 2 |
Балансировщик нагрузки (nginx) | nginx.termidesk.local | Балансировщик |
База данных | db.termidesk.local | Сервер PostgreSQL |
Распределенная установка проводится в следующей последовательности:
1) устанавливается узел с компонентами СУБД и RabbitMQ-server (обе службы на одном узле);
2) устанавливается первый узел с универсальным диспетчером Termidesk. При установке диспетчера Termidesk необходимо выбрать компонент «Broker» в диалоговом окне псевдографического интерфейса инсталлятора;
Настройки первого узла с универсальным диспетчером Termidesk будут использоваться как эталонные для остальных узлов с компонентами Ternidesk (универсального диспетчера, шлюзов, менеджеров ВРМ).
Параметры конфигурации Termidesk находятся в файле /etc/opt/termidesk-vdi/termidesk.conf
.
Нужно скопировать каталог /etc/opt/termidesk-vdi
вместе с его содержимым на все узлы, за исключением узлов с СУБД и балансировщиком.
3) устанавливаются остальные узлы - универсальные диспетчеры Termidesk с копированием файлов, указанных в п.2, с эталонного узла;
4) устанавливаются узлы - шлюзы подключений Termidesk с копированием файлов, указанных в п.2, с эталонного узла. При установке шлюза Termidesk необходимо выбрать компонент «Gateway» в диалоговом окне псевдографического интерфейса инсталлятора;
5) устанавливаются узлы - менеджеры ВРМ с копированием файлов, указанных в п.2, с эталонного узла. При установке менеджера ВРМ Termidesk необходимо выбрать компонент «Task Manager» в диалоговом окне псевдографического интерфейса инсталлятора (одновременно служба менеджера ВРМ termidesk-taskman
должна быть запущена только на одном из узлов!).
Заключительным этапом устанавливаются и настраиваются балансировщики нагрузки на базе ОС Astra Linux Special Edition 1.7 и nginx.
Установка и настройка СУБД Postgres-11
Процесс установки СУБД Postgres-11 и брокера сообщений RabbitMQ-server не отличается от процесса, описанного в разделе Подготовка среды функционирования).
Для завершения настройки нужно:
- отредактировать файл
rabbitmq-env.conf
,
# Defaults to rabbit. This can be useful if you want to run more than one node
# per machine - RABBITMQ_NODENAME should be unique per erlang-node-and-machine
# combination. See the clustering on a single machine guide for details:
# http://www.rabbitmq.com/clustering.html#single-machine
#NODENAME=rabbit
# By default RabbitMQ will bind to all interfaces, on IPv4 and IPv6 if
# available. Set this if you only want to bind to one network interface or#
# address family.
NODE_IP_ADDRESS=0.0.0.0
# Defaults to 5672.
NODE_PORT=5672
- сохранить файл и перезапустить службу
rabbitmq-server
:
:~$ sudo systemctl restart rabbitmq-server
Установка первого узла с универсальным диспетчером Termidesk
Процесс установки первого узла с универсальным диспетчером Termidesk аналогичен комплексной установке Termidesk, за исключением выбора только компонента «Broker».
После установки передать каталог /etc/opt/termidesk-vdi
на остальные узлы универсальных диспетчеров, шлюзов подключений и менеджеров ВРМ:
:~$ sudo scp -r /etc/opt/termidesk-vdi localuser@ipaddr_or_fqdn_host:/home/user/
где:
-r
- ключ для рекурсивной (со вложенными каталогами) передачи;
localuser
- имя пользователя целевого узла;
ipaddr_or_fqdn_host
- IP-адрес или FQDN целевого узла;
/home/user
- путь, куда будет скопирован каталог.
Перед началом установки остальных узлов - универсальных диспетчеров Termidesk необходимо переместить скопированный ранее каталог termidesk-vdi
в каталог /etc/opt/
:
:~$ sudo mv /home/user/termidesk-vdi /etc/opt/
Установить остальные узлы с универсальным диспетчером Termidesk по аналогии с первым, но в диалоге подключения к СУБД и заполнения информации о подключении к RabbitMQ-server, выбрать экранную кнопку [Отмена].
Установка узлов - шлюзов подключений
Установка узлов - шлюзов подключений аналогична комплексной установке Termidesk, за исключением выбора только компонента «Gateway».
После завершения установки изменить настройки запуска службы termidesk-wsproxy
:
- отредактировать файл
/etc/opt/termidesk-vdi/termidesk.conf
, приведя фрагмент файла к виду:
...
# Порт, который будет прослушивать служба termidesk-wsproxy
WSPROXY_PORT=5099
# Адрес, который должна слушать служба termidesk-wsproxy
# при распределённой установке:
WSPROXY_BIND_ADDRESS="0.0.0.0"
...
- сохранить файл, а затем перезапустить службу:
:~$ sudo systemctl restart termidesk-wsproxy
Установка узлов - менеджеров ВРМ
Установка менеджеров ВРМ производится на два узла, работающих в режиме network failover
.
Установка аналогична комплексной установке Termidesk, за исключением выбора только компонента «Task manager».
После установки нужно остановить (systemctl stop
) и исключить (systemctl disable
) службу termidesk-taskman
из автоматического запуска:
:~$ sudo systemctl stop termidesk-taskman && sudo systemctl disable termidesk-taskman
Исключение службы из автоматического запуска необходимо, поскольку управление ее состоянием производится скриптами режима высокой доступности.
Установка балансировщиков
Балансировщики нагрузки необходимы для балансировки клиентских подключений к универсальным диспетчерам и шлюзам, равномерного распределения нагрузки на них. Средой функционирования для балансировщиков нагрузки является ОС Astra Linux Special Edition 1.7.
Балансировщик nginx устанавливается командой:
:~$ sudo apt install -y nginx
где:
-y
- ключ для пропуска подтверждения установки.
Действия после распределенной установки
Настройка менеджера ВРМ в режиме высокой доступности приведена в подразделе Настройка менеджера ВРМ в режиме высокой доступности документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса».