Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: добавил команду sudo в некоторые строки

Оглавление

Обновление версии ПО ECCM состоит из следующих этапов:

  1. 0. Создание резервной копии данных;
  2. 1. Скачивание и распаковка архива с новой версией файлов запуска ЕССМ;
  3. 2. Остановка старой версии ECCM;
  4. 3. Запуск новой версии ЕССМ.
Примечание

Сервисы ЕССМ совместимы с версией PostgreSQL 14.10.

Если обновление до версии 2.7 осуществляется с версии 1.6 (или более ранней), то перед выполнением шагов из данного раздела:

  1. Выполните обновление до версии 1.7 (так как необходимо обновить базу данных PostgreSQL с версии 12.5 до версии 14.2). Подробная инструкция по обновлению БД приведена в разделе Обновление 1.6 → 1.7.
  2. Выполните обновление до версии 1.8. Подробная инструкция приведена в разделе Обновление 1.7 → 1.8. 
  3. Выполните обновление до версии 1.9. Подробная инструкция приведена в разделе Обновление 1.8 → 1.9.
  4. Выполните обновление до версии 1.10. Подробная инструкция приведена в разделе Обновление 1.9 → 1.10.
  5. Выполните обновление до версии 1.11. Подробная инструкция приведена в разделе Обновление 1.10 → 1.11.
  6. Выполните обновление до версии 1.12. Подробная инструкция приведена в разделе Обновление 1.11 → 1.12.
  7. Выполните обновление до версии 1.13. Подробная инструкция приведена в разделе Обновление 1.12 → 1.13.
  8. Выполните обновление до версии 2.0. Подробная инструкция приведена в разделе Обновление 1.13 → 2.0.
  9. Выполните обновление до версии 2.1. Подробная инструкция приведена в разделе Обновление 2.0 → 2.1.
  10. Выполните обновление до версии 2.2. Подробная инструкция приведена в разделе Обновление 2.1 → 2.2.
  11. Выполните обновление до версии 2.3. Подробная инструкция приведена в разделе Обновление 2.2 → 2.3.
  12. Выполните обновление до версии 2.4. Подробная инструкция приведена в разделе Обновление 2.3 → 2.4.
  13. Выполните обновление до версии 2.5. Подробная инструкция приведена в разделе Обновление 2.4 → 2.5.
  14. Выполните обновление до версии 2.6. Подробная инструкция приведена в разделе Обновление 2.5 → 2.6.

printablefalse

Одним из важных нововведений в версии 2.7 в ЕССМ является обновление версии PostgreSQL с 14.10 на 16.11, а также обновление плагинов timescale и timescaledb-tools до версий 2.24.0 и 1.22.0 соответственно.

Подсказка

Сервисы ЕССМ 2.7 совместимы с версией PostgreSQL 14.10 при многохостовой установке или запуске ЕССМ с собственной базой данных.

Обновление до актуальной версии состоит из следующих этапов:

  1. 0. Создание резервной копии данных;
  2. 1. Скачивание и распаковка архива с новой версией файлов запуска ЕССМ;
  3. 2. Остановка старой версии ECCM;
  4. 3. Обновление базы данных;
  5. 3. Запуск новой версии ЕССМ.

Scroll Pagebreak

Создание резервной копии

Подсказка

Для возможности отката к предыдущей версии перед началом обновления рекомендуем создать резервную копию данных. В случае если ECCM установлен на сервере с использованием виртуализации, следует сделать Snapshot системы. В ином случае — создать резервную копию базы данных данных eccm средствами PostgreSQL. Подробная инструкция по созданию резервной копии базы данных приведена в разделе "Резервное копирование базы данных ЕССМ".

...

Подсказка

Для удобства работы рекомендуется предварительно разместить файлы для запуска новой версии в соседнюю директорию от старой, например:

Без форматирования
$ tree -L 2 --dirsfirst
.
├── 2.6
│   ├── eccm
│   ├── keepalived
│   ├── peeper
│   ├── postgres
│   ├── root-ca-generator
│   ├── witness
│   ├── README.md
│   ├── .env.cluster
│   ├── args-compose-tools.log
│   ├── compose-tools.sh
│   ├── generate-cert.sh
│   └── technical_support.sh
└── 2.7
    ├── db-tools
    ├── eccm
    ├── keepalived
    ├── peeper
    ├── postgres
    ├── root-ca-generator
    ├── witness
    ├── README.md
    ├── .env.cluster
    ├── args-compose-tools.log
     ├── compose-tools.sh
    ├── generate-cert.sh
     └── technical_support.sh



Примечание

В случае многохостовой установки скачайте и распакуйте архив и на сервер с ЕССМ, и на сервер с базой данных.

Примечание

В случае установки в отказоустойчивой системе скачайте и распакуйте архив на каждый узел системы.

Остановка старой версии ECCM

...

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.6>
sudo ./compose-tools.sh --stop --delete-containers


Scroll Pagebreak

Остановка сервисов ЕССМ при многохостовой установке

...

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.6>/postgres
sudo docker compose stop

Остановка сервисов ЕССМ в отказоустойчивой системе

Когда ЕССМ запущен в отказоустойчивой системе из трех узлов, для остановки старой версии ЕССМ необходимо выполнить следующую команду на каждом узле системы: 

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.6>
sudo ./compose-tools.sh --stop
Раскрыть
titleОстановка сервисов ЕССМ при запуске в отказоустойчивой системе с БД на отдельном сервере

Когда ЕССМ запущен в отказоустойчивой системе из пяти узлов, для остановки старой версии ЕССМ необходимо произвести сначала остановку каждого узла из кластера приложений при помощи следующей команды:

Блок кода
titleОстановка узлов кластере приложений
cd <путь до каталога с файлами запуска ECCM 2.6>
sudo ./compose
down
-tools.sh --stop

 Далее необходимо произвести остановку каждого узла из кластера баз данных при помощи следующей команды:

Блок кода
titleОстановка узлов кластере приложений
cd <путь до каталога с файлами запуска ECCM 2.6>/postgres
sudo docker compose stop



Также произведите остановку утилиты Keepalived на узлах Master и Slave при помощи следующей команды:

Блок кода
sudo systemctl stop keepalived

Обновление базы данных

Для удобства обновления БД в состав файлов для запуска 2.7 добавлен скрипт postgres-upgrade.sh, расположенный в директории db-tools/ относительно корневой директории системы. Данный скрипт выполняется следующие действия:

  1. Проверяет наличие контейнера с СУБД;
  2. Создает резервную копию данных в отдельный Docker volume ;
  3. Запускает отдельный контейнер с утилитой миграции;
  4. Производит обновление и оптимизацию контейнера с СУБД;

Также для данного скрипта предусмотрены дополнительные возможности:

ОпцияОписание
--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
 sudo ./postgres-upgrade.sh

После успешного обновления БД произведите запуск новой версии ЕССМ.

Обновление базы данных при многохостовой установке

Для многохостовой системы после успешной остановки старой версии ЕССМ на сервере с базой данных перейдите в директорию, в которуюбыл распакован архив с новой версией ЕССМ, и выполните команду:

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.7>/db-tools
 sudo ./postgres-upgrade.sh

После успешного обновления БД произведите запуск новой версии ЕССМ.

Обновление базы данных в отказоустойчивой системе

Предупреждение

Для обновления ЕССМ в отказоустойчивой системе необходимо предварительно произвести обновление с версии 2.6 на версию не менее 2.6.1 и повторно остановить систему. При отсутствии данного шага обновление отказоустойчивой системы невозможно.

Раскрыть
titleОбновление до версии 2.6.1 для стандартной схемы отказоустойчивой системы

Если предыдущая версия ЕССМ была 2.6.0, первоначально произведите запуск системы на версии 2.6.1. Перед запуском перенесите сертификаты и файл конфигурации отказоустойчивой системы в директорию с новой версией ЕССМ при помощи выполнения следующих команд на каждом хосте:

Блок кода
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.0>/cluster-cert/* <путь до каталога с файлами запуска ЕССМ 2.6.1>/cluster-cert/
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.0>/.env.cluster <путь до каталога с файлами запуска ЕССМ 2.6.1>

Далее запустите ЕССМ на мастере:

Блок кода
titleMaster: eccm/2.6.1/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster master

После того как мастер будет инициализирован и готов к работе, произведите запуск остальных узлов:

Блок кода
titleSlave: eccm/2.6.1/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> -- cluster slave
Блок кода
titleWitness: eccm/2.6.1/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> -- cluster witness

После успешного запуска ЕССМ на версии 2.6.1, произведите остановку системы при помощи выполнения следующей команды на каждом хосте:

Блок кода
sudo ./compose-tools.sh --stop
Раскрыть
titleОбновление до версии 2.6.1 для отказоустойчивой системы с БД на отдельном сервере

Если предыдущая версия ЕССМ была 2.6.0, первоначально произведите запуск системы на версии 2.6.1. Перед запуском перенесите сертификаты и файл конфигурации отказоустойчивой системы в директорию с новой версией ЕССМ при помощи выполнения следующих команд на каждом хосте:

Блок кода
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.0>/cluster-cert/* <путь до каталога с файлами запуска ЕССМ 2.6.1>/cluster-cert/
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.0>/.env.cluster <путь до каталога с файлами запуска ЕССМ 2.6.1>

Далее произведите запуск мастера базы данных, предварительно перейдя в директорию postgres/:

Блок кода
titleMaster: eccm/2.6.1/
cd postgres/
 sudo docker compose --env-file=.env ==env-file=../.env.cluster -f docker-compose.cluster.yml up -d

После того как база данных на Master-db будет проинициализирована, перейдите на сервер Slave-db. Перейдите в директорию postgres/ и запустите базу данных:

Блок кода
titleSlave-db: eccm/2.6.1/
cd postgres/
 sudo docker compose --env-file=.env ==env-file=../.env.cluster -f docker-compose.cluster.yml up -d

Во время инициализации Slave-db запустите Witness-узел, перейдя на сервер Witness-node. При помощи bash-скрипта произведите запуск Witness с необходимыми параметрами. Пример запуска с обязательными параметрами:

Блок кода
titleWitness: eccm/2.6.1/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> -- cluster witness

После полной инициализации всего кластера баз данных перейдите на сервер Master-ECCM. При помощи bash-скрипта произведите запуск мастера с необходимыми параметрами. Пример запуска с обязательными параметрами:

Блок кода
titleMaster-app: eccm/2.6.1/
 sudo ./compose-tools.sh -s <MASTER_ECCM_HOST> --cluster master --database-host <MASTER_DB_HOST> --database-port <MASTER_DB_PORT> --backup-database-host <SLAVE_DB_HOST> --backup-database-port <SLAVE_DB_PORT>

Перейдите на сервер Slave-узла. При помощи bash-скрипта произведите запуск Slave с необходимыми параметрами. Пример запуска с обязательными параметрами::

Блок кода
titleSlave-app: eccm/2.6.1/
 sudo ./compose-tools.sh -s <SLAVE_ECCM_HOST> --cluster slave --database-host <MASTER_DB_HOST> --database-port <MASTER_DB_PORT> --backup-database-host <SLAVE_DB_HOST> --backup-database-port <SLAVE_DB_PORT>

После успешного запуска ЕССМ на версии 2.6.1, повторно произведите остановку системы. Для этого сначала остановите кластер приложений при помощи следующей команды:

Блок кода
titleОстановка узлов кластере приложений
cd <путь до каталога с файлами запуска ECCM 2.6>
sudo ./compose-tools.sh --stop

Далее необходимо произвести остановку каждого узла из кластера баз данных при помощи следующей команды:

Блок кода
titleОстановка узлов кластере приложений
cd <путь до каталога с файлами запуска ECCM 2.6>/postgres
sudo docker compose stop

Перенесите сертификаты в директорию с новой версией ЕССМ при помощи выполнения следующей команды на каждом хосте:

Блок кода
sudo cp <путь до каталога с файлами запуска ЕССМ 2.6.1>/cluster-cert/* <путь до каталога с файлами запуска ЕССМ 2.7>/cluster-cert/

В ЕССМ 2.7 было добавлено резервирование сервиса RabbitMQ, поэтому файл конфигурации отказоустойчивой системы претерпел значительные изменения. Повторно заполните .env.cluster в каталоге с файлами запуска ЕССМ 2.7 в соответствии с разделом Запуск ЕССМ в отказоустойчивой системе.

Подсказка

Более подробно ознакомиться с переменными в файле конфигурации отказоустойчивой системы можно в разделе Инструкция по установке и запуску.

Для отказоустойчивой системы после успешной остановки старой версии ЕССМ, на каждом узле необходимо изменить файл eccm/2.7/.env.cluster, изменив значение параметра RECONFIGURE_CLUSTER на true

Предупреждение

Изменение параметра RECONFIGURE_CLUSTER инициализирует принудительное назначение ролей. При отсутствии изменения данного параметра узел slave не будет обновлен.

При использовании стандартной схемы отказоустойчивой системы, перейдите на сервер узла мастера и выполните следующую команду:

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.7>/db-tools
 sudo ./postgres-upgrade.sh

После успешного обновления БД на мастере, произведите запуск новой версии ЕССМ.

Раскрыть
titleОбновление базы данных в отказоустойчивой системе с БД на отдельном сервере

При использовании отказоустойчивой системы с БД на отдельном сервере произведите обновление базы данных на хосте с мастером базы данных при помощи следующей команды:

Блок кода
titleMaster-db: eccm/2.7/
cd db-tools/
 sudo ./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 up -d ./compose-tools.sh --pull --start <IP ADDRESS> --database-only

На сервере с ЕССМ:

Блок кода
cd <путь до каталога с файлами запуска ECCM 2.7>
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --database-host <IP ADDRESS DATABASE> --database-port <PORT DATABASE>

Запуск новой версии ЕССМ в отказоустойчивой системе

Если запуск Для запуска новой версии ЕССМ предполагается в отказоустойчивой системе , то остановленная система с актуальной версией ЕССМ должна быть новым мастером в кластере.при стандартной схеме необходимо произвести запуск узла мастера:

Блок кода
titleMaster: eccm/2.7/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster master

После того как мастер будет инициализирован и готов к работе, произведите запуск остальных узлов:

Блок кода
titleSlave: eccm/2.7/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster slave
Блок кода
titleWitness: eccm/2.7/
sudo ./compose-tools.sh --pull --start <IP ADDRESS> --cluster witness
Подсказка

Для запуска ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверах воспользуйтесь инструкцией , приведенной в разделе "Запуск ЕССМ в отказоустойчивой системе".

В рамках версии скрипт keepalived/check_app.sh для Keepalived был изменен. Для получения доступа к веб-интерфейсу восстановите работу Keepalived в соответствии с инструкцией по настройке VIP.