Ручной снимок позволяет сохранить текущее состояние встроенного хранилища Stronghold в файл и использовать его как резервную копию.

Перед началом

  • Убедитесь, что Stronghold использует встроенное Raft-хранилище.
  • Убедитесь, что Raft используется как основной storage backend, а не только как ha_storage.
  • Проверьте, что у вас есть административный доступ к кластеру.
  • Подготовьте безопасное место для хранения файла снимка вне production-контура.
  • Заранее убедитесь, что при необходимости сможете связаться с держателями unseal- или recovery-ключей.

Команда stronghold operator raft snapshot save применима только к кластерам с интегрированным Raft-хранилищем. Если Stronghold использует etcd, postgresql или другой внешний backend, резервную копию нужно выполнять средствами самого хранилища.

Сохранение снимка через CLI

Для создания снимка используйте команду:

d8 stronghold operator raft snapshot save backup.snap

В результате Stronghold сохранит снимок в локальный файл backup.snap.

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

Сохранение снимка через API

Для создания снимка через API используйте endpoint GET /sys/storage/raft/snapshot:

curl \
  --request GET \
  --header "X-Vault-Token: ${VAULT_TOKEN}" \
  "${VAULT_ADDR}/v1/sys/storage/raft/snapshot" > backup.snap

Практические рекомендации

  • Сохраняйте файл снимка в место, доступ к которому ограничен.
  • После создания снимка выполняйте stronghold operator raft snapshot inspect или используйте страницу Проверка снимка как базовую валидацию резервной копии.
  • Для регулярного резервного копирования используйте автоматические снимки.
  • Если кластер участвует в схемах репликации, продумайте отдельную стратегию резервного копирования для каждого контура.