Вы можете проверить и проанализировать созданный файл снимка без восстановления его в кластере с помощью команды 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.snapstronghold 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.snapstronghold 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.snapstronghold 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.snapstronghold 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.snapstronghold operator raft snapshot inspect -format=json raft.snapПри использовании -validate JSON-вывод удобно обрабатывать автоматически, например, через jq.
Что важно учитывать
- Команда
inspectне восстанавливает снимок и не изменяет состояние кластера. - Проверка контрольных сумм и базовой структуры не гарантирует, что снимок точно подойдёт для восстановления в конкретный кластер.
- Для полной уверенности в том, что снимок позволяет корректно восстановить данные, периодически выполняйте тестовое восстановление на отдельном контуре.