Skip to main content

Сценарии аварийного восстановления

Сценарии аварийного восстановления

Назначение

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


Сценарий 1 — Отказ одного сервера ПринтМенеджера в кластере

Симптомы

  • Страница состояния HAProxy показывает один или несколько узлов как «DOWN».
  • Часть заданий не обрабатывается; пользователи не замечают сбоя (если узлов ≥ 2).

Порядок действий

  1. Проверить статус контейнеров на отказавшем сервере: cd /opt/printmanager && docker-compose ps
  2. Изучить логи: docker-compose logs --tail=200
  3. Перезапустить контейнеры: docker-compose restart
  4. Если не помогает — восстановить из резервной копии (см. «Восстановление из резервной копии»).
  5. После восстановления проверить страницу состояния HAProxy.

Ориентировочное время: 15–30 минут при перезапуске; 60–120 минут при восстановлении из резервной копии.


Сценарий 2 — Отказ нескольких серверов ПринтМенеджера

Симптомы

  • Большинство заданий не обрабатываются.
  • HAProxy показывает менее половины узлов в статусе «UP» (кластер утратил кворум).

Порядок действий

  1. Восстановить наибольшее число серверов ПринтМенеджер (перезапуск контейнеров или восстановление из резервной копии).
  2. Убедиться, что активно ≥ (N/2 + 1) узлов (кворум), где N — общее число узлов.
  3. Проверить статус HAProxy и синхронизацию с Мониторингом.

Ориентировочное время: 60–240 минут в зависимости от числа отказавших узлов.


Сценарий 3 — Потеря базы данных PostgreSQL

Симптомы

  • Ошибки в логах ПМ: django.db.utils.OperationalError: connection to server failed
  • Веб-интерфейс Личного кабинета недоступен или отображает ошибки.

Порядок действий

  1. Убедиться, что контейнер PostgreSQL запущен: sudo docker ps | grep postgres
  2. Если контейнер упал — перезапустить: docker-compose up -d db
  3. Если данные повреждены — восстановить базу из резервной копии.
  4. Для восстановления на чистый сервер выполнить команды (см. «Восстановление из резервной копии»):
    sudo tar xzvf printum_backup_<date>.tar.gz
    sudo printum_backup_<date>/restore.sh
  5. Подождать несколько минут для запуска системы.

Ориентировочное время: 30–120 минут в зависимости от объёма данных.

Важно: IP-адрес или hostname сервера должны совпадать с теми, что были при создании резервной копии.


Сценарий 4 — Потеря NFS-хранилища (кластер)

Симптомы

  • Пользователи при попытке печати получают ошибку «Файл недоступен».
  • Логи ПринтМенеджер содержат ошибки обращения к NFS-директории.

Порядок действий

  1. Проверить доступность NFS-сервера с сервера ПМ: попробовать смонтировать папку вручную.
  2. Убедиться в правильности параметров в /opt/printmanager/.env:
    sudo cat /opt/printmanager/.env
    Проверить DRIVER_OPTS_DEVICE, DRIVER_OPTS_O, DRIVER_OPTS_TYPE.
  3. После восстановления NFS перезапустить контейнеры: docker-compose restart
  4. Проверить, что задания в отложенной очереди обрабатываются.

Ориентировочное время: 15–60 минут.


Связанные страницы