Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 10 Следующий »

Миграция с 1.4.0 до 1.5.0

Общая информация

Данный документ описывает процесс миграции системы с версии 1.4.0 на версию 1.5.0.
Миграция включает обновление схемы баз данных PostgreSQL и ClickHouse, а также перенос данных.

Внимание! Перед началом миграции обязательно создайте резервную копию всех данных, как описано в разделе Подготовительные действия.

Требования к системе

Рекомендуемые ресурсы для успешной миграции (на примере системы с 3000 сотрудников, 2200 пропусков и 300 камер):

  • Свободное место на диске: не менее 25 ГБ;
  • Свободная оперативная память: не менее 16 ГБ;
  • Сервисы: PostgreSQL и ClickHouse должны быть запущены на одном хосте;
  • Интернет-соединение: стабильное (для загрузки архива миграции);
  • Установленное ПО: clickhouse-client.

Сценарии миграции

Используйте сценарий Миграция на текущем сервере, если обновление выполняется на том же сервере, где уже работает система с текущей версией

Используйте сценарий Миграция на новом сервере, если миграция выполняется на новом чистом сервере. 

Подготовительные действия 

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

Создайте временную папку для резервной копии и файлов миграции в домашней директории пользователя:

Создание временной директории
mkdir ~/backup
cd ~/backup
mkdir db_migration-1.4.0-1.5.0

Резервное копирование базы данных

Перед проведением дампа базы данных необходимо остановить сервисы.

Остановка всех сервисов на текущей версии
sudo systemctl stop evi-core evi-scud evi-live evi-archive evi-analyzer
Отключение клиентов от базы данных
echo "SELECT pg_terminate_backend(pid) FROM pg_stat_activity where usename='core'" | sudo -u postgres psql -A -t

Выполните дамп текущей базы PostgreSQL:

Резервное копирование базы данных
sudo -u postgres pg_dump core > evi-backup.dump

Далее переходите к шагу Миграция на текущем сервере или Миграция на новом сервере в зависимости от ваших требований.

Миграция на текущем сервере

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

Загрузка и распаковка архива миграции

Находясь в папке ~/backup, выполните команды:

Загрузка и распаковка архива миграции
wget https://archive.eltex-co.ru/evi-raw/evi-1.5.0/db_migration-1.4.0-1.5.0.tar
tar -xf db_migration-1.4.0-1.5.0.tar -C db_migration-1.4.0-1.5.0
cd db_migration-1.4.0-1.5.0

Удаление текущей платформы EVI

Удаление всех сервисов c текущей версией
sudo apt purge evi-core-web evi-core evi-scud evi-live evi-archive evi-analyzer nginx

Подготовка к установке

Выполните необходимые предварительные действия, как описано в разделе Подготовка к установке.

Установка базы данных ClickHouse

Поскольку у вас уже установлена база данных PostgreSQL, следующим шагом является установка ClickHouse: раздел Установка баз данных, пункт База данных ClickHouse.

Запуск скрипта миграции

Запуск скрипта миграции
sudo bash migrate.sh <host> <user> <password> <psql_db_name_from> <psql_db_name_to> <psql_port> <ch_def_user_password> <ch_db_name>
  • host — IP-адрес хоста с PostgreSQL и ClickHouse;
  • user — имя пользователя для базы данных (будет создано при необходимости);
  • password — пароль пользователя;
  • psql_db_name_from — имя PostgreSQL БД, из которой идет миграция;
  • psql_db_name_to — имя PostgreSQL БД, в которую будет совершена миграция;
  • psql_port — порт PostgreSQL;
  • ch_def_user_password — пароль для пользователя ClickHouse;
  • ch_db_name — имя базы данных ClickHouse, в которую будет совершена миграция.
Пример запуска
sudo bash migrate.sh localhost core core core core 5432 core core

После успешного выполнения скрипта миграции в консоли вы увидите сообщение: Restoring <DB_Name> done <3.

Далее переходите к разделу Сверка конфигурационных файлов.

Миграция на новом сервере 

Используйте этот сценарий, если миграция выполняется на новом чистом сервере. 

Подготовка к установке

Выполните необходимые предварительные действия, как описано в разделе Подготовка к установке.

Установка баз данных

Установите и настройте PostgreSQL и ClickHouse, как описано в разделе Установка баз данных.

Создание папки backup c резервной копией данных

Создайте резервную копию всех данных, как описано в разделе Подготовительные действия.

Перенос подготовленных файлов

Скопируйте папку backup вместе со всем содержимым с исходного сервера на новый.

Для передачи данных рекомендуется использовать утилиту scp, которая обеспечивает безопасное копирование по SSH.

scp -r ~/backup <username>@<remote-server>:~
  • username — имя пользователя нового сервера;
  • remote-server — адрес нового сервера.

После копирования перейти на новом сервере в каталог backup:

cd ~/backup

Создание пользователя в PostgreSQL

Создание пользователя в PostgreSQL
sudo -u postgres psql -c "CREATE USER core; ALTER USER core WITH PASSWORD 'core'; ALTER USER core WITH SUPERUSER;"

При необходимости измените пароль на более безопасный. 

В примерах используется пароль и имя пользовател\ по умолчанию.

Восстановление базы данных из дампа

Загрузить базу данных с текущей версии:

Восстановление базы данных из дампа
sudo -u postgres createdb core
sudo -u postgres psql -d core -f evi-backup.dump

Убедитесь, что дамп корректно загружен.

Загрузка и распаковка архива миграции

Загрузка и распаковка архива миграции
wget https://archive.eltex-co.ru/evi-raw/evi-1.5.0/db_migration-1.4.0-1.5.0.tar
tar -xf db_migration-1.4.0-1.5.0.tar -C db_migration-1.4.0-1.5.0
cd db_migration-1.4.0-1.5.0

Запуск скрипта миграции

sudo bash migrate.sh <host> <user> <password> <psql_db_name_from> <psql_db_name_to> <psql_port> <ch_def_user_password> <ch_db_name>
  • host — IP-адрес хоста с PostgreSQL и ClickHouse;
  • user — имя пользователя для базы данных (будет создано при необходимости);
  • password — пароль пользователя;
  • psql_db_name_from — имя PostgreSQL БД, из которой идет миграция;
  • psql_db_name_to — имя PostgreSQL БД, в которую будет совершена миграция;
  • psql_port — порт PostgreSQL;
  • ch_def_user_password — пароль для пользователя ClickHouse;
  • ch_db_name — имя базы данных ClickHouse, в которую будет совершена миграция.
Пример запуска
sudo bash migrate.sh localhost core core core core 5432 core core

После успешного выполнения скрипта миграции в консоли вы увидите сообщение: Restoring <DB_Name> done <3.

Установите и настройте сервисы EVI, как описано в разделах Ручная установка на Ubuntu 22.04.5 LTS или Ручная установка на РЕД ОС 8.

Сверка конфигурационных файлов 

В версии 1.5.0 внесены изменения в структуру и параметры конфигурационных файлов, которые можно посмотреть в Конфигурировании платформы.

Проверка результата миграции

После завершения миграции выполните следующие действия:

  1. Убедитесь, что все сервисы запускаются без ошибок;
  2. Проверьте доступность данных (пользователи, пропуска, события);
  3. Проверьте лог-файлы сервисов на наличие ошибок подключения к БД.

При возникновении ошибок обратитесь в техническую поддержку с логами.

  • Нет меток