Автоматическая миграция
Во время установки мастер спрашивает, нужно ли перенести данные с предыдущей deb-установки EVI: если да, он останавливает deb-сервисы, снимает дампы хостовых БД и заливает их в тома Docker, а затем поднимает остальные сервисы — миграции докатываются штатно. При миграции с нативной deb-установки EVI перенос данных предлагает сам мастер настройки (sudo ./configure.sh --setup) — отдельно запускать ничего не нужно.
Запуск только миграции:
docker compose run --rm migrate
Ручная миграция
Вручную то же самое делает скрипт :
./transfer_data_to_docker.sh # Core-группа (./core) ./transfer_data_to_docker.sh --stack-dir . # standalone-стек в корне
останавливает deb-сервисы EVI, снимает дампы PostgreSQL и ClickHouse, гасит хостовые БД и заливает данные в контейнеры.
Скрипт выполняет логический (dump/restore) перенос данных PostgreSQL и ClickHouse с нативной deb-установки в Docker-volumes стека EVI: Core-группы (./core, по умолчанию) либо standalone-стека в корне репозитория (--stack-dir .).
Логический перенос выбран намеренно — мажорные версии источника и цели различаются (PostgreSQL 17 → 18), пофайловое копирование каталога данных между ними невозможно.
Предусловия
- Запускать из корня репозитория (рядом должен находиться каталог стека —
./coreили сам корень). - На хосте должны быть доступны:
pg_dump,psql,clickhouse-client,docker compose. - Пользователь должен иметь право запускать
sudo(для остановки systemd-сервисов и дляsudo -u postgresпри peer-auth).
Deb-сервисы EVI (angie, evi-core, evi-scud, evi-analytics, evi-live, evi-archive, evi-analyzer) скрипт останавливает сам — иначе запись в БД во время дампа означала бы потерю свежих событий. Если они уже остановлены, шаг отключается флагом --no-stop-evi.
Откат
Хостовые БД остановлены, но не удалены. При необходимости откатиться:
sudo systemctl start postgresql sudo systemctl start clickhouse-server
Дампы остаются в ./db_transfer_backup/<timestamp>/.

