Перейти к содержанию

Репликация InfraVision

Репликация базы данных

InfraVision использует базу данных PostgreSQL, поэтому здесь применяются общие лучшие практики PostgreSQL. База данных может быть записана в файл и восстановлена с помощью утилит pg_dump и psql соответственно.

Примечание

Примеры ниже предполагают, что ваша база данных называется netbox.

Экспорт базы данных

Используйте утилиту pg_dump для экспорта всей базы данных в файл:

pg_dump --username netbox --password --host localhost netbox > netbox.sql

Примечание

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

При репликации производственной базы данных для целей разработки может быть удобно исключить данные журнала изменений, которые могут легко составлять основную часть размера базы данных. Для этого исключите данные таблицы core_objectchange из экспорта. Таблица всё равно будет включена в выходной файл, но не будет заполнена данными.

pg_dump ... --exclude-table-data=core_objectchange netbox > netbox.sql

Загрузка экспортированной базы данных

При восстановлении базы данных из файла рекомендуется сначала удалить существующую базу данных, чтобы избежать потенциальных конфликтов.

Внимание

Следующее уничтожит и заменит любой существующий экземпляр базы данных.

psql -c 'drop database netbox'
psql -c 'create database netbox'
psql netbox < netbox.sql

Имейте в виду, что учётные записи пользователей PostgreSQL и разрешения не включаются в дамп: вам нужно будет создать их вручную, если вы хотите полностью реплицировать исходную базу данных (см. документацию по установке). При настройке экземпляра InfraVision для разработки настоятельно рекомендуется использовать другие учётные данные.

Экспорт схемы базы данных

Если вы хотите экспортировать только схему базы данных, а не сами данные (например, для справки при разработке), выполните следующее:

pg_dump --username netbox --password --host localhost -s netbox > netbox_schema.sql

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

По умолчанию InfraVision хранит загруженные файлы (такие как вложенные изображения) в своём каталоге media. Для полной репликации экземпляра InfraVision вам нужно скопировать как базу данных, так и медиафайлы.

Примечание

Эти операции не нужны, если ваша установка использует удалённый бэкенд хранения.

Архивация каталога media

Выполните следующую команду из корня пути установки InfraVision (обычно /opt/netbox):

tar -czf netbox_media.tar.gz netbox/media/

Восстановление каталога media

Чтобы извлечь сохранённый архив в новую установку, выполните следующее из корня установки:

tar -xf netbox_media.tar.gz