Восстановление из резервной копии
komrad-cli restore <set-dir> восстанавливает состояние узла KOMRAD из набора резервных копий, созданного командой backup create.
Восстановление на том же узле
Используйте, когда узел работает, но требуется откат состояния (например, после ошибочных изменений конфигурации).
# 1. Остановить сервисы KOMRAD
sudo systemctl stop komrad-* pauth-server
# 2. Выполнить восстановление
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--passphrase "секретная_фраза"
# 3. Убедиться, что сервисы запустились
systemctl status komrad-server komrad-processor komrad-correlator
Команда автоматически запускает сервисы после восстановления. Чтобы пропустить автозапуск, добавьте --no-start.
Полное восстановление (DR)
Восстановление на чистом узле — новое железо или виртуальная машина с тем же IP-адресом, что и исходный узел.
Шаг 1. Установить ОС (Astra Linux, REDOS, ALT Linux, Ubuntu).
Шаг 2. Установить пакеты KOMRAD той же версии, что была при создании резервной копии.
Версия установленных пакетов должна совпадать с версией в манифесте резервной копии (manifest.json → поле version). При несовпадении restore завершится ошибкой. Используйте --force только если вы уверены в обратной совместимости.
# Проверить версию в копии
cat /var/backups/komrad/20260630T120000Z/manifest.json | python3 -c \
"import sys,json; print(json.load(sys.stdin)['version'])"
# Установить пакеты нужной версии
sudo dpkg -i /path/to/komrad_<version>_amd64.deb
Шаг 3. Скопировать набор резервных копий на новый узел:
rsync -avz operator@source:/var/backups/komrad/20260630T120000Z \
/var/backups/komrad/
Шаг 4. Запустить восстановление:
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--passphrase "секретная_фраза"
Шаг 5. Проверить работу узла:
systemctl status komrad-server komrad-processor komrad-correlator komrad-reactor
journalctl -u komrad-server -n 50 --no-pager
Восстановление на другом узле (cross-VM)
Когда IP-адрес нового узла отличается от исходного, TLS-сертификаты и учётные данные NATS необходимо перевыпустить.
komrad-cli restore делает это автоматически: после восстановления данных на диск запускается перевыпуск идентификационных материалов (hostidentity.Apply) с учётом текущего IP-адреса узла.
Убедитесь, что сетевой интерфейс и IP-адрес назначены до запуска restore. Команда считывает текущий IP для перевыпуска сертификатов.
Процедура идентична DR:
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--passphrase "секретная_фраза"
Избирательное восстановление
Флаг --only ограничивает восстановление конкретными поверхностями (флаг повторяется):
# Только PostgreSQL (инциденты, настройки)
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--only postgres --passphrase "..."
# Только события ClickHouse
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--only clickhouse --passphrase "..."
# Только конфигурационные файлы
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--only files --passphrase "..."
# Конфигурации и PostgreSQL (без событий)
sudo komrad-cli restore /var/backups/komrad/20260630T120000Z \
--only files --only postgres --passphrase "..."
При избирательном восстановлении сервисы не запускаются автоматически. Запустите их вручную после проверки:
sudo systemctl start komrad-server komrad-processor komrad-correlator