Files
homelab-docs/docs/backup/restore-test-manual.md
Andrey 53769e6832 Update architecture and backup documentation to include Healthchecks integration
Add Healthchecks service details to architecture and backup documentation, including its role as a Dead man's switch for backups. Update backup scripts to utilize systemd timers instead of cron for improved scheduling. Enhance network topology documentation to reflect Healthchecks integration in the VPS Miran setup. This update clarifies backup processes and enhances overall system reliability.
2026-02-28 15:43:39 +03:00

6.5 KiB
Raw Blame History

Ручной тест восстановления (уровень 3)

Пошаговые команды для полной проверки восстановления после потери данных или миграции. Выполнять периодически (раз в 612 месяцев) или после значительных изменений инфраструктуры.


1. Полный restore на отдельный диск

Когда нужно: проверка, что все бэкапы доступны и можно восстановить систему на новом диске.

Подготовка

  1. Подключить диск с достаточным объёмом (например 2 TB) или использовать временный раздел.
  2. Смонтировать в /mnt/restore-test (или аналогичный путь).
  3. Убедиться, что есть креды restic: /root/.restic-yandex.env, /root/.restic-password или Vaultwarden (объект RESTIC).

Восстановление из restic (Yandex)

# Список снимков
set -a; source /root/.restic-yandex.env; set +a
export RESTIC_PASSWORD_FILE=/root/.restic-password
export AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-ru-central1}
restic snapshots

# Восстановить основной снимок (без photos) в каталог
restic restore latest --target /mnt/restore-test --path /mnt/backup

# Восстановить фото (отдельный снимок)
restic snapshots | grep photos
restic restore <SNAPSHOT_ID> --target /mnt/restore-test --path /mnt/backup/photos

Файлы появятся в /mnt/restore-test/mnt/backup/. Проверить наличие:

  • proxmox/dump/dump/ — vzdump
  • proxmox/etc-pve/ — конфиги хоста
  • databases/ — дампы БД
  • other/vaultwarden/ — архив Vaultwarden
  • photos/library/ — фото Immich

2. Проверка Immich (веб, загрузка фото)

Цель: убедиться, что Immich работает, веб-интерфейс доступен, загрузка фото проходит.

Подготовка

Шаги

  1. Открыть: https://immich.katykhin.ru
  2. Войти под учётной записью (логин/пароль из менеджера паролей).
  3. Загрузить тестовое фото:
    • Нажать «Upload» (или загрузить через drag-and-drop).
    • Выбрать небольшое изображение (например 12 MB).
    • Дождаться завершения загрузки и появления в библиотеке.
  4. Проверить: фото появилось в галерее, превью отображается, метаданные доступны.

Если Immich не загружается

  • Проверить: ssh admin@192.168.1.200 "cd /opt/immich && docker compose ps" — все контейнеры running.
  • Логи: docker logs immich_server (или immich_upload_optimizer).
  • NPM: прокси на 192.168.1.200:2283.

3. Проверка Nextcloud (веб, загрузка файла)

Цель: убедиться, что Nextcloud доступен и загрузка файлов работает.

Подготовка

Шаги

  1. Открыть: https://cloud.katykhin.ru
  2. Войти под учётной записью (логин/пароль из менеджера паролей).
  3. Загрузить тестовый файл:
    • Перейти в «Files» (или «Файлы»).
    • Нажать «Upload» или перетащить файл (например .txt или .pdf).
    • Дождаться завершения загрузки.
  4. Проверить: файл отображается в списке, можно скачать.

Если Nextcloud не работает

  • Проверить: pct exec 101 -- docker ps — контейнеры nextcloud и nextcloud-db-1 running.
  • Логи: docker logs nextcloud-app-1 (или имя контейнера из compose).

4. Проверка GPU passthrough на VM 200

Цель: убедиться, что GPU проброшена в Immich ML и распознавание работает.

Подготовка

  • VM 200: ssh admin@192.168.1.200
  • В Immich: включить ML (Settings → Machine Learning).

Шаги

  1. Проверить GPU в контейнере ML:

    ssh admin@192.168.1.200
    cd /opt/immich
    docker exec immich_machine_learning nvidia-smi
    

    Ожидаемый вывод: информация о GPU (модель, память, драйвер).

  2. Проверить распознавание в Immich:

    • Загрузить фото с лицами или объектами.
    • Дождаться обработки ML (иконка «Scan» в интерфейсе).
    • Проверить: объекты/лица распознаны, теги добавлены.
  3. Если nvidia-smi не работает:

    • На хосте Proxmox: проверить hostpci0 в конфиге VM 200: cat /etc/pve/qemu-server/200.conf
    • Убедиться, что PCI-устройство GPU передано в ВМ (hostpci0: 0000:xx:00.0 и т.п.).
    • Перезапустить ВМ при необходимости: qm stop 200 && qm start 200.

5. Дополнительные проверки (по желанию)


Связанные документы

  • backup-howto — восстановление из vzdump, restic, дампов БД, расписание таймеров.
  • container-200 — VM 200 (Immich), GPU, пути.
  • architecture — хост, IP, доступ.