Обновление для распределенной конфигурации установкиОбщая концепция обновления
|
Перед обновлением требуется выполнить переход на ОС из списка поддерживаемых для текущей версии Termidesk (см. подраздел Требования к программному обеспечению). Перед обновлением требуется удалить:
Во время обновления распределенной или отказоустойчивой конфигурации установки:
Обновление Termidesk должно осуществляться с соблюдением условий:
Во время обновления возможна временная неработоспособность функции автоматического входа пользователя в гостевую ОС ВМ, пока не будет обновлен последний узел с «Универсальным диспетчером». |
|
На схеме:
Если планируется добавить новый узел с «Универсальным диспетчером», то любой новый узел будет иметь свой IP-адрес (или FQDN). В этом случае все компоненты «Агента» должны получить новый адрес для регистрации в Termidesk.
Если в файлы конфигурации и запуска Termidesk ( В случае с переходом на ОС Astra Linux Special Edition 1.8 потребуется переустановка ОС и Termidesk. Тогда для сохранения существующей БД нужно:
|
Последовательность обновления фермы Termidesk, установленной в распределенной отказоустойчивой конфигурации:
Обновление выполняется с приостановкой обслуживания пользователей! |
Шаг 0. Проверить наличие лицензии на поддержку новой версии Termidesk.
Шаг 1. На всех балансировщиках нагрузки, отвечающих за распределение подключений к «Шлюзам» и «Универсальным диспетчерам», из списка балансировки выводятся все компоненты: «Шлюзы» и «Универсальные диспетчеры».
Шаг 2. Все пользователи должны отключиться от фондов РМ. Нужно дождаться завершения работы пользователей. Затем:
Шаг 3. На сервер с СУБД, либо на отдельно выделенный сервер, устанавливается и настраивается компонент RabbitMQ в случае, если ранее RabbitMQ не был установлен.
Шаг 4. Создается резервная копия RSA-ключей, расположенных в каталоге /etc/opt/termidesk-vdi/wsproxy/.
Шаг 5. На узлах с установленным «Менеджером рабочих мест», который работает в отказоустойчивой конфигурации в режиме «SLAVE», должен быть выполнен останов служб keepalived.
Служба |
Шаг 6. Обновляется выбранный «Менеджер рабочих мест». Запуск служб выполняется автоматически.
Шаг 7. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 4. В этом процессе автоматически будут обновлены записи в БД.
Шаг 8. Выполняется отключение служб keepalived. Узел перезагружается.
Шаг 9. На узлах с установленным «Менеджером рабочих мест», который работает в отказоустойчивой конфигурации в режиме «MASTER», должен быть выполнен останов служб keepalived. Выполняются Шаги 5-8 для «Менеджера рабочих мест» режима «SLAVE».
Шаг 10. Последовательно (по одному за раз) обновляются все «Универсальные диспетчеры» («Портал администратора», «Портал пользователя», «Портал универсальный»). Запуск служб выполняется автоматически. На обновленных «Универсальных диспетчерах» восстанавливаются RSA-ключи из резервных копий, созданных на Шаге 4. Узлы перезагружается.
Шаг 11. Обновляются все «Шлюзы». Запуск службы termidesk-gateway выполняется автоматически.
Шаг 12. По завершении обновления ВСЕХ узлов список балансировки восстанавливается до исходного. Проверяется доступность графического интерфейса Termidesk сначала обращением на IP-адрес каждого из «Универсальных диспетчеров», затем обращением на IP-адрес балансировщика нагрузки.
Шаг 13. После выполнения обновления узлов:
|
В данном конфигурационном файле следует найти директиву daas-upstream-ws и daas-upstream-nodes с перечислением списка «Шлюзов» и «Универсальных диспетчеров», закомментировать все узлы и сохранить файл.
Пример для списка балансировки:
Здесь и далее примеры 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-nodes {
least_conn;
server 192.0.2.33;
server 192.0.2.34;
server 192.0.2.35;
} |
Для исключения всех узлов файл приводится к виду:
upstream daas-upstream-ws {
least_conn;
# server 192.0.2.30;
# server 192.0.2.31;
# server 192.0.2.32;
}
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. Перевод фондов РМ в режим техобслуживанияДля продолжения обновления нужно дождаться отключения пользователей от фондов РМ. |
Затем:
Шаг 3. Установка и настройка 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 - путь, куда будет скопирован каталог.
Шаг 5. Останов служб на «Менеджере рабочих мест»На узлах с установленным «Менеджером рабочих мест», работающем в отказоустойчивой конфигурации в режиме «SLAVE», выполняется останов службы |
sudo systemctl stop keepalived |
Шаг 6. Обновление «Менеджеров рабочих мест»Перед запуском процедуры обновления нужно: |
/etc/opt/termidesk-vdi/termidesk.conf и задать значение для параметра METRICS_ACCESS_KEY, если оно не задано;При редактировании файла |
sudo systemctl stop termidesk-taskman 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 |
Шаг 7. Восстановление RSA-ключей на «Менеджере рабочих мест»Выполнить копирование сохраненных на Шаге 4 RSA-ключей на узел с обновленным «Менеджером рабочих мест». |
Шаг 8. Отключение службы keepalivedВыполнить отключение службы |
sudo systemctl disable keepalived |
Затем перезагрузить узел:
sudo reboot |
Шаги 9. Обновление резервного «Менеджера рабочих мест»Обновление осуществляется аналогично Шагам 5-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 - ключ игнорирования несуществующих файлов.
Для обновления «Универсального диспетчера»:
sudo apt update sudo apt install termidesk-vdi |
Выполнить копирование сохраненных на Шаге 4 RSA-ключей на узлы с обновленными «Универсальными диспетчерами». |
Затем перезагрузить узлы:
sudo reboot |
После загрузки узла проверить состояние служб:
sudo systemctl -a | grep termidesk |
где:
-a - ключ для вывода списка служб;
grep - утилита для поиска текста в выводе предыдущей команды.
Проверить доступность веб-порталов Termidesk через веб-браузер.
Шаги 11. Обновление «Шлюзов»Процедура обновления проводится с помощью установки новой версии «Шлюза» Termidesk поверх уже имеющейся. Установка «Шлюзов» выполняется из пакета |
Для установки «Шлюза» следует обратиться к подразделу Установка Шлюза документа |
После завершения установки первого «Шлюза» нужно изменить настройки запуска termidesk-gateway:
/etc/termidesk/gateway.yaml к виду согласно подразделу Параметры конфигурирования компонента документа url: ${urlCheckToken} - для обслуживания API-запросов по состоянию «Шлюза»;url: ${coordinatorUrl} - для подключения к RabbitMQ;sudo systemctl restart termidesk-gateway |
После настройки нужно передать каталог /etc/termidesk/ с первого узла «Шлюза» на другие узлы с этим компонентом:
sudo scp -r /etc/termidesk localuser@ipaddr_or_fqdn_host:/home/user/ |
где:
-r - ключ для рекурсивной (со вложенными каталогами) передачи;
localuser - имя пользователя целевого узла;
ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла;
/home/user - путь, куда будет скопирован каталог.
Перед началом установки остальных узлов «Шлюзов» необходимо:
termidesk в каталог /etc/:sudo mv /home/user/termidesk /etc/ |
termidesk-gateway:sudo chown termidesk-gateway:termidesk-gateway /etc/termidesk/ssl-cert-snakeoil.* |
sudo chmod 640 /etc/termidesk/ssl-cert-snakeoil.key sudo chmod 644 /etc/termidesk/ssl-cert-snakeoil.pem |
sudo systemctl restart termidesk-gateway |
Настройка после установки остальных узлов «Шлюза» выполняется по аналогии с первым.
Шаг 12. Восстановление конфигурации балансировщика нагрузкиПо завершении обновления ВСЕХ узлов фермы Termidesk список балансировки на ВСЕХ балансировщиках восстанавливается до исходного. |
Ранее закомментированные строки нужно раскомментировать, затем выполнить перезагрузку службы nginx на каждом балансировщике:
sudo systemctl restart nginx |
Выполнить проверку доступности веб-портала Termidesk через веб-браузер сначала обращением на IP-адрес каждого из «Универсальных диспетчеров» (или «Шлюзов»), затем обращением на IP-адрес балансировщика нагрузки.
Шаг 13. Обновление компонентов в ОС РМ и новая публикацияПосле выполнения обновления ВСЕХ узлов: |
Для фондов с терминальными серверами публикация не выполняется: достаточно того, чтобы узел с терминальным сервером был включен. |