Обновление для распределенной конфигурации установкиОбщая концепция обновленияОбновление Termidesk, установленного в распределенной отказоустойчивой конфигурации, выполняется в последовательности, приведенной далее. |
Описание применимо к ферме Termidesk. |
Приведенная здесь процедура обновления предполагает, что используются узлы с компонентом «Шлюз» Шаги 1-5 относятся к обновлению узлов «Шлюза» Termidesk (служба Шаги 6-7 относятся к настройке среды функционирования. Шаги 8-13 относятся к обновлению узлов «Универсального диспетчера» Termidesk (служба Шаги 14-21 относятся к обновлению узлов «Менеджера рабочих мест» Termidesk (службы |
Начиная с Termidesk версии 5.0 изменен способ работы и хранения политик фонда РМ. Во время обновления распределенной или отказоустойчивой конфигурации установки с Termidesk версии 4.Х на версию 5.Х изменение политик нужно проводить после обновления на новую версию всех узлов Termidesk. Обновление Termidesk должно осуществляться с соблюдением условий:
Во время обновления возможна временная неработоспособность функции автоматического входа пользователя в гостевую ОС ВМ, пока не будет обновлен последний узел с «Универсальным диспетчером». |
Шаг 1. На балансировщике нагрузки, отвечающем за распределение подключений к «Шлюзам», из списка балансировки исключается «Шлюз», подлежащий обновлению (за раз - только ОДИН).
Шаг 2. Действия Шага 1 повторяются для каждого существующего балансировщика.
Шаг 3. Обновляется указанный на Шаге 1 «Шлюз».
Шаг 4. Выбирается следующий «Шлюз», подлежащий обновлению, для него выполняются Шаги 1-3.
Шаг 5. По завершении обновления ВСЕХ «Шлюзов» список балансировки восстанавливается до исходного.
Шаг 6. На сервер с СУБД, либо на отдельно выделенный сервер, устанавливается и настраивается компонент RabbitMQ в случае, если ранее RabbitMQ не был установлен.
Шаг 7. Создается резервная копия RSA-ключей, расположенных в каталоге /etc/opt/termidesk-vdi/wsproxy/.
Шаг 8. На балансировщике нагрузки, отвечающем за распределение подключений к «Универсальным диспетчерам», из списка балансировки (конфигурации nginx) исключается «Универсальный диспетчер», подлежащий обновлению (за раз - только ОДИН).
Шаг 9. Действия Шага 8 повторяются для каждого существующего балансировщика.
Шаг 10. Обновляется указанный на Шаге 8 «Универсальный диспетчер».
Шаг 11. На обновленном «Универсальном диспетчере» восстанавливаются RSA-ключи из резервных копий, созданных на Шаге 7. Узел перезагружается.
Шаг 12. Выбирается следующий «Универсальный диспетчер», подлежащий обновлению, для него выполняются Шаги 8-11.
Шаг 13. По завершении обновления ВСЕХ «Универсальных диспетчеров» список балансировки восстанавливается до исходного. Проверяется доступность графического интерфейса Termidesk сначала обращением на IP-адрес каждого из «Универсальных диспетчеров», затем обращением на IP-адрес балансировщика нагрузки.
Шаг 14. На узлах с установленным «Менеджером рабочих мест», который работает в отказоустойчивой конфигурации в режиме «SLAVE», должен быть выполнен останов служб keepalived.
Шаг 15. Обновляется выбранный «Менеджер рабочих мест». Выполняется запуск служб.
Шаг 16. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 7. Узел перезагружается.
Шаг 17. Выполняется запуск служб keepalived.
Шаг 18. На узле с установленным «Менеджером рабочих мест», который работает в отказоустойчивой конфигурации в режиме «MASTER», должен быть выполнен останов служб keepalived.
Шаг 19. Обновляется выбранный «Менеджер рабочих мест». Выполняется запуск служб.
Шаг 20. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 7. Узел перезагружается.
Шаг 21. Выполняется запуск службы keepalived.
Если в файлы конфигурации и запуска Termidesk ( |
В случае, если планируется обновление с переходом на ОС Astra Linux Special Edition 1.8, то потребуется переустановка ОС и Termidesk.
Тогда для сохранения существующей БД нужно:
/lib/systemd/system/termidesk-*, /etc/opt/termidesk-vdi/*);
|
В данном конфигурационном файле следует найти директиву daas-upstream-ws с перечислением списка «Шлюзов», выбрать первый по списку, закомментировать его и сохранить файл.
Пример для списка балансировки:
Здесь и далее примеры IP-адресов приведены в соответствии с RFC 5737. Указанные IP-адреса должны быть заменены на актуальные, используемые согласно схеме адресации, принятой в инфраструктуре организации. |
upstream daas-upstream-ws {
least_conn;
server 192.0.2.30;
server 192.0.2.31;
server 192.0.2.32;
} |
Для исключения первого по списку «Шлюза» файл приводится к виду:
upstream daas-upstream-ws {
least_conn;
# server 192.0.2.30;
server 192.0.2.31;
server 192.0.2.32;
} |
После изменения файла перезапустить веб-сервер:
sudo systemctl restart nginx |
Шаг 2. Редактирование конфигурации остальных балансировщиков нагрузки для «Шлюзов»На всех существующих балансировщиках нагрузки выполнить Шаг 1. |
Шаги 3-4. Обновление «Шлюзов»Процедура обновления проводится с помощью установки новой версии «Шлюза» Termidesk поверх уже имеющейся. Установка «Шлюзов» выполняется из пакета |
Для установки «Шлюза» следует обратиться к подразделу Установка Шлюза документа |
После завершения установки нужно изменить настройки запуска «Шлюзов» termidesk-gateway:
/etc/termidesk/gateway.yaml к виду согласно подразделу Параметры конфигурирования компонента документа url: ${urlCheckToken} - для обслуживания API-запросов по состоянию «Шлюза»;url: ${coordinatorUrl} - для подключения к RabbitMQ;sudo systemctl restart termidesk-gateway |
Шаг 5. Восстановление конфигурации балансировщика нагрузки для «Шлюзов»По завершении обновления ВСЕХ «Шлюзов» список балансировки на ВСЕХ балансировщиках восстанавливается до исходного. |
Ранее закомментированные строки нужно раскомментировать, затем выполнить перезагрузку службы nginx на каждом балансировщике:
sudo systemctl restart nginx |
Шаг 6. Установка и настройка RabbitMQШаг выполняется в соответствии с подразделами Установка брокера сообщений RabbitMQ и Настройка брокера сообщений RabbitMQ при отсутствии ранее установленного RabbitMQ. |
|
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 - путь, куда будет скопирован каталог.
|
В данном конфигурационном файле следует найти директиву daas-upstream-nodes с перечислением списка «Универсальных диспетчеров», выбрать первый по списку, закомментировать его и сохранить файл.
После изменения файла перезапустить веб-сервер:
sudo systemctl restart nginx |
Шаг 9. Редактирование конфигурации остальных балансировщиков нагрузки для «Универсальных диспетчеров»На всех существующих балансировщиках нагрузки выполнить Шаг 8. |
|
Корректировка файла При редактировании файла |
Перед запуском процедуры обновления нужно:
/etc/opt/termidesk-vdi/termidesk.conf и задать значение для параметра «METRICS_ACCESS_KEY», если оно не задано;sudo systemctl stop termidesk-vdi |
debconf командами:sudo rm -f /var/cache/debconf/config.dat sudo rm -f /var/cache/debconf/config.dat-old |
где:
-f - ключ игнорирования несуществующих файлов.
Шаг 11. Восстановление RSA ключей из резервной копии для «Универсального диспетчера»Выполнить копирование сохраненных на Шаге 7 RSA-ключей на узел с обновленным «Универсальным диспетчером». |
Затем перезагрузить узел:
sudo reboot |
После загрузки узла проверить состояние служб:
sudo systemctl -a | grep termidesk |
где:
-a - ключ для вывода списка служб;
grep - утилита для поиска текста в выводе предыдущей команды.
Проверить доступность портала Termidesk через веб-браузер.
Шаг 12. Обновление следующего по списку «Универсального диспетчера»Необходимо выполнить действия Шагов 8-11 для следующего по списку «Универсального диспетчера». |
При выполнении Шага 8 ранее закомментированный элемент остается в том же состоянии, дополнительно нужно закомментировать строку с последующим элементом.
Шаг 13. Восстановление конфигурации балансировщика нагрузки для «Универсальных диспетчеров»По завершении обновления ВСЕХ «Универсальных диспетчеров» список балансировки на ВСЕХ балансировщиках восстанавливается до исходного. |
Ранее закомментированные строки нужно раскомментировать, затем выполнить перезагрузку службы nginx на каждом балансировщике:
sudo systemctl restart nginx |
Выполнить проверку доступности портала Termidesk через веб-браузер сначала обращением на IP-адрес каждого из «Универсальных диспетчеров», затем обращением на IP-адрес балансировщика нагрузки.
Шаг 14. Останов служб на «Менеджере рабочих мест»На узлах с установленным «Менеджером рабочих мест», работающем в отказоустойчивой конфигурации в режиме «SLAVE», выполняется останов службы |
sudo systemctl stop keepalived |
Шаг 15. Обновление «Менеджеров рабочих мест»Обновление «Менеджеров рабочих мест» по своей последовательности не отличается от действий по обновлению «Универсальных диспетчеров», за исключением выбора устанавливаемой роли: при установке нужно выбрать роли «Менеджер рабочих мест» и «Менеджер рабочих мест (очереди)» в диалоговом окне псевдографического интерфейса инсталлятора. |
При редактировании файла |
Перед запуском процедуры обновления нужно:
/etc/opt/termidesk-vdi/termidesk.conf и задать значение для параметра «METRICS_ACCESS_KEY», если оно не задано;sudo systemctl stop termidesk-taskman termidesk-celery-beat termidesk-celery-worker |
При остановке службы на «Менеджере рабочих мест», находящемся в режиме «SLAVE», команда может выдать ошибку - это нормальное поведение. |
debconf командами:sudo rm -f /var/cache/debconf/config.dat sudo rm -f /var/cache/debconf/config.dat-old |
После установки нужно исключить службу termidesk-taskman из автоматического запуска:
sudo systemctl disable termidesk-taskman |
Исключение службы из автоматического запуска необходимо, поскольку управление ее состоянием производится скриптами режима высокой доступности.
На узле, выбранном в качестве slave, нужно не только исключить службу из автоматического запуска, но и остановить ее после обновления:
sudo systemctl stop termidesk-taskman |
Шаг 16. Восстановление RSA-ключей на «Менеджере рабочих мест»Выполнить копирование сохраненных на Шаге 7 RSA-ключей на узел с обновленным «Менеджером рабочих мест». |
Затем перезагрузить узел:
sudo reboot |
Шаг 17. Восстановление службы keepalivedВыполнить запуск службы |
sudo systemctl start keepalived |
Шаги 18-21. Обновление основного «Менеджера рабочих мест»Обновление осуществляется аналогично Шагам 14-17. |