Вы можете проверить и проанализировать созданный файл снимка без восстановления его в кластере с помощью команды d8 stronghold operator raft snapshot inspect.

В отличие от snapshot save и snapshot restore, эта команда работает локально и не требует подключения к работающему серверу Stronghold. Это упрощает валидацию резервных копий, первичную диагностику и анализ содержимого снимка перед восстановлением.

Команда inspect относится к снимкам интегрированного Raft-хранилища. Если Stronghold использует etcd, PostgreSQL или другой внешний бэкенд, проверку резервной копии нужно выполнять средствами соответствующего хранилища.

Базовое использование

Для проверки снимка выполните следующую команду, указав вместо <SNAPSHOT_FILE> путь к файлу снимка:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot inspect <SNAPSHOT_FILE>
stronghold operator raft snapshot inspect <SNAPSHOT_FILE>

Пример:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot inspect raft.snap
stronghold operator raft snapshot inspect raft.snap

Команда выводит сводную информацию о снимке и таблицу с количеством ключей и их суммарным размером по группам.

Вывод команды

В стандартном выводе отображаются:

  • метаданные снимка, включая ID, Size, Index, Term и Version;
  • сгруппированные ключи хранилища;
  • количество ключей в каждой группе;
  • суммарный размер данных в каждой группе.

Пример сокращённого вывода:

ID           bolt-snapshot
Size         93290
Index        8957
Term         11
Version      1

Key Name                                          Count      Size
--------                                          -----      ----
wal/logs                                          54         9 KB
index/pages                                       14         26.1 KB
sys/policy                                        3          3.4 KB
core/cluster                                      2          236 B

Основные флаги

ФлагОписание
-detailsВключает детальный анализ ключей и вывод таблицы групп. По умолчанию включён.
-depthУправляет глубиной группировки ключей по сегментам пути.
-filterПоказывает только ключи с указанным префиксом.
-formatФормат вывода: table или json.
-validateВыполняет дополнительную проверку консистентности снимка.

Сценарии использования

Быстрая проверка после создания резервной копии

Сразу после создания снимка можно проверить, что файл читается и содержит ожидаемые данные:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot save /backup/raft.snap
d8 stronghold operator raft snapshot inspect /backup/raft.snap
stronghold operator raft snapshot save /backup/raft.snap
stronghold operator raft snapshot inspect /backup/raft.snap

Проверка консистентности снимка

Для расширенной проверки используйте флаг -validate:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot inspect -validate raft.snap
stronghold operator raft snapshot inspect -validate raft.snap

Такая проверка помогает убедиться, что:

  • снимок не пустой;
  • содержимое state.bin корректно разбирается;
  • в снимке присутствуют критические пути, например, core и sys.

Это полезно для автоматических проверок резервных копий, но не заменяет полноценного тестового восстановления.

Анализ отдельных префиксов

Чтобы посмотреть определённую часть данных, используйте флаги -filter и -depth:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot inspect -depth 3 -filter=core raft.snap
stronghold operator raft snapshot inspect -depth 3 -filter=core raft.snap

Это удобно для диагностики роста хранилища или поиска крупных групп ключей.

Вывод в формате JSON

Для интеграции со скриптами и сценариями мониторинга можно использовать JSON:

  • Stronghold в DKP
  • Stronghold в Linux
d8 stronghold operator raft snapshot inspect -format=json raft.snap
stronghold operator raft snapshot inspect -format=json raft.snap

При использовании -validate JSON-вывод удобно обрабатывать автоматически, например, через jq.

Что важно учитывать

  • Команда inspect не восстанавливает снимок и не изменяет состояние кластера.
  • Проверка контрольных сумм и базовой структуры не гарантирует, что снимок точно подойдёт для восстановления в конкретный кластер.
  • Для полной уверенности в том, что снимок позволяет корректно восстановить данные, периодически выполняйте тестовое восстановление на отдельном контуре.