Резервное копирование и восстановление#
Статья описывает состав резервной копии и подготовку к восстановлению Docker-поставки со встроенной MariaDB или PostgreSQL. Перед выполнением операций администратору требуется процедура для используемой версии и СУБД. Для внешней БД порядок согласуется с ее администратором.
Состав резервной копии#
Полная копия установки включает:
- Основную и архивную базы MariaDB либо всю базу PostgreSQL, включая основную и архивную схемы.
.env,docker-compose.ymlи используемыйdocker-compose.override.yml.backend/config, конфигурацию nginx и сертификаты.- Данные Хранилища из тома
orchestrator-storage. - Данные Vault, файл
.vault_keys.jsonиvault/config/vault.hcl, если используется Vault.
Дамп БД не содержит остальные перечисленные файлы и тома. Необходимо сохранить прежний ORCHESTRATOR_ENCRYPTION_KEY и ключи распечатки Vault: без них восстановленные секреты могут быть недоступны.
Создание и проверка копии#
До остановки сервисов необходимо получить у технической поддержки Sherpa инструкцию резервного копирования и восстановления БД для используемой версии и СУБД. Она содержит команды для БД. Отдельно требуется подготовить и проверить порядок копирования и восстановления конфигурации, сертификатов, Хранилища и Vault с учетом подключенных томов. Без проверенного восстановления всех компонентов копия установки не считается полной.
- Необходимо согласовать окно обслуживания, проверить свободное место и выбрать защищенный каталог копии.
- Требуется остановить backend, WebSocket, nginx и внешние интеграции, которые записывают данные. Контейнер выбранной БД остается запущенным.
- Необходимо создать дамп соответствующей СУБД по полученной инструкции и согласованную по времени копию файлов и томов. Для нестандартных имен БД команды требуется адаптировать до запуска.
- Необходимо проверить код завершения каждой команды, непустой дамп и контрольные суммы. Копия должна быть перенесена за пределы сервера с сохранением ограничений доступа.
- Возможность восстановления проверяется на отдельном экземпляре БД и отдельных томах. Наличие файла дампа само по себе не подтверждает пригодность копии.
Если обновление или восстановление не планируется, после завершения копирования необходимо вернуть сервисы в работу по полученной инструкции для выбранной СУБД.
Между созданием дампа и обновлением нельзя вновь запускать источники записи. Иначе копия перестанет соответствовать состоянию установки перед обновлением.
Восстановление и откат#
Восстановление заменяет текущие данные целевой БД. Перед ним необходимы проверенный дамп и отдельная свежая копия текущего состояния. Приложение и внешние источники записи должны оставаться остановленными.
При откате сначала возвращаются совместимые с дампом образы и конфигурация. Затем запускается только БД и выполняется восстановление по разделу нужной СУБД в полученной инструкции для используемой версии и СУБД. Для PostgreSQL восстановление выполняется в заново созданную базу, чтобы не сохранить объекты более новых миграций. Тестовое восстановление MariaDB допускается только в изолированном экземпляре и томе.
Нельзя удалять рабочие тома командой docker compose down -v. Backend запускается только после восстановления БД, файлов и секретов: при старте он может применить миграции.
После запуска необходимо проверить вход, доступ к Процессам и Хранилищу, Лицензии, чтение секретов и безопасный тестовый сценарий. Исходная копия сохраняется до подтверждения результата.