Download PDF
Download page Обновление для распределенной конфигурации установки.
Обновление для распределенной конфигурации установки
Обновление для распределенной конфигурации установки
Общая концепция обновления
Описание применимо к ферме Termidesk, установленной в распределенной конфигурации. Общая последовательность действий приведена на рисунке.
Если в инфраструктуре Termidesk используется портал «Агрегатор», то процесс обновления нужно начинать с него (см. документ СЛЕТ.10001-01 90 08 «Руководство администратора. Установка и настройка портала «Агрегатор»).
Перед обновлением требуется выполнить переход на ОС из списка поддерживаемых для текущей версии Termidesk (см. подраздел Требования к программному обеспечению).
Перед обновлением требуется удалить:
- фонды и шаблоны, созданные ранее для поставщика ресурсов «Static IP Machines»;
- шаблоны РМ «Статичная ВМ» (для всех поставщиков ресурсов, ранее имевших эти шаблоны) и ассоциированные с ними фонды;
- шаблоны, созданные ранее для поставщика ресурсов VMmanager. Если шаблоны не были удалены перед обновлением, то после него необходимо отредактировать существующие шаблоны и корректно задать значения новых параметров.
Во время обновления распределенной или отказоустойчивой конфигурации установки:
- изменение политик нужно проводить после обновления всех узлов Termidesk;
- изменение системных параметров нужно проводить после обновления всех узлов Termidesk.
Обновление Termidesk должно осуществляться с соблюдением условий:
- обновление выполняется последовательно, с установкой промежуточных версий релизов. Например, если сейчас установлена версия 5.0, то порядок обновления до 6.1 будет следующим: 5.0 - 5.1 - 5.1.1 - 6.0 - 6.0.2 - 6.1;
- обновление выполняется операцией установки поверх предыдущей версии. В противном случае, если ранее Termidesk был удален без удаления БД, при повторной установке может возникнуть ряд ошибок;
- после начала процедуры обновления запрещается производить любые операции с объектами на «Порталах» с предыдущими версиями Termidesk.
Во время обновления возможна временная неработоспособность функции автоматического входа пользователя в гостевую ОС ВМ, пока не будет обновлен последний узел с «Универсальным диспетчером».
Начиная с Termidesk версии 6.1 компонент «Шлюз» (пакет termidesk-gateway) более не входит в поставку. Для использования «Шлюза» следует установить программу для электронной вычислительной машины «Балансировщик нагрузки Термидеск Коннект» (Termidesk Connect).
На схеме:
- режим совместимости - режим, характеризующийся отличием в версиях между любыми компонентами фермы Termidesk;
- режим обновления - режим, характеризующийся наличием не обновленных «Универсальных диспетчеров» при уже обновленных записях БД. Становится ограничен в действиях «Портал администратора». Ферма Termidesk при этом должна работать с теми записями БД, которые есть на момент входа в этот режим.
Если планируется добавить новый узел с «Универсальным диспетчером», то любой новый узел будет иметь свой IP-адрес (или FQDN). В этом случае все компоненты «Агента» должны получить новый адрес для регистрации в Termidesk.
Если в файлы конфигурации и запуска Termidesk (/lib/systemd/system/termidesk-*) вручную были внесены какие-либо изменения, то необходимо выполнить резервное копирование данных файлов, поскольку эти изменения при обновлении сбрасываются до значений по умолчанию.
В случае перехода на ОС Astra Linux Special Edition 1.8 потребуется переустановка ОС и Termidesk.
Тогда для сохранения существующей БД нужно:
- выполнить экспорт БД из Termidesk предыдущей версии;
- выполнить резервное копирование файлов конфигурации и запуска Termidesk (
/lib/systemd/system/termidesk-*,/etc/opt/termidesk-vdi/*); - выполнить установку ОС Astra Linux Special Edition 1.8;
- выполнить установку и настройку RabbitMQ согласно подразделам Установка брокера сообщений RabbitMQУстановка и настройка RabbitMQ и Настройка брокера сообщений RabbitMQ;
- выполнить установку и настройку СУБД согласно подразделам Установка СУБД PosrgreSQL и Настройка СУБД PosrgreSQL;
- выполнить импорт ранее сохраненной БД;
- выполнить установку Termidesk согласно подразделу Распределенная установка программного комплекса.
Последовательность обновления фермы Termidesk, установленной в распределенной отказоустойчивой конфигурации:
Обновление выполняется с приостановкой обслуживания пользователей!
- Шаг 0. Проверить наличие лицензии на поддержку новой версии Termidesk;
- Шаг 1. На всех балансировщиках нагрузки, отвечающих за распределение подключений к «Шлюзам» и «Универсальным диспетчерам», из списка балансировки выводятся все компоненты: «Шлюзы» и «Универсальные диспетчеры»;
- Шаг 2. Все пользователи должны отключиться от фондов РМ. Нужно дождаться завершения работы пользователей. Затем:
- через веб-интерфейс «Портал администратора» перевести все фонды РМ в режим техобслуживания;
- выключить все терминальные серверы, которые были подключены в Termidesk как поставщики ресурсов;
- Шаг 3. На сервер с СУБД, либо на отдельно выделенный сервер, устанавливается и настраивается компонент RabbitMQ в случае, если ранее RabbitMQ не был установлен;
- Шаг 4. Создается резервная копия RSA-ключей, расположенных в каталоге
/etc/opt/termidesk-vdi/wsproxy/; - Шаг 5. На узлах с установленным «Менеджером рабочих мест», который работает в отказоустойчивой конфигурации в режиме «SLAVE», должен быть выполнен останов служб
keepalived;
Служба termidesk-taskman исключена из Termidesk. При обновлении она будет автоматически отключена, если была ранее активирована. «Менеджер рабочих мест» теперь состоит только из служб termidesk-celery-beat и termidesk-celery-worker.
- Шаг 6. Обновляется выбранный «Менеджер рабочих мест». Запуск служб выполняется автоматически;
- Шаг 7. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 4. В этом процессе автоматически будут обновлены записи в БД;
- Шаг 8. Выполняется отключение служб
keepalived. Узел перезагружается; - Шаг 9. На узлах с установленным «Менеджером рабочих мест», работающим в отказоустойчивой конфигурации в режиме «MASTER», должен быть выполнен останов служб
keepalived. Выполняются Шаги 5-8 для «Менеджера рабочих мест» режима «SLAVE»; - Шаг 10. Последовательно (по одному за раз) обновляются все «Универсальные диспетчеры» («Портал администратора», «Портал пользователя», «Портал универсальный»). Запуск служб выполняется автоматически. На обновленных «Универсальных диспетчерах» восстанавливаются RSA-ключи из резервных копий, созданных на Шаге 4. Узлы перезагружается;
- Шаг 11. По завершении обновления ВСЕХ узлов список балансировки восстанавливается до исходного. Проверяется доступность графического интерфейса Termidesk сначала обращением на IP-адрес каждого из «Универсальных диспетчеров», затем обращением на IP-адрес балансировщика нагрузки;
- Шаг 12. После выполнения обновления узлов:
- обновить компоненты в гостевых ОС РМ (в базовом ВРМ - «золотом образе» или в ОС терминального сервера) в соответствии с документацией на них:
- «Агент виртуального рабочего места»;
- «Агент виртуальных смарт-карт»;
- «Видеоагент»;
- «Сессионный агент»;
- STAL (если используется);
- TERA (если используется);
- выполнить новую публикацию в фондах РМ, если публикация применима к ним (для фондов с терминальными серверами публикация не выполняется).
- обновить компоненты в гостевых ОС РМ (в базовом ВРМ - «золотом образе» или в ОС терминального сервера) в соответствии с документацией на них:
Описание каждого шага приведено ниже.
Шаг 1. Редактирование конфигурации балансировщика нагрузки
Пример для балансировщика nginx:
- на балансировщике нагрузки открыть и отредактировать файл
/etc/nginx/sites-available/sampledomain.ru.conf; - в конфигурационном файле найти директиву
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;
}
После изменения файла перезапустить nginx:
sudo systemctl restart nginx
Шаг 2. Перевод фондов РМ в режим техобслуживания
Для продолжения обновления нужно дождаться отключения пользователей от фондов РМ.
Затем:
- через веб-интерфейс «Портал администратора» перевести все фонды РМ в режим техобслуживания. Для этого перейти «Компоненты - Фонды» и нажать экранную кнопку [Техобслуживание] с выбором из выпадающего списка значения «Включить». Подтвердить включение режима;
- выключить каждый узел терминального сервера, который подключен к Termidesk как поставщик ресурсов.
Шаг 3. Установка и настройка RabbitMQ
При отсутствии ранее установленного RabbitMQ выполняется его установка в соответствии с подразделами Установка брокера сообщений RabbitMQ и Настройка брокера сообщений RabbitMQ.
Шаг 4. Резервное копирование 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 - путь, куда будет скопирован каталог.
Шаг 5. Останов служб на «Менеджере рабочих мест»
На узлах с установленным «Менеджером рабочих мест», работающем в отказоустойчивой конфигурации в режиме «SLAVE», выполняется останов службы keepalived командой:
sudo systemctl stop keepalived
Шаг 6. Обновление «Менеджеров рабочих мест»
Перед запуском процедуры обновления нужно:
- отредактировать файл
/etc/opt/termidesk-vdi/termidesk.confи задать значение для параметраMETRICS_ACCESS_KEY, если оно не задано;
При редактировании файла /etc/opt/termidesk-vdi/termidesk.conf рекомендуется использовать одинаковое значение параметра METRICS_ACCESS_KEY для всех «Менеджеров рабочих мест».
- остановить службы Termidesk:
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
Выполнить отключение службы keepalived:
sudo systemctl disable keepalived
Затем перезагрузить узел:
sudo reboot
Шаги 9. Обновление резервного «Менеджера рабочих мест»
Обновление осуществляется аналогично Шагам 5-8.
Шаг 10. Обновление «Универсальных диспетчеров»
Перед запуском процедуры обновления нужно:
- отредактировать файл
/etc/opt/termidesk-vdi/termidesk.confи задать значение для параметраMETRICS_ACCESS_KEY,если оно не задано;
Корректировка файла /etc/apache2/apache2.conf при обновлении не производится.
При редактировании файла /etc/opt/termidesk-vdi/termidesk.conf рекомендуется задать одинаковое значение параметра METRICS_ACCESS_KEY для всех узлов «Универсального диспетчера».
- остановить службу Termidesk:
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 список балансировки на ВСЕХ балансировщиках восстанавливается до исходного.
Пример для балансировщика nginx:
- ранее закомментированные строки нужно раскомментировать;
- затем выполнить перезагрузку службы
nginxна каждом балансировщике:
sudo systemctl restart nginx
Выполнить проверку доступности веб-портала Termidesk через веб-браузер сначала обращением на IP-адрес каждого из «Универсальных диспетчеров» (или «Шлюзов»), затем обращением на IP-адрес балансировщика нагрузки.
Шаг 12. Обновление компонентов в ОС РМ и новая публикация
После выполнения обновления ВСЕХ узлов:
- обновляются компоненты в ОС РМ (в базовом ВРМ - «золотом образе» или в ОС терминального сервера) в соответствии с документацией на них:
- «Агент виртуального рабочего места»;
- «Агент виртуальных смарт-карт»;
- «Видеоагент»;
- «Сессионный агент»;
- STAL (если используется);
- TERA (если используется);
- выполняется новая публикация в фондах РМ, если публикация применима к ним.
Для фондов с терминальными серверами публикация не выполняется: достаточно того, чтобы узел с терминальным сервером был включен.