План восстановления после сбоев

Область применения и цели

Этот план описывает восстановление после катастрофических событий, влияющих на доступность службы Weblate, целостность данных или операционную непрерывность.

Примечание

Этот план специально разработан для развёртываний Weblate компанией Weblate s.r.o., но может быть аналогичным образом применён к другим развёртываниям.

Определения

  • Катастрофа: Любое незапланированное событие, вызывающее полную или значительную потерю службы, данных или функциональности системы. Примеры включают отказ оборудования, повреждение данных, сбой инфраструктуры или злонамеренную атаку.

  • Целевая точка восстановления (RPO): Максимально допустимый интервал потери данных: 24 часа.

  • Целевое время восстановления (RTO): Максимально допустимое время для восстановления полной службы: 8 часов.

Важнейшие компоненты

  • Уровень приложения: приложение Weblate на Python/Django, фоновые обработчики (Celery) и запланированные задачи.

  • Уровень данных: база данных PostgreSQL, репозитории переводов (Git) и журналы.

  • Инфраструктура: веб-сервер (NGINX/Apache), обратный прокси-сервер, тома хранения, конфигурация SSL/TLS и необязательная система журналирования SIEM.

Политика резервного копирования

Процесс Автоматическое резервное копирование с помощью BorgBackup гарантирует, что все важные компоненты (база данных, данные и конфигурация) ежедневно резервируются. Резервные копии хранятся в двух географически разных местах. Политика хранения резервных копий обеспечивает ежедневную доступность последних резервных копий и сохраняет резервные копии за шесть месяцев.

Процедуры восстановления

Сценарий отказа: полная потеря узла/системы

  1. Подготовьте новый хост.

  2. Выполните начальную загрузку Weblate с помощью программного обеспечения для подготовки.

  3. Восстановите резервную копию Weblate, следуя Восстановление из резервной копии Borg.

  4. Перезапустить контейнер Weblate.

  5. Проверьте функциональность и выполните проверки согласованности.

Сценарий отказа: повреждение базы данных или потеря тома данных

  1. Остановите Weblate, чтобы предотвратить дальнейшие операции записи.

  2. Восстановите резервную копию Weblate, следуя Восстановление из резервной копии Borg.

  3. Перезапустите службы и проверьте согласованность данных переводов и пользователей.

Сценарий отказа: злонамеренное вмешательство или программа-вымогатель

  1. Изолируйте затронутый узел от сети.

  2. Определите последнюю известную исправную резервную копию (до заражения).

  3. Следуйте инструкциям из Сценарий отказа: полная потеря узла/системы, чтобы развернуть систему на новом узле.

Проверка и тестирование

  • Проверка резервного копирования: Ежемесячное тестовое восстановление резервных копий Weblate.

  • Учения по восстановлению после катастроф: Проводить не реже одного раза в год, включая полное восстановление в промежуточной среде.

  • Автоматические проверки целостности: BorgBackup обеспечивает целостность архивов резервных копий.

Шаги после восстановления

  • Подтвердите, что все службы работают и доступны.

  • Уведомите пользователей и заинтересованные стороны о состоянии восстановления.

  • Задокументируйте временную шкалу, основную причину и извлечённые уроки.

  • Примените обновления или изменения инфраструктуры, чтобы предотвратить повторение.

  • Следуйте Политика раскрытия уязвимостей в случае, если была замешана уязвимость.