Обновление 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 /var/tmp:/target \ infomaximum/infomaximum_app:VERSION \ /bin/bash -c "tar -cvf /target/infomaximum-app-backup.tar /app-data"
VERSION
— тег текущей версии Proceset. - Копирование данных службы ClickHouse:
Где
$ docker run -it --rm \ --mount source=infomaximum-clickhouse,target=/clickhouse-data \ -v /var/tmp:/target \ infomaximum/infomaximum-clickhouse:CH_VERSION \ /bin/bash -c "tar -cvf /target/clickhouse-backup.tar /clickhouse-data"
CH_VERSION
— тег текущей версии ClickHouse.
- Копирование данных службы Proceset:
Установка обновления Proceset
Чтобы установить обновление:
- Загрузите образ новой версии Proceset в локальное хранилище образов Docker:
Обратите внимание: Версия в имени файла приведена для примера. Укажите файл, соответствующий устанавливаемой версии.
$ gunzip infomaximum_docker_app_d241208.tar.gz $ docker load < infomaximum_docker_app_d241208.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:24.3.2.23
- Запустите службу 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="
укажите номер любого свободного порта системы. Если система Proceset работает корректно, перезапустите сервис с указанием номера порта, который соответствует настройкам агентов мониторинга.
Обновление установлено. Проверьте работу веб-интерфейса системы, протестируйте подключение к ClickHouse в разделе Хранилища данных. Чтобы проверить отсутствие ошибок в логах Proceset, выполните команду:
$ docker service logs infomaximum-app 2>&1 | grep 'ERROR'
В случае критических проблем с работой обновления выполните откат обновления системы.
Откат обновления системы
Если обновление системы привело к критическим ошибкам, которые не позволяют продолжить работу системы, выполните откат обновления:
- Остановите службы Proceset и ClickHouse.
- Остановка службы Proceset:
$ docker service rm infomaximum-app
- Остановка службы ClickHouse:
$ docker service rm infomaximum-clickhouse
- Остановка службы Proceset:
- При необходимости создайте копии файлов docker volume c поврежденными данными.
- Создание копий на сервере службы Proceset:
# tar -czv --same-permissions --same-owner -f infomaximum-app-volume-$(date -u +%d.%m.%Y).tar.gz /var/lib/docker/volumes/infomaximum-app-data/
- Создание копий на сервере службы ClickHouse:
# tar -czv --same-permissions --same-owner -f infomaximum-ch-volume-$(date -u +%d.%m.%Y).tar.gz /var/lib/docker/volumes/infomaximum-clickhouse/
- Создание копий на сервере службы Proceset:
- Удалите и заново создайте volume с данными.
- Удаление и повторное создание volume с данными на сервере службы Proceset:
$ docker volume rm infomaximum-app-data $ docker volume create infomaximum-app-data
- Удаление и повторное создание volume с данными на сервере службы ClickHouse:
$ docker volume rm infomaximum-clickhouse $ docker volume create infomaximum-clickhouse
- Удаление и повторное создание volume с данными на сервере службы Proceset:
- Восстановите данные служб Proceset и ClickHouse.
- Восстановление данных службы Proceset:
$ docker run -it --rm \ --mount source=infomaximum-app-data,target=/app-data \ -v /var/tmp:/target \ infomaximum/infomaximum_app:VERSION \ /bin/bash -c "tar -xvf /target/infomaximum-app-backup.tar -C /"
- Восстановление данных службы ClickHouse:
$ docker run -it --rm \ --mount source=infomaximum-clickhouse,target=/clickhouse-data \ -v /var/tmp:/target \ infomaximum/infomaximum-clickhouse:24.3.2.23 \ /bin/bash -с "tar -xvf /target/clickhouse-backup.tar -C /"
- Восстановление данных службы Proceset:
- Запустите службы Proceset и ClickHouse с помощью команды, которая использовалась для этого ранее.
Была ли статья полезна?