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