Какие типы резервных копий вы знаете в контексте DevOps?

«Какие типы резервных копий вы знаете в контексте DevOps?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В DevOps-практиках работа с резервным копированием (backup) — это критически важный процесс обеспечения отказоустойчивости и возможности восстановления (DR). Я различаю следующие типы:

1. Полные резервные копии (Full Backup) Создается полная копия всех данных на момент времени.

  • Плюсы: Простое и быстрое восстановление из одной точки.
  • Минусы: Требует много места и времени.
  • Пример в DevOps: Еженедельный полный pg_dump базы PostgreSQL с выгрузкой в S3.

2. Инкрементальные резервные копии (Incremental Backup) Сохраняются только данные, изменившиеся с момента последней полной или инкрементальной копии.

  • Почему: Экономит дисковое пространство и время создания бэкапа.
  • Пример: Использование утилиты restic или borg для инкрементального бэкапа файловых хранилищ.

3. Дифференциальные резервные копии (Differential Backup) Сохраняются все изменения с момента последней полной копии.

  • Сравнение с инкрементальным: Восстановление проще (нужна только полная и последняя дифф. копия), но со временем размер растет.

4. Непрерывное архивирование и PITR (Point-in-Time Recovery) Комбинация полного бэкапа и непрерывной записи журналов транзакций (WAL в PostgreSQL, binlog в MySQL).

  • Почему: Позволяет восстановить базу данных на любой момент времени в пределах периода архивации, что критично для минимизации потерь данных (RPO).
  • Пример DevOps-пайплайн:
    1. Еженедельный физический бэкап PostgreSQL через pg_basebackup.
    2. Непрерывная архивация WAL-файлов в MinIO/S3.
    3. Восстановление на стенде до состояния «5 минут до инцидента» с помощью pg_rewind и применения WAL.

5. Снимки состояния (Snapshots) Моментальные копии дисков или томов на уровне инфраструктуры (EBS Snapshot, LVM snapshot).

  • Почему: Очень быстрое создание и часто используется для «заморозки» состояния перед рискованными операциями.
  • Пример: Автоматическое создание снапшотов EBS томов базы данных через AWS Backup перед деплоем миграции.

Ключевой принцип: Я всегда следую правилу 3-2-1: три копии данных, на двух разных типах носителей, одна из которых в другом географическом расположении. Бэкапы автоматизированы, регулярно тестируются процедуры восстановления.