Обновление для распределенной конфигурации установкиОбщая концепция обновленияОбновление Termidesk, установленного в распределенной отказоустойчивой конфигурации, выполняется в следующей последовательности: |
Шаги 3-8 относятся к обновлению узлов-диспетчеров Termidesk (служба Шаги 9-14 относятся к обновлению узлов-шлюзов Termidesk (служба Шаги 15-22 относятся к обновлению узлов-менеджеров ВРМ (планировщиков заданий) Termidesk (службы |
Шаг 1. На сервер с СУБД, либо на отдельно выделенный сервер, устанавливается и настраивается компонент RabbitMQ-server в случае, если ранее RabbitMQ-server не был установлен.
Шаг 2. Создается резервная копия RSA-ключей, расположенных в каталоге /etc/opt/termidesk-vdi/wsproxy/ для последующей корректной работы диспетчеров и шлюзов.
Шаг 3. На балансировщике нагрузки, отвечающем за распределение подключений к диспетчерам, из списка балансировки (конфигурации nginx) исключается диспетчер, подлежащий обновлению (за раз - только ОДИН).
Шаг 4. Действия шага 3 повторяются для каждого существующего балансировщика.
Шаг 5. Обновляется указанный на шаге 3 диспетчер.
Шаг 6. На обновленном диспетчере восстанавливаются RSA-ключи из резервных копий, созданных на шаге 2. Узел перезагружается.
Шаг 7. Выбирается следующий диспетчер, подлежащий обновлению, для него выполняются шаги 3-6.
Шаг 8. По завершении обновления ВСЕХ диспетчеров список балансировки восстанавливается до исходного. Проверяется доступность графического интерфейса Termidesk сначала обращением на IP-адрес каждого из диспетчеров, затем обращением на IP-адрес балансировщика нагрузки.
Шаг 9. На балансировщике нагрузки, отвечающем за распределение подключений к шлюзам, из списка балансировки исключается шлюз, подлежащий обновлению (за раз - только ОДИН).
Шаг 10. Действия шага 9 повторяются для каждого существующего балансировщика.
Шаг 11. Обновляется указанный на шаге 9 шлюз.
Шаг 12. На обновленном шлюзе восстанавливаются RSA-ключи из резервной копии, созданной на шаге 2. Узел перезагружается.
Шаг 13. Выбирается следующий шлюз, подлежащий обновлению, для него выполняются шаги 9-12.
Шаг 14. По завершении обновления ВСЕХ шлюзов список балансировки восстанавливается до исходного.
Шаг 15. На узлах с установленным планировщиком заданий, который работает в отказоустойчивой конфигурации в режиме «SLAVE», выполняется останов службы keepalived.
Шаг 16. Обновляется выбранный планировщик заданий. Выполняется запуск служб.
Шаг 17. На обновленном планировщике заданий восстанавливаются RSA-ключи из резервной копии, созданной на шаге 2. Узел перезагружается.
Шаг 18. Выполняется запуск служб keepalived.
Шаг 19. На узле с установленным планировщиком заданий, который работает в отказоустойчивой конфигурации в режиме «MASTER», выполняется останов служб keepalived.
Шаг 20. Обновляется выбранный планировщик заданий. Выполняется запуск служб.
Шаг 21. На обновленном планировщике заданий восстанавливаются RSA-ключи из резервной копии, созданной на шаге 2. Узел перезагружается.
Шаг 22. Выполняется запуск службы keepalived.
Обновление до Termidesk версии 4.1 возможно, если предыдущая установленная версия не ниже 4.0. |
Если в файлы конфигурации и запуска Termidesk ( |
Начиная с версии 4.0 конфигурация Termidesk сведена в единый файл |
В случае, если предыдущая версия Termidesk была установлена на ОС Astra Linux Special Edition 1.6 или Astra Linux Common Edition, то потребуется переустановка ОС и Termidesk.
Тогда для сохранения существующей БД нужно:
/lib/systemd/system/termidesk-*, /etc/opt/termidesk-vdi/wsproxy/*);Шаг 1: установка и настройка RabbitMQ-serverШаг выполняется в соответствии с подразделами Установка RabbitMQ-server и Настройка RabbitMQ-server при отсутствии ранее установленного RabbitMQ-server. |
Шаг 2: резервное копирование 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 - путь, куда будет скопирован каталог.
Шаг 3: редактирование конфигурации балансировщика нагрузкиНа балансировщике нагрузки нужно открыть и отредактировать файл |
В данном конфигурационном файле следует найти директиву daas-upstream-nodes с перечислением списка диспетчеров, выбрать первый по списку диспетчер, закомментировать его и сохранить файл.
Пример для списка балансировки:
upstream daas-upstream-nodes {
least_conn;
server 192.168.0.30;
server 192.168.0.31;
server 192.168.0.32;
} |
Для исключения первого по списку диспетчера файл приводится к виду:
upstream daas-upstream-nodes {
least_conn;
# server 192.168.0.30;
server 192.168.0.31;
server 192.168.0.32;
} |
После изменения файла нужно перезапустить веб-сервер:
:~$ sudo systemctl restart nginx |
Шаг 4: редактирование конфигурации остальных балансировщиков нагрузкиНа всех существующих балансировщиках нагрузки выполнить Шаг 3. |
Шаг 5: обновление диспетчераПроцедура обновления проводится с помощью установки новой версии Termidesk поверх уже имеющейся и не отличается от процесса, описанного в пункте Неавтоматизированная установка Termidesk за исключением отсутствия необходимости корректировки файла конфигурации веб-сервера. |
При установке диспетчера Termidesk необходимо выбрать компонент «Broker» в диалоговом окне псевдографического интерфейса инсталлятора. |
Корректировка файла |
Перед запуском процедуры обновления нужно:
:~$ sudo systemctl stop termidesk-vdi |
debconf командами::~$ sudo rm -f /var/cache/debconf/config.dat :~$ sudo rm -f /var/cache/debconf/config.dat-old |
где:
-f - ключ игнорирования несуществующих файлов.
Шаг 6: восстановление RSA ключей из резервной копииВыполнить копирование сохраненных на Шаге 2 RSA ключей на узел с обновленным диспетчером. |
Затем перезагрузить узел:
:~$ sudo reboot |
После загрузки узла проверить состояние служб:
:~$ sudo systemctl -a | grep termidesk |
где:
-a - ключ для вывода списка служб;
grep - утилита для поиска текста в выводе предыдущей команды.
Проверить доступность веб-интерфейса диспетчера Termidesk через веб-браузер.
Шаг 7: обновление следующего по списку диспетчераНеобходимо выполнить действия с Шага 3 по Шаг 6 для следующего по списку диспетчера. |
При выполнении Шага 3 ранее закомментированный элемент остается в том же состоянии, дополнительно нужно закомментировать строку со следующим диспетчером.
Шаг 8: восстановление конфигурации балансировщика нагрузкиПо завершении обновления ВСЕХ диспетчеров список балансировки на ВСЕХ балансировщиках восстанавливается до исходного. |
Ранее закомментированные строки нужно раскомментировать, затем выполнить перезагрузку службы nginx на каждом балансировщике:
:~$ sudo systemctl restart nginx |
Выполнить проверку доступности графического интерфейса Termidesk через веб-браузер сначала обращением на IP-адрес каждого из диспетчеров, затем обращением на IP-адрес балансировщика нагрузки.
Шаги 9-14: обновление шлюзовОбновление шлюзов по своей структуре не отличается от действий по обновлению диспетчеров, за исключением выбора устанавливаемого компонента. |
При установке шлюза Termidesk необходимо выбрать компонент «Gateway» в диалоговом окне псевдографического интерфейса инсталлятора. |
При редактировании файла /etc/nginx/sites-available/sampledomain.ru.conf следует найти директиву daas-upstream-ws с перечислением списка шлюзов и выполнить исключение (комментирование строк) шлюзов.
Перед запуском процедуры обновления шлюзов нужно:
:~$ sudo systemctl stop termidesk-wsproxy |
debconf командами::~$ sudo rm -f /var/cache/debconf/config.dat :~$ sudo rm -f /var/cache/debconf/config.dat-old |
После завершения установки необходимо убедиться, что в файле /etc/opt/termidesk-vdi/termidesk.conf параметр WSPROXY_BIND_ADDRESS приведен к следующему виду:
WSPROXY_BIND_ADDRESS="0.0.0.0" |
Шаг 15: останов служб на менеджере ВРМНа узлах с установленным менеджером ВРМ, работающем в отказоустойчивой конфигурации в режиме «SLAVE», выполняется останов службы |
:~$ sudo systemctl stop keepalived |
Шаг 16: обновление менеджеров ВРМОбновление менеджера ВРМ по своей структуре не отличается от действий по обновлению диспетчеров, за исключением выбора устанавливаемого компонента. |
При установке менеджера ВРМ Termidesk необходимо выбрать компонент «Task manager» в диалоговом окне псевдографического интерфейса инсталлятора. |
Перед запуском процедуры обновления менеджера ВРМ нужно:
:~$ 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 |
Шаг 17: восстановление RSA ключей на менеджере ВРМВыполнить копирование сохраненных на Шаге 2 RSA-ключей на узел с обновленным менеджером ВРМ. |
Затем перезагрузить узел:
:~$ sudo reboot |
Шаг 18: восстановление службы keepalivedВыполнить запуск службы |
:~$ sudo systemctl start keepalived |
Шаги 19-22: обновление основного менеджера ВРМОбновление осуществляется аналогично Шагам 15-18. |