Ответ
В 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-пайплайн:
- Еженедельный физический бэкап PostgreSQL через
pg_basebackup. - Непрерывная архивация WAL-файлов в MinIO/S3.
- Восстановление на стенде до состояния «5 минут до инцидента» с помощью
pg_rewindи применения WAL.
- Еженедельный физический бэкап PostgreSQL через
5. Снимки состояния (Snapshots) Моментальные копии дисков или томов на уровне инфраструктуры (EBS Snapshot, LVM snapshot).
- Почему: Очень быстрое создание и часто используется для «заморозки» состояния перед рискованными операциями.
- Пример: Автоматическое создание снапшотов EBS томов базы данных через AWS Backup перед деплоем миграции.
Ключевой принцип: Я всегда следую правилу 3-2-1: три копии данных, на двух разных типах носителей, одна из которых в другом географическом расположении. Бэкапы автоматизированы, регулярно тестируются процедуры восстановления.