ОС Astra Linux Special Edition
Автоматизированная установка «Агрегатора»
|
Перед установкой «Агрегатора» должна быть подготовлена среда функционирования (см. подраздел Подготовка среды функционирования). Перед установкой следует убедиться, что в БД отсутствуют записи (необходимо использовать чистую БД). |
Для автоматизированной установки нужно:
-
создать файл
/etc/default/termidesk-vdi.local:
sudo touch /etc/default/termidesk-vdi.local
-
указать в созданном файле каталоги расположения конфигурационного файла и шаблонов настройки регистрации событий и журналирования:
ETC='/etc/opt/termidesk-vdi'
TEMPLATES_DIR='/etc/opt/termidesk-vdi/templates'
-
указать в созданном файле параметр
NON_INTERACTIVE_INSTALLATIONсо значениемyesдля отключения отображения диалогов настройки параметров:
NON_INTERACTIVE_INSTALLATION='yes'
-
создать каталог
/etc/opt/termidesk-vdi:
sudo mkdir /etc/opt/termidesk-vdi
-
создать файл
/etc/opt/termidesk-vdi/termidesk.conf:
sudo touch /etc/opt/termidesk-vdi/termidesk.conf
-
отредактировать созданный файл по примеру ниже;
-
выполнить:
sudo apt install -y termidesk-vdi
Описание параметров файла приведено в подразделе Конфигурационный файл termidesk.conf.
|
Пример файла /etc/opt/termidesk-vdi/termidesk.conf:
-
используются значения по умолчанию для имени пользователи и пароля;
-
пароли и имена хранятся в конфигурационном файле (хранилище не используется);
-
используется незащищенное подключение к БД и RabbitMQ .
TERMIDESK_FARM_MODE='AGGREGATOR'
NODE_ROLES='ADMIN,USER,CELERYMAN'
NODE_NAME=aggregator-portal-celery_0050568fef1a
SECRETS_STORAGE_METHOD='config'
DB_CLUSTER_MODE='single'
DBHOST='localhost'
DBPORT='5432'
DBSSL='Disable'
DBNAME='termidesk'
DBUSER='termidesk'
DBPASS='ksedimret'
DB_CONN_MAX_AGE=600
CELERY_DB_REUSE_MAX=1000
DB_CONN_TIMEOUT=10
RABBITMQ_URL1='amqp://termidesk:ksedimret@localhost:5672/termidesk'
RABBITMQ_URL2=
RABBITMQ_URL3=
RABBITMQ_SSL='Disable'
DJANGO_SECRET_KEY='t6ajnMB3KMyfMEffz8SYlZMzCsGP0dENc2wFXYPAfgc='
LOG_LEVEL='INFO'
LOG_ADDRESS='/dev/log'
LOG_FACILITY='local3'
LOG_DIR='/var/log/termidesk'
LOG_OWNER='termidesk'
LOG_GROUP='adm'
LOG_PERM='0440'
LOG_DEEP='14'
FLUENTD_CACHE=15
FLUENTD_TABLE='logs'
FLUENTD_LOGGER_TIMEOUT=5
HEALTH_CHECK_ACCESS_KEY='7e3a48572334c022ce774668047b4b00d44a7129e7857ae0a068f00832aee499'
METRICS_ACCESS_KEY='0f77b6a57b491e0aa4cd7a78d3d068386a5a0b6832c25b6b0c2bdcfbc079e92a'
EULA_ACCEPTED='YES'
AGGREGATOR_IMAGE_CACHE_LIFETIME_HOURS=672
AGGREGATOR_HTTP_TIMEOUT=10
После установки указанные в открытом виде пароли можно привести к преобразованным значениям через утилиту /opt/termidesk/bin/scramble.
После установки нужно:
-
скорректировать файл конфигурации веб-сервера
/etc/apache2/apache2.conf. Для этого нужно найти и раскомментировать строку с параметромAstraMode, далее присвоить данному параметру значениеoff, точно соблюдая отступы и пробелы в файле:
# Astra security mode
#
AstraMode off
-
затем перезапустить веб-сервер:
sudo systemctl restart apache2
-
задать ключ для подписи JWT-токена для взаимодействия с узлами фермы Termidesk VDI. Ключ может быть задан через файл
termidesk.conf(параметрAGGREGATOR_JWT_SSL_KEY) или через утилитуtermidesk-config; -
заполнить файл сопоставления
mapping.yamlи указать его вtermidesk.conf(параметрAGGREGATOR_YAML_FILE).
После установки параметры «Агрегатора» могут быть изменены:
-
через файл
termidesk.conf; -
или через утилиту
termidesk-config.
Неавтоматизированная установка «Агрегатора»
|
Перед установкой «Агрегатора» должна быть подготовлена среда функционирования (см. подраздел Подготовка среды функционирования). Перед установкой следует убедиться, что в БД отсутствуют записи (необходимо использовать чистую БД). |
Установка производится аналогично подразделу Неавтоматизированная комплексная установка Termidesk VDI документа СЛЕТ.10001-01 90 01 «Руководство администратора. Установка программного комплекса».
|
Возможность установки веб-порталов «Агрегатор администратора» и «Агрегатор пользователя» зависит от типа редакции Termidesk VDI. Установка веб-порталов «Агрегатор администратора» и/или «Агрегатор пользователя» должна производиться на узле, отличном от «Портала администратора» и/или «Портала пользователя» фермы Termidesk VDI. Начиная с Termidesk VDI версии 6.1 компонент «Шлюз» (пакет |
В процессе установки необходимо отметить следующие пункты:
| Описание относится к комплексной установке: все указанные роли устанавливаются на одном узле. |
-
при выборе режима работы ПО: «Агрегатор»;
-
при выборе ролей:
-
«Портал администратора». После установки будет запущена служба
termidesk-vdi; -
и (или) «Портал пользователя». После установки будет запущена служба
termidesk-vdi;
-
-
«Менеджер рабочих мест». После установки будут запущены службы
termidesk-celery-beat,termidesk-celery-worker.
После установки нужно:
-
скорректировать файл конфигурации веб-сервера
/etc/apache2/apache2.conf. Для этого нужно найти и раскомментировать строку с параметромAstraMode, далее присвоить данному параметру значениеoff, точно соблюдая отступы и пробелы в файле:
# Astra security mode
#
AstraMode off
-
затем перезапустить веб-сервер:
sudo systemctl restart apache2
-
задать ключ для подписи JWT-токена для взаимодействия с узлами фермы Termidesk VDI. Ключ может быть задан через файл
termidesk.conf(параметрAGGREGATOR_JWT_SSL_KEY) или через утилитуtermidesk-config; -
заполнить файл сопоставления
mapping.yamlи указать его вtermidesk.conf(параметрAGGREGATOR_YAML_FILE).
После установки параметры «Агрегатора» могут быть изменены:
-
через файл
termidesk.conf; -
или через утилиту
termidesk-config.
Минимальная распределенная установка «Агрегатора»
Основные принципы минимальной распределенной установки
В Termidesk VDI предусмотрена распределенная установка компонентов на отдельные серверы или ВМ.
| Описание применимо к ферме «Агрегатора». |
|
Реализация отказоустойчивости инфраструктурных сервисов выполняется организацией в соответствии с требованиями к инфраструктуре. При использовании внешней по отношению к Termidesk VDI СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел. Начиная с Termidesk VDI версии 6.1 компонент «Шлюз» (пакет Инструкции по установке и настройке доступны по ссылкам: Инструкция по настройке Шлюза для Termidesk VDI (первый способ), Инструкция по настройке Шлюза для Termidesk VDI (второй способ). |
В минимальном распределенном варианте устанавливаются:
-
«Агрегатор» (служба
termidesk-vdi); -
«Менеджер рабочих мест» (службы
termidesk-celery-beat,termidesk-celery-worker).
Перечень условий для минимальной распределенной установки:
-
брокер сообщений RabbitMQ устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);
-
на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
-
на всех узлах настроена синхронизация времени от единого источника.
Упрощенная общая схема при минимальной распределенной установке Termidesk VDI приведена на рисунке (см. рисунок Схема минимальной распределенной установки).
Схема минимальной распределенной установки с Termidesk Connect приведена на рисунке (см. рисунок Схема минимальной распределенной установки при наличии лицензии Termidesk Connect).
Особенности:
-
для реализации функционала «Шлюза» используется лицензия Termidesk Connect Basic;
-
для реализации функционала балансировщика используется лицензия Termidesk Connect. При отсутствии лицензии допускается использование сторонних балансировщиков нагрузки.
Перечень обозначенных на схеме компонентов приведен в таблице (см. таблицу Перечень компонентов схемы минимальной распределенной установки).
| Компонент | FQDN | Подпись на схеме |
|---|---|---|
«Агрегатор» №1 с ролью «Агрегатор универсальный» |
|
«Агрегатор 1» |
«Агрегатор» №2 с ролью «Агрегатор универсальный» |
|
«Агрегатор 2» |
Termidesk Connect (лицензия «Termidesk Connect Basic») №1 |
|
«Termidesk Connect (Шлюз) 1» |
Termidesk Connect (лицензия «Termidesk Connect Basic») №2 |
|
«Termidesk Connect (Шлюз) 2» |
«Менеджер рабочих мест» №1 |
|
«Менеджер рабочих мест 1» |
«Менеджер рабочих мест» №2 |
|
«Менеджер рабочих мест 2» |
Termidesk Connect №1 |
|
«Termidesk Connect 1» |
Termidesk Connect №2 |
|
«Termidesk Connect 2» |
База данных c брокером сообщений RabbitMQ |
|
«Сервер СУБД и RabbitMQ» |
Минимальная распределенная установка проводится в следующей последовательности:
-
на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД);
-
устанавливается первый (эталонный) узел с «Агрегатором». При установке необходимо выбрать роль «Агрегатор универсальный» (роль активируется при одновременном выборе ролей «Агрегатор администратора» и «Агрегатор пользователя» в диалоговом окне псевдографического интерфейса инсталлятора) и «Менеджер рабочих мест»;
|
Настройки первого узла с «Агрегатором» будут использоваться как эталонные для других узлов. Нужно скопировать каталог |
-
устанавливаются остальные «Агрегаторы» с копированием файлов, указанных выше, с эталонного узла;
-
устанавливаются шлюзы.
Заключительным этапом устанавливаются и настраиваются «Балансировщики нагрузки».
Установка и настройка СУБД PostgreSQL
Процесс установки брокера сообщений RabbitMQ не отличается от процесса, описанного в разделе Подготовка среды функционирования. Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии.
Для завершения настройки нужно:
-
отредактировать файл
/etc/rabbitmq/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
Установка первого узла с «Агрегатором»
Процесс установки первого узла с «Агрегатором» аналогичен комплексной установке. В процессе установки следует выбрать роли: «Агрегатор администратора (AGGR_ADM)», «Агрегатор пользователя (AGGR_USR)» и «Менеджер рабочих мест (CELERYMAN)».
После установки передать каталог /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-vdi в каталог /etc/opt/:
sudo mv /home/user/termidesk-vdi /etc/opt/
Установить второй узел с «Агрегатором» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ.
Установка шлюзов
Начиная с Termidesk VDI версии 6.1 функционал «Шлюза» реализуется через продукт Termidesk Connect. Подробные сведения приведены в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
Установка «Балансировщиков нагрузки»
Подробные сведения по установке «Балансировщика нагрузки» приведены в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
При отсутствии полной лицензии на Termidesk Connect допускается использование сторонних балансировщиков нагрузки.
Действия после минимальной распределенной установки
Настройка «Балансировщика нагрузки» приведена в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
После установки нужно задать ключ для подписи JWT-токена для взаимодействия с узлами фермы Termidesk VDI. Ключ может быть задан через файл termidesk.conf (параметр AGGREGATOR_JWT_SSL_KEY) или через утилиту termidesk-config.
После установки параметры «Агрегатора» могут быть изменены:
-
через файл
termidesk.conf; -
или через утилиту
termidesk-config.
Стандартная распределенная установка «Агрегатора»
Основные принципы стандартной распределенной установки
В Termidesk VDI предусмотрена распределенная установка компонентов на отдельные серверы или ВМ.
| Описание применимо к ферме «Агрегатора». |
|
Реализация отказоустойчивости инфраструктурных сервисов выполняется организацией в соответствии с требованиями к инфраструктуре. При использовании внешней по отношению к Termidesk VDI СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел. Начиная с Termidesk VDI версии 6.1 компонент «Шлюз» (пакет Инструкции по установке и настройке доступны по ссылкам: Инструкция по настройке Шлюза для Termidesk VDI (первый способ), Инструкция по настройке Шлюза для Termidesk VDI (второй способ). |
В стандартном распределенном варианте устанавливаются:
-
«Агрегатор» (служба
termidesk-vdi); -
«Менеджер рабочих мест» (службы
termidesk-celery-beat,termidesk-celery-worker).
Перечень условий для стандартной распределенной установки:
-
брокер сообщений RabbitMQ устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);
-
на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
-
на всех узлах настроена синхронизация времени от единого источника.
Упрощенная общая схема при стандартной распределенной установке Termidesk VDI приведена на рисунке (см. рисунок Схема стандартной распределенной установки).
Схема стандартной распределенной установки с Termidesk Connect приведена на рисунке (см. рисунок Схема стандартной распределенной установки при наличии лицензии). Особенности:
-
для реализации функционала «Шлюза» используется лицензия Termidesk Connect Basic;
-
для реализации функционала балансировщика используется лицензия Termidesk Connect. При отсутствии лицензии допускается использование сторонних балансировщиков нагрузки.
Termidesk Connect image::screenshots/407896716/407896837.png[image,align=center,width=752]
Перечень обозначенных на схеме компонентов приведен в таблице (см. таблицу Перечень компонентов схемы стандартной распределенной установки).
| Компонент | FQDN | Подпись на схеме |
|---|---|---|
«Агрегатор» №1 с ролью «Агрегатор универсальный» |
|
«Агрегатор 1» |
«Агрегатор» №2 с ролью «Агрегатор универсальный» |
|
«Агрегатор 2» |
Termidesk Connect (лицензия «Termidesk Connect Basic») №1 |
|
«Termidesk Connect (Шлюз) 1» |
Termidesk Connect (лицензия «Termidesk Connect Basic») №2 |
|
«Termidesk Connect (Шлюз) 2» |
«Менеджер рабочих мест» №1 |
|
«Менеджер рабочих мест 1» |
«Менеджер рабочих мест» №2 |
|
«Менеджер рабочих мест 2» |
Termidesk Connect №1 |
|
«Termidesk Connect 1» |
Termidesk Connect №2 |
|
«Termidesk Connect 2» |
База данных c брокером сообщений RabbitMQ |
|
«Сервер СУБД и RabbitMQ» |
Стандартная распределенная установка проводится в следующей последовательности:
-
на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД);
-
устанавливается первый (эталонный) узел с «Агрегатором». При установке необходимо выбрать роль «Агрегатор универсальный». Роль активируется при одновременном выборе ролей «Агрегатор администратора» и «Агрегатор пользователя» в диалоговом окне псевдографического интерфейса инсталлятора;
|
Настройки первого узла с «Агрегатором» будут использоваться как эталонные для других узлов. Нужно скопировать каталог |
-
устанавливаются остальные «Агрегаторы» с копированием файлов, указанных выше, с эталонного узла;
-
устанавливаются шлюзы;
-
устанавливаются «Менеджеры рабочих мест» с копированием файлов, указанных выше, с эталонного узла.
Заключительным этапом устанавливаются и настраиваются «Балансировщики нагрузки».
Установка и настройка СУБД PostgreSQL
Процесс установки брокера сообщений RabbitMQ не отличается от процесса, описанного в разделе Подготовка среды функционирования. Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии.
Для завершения настройки нужно:
-
отредактировать файл
/etc/rabbitmq/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
Установка первого узла с «Агрегатором»
Процесс установки первого узла с «Агрегатором» аналогичен комплексной установке. В процессе установки следует выбрать роли: «Агрегатор администратора (AGGR_ADM)», «Агрегатор пользователя (AGGR_USR)» и «Менеджер рабочих мест (CELERYMAN)».
После установки передать каталог /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-vdi в каталог /etc/opt/:
sudo mv /home/user/termidesk-vdi /etc/opt/
Установить второй узел с «Агрегатором» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ.
Установка шлюзов
Начиная с Termidesk VDI версии 6.1 функционал «Шлюза» реализуется через продукт Termidesk Connect. Подробные сведения приведены в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
Установка «Менеджеров рабочих мест»
Установка «Менеджеров рабочих мест» производится на два узла, работающих в режиме отказоустойчивой конфигурации, при которой оба узла активно обрабатывают трафик (конфигурация «Active - Active»), а отказ одного из них не нарушает работоспособность фермы Termidesk VDI.
Установка компонента на первый узел проводится в следующей последовательности:
-
перемещается скопированный ранее каталог
termidesk-vdiв каталог/etc/opt/:
sudo mv /home/user/termidesk-vdi /etc/opt/
-
создается файл
/etc/default/termidesk-vdi.local:
sudo touch /etc/default/termidesk-vdi.local
-
в созданном файле указываются каталоги расположения конфигурационного файла и шаблонов настройки регистрации событий и журналирования:
ETC='/etc/opt/termidesk-vdi'
TEMPLATES_DIR='/etc/opt/termidesk-vdi/templates'
-
редактируется файл
/etc/opt/termidesk-vdi/termidesk.conf, параметруNODE_ROLESприсваивается значениеCELERYMAN; -
устанавливается пакет
termidesk-vdi:
sudo apt -y install termidesk-vdi
где:
-y - ключ для пропуска подтверждения установки.
В результате установки пакета termidesk-vdi на узле будут запущены службы termidesk-celery-beat, termidesk-celery-worker.
Установка второго узла с «Менеджером рабочих мест» выполняется по аналогии с первым.
Установка «Балансировщиков нагрузки»
Подробные сведения по установке «Балансировщика нагрузки» приведены в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
При отсутствии полной лицензии на Termidesk Connect допускается использование сторонних балансировщиков нагрузки.
Действия после стандартной распределенной установки
Настройка «Балансировщика нагрузки» приведена в документации Termidesk Connect (доступ по ссылке: https://termidesk.ru/docs/).
После установки нужно задать ключ для подписи JWT-токена для взаимодействия с узлами фермы Termidesk VDI. Ключ может быть задан через файл termidesk.conf (параметр AGGREGATOR_JWT_SSL_KEY) или через утилиту termidesk-config.
После установки параметры «Агрегатора» могут быть изменены:
-
через файл
termidesk.conf; -
или через утилиту
termidesk-config.
Комплексное обновление «Агрегатора»
Обновление должно осуществляться с соблюдением условий:
-
обновление выполняется последовательно, с установкой промежуточных версий релизов. Например: 6.0 - 6.0.1 - 6.0.2 - 6.1;
-
обновление выполняется операцией установки поверх предыдущей версии. В противном случае, если ранее «Агрегатор» был удален без удаления БД, при повторной установке может возникнуть ряд ошибок;
-
после начала процедуры обновления запрещается производить любые операции с объектами с предыдущими версиями «Агрегатора».
Если в файлы запуска вручную были внесены какие-либо изменения, то эти изменения при обновлении не сохраняются.
|
Начиная с Termidesk VDI версии 6.1 компонент «Шлюз» (пакет Инструкции по установке и настройке доступны по ссылкам: Инструкция по настройке Шлюза для Termidesk VDI (первый способ), Инструкция по настройке Шлюза для Termidesk VDI (второй способ). Особенности:
|
Перед любым обновлением рекомендуется выполнить резервное копирование БД:
pg_dump -d <наименование БД> -h <IP-адрес_хоста> -p <порт> -U <пользователь> -W > <имя_файла_для_сохранения_БД.sql>
где:
-d <наименование БД> - имя БД. При стандартных настройках используется имя termidesk;
-h <IP-адрес_хоста> - IP-адрес узла, где расположена БД. Если БД устанавливалась локально, нужно указать localhost;
-p <порт> - порт для подключения к БД. При стандартных настройках используется 5432;
-U <пользователь> - имя пользователя для подключения. При стандартных настройках используется имя termideskdb;
-W - запрос пароля для подключения к БД. При стандартных настройках при появлении запроса нужно указать ksedimret;
<имя_файла_для_сохранения_БД.sql> - имя и формат файла (sql) для сохранения БД.
Для обновления «Агрегатора» нужно:
-
остановить службы:
sudo systemctl stop termidesk-vdi termidesk-celery-beat termidesk-celery-worker
-
подключить репозиторий Termidesk VDI;
-
при использовании ОС Astra Linux Special Edition в более защищенном режиме, например, «Смоленск», потребуется выполнить дополнительную настройку:
-
для пользователя БД назначить классификационную метку (в примере используется
termideskdb, в более ранних версиях использовалось имя пользователяtermidesk):sudo pdpl-user -i 0 termideskdb -
предоставить пользователю
postgresправа на чтение файла, содержащего классификационную метку пользователяtermideskdb, подключающегося к БД:sudo setfacl -m u:postgres:r /etc/parsec/macdb/$(id -u termideskdb) -
создать системного пользователя
termideskdb(имя должно совпадать с именем пользователя в БД):sudo useradd -M termideskdb -s /usr/sbin/nologin -d /home/termideskdb
-
-
выполнить обновление:
sudo apt install -y termidesk-vdi
где:
-y - ключ для пропуска подтверждения установки;
-
в диалогах ввода параметров подключения к СУБД и RabbitMQ нажать экранную кнопку [OK];
-
в диалоге выбора ролей нужно нажать экранную кнопку [OK];
| Диалоги настройки параметров отображаются в том случае, если ранее они не были заданы. |
После обновления нужно заполнить файл сопоставления mapping.yaml и указать его в termidesk.conf (параметр AGGREGATOR_YAML_FILE).
Обновление для распределенной конфигурации установки «Агрегатора»
Общая концепция обновления
| Описание применимо к ферме «Агрегатора», установленной в распределенной конфигурации. Общая последовательность действий приведена на рисунке Последовательность обновления распределенной конфигурации. |
|
Обновление должно осуществляться с соблюдением условий:
Начиная с Termidesk VDI версии 6.1 компонент «Шлюз» (пакет Инструкции по установке и настройке доступны по ссылкам: Инструкция по настройке Шлюза для Termidesk VDI (первый способ), Инструкция по настройке Шлюза для Termidesk VDI (второй способ). Особенности:
|
На схеме:
-
режим совместимости - режим, характеризующийся отличием в версиях между любыми компонентами фермы «Агрегатора»;
-
режим обновления - режим, характеризующийся наличием не обновленных «Агрегаторов» при уже обновленных записях БД.
Последовательность обновления фермы «Агрегатора», установленной в распределенной отказоустойчивой конфигурации:
Шаг 1. На всех балансировщиках нагрузки, отвечающих за распределение подключений к «Агрегаторам»,из списка балансировки исключается часть «Агрегаторов».
Шаг 2. На сервер с СУБД, либо на отдельно выделенный сервер,устанавливается и настраивается компонент RabbitMQ в случае, если ранее RabbitMQ не был установлен.
Шаг 3. Создается резервная копия RSA-ключей, расположенных в каталоге /etc/opt/termidesk-vdi/wsproxy/.
Шаг 4. Обновляется первый «Менеджер рабочих мест». Запуск служб выполняется автоматически. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 3. В этом процессе автоматически будут обновлены записи в БД.
Шаг 5. Обновляются последующие «Менеджеры рабочих мест». Запуск служб выполняется автоматически. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 3.
Шаг 6. Последовательно обновляются все узлы «Агрегатора» («Агрегатор администратора», «Агрегатор пользователя», «Агрегатор универсальный»). Запуск служб выполняется автоматически. На обновленных «Агрегаторах» восстанавливаются RSA-ключи из резервных копий, созданных на Шаге 3. Узлы перезагружаются.
Шаг 7. На всех балансировщиках нагрузки список балансировки восстанавливается до исходного.
После обновления фермы «Агрегатора» выполняется обновление фермы Termidesk VDI.
|
Описание обновления фермы Termidesk VDI приведено в подразделе Обновление для распределенной конфигурации установки документа СЛЕТ.10001-01 90 01 «Руководство администратора. Установка программного комплекса». |
Шаг 1. Редактирование конфигурации балансировщика нагрузки
На балансировщике нагрузки открыть и отредактировать файл /etc/nginx/sites-available/sampledomain.ru.conf.
В данном конфигурационном файле следует найти директиву daas-upstream-nodes с перечислением списка «Агрегаторов», закомментировать все узлы и сохранить файл.
Пример для списка балансировки:
| Здесь и далее примеры IP-адресов приведены в соответствии с RFC 5737. Указанные IP-адреса должны быть заменены на актуальные, используемые согласно схеме адресации, принятой в инфраструктуре организации. |
upstream daas-upstream-nodes {
least_conn;
server 192.0.2.33;
server 192.0.2.34;
server 192.0.2.35;
}
Для исключения всех узлов файл приводится к виду:
upstream daas-upstream-nodes {
least_conn;
#server 192.0.2.33;
#server 192.0.2.34;
#server 192.0.2.35;
}
После изменения файла перезапустить веб-сервер:
sudo systemctl restart nginx
Шаг 2. Установка и настройка RabbitMQ
При отсутствии ранее установленного RabbitMQ выполняется его установка в соответствии с подразделом Подготовка среды функционирования документа СЛЕТ.10001-01 90 01 «Руководство администратора. Установка программного комплекса».
| Ферма «Агрегатора» не должна использовать экземпляры БД и брокера сообщений RabbitMQ, предназначенные для фермы Termidesk VDI. |
Предполагается, что СУБД установлена на узле RabbitMQ. При использовании ОС Astra Linux Special Edition в более защищенном режиме, например, «Смоленск», потребуется выполнить дополнительную настройку:
-
для пользователя БД назначить классификационную метку (в примере используется
termideskdb, в более ранних версиях использовалось имя пользователяtermidesk):
sudo pdpl-user -i 0 termideskdb
-
предоставить пользователю
postgresправа на чтение файла, содержащего классификационную метку пользователяtermideskdb, подключающегося к БД:
sudo setfacl -m u:postgres:r /etc/parsec/macdb/$(id -u termideskdb)
-
создать системного пользователя
termideskdb(имя должно совпадать с именем пользователя в БД):
sudo useradd -M termideskdb -s /usr/sbin/nologin -d /home/termideskdb
Шаг 3. Резервное копирование RSA-ключей
Выполнить резервное копирование RSA-ключей с одного из узлов «Агрегатора». Резервные копии ключей можно скопировать, например, на другой сетевой узел командой:
sudo scp -r /etc/opt/termidesk-vdi/wsproxy localuser@ipaddr_or_fqdn_host:/home/localuser/
где:
-r - ключ для рекурсивной (со вложенными каталогами) передачи;
localuser - имя пользователя целевого узла;
ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла;
/home/user - путь, куда будет скопирован каталог.
Шаг 4. Обновление первого «Менеджера рабочих мест»
Перед запуском процедуры обновления нужно:
-
отредактировать файл
/etc/opt/termidesk-vdi/termidesk.confи задать значение для параметраMETRICS_ACCESS_KEY, если оно не задано;
|
При редактировании файла |
-
остановить службы Termidesk VDI:
sudo systemctl stop termidesk-celery-beat termidesk-celery-worker
-
удалить кеш файла ответов
debconfкомандами:
sudo rm -f /var/cache/debconf/config.dat
sudo rm -f /var/cache/debconf/config.dat-old
Для обновления «Менеджера рабочих мест»:
-
обновить список пакетов и выполнить запуск файла установщика:
sudo apt update
sudo apt install termidesk-vdi
-
в диалоговом окне псевдографического интерфейса инсталлятора выбрать режим работы ПО «Агрегатор».
После обновления выполнить копирование сохраненных на Шаге 3 RSA-ключей на узел с обновленным «Менеджером рабочих мест».
Шаг 5. Обновление остальных «Менеджеров рабочих мест»
Обновление производится аналогично Шагу 4.
Шаг 6. Обновление узлов «Агрегаторов»
Перед запуском процедуры обновления нужно:
-
отредактировать файл
/etc/opt/termidesk-vdi/termidesk.confи задать значение для параметраMETRICS_ACCESS_KEY,если оно не задано;
|
Корректировка файла При редактировании файла |
-
остановить службу Termidesk VDI:
sudo systemctl stop termidesk-vdi
-
удалить кеш файла ответов
debconfкомандами:
sudo rm -f /var/cache/debconf/config.dat
sudo rm -f /var/cache/debconf/config.dat-old
где:
-f - ключ игнорирования несуществующих файлов.
Для обновления «Агрегатора»:
-
обновить список пакетов и выполнить запуск файла установщика:
sudo apt update
sudo apt install termidesk-vdi
-
в диалоговом окне псевдографического интерфейса инсталлятора выбирается режим работы «Агрегатор», роль «Портал администратора» и/или «Портал пользователя» в зависимости от ранее установленной роли.
После обновления:
-
выполнить копирование сохраненных на Шаге 3 RSA-ключей на узлы с обновленными «Агрегаторами»;
-
заполнить файл сопоставления
mapping.yamlи указать его вtermidesk.conf(параметрAGGREGATOR_YAML_FILE); -
перезагрузить узлы:
sudo reboot
После загрузки узла проверить состояние служб:
sudo systemctl -a | grep termidesk
где:
-a - ключ для вывода списка служб;
grep - утилита для поиска текста в выводе предыдущей команды.
Проверить доступность веб-порталов «Агрегатора» через веб-браузер.
Шаг 7. Восстановление конфигурации балансировщика нагрузки
По завершении обновления ВСЕХ узлов «Агрегатора» список балансировки на ВСЕХ балансировщиках восстанавливается до исходного.
Пример для балансировщика nginx:
-
ранее закомментированные строки нужно раскомментировать;
-
затем выполнить перезагрузку службы
nginxна каждом балансировщике:
sudo systemctl restart nginx
Выполнить проверку доступности веб-портала «Агрегатора» через веб-браузер сначала обращением на IP-адрес каждого из «Агрегаторов», затем обращением на IP-адрес балансировщика нагрузки.
Удаление Termidesk
Для удаления нужно:
-
выполнить:
sudo apt purge termidesk-vdi
-
удалить файлы, задающие переменные окружения:
sudo rm /etc/default/termidesk-vdi.local
sudo rm /etc/default/termidesk-vdi
Для удаления БД и роли пользователя следует выполнить следующие действия, строго соблюдая их последовательность:
-
переключиться на пользователя
postgres(через пользователяroot):
sudo su postgres
-
запустить терминальный клиент СУБД:
psql
-
используя интерактивный интерфейс терминального клиента СУБД, удалить БД:
postgres=# DROP DATABASE termidesk;
-
удалить роль пользователя БД:
postgres=# DROP ROLE termidesk;
-
выйти из интерактивного интерфейса терминального клиента СУБД:
postgres=# \q
-
выйти из сеанса пользователя
postgres:
exit
-
удалить оставшийся каталог с файлами, содержащими переменные для подключения к БД, сертификат и ключ:
|
Если для хранения конфигурационных файлов, журналов и шаблонов использовались каталоги, отличные от стандартных, нужно удалить их. |
sudo rm -R /etc/opt/termidesk-vdi
где:
-R - ключ для рекурсивного действия. Будут удалены все вложенные подкаталоги.