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

Ключ

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

Оглавление
maxLevel3

Миграция с 1.

...

4.1 до 1.

...

5.

...

0

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

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

...

Подсказка

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

Подсказка

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

...

Подготовительные действия 
Якорь
presteps

...

После успешного завершения миграции баз данных необходимо установить сервисы EVI версии 1.4.0.

Установка EVI 1.4.0

Установите и настройте сервисы EVI, как описано в разделе Ручная установка.

Примечание
titleОбновление контроллеров

Для версии 1.4.0 необходимо использовать прошивку для контроллеров СКУД: IPA-ER-020-2.3.0_build_52.tar.gz

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

В версии 1.4.0 внесены изменения в структуру и параметры конфигурационных файлов, включая новые порты по умолчанию и обновлённые секции.

Общие изменения

  • Изменены используемые порты сервисов (см. раздел Конфигурирование платформы);
  • Добавлены новые параметры конфигурации;
  • Устаревшие параметры удалены или заменены.

Особое внимание: evi-live.conf — параметр extern_host

В конфигурационном файле evi-live.conf в секции [global] изменился параметр:

Блок кода
languagebash
[global]
extern_host=127.0.0.1
Примечание

Убедитесь, что значение extern_host соответствует внешнему IP-адресу или доменному имени сервера, по которому клиенты подключаются к системе.

Рекомендации

Сравните конфигурационные файлы: старый (1.3.0) и новый (1.4.0)  evi-core.conf, evi-scud.conf, evi-live.conf, evi-archive.conf, evi-analyzer.conf.

Перенесите важные настройки (сертификаты, пути видеоархива), соблюдая новую структуру.

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

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

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

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

...

presteps

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

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

Блок кода
languagebash
titleСоздание временной директории
linenumberstrue
mkdir ~/backup
cd ~/backup

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

Подсказка

Этот сценарий необходим для сравнения конфигурационных файлов версий 1.5.0 и 1.4.0.

Блок кода
languagebash
titleРезервное копирование конфигурационных файлов
linenumberstrue
sudo cp /opt/evi-*/*.conf .
sudo cp /etc/nginx/sites-available/evi-core-web .

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

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

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

Выполните дамп текущей базы PostgreSQL (версия 1.4.1):

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

Для проверки наличия файла evi-backup.dump в домашней директории пользователя в подпапке backup выполните следующие действия:

Блок кода
languagebash
titleПроверка наличия файла evi-backup.dump
ls -lh | grep evi-backup.dump
Блок кода
titleНаличие файла в папке backup
-rw-rw-r-- 1 user user 7.4G Jul 29 14:49 evi-backup.dump

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

Миграция на текущем сервере
Якорь
current_server
current

...

_server

Подсказка

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

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

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

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

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

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

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

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

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

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

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

После переноса перейдите на новом сервере в папку backup в домашней директории:

Блок кода
languagebash
cd ~/backup

...

том же сервере, где уже работает система.

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

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

Блок кода
languagebash
titleЗагрузка и распаковка архива миграции
linenumberstrue
wget https://archive.eltex-co.ru/evi-raw/evi-1.5.0/db_migration-1.4.0-1.5.0.zip
unzip db_migration-1.4.0-1.5.0.zip
cd db_migration-1.4.0-1.5.0

Удаление платформы EVI 1.4.1

Блок кода
languagebash
titleСоздание пользователя в PostgreSQLУдаление всех сервисов с версией 1.3.1
sudo -uapt postgrespurge psql -c "CREATE USER core; ALTER USER core WITH PASSWORD 'core'; ALTER USER core WITH SUPERUSER;"
Подсказка

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

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

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

...

evi-core-web evi-core evi-scud evi-live evi-archive evi-analyzer nginx

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

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

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

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

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

Блок кода
languagebash
titleВосстановление базы данных из дампаЗапуск скрипта миграции
sudo -u postgres createdb core
sudo -u postgres psql -d core -f evi-backup.dump
Подсказка

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

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

Блок кода
languagebash
titleЗагрузка и распаковка архива миграции
linenumberstrue
wget https://archive.eltex-co.ru/evi-raw/evi-1.4.0/db_migration-1.3.0-1.4.0.zip
unzip db_migration-1.3.0-1.4.0.zip
cd db_migration-1.3.0-1.4.0

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

Блок кода
languagebash
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, в которую будет совершена миграция.
Блок кода
languagebash
titleПример запуска
sudo bash migrate.sh localhost core core core core 5432 core core

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

Далее переходите к разделу Установка и настройка сервисов EVI после миграции.

...

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, в которую будет совершена миграция.
Блок кода
languagebash
titleПример запуска
sudo bash migrate.sh localhost core core core core 5432 core core

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

Далее переходите к разделу Установка и настройка сервисов EVI после миграции.

Миграция на новом сервере 
Якорь
new_server
new_server

Подсказка

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

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

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

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

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

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

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

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

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

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

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

После переноса перейдите на новом сервере в папку backup в домашней директории:

Блок кода
languagebash
cd ~/backup

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

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

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

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

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

Загрузить базу данных с версией 1.3.0.

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

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

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

Блок кода
languagebash
titleЗагрузка и распаковка архива миграции
linenumberstrue
wget https://archive.eltex-co.ru/evi-raw/evi-1.5.0/db_migration-1.4.0-1.5.0.zip
unzip db_migration-1.4.0-1.5.0.zip
cd db_migration-1.4.0-1.5.0

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

Блок кода
languagebash
sudo bash migrate.sh <host> <user> <password> <psql_db_name_from> <psql_db_name_

...

Подсказка

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

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

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

Блок кода
languagebash
titleЗагрузка и распаковка архива миграции
linenumberstrue
wget https://archive.eltex-co.ru/evi-raw/evi-1.4.0/db_migration-1.3.0-1.4.0.zip
unzip db_migration-1.3.0-1.4.0.zip
cd db_migration-1.3.0-1.4.0

Удаление платформы EVI 1.3.1

Блок кода
languagebash
titleУдаление всех сервисов с версией 1.3.1
sudo apt purge evi-core-web evi-core evi-scud evi-live evi-archive evi-analyzer nginx

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

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

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

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

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

Блок кода
languagebash
titleЗапуск скрипта миграции
sudo bash migrate.sh <host> <user> <password> <psql_db_name_from> <psql_db_name_to> <psql_port> <ch_def_user_password> <ch_db_name>

...

Блок кода
languagebash
titleПример запуска
sudo bash migrate.sh localhost core core core core 5432 core core

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

Далее переходите к разделу разделу Установка и настройка сервисов EVI после миграции.

...

Установка и настройка сервисов EVI после миграции 
Якорь

...

after_migration
after_migration

После успешного завершения миграции баз данных необходимо установить сервисы EVI версии 1.5.0.

Установка EVI 1.5.0

Установите и настройте сервисы EVI, как описано в разделе Ручная установка.

Примечание
titleОбновление контроллеров

Для версии 1.5.0 необходимо использовать прошивку для контроллеров СКУД: IPA-ER-020-2.3.0_build_52.tar.gz

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

В версии 1.5.0 внесены изменения в структуру и параметры конфигурационных файлов, включая новые порты по умолчанию и обновлённые секции.

Общие изменения

  • Изменены используемые порты сервисов (см. раздел Конфигурирование платформы);
  • Добавлены новые параметры конфигурации;
  • Устаревшие параметры удалены или заменены.

Особое внимание: evi-live.conf — параметр extern_host

В конфигурационном файле evi-live.conf в секции [global] изменился параметр

...

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

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

Блок кода
languagebash
titleСоздание временной директории
linenumberstrue
mkdir ~/backup
cd ~/backup

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

Подсказка

Этот сценарий необходим для сравнения конфигурационных файлов версий 1.4.0 и 1.3.0.

Блок кода
languagebash
titleРезервное копирование конфигурационных файлов
linenumberstrue
sudo cp /opt/evi-*/*.conf .
sudo cp /etc/nginx/sites-available/evi-core-web .

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

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

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

Выполните дамп текущей базы PostgreSQL (версия 1.3.1):

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

Для проверки наличия файла evi-backup.dump в домашней директории пользователя в подпапке backup выполните следующие действия:

Блок кода
languagebash
titleПроверка наличия файла evi-backup.dump
ls -lh | grep evi-backup.dump
Блок кода
titleНаличие файла в папке backup
-rw-rw-r-- 1 user user 7.4G Jul 29 14:49 evi-backup.dump

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

[global]
extern_host=127.0.0.1
Примечание

Убедитесь, что значение extern_host соответствует внешнему IP-адресу или доменному имени сервера, по которому клиенты подключаются к системе.

Рекомендации

Сравните конфигурационные файлы: старый (1.4.0) и новый (1.5.0)  evi-core.conf, evi-scud.conf, evi-live.conf, evi-archive.conf, evi-analyzer.conf.

Перенесите важные настройки (сертификаты, пути видеоархива), соблюдая новую структуру.

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

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

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

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

Ручная установка Ручная установка
Якорь
manual_installation
manual_installation

...

EVI Perimeter объединение модулей (evi-live, evi-archive, evi-analyzer) видеонаблюдения, предназначенный для получения видеопотоков с камер и сохранения в архив.

ПакетОписание
evi-live
Модуль для взаимодействия с камерами видеонаблюдения для платформы EVI
evi-archive
Модуль для записи архивов с камер для платформы EVI
evi-analyzer
Модуль детектора движения для платформы EVI

Требования для модуля Видеонаблюдение

...

Для работы модуля требуется дискретная видеокарта. Ниже приведена минимальная конфигурация для запуска:

OSGPUSERIESVRAMDRIVER
Ubuntu 22.04NVIDIAQuadro или RTX8 GB545

Пример установленных версий ядра и драйвера

Возможны проблемы установки драйвера из-за ядра Linux, ниже приведены примеры рабочих вариантов:

OSKernelDriver
Ubuntu 22.04.4 LTSGNU/Linux 6.5.0-44-generic x86_64NVIDIA-SMI 545.29.06
Ubuntu 22.04.4 LTS GNU/Linux 6.5.0-45-generic x86_64NVIDIA-SMI 575.64.05

Ручная установка docker и драйвера

...