Оглавление printable false
Одним из важных нововведений в версии 2.7 в ЕССМ является обновление версии PostgreSQL с 14.10 на 16.11, а также обновление плагинов timescale и timescaledb-tools до версий 2.24.0 и 1.22.0 соответственно.
| Подсказка |
|---|
Сервисы ЕССМ 2.7 совместимы с версией PostgreSQL 14.10 при многохостовой установке или запуске ЕССМ с собственной базой данных. |
Обновление до актуальной версии ПО ECCM состоит из следующих этапов:
- 0. Создание резервной копии данных;
- 1. Скачивание и распаковка архива с новой версией файлов запуска ЕССМ;
- 2. Остановка старой версии ECCM;3. Обновление базы данных;
- 3. Запуск новой версии ЕССМ.
| Примечание |
|---|
Начиная с версии 2.7, сервисы ЕССМ используют версию PostgreSQL 16. |
...
11. Если обновление до версии 2.8 осуществляется с версии 2.6 (или более ранней), то перед выполнением шагов из данного раздела выполните обновление до версии 2.7 (так как необходимо обновить базу данных PostgreSQL с версии 14.2 до версии 16.11). Подробная инструкция по обновлению БД приведена в разделе Обновление 2.6 -> 2.7. |
Создание резервной копии
| Подсказка |
|---|
Для возможности отката к предыдущей версии перед началом обновления рекомендуем создать резервную копию данных. В случае если ECCM установлен на сервере с использованием виртуализации, следует сделать Snapshot системы. В ином случае — создать резервную копию базы данных eccm средствами PostgreSQL. Подробная инструкция по созданию резервной копии базы данных приведена в разделе "Резервное копирование базы данных ЕССМ". |
...
| Подсказка | ||
|---|---|---|
Для удобства работы рекомендуется предварительно разместить файлы для запуска новой версии в соседнюю директорию от старой, например:
|
...
Когда ECCM запущен на нескольких хостах (ЕССМ на одном сервере, база данных — на другом), для остановки старой версии ЕССМ и удаления контейнеров выполните на каждом хосте команды, приведенные ниже.
На сервере с ЕССМ:
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.7> sudo ./compose-tools.sh --stop --delete-containers |
На сервере с базой данных:
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.7>/postgres
sudo docker compose stop |
Остановка сервисов ЕССМ в отказоустойчивой системе
Когда ЕССМ запущен в отказоустойчивой системе из трех узлов, для остановки старой версии ЕССМ и удаления контейнеров необходимо выполнить следующую команду следующие команды на каждом узле системы:
| Блок кода | ||
|---|---|---|
cd <путь до каталога с файлами запуска ECCM 2.7> sudo ./compose-tools.sh --stop | ||
| Раскрыть | ||
| ||
Когда ЕССМ запущен в отказоустойчивой системе из пяти узлов, для остановки старой версии ЕССМ необходимо произвести сначала остановку каждого узла из кластера приложений при помощи следующей команды: Блок кода | | |
|
| Блок кода | ||
|---|---|---|
| ||
cd <путь до каталога с файлами запуска ECCM 2.7>/postgres
sudo docker compose stop |
delete-containersТакже произведите остановку утилиты Keepalived на узлах Master и Slave при помощи следующей команды:
| Блок кода |
|---|
sudo systemctl stop keepalived |
Обновление базы данных
Для удобства обновления БД в состав файлов для запуска 2.7 добавлен скрипт postgres-upgrade.sh, расположенный в директории db-tools/ относительно корневой директории системы. Данный скрипт выполняется следующие действия:
- Проверяет наличие контейнера с СУБД;
- Создает резервную копию данных в отдельный Docker volume ;
- Запускает отдельный контейнер с утилитой миграции;
- Производит обновление и оптимизацию контейнера с СУБД;
Также для данного скрипта предусмотрены дополнительные возможности:
...
Откат обновления PostgreSQL с версии 16.11 на версию 14.10
| Примечание |
|---|
При использовании данной опции остальные флаги игнорируются. |
...
Пропустить этап оптимизации базы данных
| Примечание |
|---|
Использовать только по указанию технической поддержки. |
Обновление базы данных при однохостовой установке
Для однохостовой системы после успешной остановки старой версии ЕССМ перейдите в директорию, в которую был распакован архив с новой версией ЕССМ, и выполните команду:
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.8>/db-tools
sudo ./postgres-upgrade.sh |
После успешного обновления БД произведите запуск новой версии ЕССМ.
Обновление базы данных при многохостовой установке
Для многохостовой системы после успешной остановки старой версии ЕССМ на сервере с базой данных перейдите в директорию, в которуюбыл распакован архив с новой версией ЕССМ, и выполните команду:
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.8>/db-tools
sudo ./postgres-upgrade.sh |
После успешного обновления БД произведите запуск новой версии ЕССМ.
Обновление базы данных в отказоустойчивой системе
| Предупреждение |
|---|
Для обновления ЕССМ в отказоустойчивой системе необходимо предварительно произвести обновление с версии 2.6 на версию не менее 2.6.1 и повторно остановить систему. При отсутствии данного шага обновление отказоустойчивой системы невозможно. |
| Раскрыть | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Если предыдущая версия ЕССМ была 2.6.0, первоначально произведите запуск системы на версии 2.6.1. Перед запуском перенесите сертификаты и файл конфигурации отказоустойчивой системы в директорию с новой версией ЕССМ при помощи выполнения следующих команд на каждом хосте:
Далее запустите ЕССМ на мастере:
После того как мастер будет инициализирован и готов к работе, произведите запуск остальных узлов:
После успешного запуска ЕССМ на версии 2.6.1, произведите остановку системы при помощи выполнения следующей команды на каждом хосте:
|
| Раскрыть | |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||
Если предыдущая версия ЕССМ была 2.6.0, первоначально произведите запуск системы на версии 2.6.1. Перед запуском перенесите сертификаты и файл конфигурации отказоустойчивой системы в директорию с новой версией ЕССМ при помощи выполнения следующих команд на каждом хосте:
Далее произведите запуск мастера базы данных, предварительно перейдя в директорию
После того как база данных на Master-db будет проинициализирована, перейдите на сервер Slave-db. Перейдите в директорию
Во время инициализации Slave-db запустите Witness-узел, перейдя на сервер Witness-node. При помощи bash-скрипта произведите запуск Witness с необходимыми параметрами. Пример запуска с обязательными параметрами:
После полной инициализации всего кластера баз данных перейдите на сервер Master-ECCM. При помощи bash-скрипта произведите запуск мастера с необходимыми параметрами. Пример запуска с обязательными параметрами:
Перейдите на сервер Slave-узла. При помощи bash-скрипта произведите запуск Slave с необходимыми параметрами. Пример запуска с обязательными параметрами::
После успешного запуска ЕССМ на версии 2.6.1, повторно произведите остановку системы. Для этого сначала остановите кластер приложений при помощи следующей команды:
Далее необходимо произвести остановку каждого узла из кластера баз данных при помощи следующей команды:
|
Перенесите сертификаты в директорию с новой версией ЕССМ при помощи выполнения следующей команды на каждом хосте:
| Блок кода |
|---|
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.1>/cluster-cert/* <путь до каталога с файлами запуска ЕССМ 2.7>/cluster-cert/ |
В ЕССМ 2.7 было добавлено резервирование сервиса RabbitMQ, поэтому файл конфигурации отказоустойчивой системы претерпел значительные изменения. Повторно заполните .env.cluster в каталоге с файлами запуска ЕССМ 2.8 в соответствии с разделом Запуск ЕССМ в отказоустойчивой системе.
| Подсказка |
|---|
Более подробно ознакомиться с переменными в файле конфигурации отказоустойчивой системы можно в разделе Инструкция по установке и запуску. |
...
| Предупреждение |
|---|
Изменение параметра |
При использовании стандартной схемы отказоустойчивой системы, перейдите на сервер узла мастера и выполните следующую команду:
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.8>/db-tools
sudo ./postgres-upgrade.sh |
После успешного обновления БД на мастере, произведите запуск новой версии ЕССМ.
| Раскрыть | |||||
|---|---|---|---|---|---|
| |||||
При использовании отказоустойчивой системы с БД на отдельном сервере произведите обновление базы данных на хосте с мастером базы данных при помощи следующей команды:
|
Запуск новой версии ЕССМ
| Подсказка |
|---|
Для offline-установки воспользуйтесь инструкцией, приведенной в разделе "Инструкция по установке и запуску". |
...
| Блок кода |
|---|
cd <путь до каталога с файлами запуска ECCM 2.8> sudo ./compose-tools.sh --pull --start <IP ADDRESS>ADDRESS DATABASE> --database-only |
На сервере с ЕССМ:
...
| Блок кода | ||
|---|---|---|
| ||
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster witness |
Восстановите работу утилиты Keepalived на узлах Master и Slave при помощи следующей команды
| Блок кода |
|---|
sudo systemctl start keepalived |
| Подсказка |
|---|
Для запуска ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверах воспользуйтесь инструкцией в разделе Запуск ЕССМ в отказоустойчивой системе. |
...
. |