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

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

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

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

stronghold operator raft snapshot inspect <snapshot_file>

Пример:

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 operator raft snapshot save /backup/raft.snap
stronghold operator raft snapshot inspect /backup/raft.snap

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

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

stronghold operator raft snapshot inspect -validate raft.snap

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

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

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

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

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

stronghold operator raft snapshot inspect -depth 3 -filter=core raft.snap

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

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

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

stronghold operator raft snapshot inspect -format=json raft.snap

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

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

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

См. также