Данный документ описывает процесс миграции системы с версии 1.4.0 на версию 1.5.0.
Миграция включает обновление схемы баз данных PostgreSQL и ClickHouse, а также перенос данных.
Внимание! Перед началом миграции обязательно создайте резервную копию всех данных, как описано в разделе Подготовительные действия. |
Рекомендуемые ресурсы для успешной миграции (на примере системы с 3000 сотрудников, 2200 пропусков и 300 камер):
Используйте сценарий Миграция на текущем сервере, если обновление выполняется на том же сервере, где уже работает система с текущей версией |
Используйте сценарий Миграция на новом сервере, если миграция выполняется на новом чистом сервере. |
Создайте временную папку для резервной копии и файлов миграции в домашней директории пользователя:
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 |
sudo apt purge evi-core-web evi-core evi-scud evi-live evi-archive evi-analyzer nginx |
Выполните необходимые предварительные действия, как описано в разделе Подготовка к установке.
Поскольку у вас уже установлена база данных 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> |
sudo bash migrate.sh localhost core core core core 5432 core core |
После успешного выполнения скрипта миграции в консоли вы увидите сообщение: Restoring <DB_Name> done <3.
Далее переходите к разделу Установка и настройка сервисов EVI после миграции.
Используйте этот сценарий, если миграция выполняется на новом чистом сервере. |
Выполните необходимые предварительные действия, как описано в разделе Подготовка к установке.
Установите и настройте PostgreSQL и ClickHouse, как описано в разделе Установка баз данных.
Создайте резервную копию всех данных, как описано в разделе Подготовительные действия.
Скопируйте папку backup вместе со всем содержимым с исходного сервера на новый.
Для передачи данных рекомендуется использовать утилиту scp, которая обеспечивает безопасное копирование по SSH.
scp -r ~/backup <username>@<remote-server>:~ |
После копирования перейти на новом сервере в каталог backup:
cd ~/backup |
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> |
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 внесены изменения в структуру и параметры конфигурационных файлов, которые можно посмотреть в Конфигурировании платформы.
После завершения миграции выполните следующие действия:
При возникновении ошибок обратитесь в техническую поддержку с логами. |