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

Резервное копирование

План резервного копирования должен охватывать конфигурацию развертывания, базы данных, объектное хранилище, сертификаты и секреты. Точный состав зависит от комплекта поставки 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.

Пример общей формы команды:

mongodump --uri="<mongodb-uri>" --archive="/backup/mongodb.archive" --gzip

PostgreSQL

Для логической копии PostgreSQL используйте pg_dump; для всех баз кластера и глобальных объектов может потребоваться pg_dumpall. Способы резервного копирования описаны в официальной документации PostgreSQL.

pg_dump --format=custom --file=/backup/database.dump <database>

Объектное хранилище

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

mc mirror <source-alias>/<bucket> <backup-alias>/<bucket>

Контроль резервной копии

  1. Проверяйте код завершения каждой операции.
  2. Храните журналы заданий резервного копирования.
  3. Контролируйте срок хранения и доступность копий.
  4. Регулярно выполняйте тестовое восстановление в изолированном окружении.