Резервное копирование¶
План резервного копирования должен охватывать конфигурацию развертывания, базы данных, объектное хранилище, сертификаты и секреты. Точный состав зависит от комплекта поставки iSpace.
Warning
Команды производителей ниже являются основой для проектирования процедуры. Проверьте имена контейнеров, баз, каталогов и способ хранения секретов для конкретной поставки iSpace.
Что включить в резервную копию¶
- каталог конфигурации
$ISPACE_CONF_DIR; - файл
.env, сертификаты и используемые Docker secrets; - состояние Docker Swarm manager;
- MongoDB;
- PostgreSQL, если используется;
- объектное хранилище MinIO или совместимое S3-хранилище;
- поисковые индексы, если их нельзя полностью восстановить из основных данных;
- локальные файлы и журналы, необходимые политикой эксплуатации.
Docker Swarm¶
Официальное руководство Docker рекомендует создавать резервную копию состояния manager-узла из каталога /var/lib/docker/swarm при остановленном Docker Engine. Процедура и ограничения описаны в разделе Back up the swarm.
MongoDB¶
Для логического резервного копирования MongoDB применяются mongodump и mongorestore. Параметры подключения и согласованность копии необходимо выбрать с учётом топологии MongoDB. См. официальные руководства mongodump и mongorestore.
Пример общей формы команды:
PostgreSQL¶
Для логической копии PostgreSQL используйте pg_dump; для всех баз кластера и глобальных объектов может потребоваться pg_dumpall. Способы резервного копирования описаны в официальной документации PostgreSQL.
Объектное хранилище¶
Для MinIO копирование объектов между хранилищами можно выполнять командой mc mirror. Перед использованием проверьте поддержку версий объектов, удаления и шифрования по официальному описанию mc mirror.
Контроль резервной копии¶
- Проверяйте код завершения каждой операции.
- Храните журналы заданий резервного копирования.
- Контролируйте срок хранения и доступность копий.
- Регулярно выполняйте тестовое восстановление в изолированном окружении.