Сценарии аварийного восстановления
Сценарии аварийного восстановления
Назначение
Описание типовых сценариев аварийного восстановления системы Printum: симптомы, порядок действий и ориентировочное время восстановления.
Сценарий 1 — Отказ одного сервера ПринтМенеджера в кластере
Симптомы
- Страница состояния HAProxy показывает один или несколько узлов как «DOWN».
- Часть заданий не обрабатывается; пользователи не замечают сбоя (если узлов ≥ 2).
Порядок действий
- Проверить статус контейнеров на отказавшем сервере:
cd /opt/printmanager && docker-compose ps - Изучить логи:
docker-compose logs --tail=200 - Перезапустить контейнеры:
docker-compose restart - Если не помогает — восстановить из резервной копии (см. «Восстановление из резервной копии»).
- После восстановления проверить страницу состояния HAProxy.
Ориентировочное время: 15–30 минут при перезапуске; 60–120 минут при восстановлении из резервной копии.
Сценарий 2 — Отказ нескольких серверов ПринтМенеджера
Симптомы
- Большинство заданий не обрабатываются.
- HAProxy показывает менее половины узлов в статусе «UP» (кластер утратил кворум).
Порядок действий
- Восстановить наибольшее число серверов ПринтМенеджер (перезапуск контейнеров или восстановление из резервной копии).
- Убедиться, что активно ≥ (N/2 + 1) узлов (кворум), где N — общее число узлов.
- Проверить статус HAProxy и синхронизацию с Мониторингом.
Ориентировочное время: 60–240 минут в зависимости от числа отказавших узлов.
Сценарий 3 — Потеря базы данных PostgreSQL
Симптомы
- Ошибки в логах ПМ:
django.db.utils.OperationalError: connection to server failed - Веб-интерфейс Личного кабинета недоступен или отображает ошибки.
Порядок действий
- Убедиться, что контейнер PostgreSQL запущен:
sudo docker ps | grep postgres - Если контейнер упал — перезапустить:
docker-compose up -d db - Если данные повреждены — восстановить базу из резервной копии.
- Для восстановления на чистый сервер выполнить команды (см. «Восстановление из резервной копии»):
sudo tar xzvf printum_backup_<date>.tar.gz sudo printum_backup_<date>/restore.sh - Подождать несколько минут для запуска системы.
Ориентировочное время: 30–120 минут в зависимости от объёма данных.
Важно: IP-адрес или hostname сервера должны совпадать с теми, что были при создании резервной копии.
Сценарий 4 — Потеря NFS-хранилища (кластер)
Симптомы
- Пользователи при попытке печати получают ошибку «Файл недоступен».
- Логи ПринтМенеджер содержат ошибки обращения к NFS-директории.
Порядок действий
- Проверить доступность NFS-сервера с сервера ПМ: попробовать смонтировать папку вручную.
- Убедиться в правильности параметров в /opt/printmanager/.env:
Проверить DRIVER_OPTS_DEVICE, DRIVER_OPTS_O, DRIVER_OPTS_TYPE.sudo cat /opt/printmanager/.env - После восстановления NFS перезапустить контейнеры:
docker-compose restart - Проверить, что задания в отложенной очереди обрабатываются.
Ориентировочное время: 15–60 минут.
Связанные страницы
- Восстановление из резервной копии
- Проверка резервных копий
- Резервное копирование — обзор