Дифференциальный бэкап (differential backup) — тип резервного копирования, при котором сохраняются все файлы, изменённые с момента последнего полного бэкапа. При каждом дифференциальном бэкапе его объём растёт, так как он накапливает все изменения с момента полного.
Три типа бэкапов
- Полный (Full) — копирует все данные. Занимает больше всего места и времени. Восстановление: 1 набор.
- Инкрементальный (Incremental) — только изменения с предыдущего бэкапа (полного или инкрементального). Быстрый и компактный. Восстановление: полный + все инкрементальные до нужной точки.
- Дифференциальный (Differential) — изменения с последнего полного. Средний объём, растёт. Восстановление: полный + последний дифференциальный (2 набора).
Сравнение
- Скорость создания: Full > Diff > Incr (по убыванию нагрузки)
- Объём хранилища: Full > Diff > Incr
- Скорость восстановления: Full > Diff > Incr (Full — быстрее всего)
- Сложность восстановления: Full (1) < Diff (2) < Incr (N)
Стратегия 3-2-1
Правило 3-2-1: 3 копии данных, на 2 разных носителях, 1 копия вне сайта. Типичный сценарий: Full бэкап в пятницу, Differential бэкап ежедневно, внешнее хранилище (S3 bucket).
История
Концепция инкрементальных и дифференциальных бэкапов появилась с ростом объёмов данных в 1980-х годах. UNIX утилита dump поддерживала уровни бэкапа (0–9) ещё в 1975 году. rsync (1996) стал основой инкрементальных бэкапов на Linux. Borg Backup (2015) и Restic (2015) — современные инструменты с дедупликацией.
Связь с хостингом
Хостинг-провайдеры обычно предлагают ежедневные дифференциальные или инкрементальные бэкапы. На VDS стратегия: полный бэкап еженедельно + инкрементальные ежедневно через rsync или Bacula. RPO (Recovery Point Objective) определяет допустимую потерю данных.
История методов резервного копирования
Концепция инкрементального и дифференциального резервного копирования разработана в 1970-е годы для mainframe-систем IBM. Первые коммерческие решения для UNIX-серверов появились в 1980-е годы (ADSM/Tivoli Storage Manager). GNU tar с поддержкой инкрементов доступен с 1988 года. Rsync (1996) введён Эндрю Триджеллом — алгоритм delta-transfer. Bareos (2010) и Bacula (2000) — современные open-source решения для enterprise backup.
Типы резервного копирования
| Тип | Что копирует | Место | Время восстановления |
|---|---|---|---|
| Полный (Full) | всё | максимум | минимум |
| Инкрементальный | изменения с последнего бэкапа | минимум | долго (цепочка) |
| Дифференциальный | изменения с последнего Full | среднее | быстро (Full + 1) |
| Синтетический Full | виртуальный полный | среднее | минимум |
Практическое применение
Стандартная стратегия для VPS: еженедельный Full бэкап + ежедневные дифференциальные. Восстановление требует только Full + последний дифференциальный. Acronis и аналоги реализуют дифференциальные бэкапы через блочное отслеживание изменений (CBT). Для баз данных дифференциальный бэкап реализован в MySQL через бинлоги, в PostgreSQL — через WAL archiving.
Типичные ошибки
- Бэкап и оригинал на одном диске — потеря диска = потеря всего.
- Не тестируется восстановление: бэкап, который нельзя восстановить, бесполезен.
- Дифференциальные бэкапы растут до размера Full, если Full давно не делался.