Разностный бэкап. Резервирование данных средствами ОС Windows

Приветствую, уважаемые посетители сайт! Продолжим начатую в прошлом посте данной рубрики тему и на этот раз более подробно рассмотрим, каким образом осуществляется инкрементное резервное копирование.

Каждый блок данных в файле данных содержит системный номер изменения (SCN), который является номером SCN, на котором было произведено новое изменение в блоке. Во время инкрементного резервного копирования RMAN читает SCN каждого блока данных во входном файле и сравнивает его с SCN контрольной точки родительского инкрементного резервного копирования. Если SCN в входном блоке данных больше или равно, чем SCN контрольной точки родителя, то RMAN копирует блок.

Отметьте, что, если Вы активируете опцию отслеживания изменений блоков, RMAN может обратиться к файлу отслеживания изменений, чтобы идентифицировать измененные блоки в файлах данных, не сканируя все содержимое файла данных. После включения, отслеживание изменений блоков не повлияет на то, как Вы осуществляете или используете инкрементные резервные копии, а только предлагает улучшенную производительность.

Инкрементные Резервные копии Уровня 0 и Уровня 1

Инкрементные резервные копии могут быть уровня 0 или уровня 1. Инкрементный бэкап Уровня 0, который является основой для последующих инкрементных бэкапов, копирует все блоки, содержащие данные, резервируя файл данных в резервный набор, как при полном резервном копировании. Единственная разница между инкрементным бэкапом уровня 0 и полным бэкапом состоит в том, что полный бэкап никогда не включается в инкрементную стратегию.

Инкрементный бэкап уровня 1 может иметь один из следующих типов:

  • Дифференциальный бэкап, который резервирует все блоки, измененные после последнего инкрементного бэкапа на уровне 1 или 0
  • Кумулятивный бэкап, который резервирует все блоки, измененные после последнего инкрементного бэкапа на уровне 0

Инкрементные бэкапы являются дифференциальными по умолчанию.

Размер файла бэкапа зависит исключительно от количества модифицированных блоков и уровня инкрементного резервного копирования.

Дифференциальные Инкрементные Бэкапы

В дифференциальном бэкапе уровня 1 RMAN резервирует все блоки, которые изменились, начиная с последнего кумулятивного или дифференциального инкрементного бэкапа на уровне 1 или 0. RMAN определяет, какой бэкап уровня 1 был последний раз и резервирует все блоки, модифицированные после этого бэкапа. Если никакой бэкап уровня 1 не доступен, RMAN копирует все блоки, измененные начиная с бэкапа уровня 0.

Следующая команда выполняет дифференциальный инкрементный бэкап уровня 1 базы данных:

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

Если бэкап уровня 0 не доступен, то поведение зависит от установки режима совместимости. Если совместимость >=10.0.0, RMAN копирует все блоки, измененные с момента создания файла и сохраняет результаты как бэкап уровня 1. Другими словами, во время инкрементного резервного копирования берется SCN, равный SCN создания файла. Если совместимость <10.0.0, RMAN генерирует бэкап уровня 0 содержимого файла во время резервного копирования, чтобы не было противоречия с предыдущими релизами.

Рисунок 1 Дифференциальные Инкрементные Бэкапы (по умолчанию)

  • В воскресенье
    Инкрементный бэкап уровня 0 резервирует все
  • С понедельника – по субботу
    Каждый день с понедельника до субботы дифференциальный инкрементный бэкап уровня 1 резервирует все блоки, которые изменились, начиная с последнего инкрементного бэкапа на уровне 1 или 0. Так, бэкап в понедельник копирует блоки, измененные начиная с воскресного бэкапа уровня 0, бэкап во вторник копирует блоки, измененные начиная бэкапа уровня 1 в понедельник 1 и т.д.

Кумулятивные Инкрементные Бэкапы

В кумулятивном бэкапе уровня 1 RMAN резервирует все блоки, которые использовались, начиная с последнего инкрементного бэкапа уровня 0. Кумулятивные инкрементные бэкапы уменьшают работу, необходимую для восстановления, гарантируя, что Вам потребуется только один инкрементный бэкап от любого определенного уровня. Однако, кумулятивные резервные копии требуют больше пространства и времени, чем дифференциальные бэкапы, поскольку они копируют работу, сделанную предыдущими бэкапами на том же самом уровне.

Следующая команда выполняет кумулятивный бэкап уровня 1 базы данных:

BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; # блоки, измененные с уровня 0

Рисунок 2 Кумулятивные Инкрементные Бэкапы

В примере, показанном на , происходит следующее:

  • В воскресенье
    Инкрементный бэкап уровня 0 резервирует все блоки, которые когда-либо использовались в этой базе данных.
  • С понедельника – по субботу
    Кумулятивный инкрементный бэкап уровня 1 копирует все блоки, измененные начиная с последнего бэкапа уровня 0. Поскольку последний бэкап уровня 0 создавался в воскресенье, бэкап уровня 1 каждый день с понедельника до субботы резервирует все блоки, которые измененились начиная с воскресного бэкапа.
  • Цикл повторяется в течение следующей недели.

Простая Стратегия Инкрементного резервного копирования

Выберите схему резервирования согласно приемлемому MTTR (сокр. от mean time to recover – среднее время для восстановления). Например, можно реализовать трехуровневую схему резервирования так, чтобы полный или бэкап уровня 0 брался ежемесячно, кумулятивный бэкап уровня 1 брался еженедельно и дифференциальный бэкап уровня 1 брался ежедневно. В этой схеме Вам никогда не придется применять запас журналов транзакций более чем за один день для полного восстановления.

Решая, как часто брать полный или бэкап уровня 0, используйте хорошее эмпирическое правило: следует брать новый бэкап уровня 0 каждый раз, когда 50 % или более данных изменились. Если темп изменения вашей базы данных предсказуем, то можно наблюдать за размером инкрементных резервных копий, чтобы определить, когда следует брать очередной бэкап уровня 0. Следующий запрос выводит на экран количество блоков, записанных в набор резервирования для каждого файла данных с по крайней мере 50 % его зарезервированных блоков:

SELECT FILE#, INCREMENTAL_LEVEL, COMPLETION_TIME, BLOCKS, DATAFILE_BLOCKS FROM V$BACKUP_DATAFILE WHERE INCREMENTAL_LEVEL > 0 AND BLOCKS / DATAFILE_BLOCKS > .5 ORDER BY COMPLETION_TIME;

Сравните количество блоков в дифференциальных или кумулятивных резервных копиях с базовым бэкапом уровня 0. Например, если Вы создаете только кумулятивные резервные копии уровня 1, то после взятия очередного нового бэкапа уровня 1 с размером приблизительно в половину размера базового бэкапа уровня 0, берите новый бэкап уровня 0.

Спасибо за внимание!.

Полные, инкрементные и дифференциальные резервные копии

Acronis Backup & Recovery 11 предоставляет возможность использования популярных схем резервного копирования, таких как «дед-отец-сын» и «Ханойская башня», а также создания собственных схем резервного копирования. Все схемы резервного копирования строятся на основе методов полного, инкрементного и дифференциального резервного копирования. Термин «схема» в действительности обозначает алгоритм применения этих методов в сочетании с алгоритмом очистки архива.

Сравнение методов резервного копирования между собой не имеет смысла, поскольку в схеме они работают в совокупности. Каждый метод должен выполнять собственную роль в соответствии со своими преимуществами. Грамотная схема резервного копирования позволяет использовать преимущества всех методов, уменьшая влияние их недостатков. Например, еженедельное создание дифференциальных резервных копий облегчает очистку архива, поскольку их легко удалять вместе с набором зависящих от них ежедневных инкрементных резервных копий, сохраняемых в течение недели.

Резервное копирование с помощью методов полного, инкрементного или дифференциального резервного копирования создает резервную копию соответствующего типа.

Полная резервная копия

В полной резервной копии хранятся все данные, выбранные для резервного копирования. Полная резервная копия лежит в основе любого архива и формирует базу для инкрементных и дифференциальных резервных копий. Архив может содержать несколько полных резервных копий или состоять только из них. Полная резервная копия является самодостаточной: чтобы восстановить из нее данные, доступ к любой другой резервной копии не требуется.

Широко известно, что полная резервная копия - самая медленная для создания и самая быстрая для восстановления. С помощью технологий Acronis восстановление из инкрементной резервной копии может выполняться так же быстро, как из полной.

Полное резервное копирование наиболее полезно в следующем случае:

  • требуется восстановить систему до исходного состояния,
  • исходное состояние изменяется редко, поэтому нет необходимости для регулярного резервного копирования.

Примеры: интернет-кафе, школа или университетская лаборатория, в которых администратор часто отменяет изменения, сделанные студентами или гостями, но базовую резервную копию обновляет редко (только после установки обновлений программного обеспечения). Время создания резервной копии в этом случае не является решающим, а время восстановления будет минимальным, если восстанавливать систему из полной резервной копии. Для обеспечения дополнительной надежности администратор может иметь несколько полных резервных копий.

Инкрементная резервная копия

В инкрементной резервной копии хранятся изменения данных по отношению к последнему резервному копированию . Чтобы восстановить данные из инкрементной резервной копии, необходим доступ к другим резервным копиям из того же архива.

Инкрементное резервное копирование наиболее полезно в следующем случае:

  • требуется восстановить одно из нескольких сохраненных состояний,

Широко известно, что инкрементные резервные копии менее надежны, чем полные, так как, если повреждена одна копия в «цепочке», следующие копии уже нельзя использовать. Тем не менее хранение нескольких полных резервных копий не является оптимальным вариантом, если требуется иметь несколько предыдущих версий данных, потому что надежность слишком большого архива еще более сомнительна.

Пример: резервное копирование журнала транзакций базы данных.

Дифференциальная резервная копия

В дифференциальной резервной копии хранятся изменения данных по отношению к последнему полному резервному копированию . Чтобы восстановить данные из дифференциальной резервной копии, необходим доступ к соответствующей полной резервной копии. Дифференциальное резервное копирование наиболее полезно в следующем случае:

  • необходимо сохранить только последнее состояние данных,
  • изменения данных относительно невелики по сравнению с общим размером данных.

Обычно считается, что «дифференциальные резервные копии дольше создаются и быстрее восстанавливаются, а инкрементные быстрее создаются и медленнее восстанавливаются». В действительности не существует физической разницы между инкрементной резервной копией, прилагаемой к полной, и дифференциальной копией, прилагаемой к той же полной резервной копии, на один и тот же момент времени. Упомянутая выше разница подразумевает, что дифференциальная резервная копия создана после (или вместо) создания нескольких инкрементных копий.

Инкрементная или дифференциальная резервная копия, созданная после дефрагментации диска, может иметь значительно больший объем, чем обычно, потому что в процессе дефрагментации изменяется местоположение файлов на диске и резервная копия отражает эти изменения. После дефрагментации диска рекомендуется заново создавать полную резервную копию.

В следующей таблице указаны общепризнанные преимущества и недостатки каждого типа резервного копирования. В действительности эти параметры зависят от множества факторов, таких как объем, скорость и характер изменения данных, их природа, физические характеристики устройств, установленные параметры резервного копирования и восстановления. Лучшим учителем в выборе оптимальной схемы резервного копирования является опыт.

Параметр

Полная резервная копия

Дифференциальная резервная копия

Инкрементная резервная копия

Дисковое пространство

Максимальное

Минимальное

Время создания

Максимальное

Минимальное

Время восстановления

Минимальное

Максимальное

Сегодня мы рассмотрим принципы организации инкрементального и дифференциального резервного копирования с использованием программы .

Часто пользователи используют APBackup для полного сохранения данных, например в одну и туже директорию или каждый раз в разные архивы с использованием , а так же параметра глубина архива. Это хорошо работает на не больших объемах данных. Но если, например, каждый день необходимо архивировать полностью большой объем информации (например, несколько десятков гигабайт) то полный архив может занять много времени, а так затормозить работу компьютера. Хотя в имеется механизм позволяющий регулировать нагрузку на процессор компьютера (задание низкого приоритета процессу архивирования, автоматические паузы в процессе архивирования,..).

В таком случае нам необходимо будет организовать резервное копирование с использованием APBackup только измененных и новых файлов с момента последнего полного бэкапа, что займет не много времени, особенно в случае резервного копирования на FTP.

Чем отличается инкрементальное и дифференциальное копирование? Допустим мы сделали полную резервную копию исходного каталога и теперь каждый день необходимо сохранять изменения этого каталога. В случае инкрементального бэкапа, каждый день программа будет архивировать только новые или измененные файлы с момента последнего бэкапа (полного или инкрементального). Таким образом, что бы восстановить исходный каталог в случае аварии нам понадобится полный архив и ВСЕ инкрементальные копии с момента создания этого полного архива. В случае дифференциального копирования каждый день будет создаваться нарастающий архив новых и измененных файлов с момента полного архива. Т.е. каждый следующий дифференциальный архив содержит файлы, входящие во все предыдущие дифференциальные архивы. При восстановлении нам понадобится только полный архив и ПОСЛЕДНИЙ дифференциальный.

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

Итак, для определенности, допустим нам необходимо организовать резервное копирование папки C:\work\ в архив D:\backup\ . Мы будем делать полный бэкап по воскресеньям (например, выходной, когда никто не работает с сервером) а инкрементальные копии каждый вечер остальных дней недели.

Режим копирования может быть ЛЮБОЙ, программа будет работать одинаково в любом режиме: Архивирование (возможно с использованием внешнего архиватора), копирование, копирование на FTP. В нашем примере это будет архивирование с использованием внутреннего архиватора.

Итак, для начала создадим задание для организации полного копирования.

Назовем задание TEST_FULL, режим копирования: «Архивировать» , Вид резервного копирования: «Сохранять все файлы»

Расписание: еженедельно по воскресеньям .

Источник: «C:\WORK»

Для сохранения полного архива используем папку «d:\backup\» , архив имеет префикс «FULL_» + формат даты . Глубина = 1, т.е. будет сохранен только 1 последний полный архив.

В принципе, для надежности можно копирование полного архива в дополнительные директории на другом сервере и даже на FTP сервер в этом же задании.

Теперь, когда задание для полного резервного копирования готово, можно создать его копию для настройки инкрементального резервного копирования. Копию задания можно сделать, находясь в основном окне программы через меню «Задание»-> «Создать копию (F5)»

После создания копии будет открыто окно конфигурации нового задания. Нам необходимо внести следующие изменения в новом задании:

Описание: «TEST_INC», Вид резервного копирования: «Только новые и измененные файлы (с последнего архива)» . Это как раз инкрементальный режим резервного копирования. Для выбора дифференциального режима необходимо выбрать режим копирования: «Только новые и измененные файлы (с последнего полного архива)»

В расписании изменим дни недели выберем все дни недели кроме воскресенья, когда у нас будет происходить полное резервное копирование

На закладке «Сохранение архива» необходимо изменить префикс архива на другой чем у полной копии, изменим на «INC_». А так же изменим глубину архива на 7 ДНЕЙ. Т.к. для восстановления нам понадобятся ВСЕ инкрементальные копии с момента полного архива т.е. все копии за последние 7 дней. В случае дифференциального копирования глубину можно задавать 1 день, т.к. нам необходимо будет только последний архив.

Заметим, что возможно изменить и директорию архива, например, полные резервные копии сохранять на одном диске, а инкрементальные на другом.

После создания этих двух заданий APBackup будет работать так, как и было задумано, т.е. создавать полную резервную копию по воскресеньям, а инкрементальные копии по остальным дням недели.

Что такое дифференциальный бэкап?

Дифференциальный бэкап.
Копирование только добавленных и измененных файлов по сравнению с полной копией.

Дифференциальный бэкап - это тип резервного копирования файлов , при котором копируются не все исходные файлы, а только новые и измененные с момента создания предыдущей полной копии. Он является чем-то средним между полным резервным копированием и инкрементальным. Название этого типа произошло от английского слова Differential backup и является накопительным , т.е. каждая следующая копия содержит все новые/измененные файлы с момента создания предыдущей полной резервной копии. В русском языке этот тип копирования называется Разностным или дифференцированным. Как и каждый другой, этот тип также имеет свои достоинства и недостатки.

Плюсы :

  • Относительно небольшой размер разностной резервной копии, по сравнению с полной
  • Скорость создания в разы выше, чем полного бекапа
  • Для восстановления файлов потребуется последний созданный полный бэкап и последний дифференциальный

Минусы :

  • Избыточность данных, так как дифф.бекап является накопительным

Вывод : Создавайте дифференциальный backup в том случае, если объем исходных данных большой, файлы в исходной папке изменяются не слишком интенсивно, а простота и скорость восстановления файлов для вас являются критичными. Создание дифференциальных копий происходит достаточно быстро, если накопленных изменений с момента создания полной немного. Оптимальная периодичность создания Differential backup - 1 раз в час, если исходные файлы изменяются часто и 1-2 раза в день, если файлы редактируются редко.

Как создать дифференциальный бэкап с помощью Exiland Backup

Рассмотрим, как создать разностный бэкап файлов вашего ПК с помощью простой утилиты Exiland Backup.

Установите Exiland Backup, запустите программу.

После запуска, на верхней панели нажмите на кнопку создания нового задания, впишите наименование задания, например, "Мои документы" и нажмите "Далее". На следующем экране мастера выберите тип копирования "Разностный (Differential)".


Мастер создания задания. Выбор типа "Разностный (differential)".

После выбора типа внизу окна вы можете ограничить число полных копий (по-умолчанию 10) - тогда при достижении этого ограничения самая старая полная резервная копия будет автоматически удалена, после чего будет создана новая (эта настройка недоступна в версии Free). Кроме того, вы можете ограничить число дифференциальных копий между полными (по-умолчанию 8). При достижении заданного ограничения будет создана очередная полная копия.

На последующих шагах мастера укажите исходную папку, дубликат которой требуется создать, и куда сохранять. Расписание запуска задания пока можете не задавать.

При указании шаблона наименования резервных копий, вы можете добавить строку, например, " (differential)", для дифференциальных, чтобы визуально можно было легко отличить их от полных.

После создания задания запустите его вручную, нажав на кнопку "Выполнить" сверху, на панели.

При первом выполнении задания создастся полная копия. Скопируйте проводником Windows любой файл в исходную папку и запустите задание повторно. Создастся разностная, в которой будет находиться только новый файл.

Михаил, разработчик Exiland Backup

Другие типы резервирования:

Резервное копирование данных - то, что должен регулярно выполнять каждый активный пользователь компьютера, который не хочет потерять всю свою информацию (или часть от нее) при неожиданном сбое. Часто в различных приложениях, предназначенных для резервного копирования информации, можно встретить три механизма, как создать копию: полностью, инкрементно или дифференциально. В рамках данной статьи рассмотрим, чем эти методы копирования отличаются друг от друга.

Оглавление:

Методы резервного копирования данных

Программ, которые разработаны для создания резервной копии информации, много, как в операционной системе Windows, там и в Mac OS. Все они выполняют примерно одинаковые действия - создают резервную копию операционной системы, полностью копируют диск, его некоторые разделы, папки или прочие данные, в зависимости от настроек, выбранных пользователем. После чего эти резервные копии можно использовать для восстановления информации.

Созданная резервная копия нуждается в постоянной актуализации. На базе примененных в программе условий создания бэкапа можно выполнить создание копии, при этом выбрав механизм резервного копирования:

  • Создание полной копии;
  • Генерация инкрементной копии;
  • Создание дифференциальной копии.

Данные действия имеются во многих приложений, например, в одной из самых популярных программ для резервного копирования данных, AOMEI Backupper. В рамках данной статьи примеры будут рассмотрены на ней, но найти подобные механизмы резервного копирования можно и в других программах.

Полное резервное копирование

При подобном методе резервного копирования снимки системы, которые генерируются в рамках одной задачи по бэкапу, способны работать независимо друг от друга. Повреждение одного из таких снимков никак не повлияет на работу других. То есть, при полном резервном копировании снимок системы содержит в себе всю резервируемую информацию.

Метод полного резервного копирования самый надежный, но и самый расточительный в плане ресурсов. Чтобы создать резервную копию операционной системы Windows и нескольких небольших приложений, потребуются десятки гигабайт. Соответственно, постоянно сохранять такие полноценные бэкапы и хранить их на жестком диске нерационально и расточительно с точки зрения свободного пространства на накопителе. Именно поэтому используются два других механизма, рассмотренных ниже.

Инкрементное резервное копирование

Инкрементное резервное копирование данных подразумевает, что пользователь при создании бэкапа единожды генерирует полноценную копию системы и всех файлов, а все создаваемые в будущем копии являются дочерними к главной и предыдущим, то есть, содержат в себе исключительно информацию о произошедших изменениях - удаленных, измененных и созданных файлах.

Таким образом, каждая последующая после первой инкрементная копия содержит в себе только информацию об изменениях. Выглядит это примерно так:

  • Вторая копия. Дочерняя - содержит в себе информацию об изменении данных со времен создания первой копии;
  • Третья копия. Дочерняя ко второй - содержит в себе информация об изменении данных со времен создания второй копии.

Плюс подобного метода резервного хранения данных, в сравнении с первым, меньший размер копий (каждая новая инкрементная копия весит десятки-сотни мегабайт, в зависимости от количества произошедших изменений). Минус - обращение каждой новой копии к предыдущей при восстановлении. То есть, если одна из копий повреждена, придется выполнять восстановление к последней рабочей копии в непрерывной цепи от первой. Кроме того, восстановление из инкрементной копии происходит дольше по времени, чем из других методов резервного копирования.

Дифференциальное резервное копирование

Дифференциальный метод копирования близок к инкрементному по смыслу, но между ними имеется ключевое различие. В рамках дифференциального копирования новые снимки являются дочерними к первому.

Это значит, что при первом резервном копировании дифференциальным методом создается полная копия системы, после чего все последующие снимки содержат в себе информацию о произошедших изменениях от первой копии. Выглядит это примерно следующим образом:

  • Первая копия. Основная - содержит в себе всю информацию;
  • Вторая копия. Дочерняя - содержит в себе сведения об изменении данных со времен создания первой копии;
  • Третья копия. Дочерняя - содержит в себе сведения об изменении данных со времен создания первой копии.

Как можно видеть, третья копия при дифференциальном методе резервного копирования не является дочерней ко второй. То есть, если с одним из дифференциальных снимков возникнут проблемы, можно будет восстановиться к любой другой рабочей дифференциальной копии. Это ключевое отличие дифференциального резервного копирования от инкрементного.

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

Какой метод резервного копирования лучше

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

  • Полное резервное копирование. Самый надежный способ. Подойдет тем пользователям, которые имеют возможность хранить большие по объему бэкапы;
  • Инкрементное резервное копирование. Лучший вариант для пользователей, которые делают бэкап на диске малого объема, например, на SSD-накопителе. Преимущество этого метода, в сравнении с дифференциальным резервным копированием, только в размере каждого нового снимка системы;
  • Дифференциальное резервное копирование. Лучший вариант для пользователей домашних компьютеров. При таком методе копирования озаботиться нужно только сохранностью первой копии.
Компьютер