Агрегатор. Обновление для распределенной конфигурации установки
Обновление для распределенной конфигурации установки «Агрегатора»
Общая концепция обновления
Описание применимо к ферме «Агрегатора», установленной в распределенной конфигурации. Общая последовательность действий приведена на рисунке.
Если ранее объект «Шлюз» был указан в фермах поставщиков ресурсов (портал «Агрегатор администратора», «Инфраструктура - Фермы поставщиков ресурсов»), требуется удалить его перед обновлением «Агрегатора».
Обновление должно осуществляться с соблюдением условий:
- если используется «Агрегатор», то процесс обновления зависит от его версии:
- если установлен «Агрегатор» самой последней версии, то обновляется ферма поставщиков ресурсов (ферма Termidesk);
- если установлен «Агрегатор» предыдущей версии, то ферма «Агрегатора» обновляется первой, и только потом обновляется ферма поставщиков ресурсов (ферма Termidesk);
- обновление выполняется последовательно, с установкой промежуточных версий релизов. Например: 6.0 - 6.0.1 - 6.0.2;
- обновление выполняется операцией установки поверх предыдущей версии. В противном случае, если ранее «Агрегатор» был удален без удаления БД, при повторной установке может возникнуть ряд ошибок;
- после начала процедуры обновления запрещается производить любые операции с объектами с предыдущими версиями «Агрегатора».
На схеме:
- режим совместимости - режим, характеризующийся отличием в версиях между любыми компонентами фермы «Агрегатора»;
- режим обновления - режим, характеризующийся наличием не обновленных «Агрегаторов» при уже обновленных записях БД.
Последовательность обновления фермы «Агрегатора», установленной в распределенной отказоустойчивой конфигурации:
Шаг 1. На всех балансировщиках нагрузки, отвечающих за распределение подключений к «Агрегаторам», из списка балансировки исключается часть «Агрегаторов».
Шаг 2. На сервер с СУБД, либо на отдельно выделенный сервер, устанавливается и настраивается компонент RabbitMQ в случае, если ранее RabbitMQ не был установлен.
Шаг 3. Создается резервная копия RSA-ключей, расположенных в каталоге /etc/opt/termidesk-vdi/wsproxy/.
Шаг 4. Обновляется первый «Менеджер рабочих мест». Запуск служб выполняется автоматически. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 3. В этом процессе автоматически будут обновлены записи в БД.
Шаг 5. Обновляется второй «Менеджер рабочих мест». Запуск служб выполняется автоматически. На обновленном «Менеджере рабочих мест» восстанавливаются RSA-ключи из резервной копии, созданной на Шаге 3.
Шаг 6. Последовательно обновляются все узлы «Агрегатора» («Агрегатор администратора», «Агрегатор пользователя», «Агрегатор универсальный»). Запуск служб выполняется автоматически. На обновленных «Агрегаторах» восстанавливаются RSA-ключи из резервных копий, созданных на Шаге 3. Узлы перезагружается.
Шаг 7. На всех балансировщиках нагрузки список балансировки восстанавливается до исходного.
После обновления фермы «Агрегатора» выполняется обновление фермы Termidesk.
Описание обновления фермы Termidesk приведено в подразделе Обновление для распределенной конфигурации установки документа СЛЕТ.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 выполняется его установка в соответствии с подразделами Установка брокера сообщений RabbitMQ и Настройка брокера сообщений RabbitMQ документа СЛЕТ.10001-01 90 01 «Руководство администратора. Установка программного комплекса».
Ферма «Агрегатора» не должна использовать экземпляры БД и брокера сообщений RabbitMQ, предназначенные для фермы Termidesk.
Шаг 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, если оно не задано;
При редактировании файла /etc/opt/termidesk-vdi/termidesk.conf рекомендуется использовать одинаковое значение параметра METRICS_ACCESS_KEY для всех «Менеджеров рабочих мест».
- остановить службы Termidesk:
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,если оно не задано;
Корректировка файла /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
- в диалоговом окне псевдографического интерфейса инсталлятора выбирается роль «Агрегатор администратора» и/или «Агрегатор пользователя» в зависимости от ранее установленной роли.
После обновления:
- выполнить копирование сохраненных на Шаге 3 RSA-ключей на узлы с обновленными «Агрегаторами»;
- перезагрузить узлы:
sudo reboot
После загрузки узла проверить состояние служб:
sudo systemctl -a | grep termidesk
где:
-a - ключ для вывода списка служб;
grep - утилита для поиска текста в выводе предыдущей команды.
Проверить доступность веб-порталов «Агрегатора» через веб-браузер.
Шаг 7. Восстановление конфигурации балансировщика нагрузки
По завершении обновления ВСЕХ узлов «Агрегатора» список балансировки на ВСЕХ балансировщиках восстанавливается до исходного.
Ранее закомментированные строки нужно раскомментировать, затем выполнить перезагрузку службы nginx на каждом балансировщике:
sudo systemctl restart nginx
Выполнить проверку доступности веб-портала «Агрегатора» через веб-браузер сначала обращением на IP-адрес каждого из «Агрегаторов», затем обращением на IP-адрес балансировщика нагрузки.