Резервное копирование 3-2-1: как настроить и проверить восстановление

0
14
Обложка статьи: Резервное копирование 3-2-1: как настроить и проверить восстановление

Резервная копия, из которой ни разу не восстанавливались, это предположение, а не копия. Ниже схема 3-2-1 для Linux-сервера и порядок проверки, который стоит делать регулярно.

Что означает 3-2-1

  • 3 копии данных: рабочая и две резервные.
  • 2 разных типа носителей или хранилищ (например, диск сервера и объектное хранилище).
  • 1 копия вне площадки, куда нельзя попасть с основного сервера по тем же учётным данным.

Последний пункт самый важный. Шифровальщик и злоумышленник с правами администратора удаляют копии, до которых дотягиваются с заражённого сервера.

Что копировать

Что Как
Файлы и конфигурации (/etc, /home, данные приложений) Borg или rsync
Базы данных Дамп (mysqldump, pg_dump) до копирования файлов, а не копия «живых» файлов БД
Образ системы Снимки гипервизора или LVM, если нужно быстро поднять сервер целиком

Шаг 1. Инструмент для копий

Для файлов подойдёт Borg: дедупликация, шифрование, проверка целостности. Установка и первый репозиторий разобраны в статье резервное копирование в Linux с Borg. Если нужно просто синхронизировать каталоги, смотрите rsync для бэкапа.

Шаг 2. Копия вне площадки

Настройте отправку копий на другой сервер или в облачное хранилище. Учётная запись на удалённой стороне должна уметь только добавлять данные, а не удалять их. Для Borg это ограничение ключа borg serve --append-only в authorized_keys на стороне хранилища. Тогда даже при компрометации основного сервера старые копии остаются целыми.

Шаг 3. Расписание и уведомления

0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Скрипт должен завершаться с кодом ошибки при сбое и отправлять уведомление. Копия, которая молча не делалась три месяца, обнаруживается в момент аварии. Контролировать запуск можно через мониторинг: мониторинг в Zabbix.

Шаг 4. Проверьте восстановление

Раз в квартал восстановите данные на чистую машину и убедитесь, что приложение работает. Для Borg:

borg list REPO
borg check REPO
mkdir /tmp/restore && cd /tmp/restore
borg extract REPO::ARCHIVE etc/nginx

Запишите время, за которое вы восстановились, это ваш реальный RTO. Если оно больше допустимого простоя, схему нужно менять, а не документировать.

Типовые ошибки

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

Как проверить

Критерий один: вы выполнили восстановление по инструкции и приложение открылось. Всё остальное, от размера архива до зелёного статуса, лишь косвенные признаки. Базовый порядок для нового сервера: hardening Linux.

Оставьте свой ответ