Если Визион.Сервер уже установлен, для миграции его служебной БД на другой сервер PostgreSQL следуйте этой инструкции.
| ВАЖНО |
|---|
| На период миграции работа Визион.Сервер будет приостановлена. |
Перед началом работы#
Чтобы сократить время миграции, подготовьте новый сервер PostgreSQL заранее:
-
Убедитесь, что сервер имеет виртуальный IP-адрес или доменное имя, всегда указывающие на мастер.
-
Убедитесь, что мастер доступен из сети Визион по указанному виртуальному IP-адресу или доменному имени.
-
Создайте на новом сервере роль
vision:CREATE ROLE vision WITH LOGIN PASSWORD '<password>' CREATEDB SUPERUSER; -
Создайте на новом сервере БД
vision_db:CREATE DATABASE vision_db OWNER vision ENCODING 'UTF8' LC_COLLATE 'ru_RU.UTF-8' LC_CTYPE 'ru_RU.UTF-8' TEMPLATE template0;
Миграция#
На сервере Визион выполните следующие действия:
-
Остановите сервисы, использующие служебную БД:
systemctl stop vision_core systemctl stop vision_alertcollector systemctl stop vision_backup systemctl stop vision_taskdaemon -
Создайте резервную копию служебной БД:
pg_dump -h 127.0.0.1 -p 5432 -U <user> vision_db -F tar > vision_db.tarЗдесь:
-
<user>— имя пользователя-владельца служебной БД; -
vision_db— название служебной БД; -
vision_db.tar— имя файла с архивом резервной копии.
-
-
Остановите локальную СУБД PostgreSQL и отключите её запуск при загрузке ОС:
systemctl stop postgresql.service systemctl disable postgresql.service -
Восстановите данные из резервной копии во внешний сервер:
pg_restore -h <server> -p 5432 -U vision -d vision_db -c vision_db.tarЗдесь:
<server>— виртуальный IP-адрес или доменное имя, указывающие на мастер нового сервера PostgreSQL. -
В хранилище секретов в значении ключа
vault.database.dsnукажите учётные данные для подключения к новому серверу.Пример заполнения:
vault.database.dsn: 'postgresql://vision:<password>@<host>:5432/vision_db' -
Обновите конфигурацию компонентов Визион:
/opt/skala-r/vision/tools/update_server_configs.sh -
Запустите сервисы Визион:
systemctl stop vision_core systemctl stop vision_alertcollector systemctl stop vision_backup systemctl stop vision_taskdaemon
Проверка#
Чтобы убедиться в правильности настроек и успешности миграции, проверьте состояние сервисов, использующих служебную БД:
systemctl status vision_core.service vision_alertcollector.service vision_backup.service vision_taskdaemon.service