Одним из важных нововведений в версии 2.7 в ЕССМ является обновление версии PostgreSQL с 14.10 на 16.11, а также обновление плагинов timescale и timescaledb-tools до версий 2.24.0 и 1.22.0 соответственно.
Сервисы ЕССМ 2.7 совместимы с версией PostgreSQL 14.10 при многохостовой установке или запуске ЕССМ с собственной базой данных. |
Обновление до актуальной версии состоит из следующих этапов:
Для возможности отката к предыдущей версии перед началом обновления рекомендуем создать резервную копию данных. В случае если ECCM установлен на сервере с использованием виртуализации, следует сделать Snapshot системы. В ином случае — создать резервную копию базы данных eccm средствами PostgreSQL. Подробная инструкция по созданию резервной копии базы данных приведена в разделе "Резервное копирование базы данных ЕССМ". |
Для offline-установки воспользуйтесь инструкцией по загрузке установочных файлов и установке образов проекта, приведенной в разделе "Offline-установка ЕССМ". |
Перед установкой новой версии ЕССМ необходимо предварительно скачать архив с файлами системы. Файлы, необходимые для запуска проекта, распространяются в виде архива .tar.gz. Их можно получить с общедоступного облака. Загрузите архив на сервер и распакуйте его. Рекомендуется распаковывать архив в заранее созданную отдельную директорию:
wget "https://cloud.eltex-co.ru/index.php/s/P8xDfmyo3XyEs0g/download?path=%2F&files=eccm-2.7.tar.gz" -O eccm-2.7.tar.gz mkdir eccm sudo tar -zxvf eccm-2.7.tar.gz -C eccm/ |
Для удобства работы рекомендуется предварительно разместить файлы для запуска новой версии в соседнюю директорию от старой, например:
|
В случае многохостовой установки скачайте и распакуйте архив и на сервер с ЕССМ, и на сервер с базой данных. |
В случае установки в отказоустойчивой системе скачайте и распакуйте архив на каждый узел системы. |
Когда ECCM запущен на одном хосте (ЕССМ и база данных находятся на одном сервере), для остановки старой версии ЕССМ и удаления контейнеров выполните команду из директории с файлами запуска старой версии ECCM:
cd <путь до каталога с файлами запуска ECCM 2.6> sudo ./compose-tools.sh --stop |
Когда ECCM запущен на нескольких хостах (ЕССМ на одном сервере, база данных — на другом), для остановки старой версии ЕССМ выполните команды, приведенные ниже.
На сервере с ЕССМ:
cd <путь до каталога с файлами запуска ECCM 2.6> sudo ./compose-tools.sh --stop --delete-containers |
На сервере с базой данных:
cd <путь до каталога с файлами запуска ECCM 2.6>/postgres sudo docker compose stop |
Когда ЕССМ запущен в отказоустойчивой системе, для остановки старой версии ЕССМ необходимо выполнить следующую команду на каждом узле системы:
cd <путь до каталога с файлами запуска ECCM 2.6> sudo ./compose-tools.sh --stop |
Также произведите остановку утилиты Keepalived на узлах мастера и слейва при помощи следующей команды:
sudo systemctl stop keepalived |
Для удобства обновления БД в состав файлов для запуска 2.7 добавлен скрипт postgres-upgrade.sh, расположенный в директории db-tools/ относительно корневой директории системы. Данный скрипт выполняется следующие действия:
Также для данного скрипта предусмотрены дополнительные возможности:
| Опция | Описание | |
|---|---|---|
| --rollback | Откат обновления PostgreSQL с версии 16.11 на версию 14.10
| |
| --backup-dir <path> | Указание расположения для бэкапа БД. По умолчанию используется путь в контейнере /var/lib/postgresql/backup | |
| --env-file <path> | Указание конфигурационного файла контейнера с БД. По умолчанию используется файл из директории postgres относительно корневой директории системы | |
| --skip-optimization | Пропустить этап оптимизации базы данных
|
Для однохостовой системы после успешной остановки старой версии ЕССМ перейдите в директорию, в которую был распакован архив с новой версией ЕССМ, и выполните команду:
cd <путь до каталога с файлами запуска ECCM 2.7>/db-tools bash postgres-upgrade.sh |
После успешного обновления БД произведите запуск новой версии ЕССМ.
Для многохостовой системы после успешной остановки старой версии ЕССМ на сервере с базой данных перейдите в директорию, в которуюбыл распакован архив с новой версией ЕССМ, и выполните команду:
cd <путь до каталога с файлами запуска ECCM 2.7>/db-tools bash postgres-upgrade.sh |
После успешного обновления БД произведите запуск новой версии ЕССМ.
Для обновления ЕССМ в отказоустойчивой системе необходимо предварительно произвести обновление с версии 2.6 на версию не менее 2.6.1 и повторно остановить систему. При отсутствии данного шага обновление отказоустойчивой системы невозможно. |
Если предыдущая версия ЕССМ была 2.6.0, первоначально произведите запуск системы на версии 2.6.1. Перед запуском необходимо перенести сертификаты и файл конфигурации отказоустойчивой системы в директорию с новой версией ЕССМ при помощи выполнения следующих команд на каждом хосте:
Далее запустите ЕССМ на мастере:
После того как мастер будет инициализирован и готов к работе, произведите запуск остальных узлов:
После успешного запуска ЕССМ на версии 2.6.1, произведите остановку системы при помощи выполнения следующей команды на каждом хосте:
|
Перенесите сертификаты в директорию с новой версией ЕССМ при помощи выполнения следующей команды на каждом хосте:
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.1>/cluster-cert/* <путь до каталога с файлами запуска ЕССМ 2.7>/cluster-cert/ |
В ЕССМ 2.7 было добавлено резервирование сервиса RabbitMQ, поэтому файл конфигурации отказоустойчивой системы претерпел изменения. Повторно заполните .env.cluster в каталоге с файлами запуска ЕССМ 2.7 в соответствии с разделом Запуск ЕССМ в отказоустойчивой системе.
Более подробно ознакомиться с переменными в файле конфигурации отказоустойчивой системы можно в разделе Инструкция по установке и запуску. |
Для отказоустойчивой системы после успешной остановки старой версии ЕССМ, на каждом узле необходимо изменить файл eccm/2.7/.env.cluster, изменив значение параметра RESTART_CLUSTER на true
Изменение параметра |
Перейдите на сервер узла мастера и выполните следующую команду:
cd <путь до каталога с файлами запуска ECCM 2.7>/db-tools bash postgres-upgrade.sh |
После успешного обновления БД на мастере, произведите запуск новой версии ЕССМ.
Для offline-установки воспользуйтесь инструкцией, приведенной в разделе "Инструкция по установке и запуску". |
Для однохостовой системы после успешной остановки старой версии ЕССМ перейдите в директорию, в которую был распакован архив с новой версией ЕССМ, и выполните команду:
cd <путь до каталога с файлами запуска ECCM 2.7> sudo ./compose-tools.sh --pull --start <IP ADDRESS> |
Если система была установлена на нескольких хостах, для запуска новой версии ECCM выполните команды, приведенные ниже.
На сервере с базой данных:
cd <путь до каталога с файлами запуска ECCM 2.7>/postgres sudo docker compose --env-file=../eccm/.env up -d |
На сервере с ЕССМ:
cd <путь до каталога с файлами запуска ECCM 2.7> sudo ./compose-tools.sh --pull --start <IP ADDRESS> --database-host <IP ADDRESS DATABASE> --database-port <PORT DATABASE> |
Для запуска новой версии ЕССМ в отказоустойчивой системе необходимо произвести запуск узла мастера:
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster master |
После того как мастер будет инициализирован и готов к работе, произведите запуск остальных узлов:
sudo ./compose-tools.sh --pull --start <IP ADDRESS> -- cluster slave |
sudo ./compose-tools.sh --pull --start <IP ADDRESS> -- cluster witness |
Для запуска ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверах воспользуйтесь инструкцией в разделе Запуск ЕССМ в отказоустойчивой системе. |
В рамках версии скрипт keepalived/check_app.sh для Keepalived был изменен. Для получения доступа к веб-интерфейсу восстановите работу Keepalived в соответствии с инструкцией по Настройке VIP.