Обновление Proceset на Linux
Перед выполнением обновления серверных компонентов системы рекомендуем уточнить их текущие параметры запуска.
Уточнение текущих настроек
Чтобы получить список запущенных docker-сервисов, выполните следующую команду на серверах, где установлены компоненты системы:
# docker service ls
Сверьте имена служб (столбец NAME) и текущие версии используемых образов (столбец IMAGE);
Для получения более подробных сведений выполните для каждого из docker-сервисов команду:
# docker service inspect --pretty имя_сервиса
Если ранее запуск службы выполнялся от имени этого же пользователя операционной системы, выполните команду ниже, чтобы получить пример последних команд запуска службы:
# history | grep ‘docker service create’
Чтобы получить список доступных в системе docker-образов, выполните команду:
# docker images
Создание резервных копий данных
Остановите службы Proceset и ClickHouse на серверах, где они установлены;
# docker service rm infomaximum-app
# docker service rm infomaximum-clickhouse
Сделайте копию данных службы Proceset, выполнив команду на сервере, где она установлена:
# docker run -it --rm \
--mount source=infomaximum-app-data,target=/app-data \
-v /tmp:/target \
infomaximum/infomaximum_app:VERSION \
/bin/bash -c "tar -cvf /target/infomaximum-app-$(date -u +%d.%m.%Y).tar /app-data"
Где, VERSION
– тег текущей версии Proceset.
В результате выполнения команды будет создан архив в каталоге /tmp операционной системы хоста. При необходимости переместите его в более надежное место;
Сделайте копию данных службы ClickHouse, выполнив следующую команду на сервере, где она установлена:
# docker run -it --rm \
--mount source=infomaximum-clickhouse,target=/clickhouse-data \
-v /tmp:/target \
infomaximum/infomaximum-clickhouse:CH_VERSION \
/bin/bash -c "tar -cvf /target/infomaximum-CH-$(date -u +%d.%m.%Y).tar /clickhouse-data"
Где, CH_VERSION
– тег текущей версии ClickHouse.
В результате выполнения команды будет создан архив в каталоге /tmp операционной системы хоста. При необходимости переместите его в более надежное место.
Установка обновления Proceset
Загрузите образ новой версии Proceset в локальное хранилище образов Docker.
# gunzip infomaximum_docker_app_d230101.tar.gz
# docker load < infomaximum_docker_app_d230101.tar
Выполните запуск службы СУБД ClickHouse. Команда запуска может незначительно отличаться в зависимости от ситуации. Обратитесь к разделу «Уточнение текущих настроек» для восстановления последней команды запуска. Если найти ранее используемую команду не удалось, обратитесь к документации по установке Proceset для формирования нужной команды запуска.
Пример команды запуска службы ClickHouse:
# docker service create --name infomaximum-clickhouse \
--secret infomaximum_app_user \
--secret infomaximum_app_user_password_hash \
--secret infomaximum_external_user \
--secret infomaximum_external_user_password_hash \
--secret infomaximum_clickhouse_dhparam.pem \
--secret infomaximum_clickhouse.crt \
--secret infomaximum_clickhouse.key \
--publish published=8123,target=8123,mode=host \
--mount type=volume,src=infomaximum-clickhouse,target=/var/lib/clickhouse/ \
--mount type=volume,src=infomaximum-clickhouse-log,target=/var/log/clickhouse-server \
--restart-max-attempts 5 \
--restart-condition "on-failure" \
--no-resolve-image \
infomaximum/infomaximum-clickhouse:22.8.3.13
Запустите службу Proceset с использованием docker-образа новой версии. Обратитесь к разделу «Уточнение текущих настроек» для восстановления последней команды запуска.
Пример команды:
# docker service create --name infomaximum-app \
--secret infomaximum_app_https_certificate \
--secret infomaximum_app_https_certificate_password \
--mount type=volume,src=infomaximum-app-data,target=/var/lib/infomaximum/data/ \
--mount type=volume,src=infomaximum-app-log,target=/var/log/infomaximum/ \
--publish published=8010,target=8010,mode=host \
--restart-max-attempts 5 \
--restart-condition "on-failure" \
-e JVM_MAX_MEMORY='4G' \
infomaximum/infomaximum_app:NEW_VERSION
Где, NEW_VERSION
– тег текущей версии Proceset.
При желании первый запуск службы можно выполнить на другом сетевом порту, чтобы исключить доступ агентов мониторинга и пользователей к серверу, пока вы не убедитесь в работоспособности системы. Для этого замените значение "published="
на нужный порт. Для последующего запуска службы на продуктивном порту её необходимо будет перезапустить с указанием рабочего порта.
Обновление установлено. Проверьте работу веб-интерфейса системы, протестируйте подключение к ClickHouse в разделе «Хранилища данных». Проверьте отсутствие ошибок в логах Proceset, выполнив команду:
# docker service logs infomaximum-app 2>&1 | grep 'ERROR'
В случае критических проблем с работой обновления выполните откат обновления системы.
Откат обновления системы
В случае если обновление системы привело к критическим ошибкам, не позволяющим продолжить работу системы, выполните откат по следующей инструкции.
Остановите службы Proceset и ClickHouse на серверах, где они установлены;
# docker service rm infomaximum-app
# docker service rm infomaximum-clickhouse
Для подстраховки сделайте дополнительно копии файлов docker volume c данными;
На сервере, где установлена служба Proceset:
# tar -czvf infomaximum-app-volume-$(date -u +%d.%m.%Y).tar.gz /var/lib/docker/volumes/infomaximum-app-data/
На сервере, где установлена служба ClickHouse:
# tar -czvf infomaximum-ch-volume-$(date -u +%d.%m.%Y).tar.gz /var/lib/docker/volumes/infomaximum-clickhouse/
Удалите и заново создайте volume с данными, используя команды ниже.
На сервере, где установлена служба Proceset:
# docker volume rm infomaximum-app-data
# docker volume create infomaximum-app-data
На сервере, где установлена служба ClickHouse:
# docker volume rm infomaximum-clickhouse
# docker volume create infomaximum-clickhouse
Выполните восстановление данных службы Proceset на сервере, где была установлена эта служба, используя команду:
# docker run -it --rm \
--mount source=infomaximum-app-data,target=/app-data \
-v /tmp:/target \
infomaximum/infomaximum_app:VERSION \
/bin/bash -c "tar -xvf /source/infomaximum-app-$(date -u +%d.%m.%Y).tar.gz -C /"
Выполните восстановление данных службы ClickHouse на сервере, где была установлена эта служба, используя команду:
# docker run -it --rm \
--mount source=infomaximum-clickhouse,target=/clickhouse \
-v /tmp:/source infomaximum/infomaximum-clickhouse:22.8.3.13 \
/bin/bash -с “tar -xvf /source/clickhouse-$(date -u +%d.%m.%Y).tar -C /”
Выполните запуск службы ClickHouse ранее используемой для этого командой;
Выполните запуск службы Proceset ранее используемой для этого командой.
Была ли статья полезна?