Инкрементальное резервное копирование
Инкрементальное резервное копирование — это метод создания резервных копий данных, при котором на каждом последующем сеансе копируются только те файлы или блоки данных, которые были изменены или созданы с момента выполнения предыдущего резервного копирования (полного или инкрементального). Данный подход позволяет значительно сократить объём хранимых данных и время, необходимое для выполнения резервного копирования, по сравнению с полным копированием, но требует более сложной процедуры восстановления.
Принцип работы
Основой инкрементального резервного копирования является отслеживание изменений в файловой системе или на уровне блоков данных. Для этого используется атрибут архивирования (archive bit) в файловых системах Windows или журнал изменений (change journal) в NTFS, а также аналогичные механизмы в Unix-подобных системах (например, ctime или mtime). При первом запуске обычно выполняется полное резервное копирование всех выбранных данных. Все последующие сеансы являются инкрементальными: система анализирует, какие файлы или блоки были изменены с момента последнего копирования (независимо от его типа), и копирует только эти изменения.
Например, если полное копирование выполнено в понедельник, то во вторник будут скопированы только изменения, произошедшие с понедельника по вторник. В среду — только изменения со вторника по среду, и так далее. Каждое инкрементальное копирование зависит от предыдущего, образуя цепочку.
Отличия от других методов
Дифференциальное резервное копирование
В отличие от инкрементального, дифференциальное копирование каждый раз копирует все изменения, произошедшие с момента последнего полного копирования. Например, после полного копирования в понедельник, во вторник копируются изменения за понедельник-вторник, а в среду — все изменения за понедельник-среду. Дифференциальные копии накапливают объём, но для восстановления требуется только полная копия и последняя дифференциальная, что упрощает процесс.
Полное резервное копирование
Полное копирование создаёт копию всех выбранных данных целиком. Оно требует наибольшего времени и объёма хранилища, но обеспечивает максимальную простоту восстановления (требуется только одна копия). Инкрементальное копирование является более эффективным по ресурсам, но требует хранения всей цепочки копий (полной и всех последующих инкрементальных) для восстановления последнего состояния.
Преимущества и недостатки
Преимущества
- Экономия дискового пространства: объём инкрементальных копий обычно значительно меньше полных, особенно при работе с редко изменяемыми данными.
- Скорость выполнения: резервное копирование занимает меньше времени, так как копируются только изменения.
- Снижение нагрузки на сеть: при удалённом резервировании трафик существенно сокращается.
- Частота выполнения: возможность выполнять резервирование чаще (например, ежечасно) без значительного увеличения затрат ресурсов.
Недостатки
- Сложность восстановления: для восстановления данных на определённый момент времени требуется последовательно применить все инкрементальные копии от последней полной до целевой точки. При повреждении любой копии в цепочке восстановление может стать невозможным.
- Время восстановления: процесс восстановления дольше, чем при использовании полных или дифференциальных копий, особенно при длинных цепочках.
- Зависимость от целостности: каждая инкрементальная копия зависит от предыдущей. Потеря одной копии делает невозможным восстановление всех последующих состояний.
Стратегии применения
Комбинированные схемы
На практике инкрементальное копирование редко используется в чистом виде. Чаще применяются гибридные стратегии:
- Полное + инкрементальные: периодически (например, еженедельно) выполняется полное копирование, а между ними — ежедневные инкрементальные. Это ограничивает длину цепочки и снижает риски.
- Синтетическое полное копирование: некоторые системы резервного копирования умеют создавать «синтетические» полные копии, объединяя предыдущую полную копию с последующими инкрементальными без повторного чтения исходных данных.
Уровни инкрементального копирования
В некоторых системах (например, в утилите tar в Unix) различают уровни инкрементального копирования. Уровень 0 — полная копия. Уровень 1 — копия изменений относительно уровня 0. Уровень 2 — копия изменений относительно уровня 1, и так далее. Это позволяет строить многоуровневые схемы.
Технологии реализации
Файловый уровень
Большинство традиционных систем резервного копирования (например, rsync, Bacula, Veeam Backup & Replication) работают на уровне файлов. Они отслеживают атрибуты файлов (дата изменения, размер) и копируют только изменившиеся файлы.
Блочный уровень
Современные системы (например, ZFS, btrfs, Windows Volume Shadow Copy) могут работать на уровне блоков данных. Они фиксируют, какие блоки диска были изменены, и копируют только их. Это позволяет создавать инкрементальные копии даже для больших файлов, где изменилась лишь небольшая часть.
Инкрементальное копирование виртуальных машин
В средах виртуализации (VMware vSphere, Microsoft Hyper-V) инкрементальное копирование может выполняться на уровне гипервизора, используя снапшоты (snapshots) виртуальных машин. Это позволяет создавать резервные копии целых виртуальных машин с минимальным влиянием на их работу.
Примеры программного обеспечения
- Bacula — открытая система резервного копирования, поддерживающая инкрементальные и дифференциальные копии.
- Veeam Backup & Replication — коммерческое решение для виртуальных сред, использующее инкрементальное копирование на блочном уровне.
- rsync — утилита для Unix-подобных систем, позволяющая выполнять инкрементальное копирование файлов с помощью алгоритма передачи изменений.
- Windows Server Backup — встроенное средство Windows Server, поддерживающее инкрементальное резервирование на уровне блоков.
- Duplicati — открытое программное обеспечение для резервного копирования с поддержкой инкрементальных копий и шифрования.
Восстановление данных
Процесс восстановления из инкрементальных копий включает следующие шаги:
- Восстановление последней полной копии.
- Последовательное применение всех инкрементальных копий в хронологическом порядке до целевой точки восстановления.
- Проверка целостности данных.
Для ускорения восстановления некоторые системы используют технологию «мгновенного восстановления» (instant recovery), когда виртуальная машина запускается непосредственно с резервной копии, а данные восстанавливаются в фоновом режиме.
Применение в России
В Российской Федерации инкрементальное резервное копирование широко применяется в государственных и коммерческих организациях для обеспечения сохранности данных. В соответствии с требованиями Федерального закона № 152-ФЗ «О персональных данных» и приказами ФСТЭК России, системы резервного копирования должны обеспечивать возможность восстановления данных с заданной периодичностью. Инкрементальное копирование часто используется в составе комплексных систем защиты информации, сертифицированных ФСТЭК (например, «Кибер Бэкап», «Акронис» — программное обеспечение компании Acronis International GmbH, которая не является резидентом РФ, но продукт используется в России).
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных».
- Приказ ФСТЭК России от 18.02.2013 № 21 «Об утверждении Состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных».
- «Резервное копирование и восстановление данных» — учебное пособие, под ред. А. В. Лукацкого, 2020.
- Документация к программным продуктам Bacula, Veeam, rsync.
- ISO/IEC 27040:2015 «Information technology — Security techniques — Storage security».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →