Резервное копирование Определение, назначение. Резервное копирование - процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном месте их расположения в случае их повреждения или разрушения. Резервное копирование необходимо для возможности быстрого и недорогого восстановления информации (документов, программ, настроек и т. д.) в случае утери рабочей копии информации по какой-либо причине (например, отказ жесткого диска). Существующие решения В данном разделе будут рассмотрены некоторые существующие решения в сфере резервного копирования. Свободное ПО AMANDA (лицензия BSD)— ПО с открытым исходным кодом для архивирования информации, обладающее возможностью резервного копирования данных, постоянно хранящихся на множестве компьютеров в компьютерной сети. Используется клиент-серверная модель, включающая следующие компоненты: сервер резервного копирования и клиент для него; сервер лент; индексирующий сервер. Bacula (лицензия GNU GPL) — набор программ, позволяющий управлять резервным копированием, восстановлением и верификацией данных по всей сети, которая может содержать компьютеры различных типов. dump — утилита Unix, предназначенная для создания резервных копий файловых систем. Позволяет создавать как полные резервные копии, так и добавочные. Позволяет перенаправлять поток создаваемой копии другой программе, например ssh (для резервной копии на удаленном сервере) или dvd+rw-tools (для резервной копии на DVD). Проприетарное ПО Acronis True Image. Позволяет восстановить данные сервера или рабочей станции, включая операционную систему, учётные записи пользователей, приложения и их настройки. Поддерживает использование популярных схем резервного копирования (дед-отец-сын, ханойские башни) и создание своих схем. Поддерживается сжатие и шифрование резерных копий. Ghost. Основные возможности продукта:: Полное и инкрементальное резервное копирование сжатие и шифрование, резервное копирование файлов и папок, резервное копирование на основе событий, локальное и внешнее резервное копирование Методы и схемы резервного копирования В данном разделе объясняется понятие «схемы резервного копирования» и приводится описание трех распространенных схем: простая схема, схема дед-отец-сын, ханойские башни. Существует несколко методов резервного копирования, которые описаны ниже. Под схемой резервного копирования понимается алгоритм (последовательность и способ) применения методов резервного копирования в сочетании с алгоритмом очистки архива. Методы резервного копирования Полная резервная копия В полной резервной копии хранятся все данные, выбранные для копирования. Чтобы восстановить данные из полной резервной копии, не требуется доступа к другим резервным копиям. Инкрементальная резервная копия В инкрементальной резервной копии хранятся изменения данных по отношению к последнему резервному копированию (в отличие от дифференциальной резервной копии, в которой хранятся изменения только к полной резервной копии). Чтобы восстановить данные из инкрементальной резервной копии, требуется доступ к другим копиям того же архива (т.е. ко всем предыдущим копиям). Дифференциальная резервная копия В дифференциальной резервной копии хранятся изменения данных относительно полной резервной копии. Чтобы восстановить данные из дифференциальной резервной копии, необходим доступ к соответствующей полной резервной копии. Схемы резервного копирования Простая схема При использовании простой схемы используется циклическое повторение следующего процесса: в первый день создается полная резервная копия, в последующие дни создаются инкрементальные (или дифференциальные) резервные копии. К примеру, в понедельник каждой недели создается полная копия, а в оставшиеся дни недели – инкрементальная. Таким образом, при использовании схемы можно восстановить данные на момент создания полной резервной копии и в любой день текущей недели. Дед-отец-сын Данная схема имеет иерархическую структуру. Резервное копирование производится один раз в день, при этом создаются ежедневные инкрементные («сын»), еженедельные дифференциальные (или полные) («отец») и ежемесячные полные («дед») резервные копии . День для создания еженедельных и ежемесячных резервных копий выбирается произвольно, также произвольно выбираются сроки хранения для резервных копий каждого типа. Ханойские башни Схема предусматривает наличие нескольких уровней резервного копирования. На последнем уровне находятся полные резервные копии, копии промежуточных уровней являются дифференциальными, на первом уровне находятся инкрементальные резервные копии. При этом в архиве на каждом уровне хранятся только последние резервние копии (например, для схемы из 4-х уровней архив будет выглядеть так: 4 1 2 1 3 1 2 1 4 1 2 1, цифрами 1-4 обозначены номера уровней). Особенность данной схемы состоит в том, что в разные дни количество дней, на которое можно вернуться назад, разное. При добавлении в схему еще одного уровня периоды отката (минимальное гарантированное количество дней, на которое можно вернуться назад) и периоды наличия полной резервной копии удваиваются. Пример применения схем резервного копирования Рассмотрим следующую ситуацию: В IT-компании имеется проектный репозиторий (т.е. место хранения файлов проекта с сохранением версий всех файлов). Требуется обеспечить однодневную доступность репозитория (т.е. в случае повреждения репозитория должна быть резервная копия давностью не более одного дня). Поскольку в репозитории сохраняется вся история изменений файлов, достаточно хранить только однодневную полную резервную копию. Для ускорения процедуры создания резервной копии можно воспользоваться простой схемой с промежуточными дифференциальными копиями. Тогда полная резервная копия будет создаваться только один раз в какой-либо срок (зависящий от объема репозитория и от характера изменения файлов), в остальные дни будет создаваться дифференциальные копии.