Оглавление
Введение
Глава 1. Обзор современного состояния проблем существующих методов и алгоритмов резервного копирования данных на жестких дисках. Постановка задачи исследований
1.1 Принципы организации данных на жестких дисках. Запись, копирование, удаление данных с жесткого диска
1.2 Обзор существующих методов и алгоритмов резервного копирования данных на жестких дисках. Исследование предметной области
1.3 Постановка задачи
ВВЕДЕНИЕ
Актуальность темы. Информации, хранящейся в компьютерных системах, угрожает множество опасностей. Данные могут быть утеряны по причинам ошибок программного обеспечения, неумелой работы пользователей, сбоев физических носителей и средств связи, злонамеренной порчи данных. Абсолютной защиты от всех этих угроз не существует, риск утраты данных существует всегда.
Как показывает общемировая статистика, основными причинами потерь данных являются неисправная работа аппаратных средств (44%) и человеческие ошибки (32%), в основном тех, кто имеет максимальный уровень доступа к системам хранения данных компании. 14% всех случаев потерь данных происходят вследствие ошибок программного обеспечения, другие 7% происходят из-за компьютерных вирусов, а вследствие стихийных бедствий – только 3%.
Сбои приводят к приостановлению бизнес-процессов и потере данных, тем самым ставят под вопрос существование бизнеса в целом. Пожалуй, единственный способ надежно сохранить нужную информацию - периодически создавать резервные копии.
Внедряя системы хранения данных и резервного копирования, компания сталкивается со сложными задачами оценки ее текущих потребностей, планировании будущих объемов данных, выбора технологий и архитектур, которые должны максимально соответствовать требованиям безопасности, возможности последующего масштабирования, удовлетворять техническим требованиям скорости записи, чтения, восстановления данных и многим другим условиям. Выявить оптимальное решение очень непросто, особенно учитывая широкое многообразие существующих путей реализации систем хранения и резервного копирования, а также довольно высокую динамику изменения цен и появления новых технологий на IT рынке.
У клиентов разные приоритеты, однако, существует общая для всех проблема – стремительный рост объемов хранимых данных, составляющий 50-100% в год. Так по результатам исследования компании IDC – совокупный объем информации, хранящейся в электронном виде, в 2006 году составил 161 эксабайт (1 эксабайт равен 1018 байт). Аналитики предполагают, что за период с 2006 по 2010 годы общий объем информации увеличится, по крайней мере, в шесть раз. Соответственно, все серьезнее становится проблема надежного хранения данных и скорости доступа к ним.
При таких темпах роста традиционные системы становятся неэффективными, необходима оптимизация процессов хранения, создания резервных копий, внедрение решений класса ILM (Information Lifecycle Management - управление жизненным циклом информации).
Резервное копирование в глазах большинства специалистов все еще не является достаточно надежным. 45% респондентов заявили, что в примерно 10% случаях испытывали неудовлетворительный результат при использовании всякого рода систем резервного копирования, причем по сравнению с данными опроса 2007 года этот показатель удвоился.
Отчасти это объясняется неверным выбором инструментов. По данным компании IDC, причиной 40% случаев полной утраты данных американскими компаниями является пренебрежительное отношение к технологиям хранения. При этом только 10% из этих компаний смогли вернуться к бизнесу и лишь 4% из них выжили в течение последующих трех лет.
Действительно, построение высокоэффективной системы хранения данных, отвечающих реальным требованиям организации, а также выбор наиболее подходящей системы резервного копирования – процесс весьма сложный и трудоемкий.
Известно, что используемые алгоритмы резервного копирования имеют ряд существенных недостатков, в частности не предоставляют выбора соотношений основных характеристик процессов резервного копирования: времени создания копий, восстановления данных, объема хранилища. Требуется разработка алгоритма, обладающего повышенной эффективностью, регулируемым балансом основных характеристик. Для этого требуется комплексное исследование количественных характеристик избыточности известных алгоритмов резервирования: полного, дифференциального, мультиуровневого, алгоритма А. М. Костелло, К. Юманса, Ф. Ву, алгоритма Z Scheme.
Целью данной работы является исследование и разработка методов и алгоритмов резервного копирования данных на жестких дисках.
В дипломной работе поставлены и решены следующие задачи:
1. Дать обзор современного состояния проблем существующих методов и алгоритмов резервного копирования данных на жестких дисках;
2. Исследовать свойства и параметры алгоритма типа disk snap-shot backup и files/folders backup;
3. Разработать функциональную схему алгоритма резервного копирования данных на жестких дисках;
4. Разработать структурную схему алгоритма резервного копирования данных на жестких дисках;
5. Провести экспериментальную проверку разработанного алгоритма резервного копирования данных на дисках;
6. Сопоставить полученные при экспериментах результаты с результатами ранее разработанных методов.
Объект исследования — системы резервного копирования данных.
Предметом исследования являются характеристики алгоритмов создания резервных копий на жестких дисках.
Глава 1. ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ПРОБЛЕМ СУЩЕСТВУЮЩИХ МЕТОДОВ И АЛГОРИТМОВ РЕЗЕРВНОГО КОПИРОВАНИЯ ДАННЫХ НА ЖЕСТКИХ ДИСКАХ. ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЙ
1.1 Принципы организации данных на жестких дисках. Запись, копирование, удаление данных с жесткого диска
В информационных системах, базовым элементом которых является компьютер, основные объёмы информации хранятся на жёстких магнитных дисках.
Именно в накопителе на жестких магнитных дисках хранится и с него загружается в оперативную память компьютера его операционная система, информация, обрабатываемая в процессе использования, а также использованная и удаляемая информация.
Широкому применению накопителей на жестких дисках способствует ряд его положительных эксплуатационных качеств: надежность, быстрота доступа и дешевизна в расчёте на единицу хранения информации. Кроме того, один из самых важных показателей - энергонезависимость делает НЖМД практически незаменимым для оперативного и долговременного хранения больших массивов информации.
Информация на жестком диске храниться в секторах физически расположенных на магнитной поверхности обеих сторон магнитных дисков. Сектора в свою очередь располагаются на дорожках (цилиндрах), которых на одной дорожке может быть от 17 д 150 и выше.
Количество секторов может быть разным в зависимости от плотности дорожек и типа накопителя. Например, дорожка гибких дисков может содержать от 8 до 36 секторов, а дорожка жесткого диска — от 380 до 700. Секторы, создаваемые с помощью стандартных программ форматирования, имеют емкость 512 байт, но не исключено, что в будущем эта величина изменится.
Нумерация секторов на дорожке начинается с единицы, в отличие от головок и цилиндров, отсчет которых ведется с нуля.
При форматировании диска в начале и конце каждого сектора создаются дополнительные области для записи их номеров, а также прочая служебная информация, благодаря которой контроллер идентифицирует начало и конец сектора. Это позволяет отличать неформатированную и форматированную емкости диска. После форматирования емкость диска уменьшается, поскольку для обеспечения нормальной работы накопителя некоторое пространство на диске должно быть зарезервировано для служебной информации.
В начале каждого сектора записывается его заголовок (или префикс — prefix portion), по которому определяется начало и номер сектора, а в конце — заключение (или суффикс — suffix portion), в котором находится контрольная сумма (checksum), необходимая для проверки целостности данных. В большинстве новых дисководов вместо заголовка используется так называемая запись No-ID, вмещающая в себя больший объем данных. Помимо указанных областей служебной информации, каждый сектор содержит область данных емкостью 512 байт. При низкоуровневом (физическом) форматировании всем байтам данных присваивается некоторое значение, например F6h.
Утверждать, что размер любого сектора равен 512 байт, не вполне корректно. На самом деле в каждом секторе можно записать 512 байт данных, но область данных — это только часть сектора. Каждый сектор на диске обычно занимает 571 байт, из которых под данные отводится только 512 байт. В различных накопителях пространство, отводимое под заголовки (header) и заключения (trailer), может быть разным, но, как правило, сектор имеет размер 571 байт.
Чтобы очистить секторы, в них зачастую записываются специальные последовательности байтов. Заметим, что, кроме промежутков внутри секторов, существуют промежутки между секторами на каждой дорожке и между самими дорожками. При этом ни в один из указанных промежутков нельзя записать "полезные" данные. Префиксы, суффиксы и промежутки — это как раз то пространство, которое представляет собой разницу между неформатированной и форматированной емкостями диска и "теряется" после его форматирования.
А теперь перейдем к описанию некоторых областей сектора и дорожки записи. Послеиндексный интервал нужен для того, чтобы при перемещении головки на новую дорожку переходные процессы (установка) закончились до того, как она окажется перед ее первым сектором. В этом случае его можно начать считывать сразу, не дожидаясь, пока диск совершит дополнительный оборот. В некоторых накопителях, работающих с чередованием (interleave) 1:1, упомянутой задержки недостаточно. Дополнительное время можно обеспечить за счет смещения секторов таким образом, чтобы первый сектор дорожки под головкой появлялся с задержкой.
Идентификатор (ID) сектора состоит из полей записи номеров цилиндра, головки и сектора, а также контрольного поля CRC для проверки точности считывания информации ID. В большинстве контроллеров седьмой бит поля номера головки используется для маркировки дефектных секторов в процессе низкоуровневого форматирования или анализа поверхности. Однако такой метод не является стандартным, и в некоторых устройствах дефектные секторы помечаются иначе. Но, как правило, отметка делается в одном из полей ID.
Интервал включения записи следует сразу за байтами CRC; он гарантирует, что информация в следующей области данных будет записана правильно. Кроме того, он служит для завершения анализа CRC (контрольной суммы) идентификатора сектора.
В поле данных можно записать 512 байт информации. За ним располагается еще одно поле CRC для проверки правильности записи данных. В большинстве накопителей размер этого поля составляет два байта, но некоторые контроллеры могут работать и с более длинными полями кодов коррекции ошибок (Error Correction Code — ECC). Записанные в этом поле байты кодов коррекции ошибок позволяют при считывании обнаруживать и исправлять некоторые ошибки. Эффективность этой операции зависит от выбранного метода коррекции и особенностей контроллера. Наличие интервала отключения записи позволяет полностью завершить анализ байтов ECC (CRC).
Интервал между записями необходим для того, чтобы застраховать данные из следующего сектора от случайного стирания при записи в предыдущий сектор. Это может произойти, если при форматировании диск вращался с частотой, несколько меньшей, чем при последующих операциях записи. При этом сектор, естественно, всякий раз будет немного длиннее, и для того, чтобы он не выходил за установленные при форматировании границы, их слегка "растягивают", вводя упомянутый интервал. Его реальный размер зависит от разности частот вращения диска при форматировании дорожки и при каждом обновлении данных.
Предындексный интервал необходим для компенсации неравномерности вращения диска вдоль всей дорожки. Размер этого интервала зависит от возможных значений частоты вращения диска и сигнала синхронизации при форматировании и записи.
Информация, записываемая в заголовке сектора, имеет огромное значение, поскольку содержит данные о номере цилиндра, головки и сектора. Все эти сведения (за исключением поля данных, байтов CRC и интервала отключения записи) записываются на диск только при форматировании низкого уровня.
Различают два вида форматирования диска:
- физическое, или форматирование низкого уровня;
- логическое, или форматирование высокого уровня.
При форматировании, к примеру, гибких дисков выполняются обе операции, но для жестких дисков эти операции следует выполнять отдельно. Более того, для жесткого диска существует и третий этап, выполняемый между двумя указанными операциями форматирования, — разбивка диска на разделы. Создание разделов абсолютно необходимо в том случае, если вы предполагаете использовать на одном компьютере несколько операционных систем. Физическое форматирование всегда выполняется одинаково, независимо от свойств операционной системы и параметров форматирования высокого уровня (которые могут быть различными для разных операционных систем).
Это позволяет совмещать несколько операционных систем на одном жестком диске. При организации нескольких разделов на одном накопителе каждый из них может использоваться для работы под управлением своей операционной системы либо представлять отдельный том (volume), или логический диск (logical drive). Тому, или логическому диску, система присваивает буквенное обозначение.
Таким образом, форматирование жесткого диска выполняется в три этапа.
1. Форматирование низкого уровня.
2. Организация разделов на диске.
3. Форматирование высокого уровня.
В процессе форматирования низкого уровня дорожки диска разбиваются на секторы. При этом записываются заголовки и заключения секторов (префиксы и суффиксы), а также формируются интервалы между секторами и дорожками. Область данных каждого сектора заполняется фиктивными значениями или специальными тестовыми наборами данных. В накопителях на гибких дисках количество секторов на дорожке определяется типом дискеты и дисковода; количество секторов на дорожке жесткого диска зависит от интерфейса накопителя и контроллера.
Практически во всех накопителях IDE и SCSI используется так называемая зонная запись с переменным количеством секторов на дорожке. Дорожки, более удаленные от центра, а значит, и более длинные содержат большее число секторов, чем близкие к центру. Один из способов повышения емкости жесткого диска — разделение внешних цилиндров на большее количество секторов по сравнению с внутренними цилиндрами. Теоретически внешние цилиндры могут содержать больше данных, так как имеют большую длину окружности. Однако в накопителях, не использующих метод зонной записи, все цилиндры содержат одинаковое количество данных, несмотря на то что длина окружности внешних цилиндров может быть вдвое больше, чем внутренних. В результате теряется пространство внешних дорожек, так как оно используется крайне неэффективно.
При зонной записи цилиндры разбиваются на группы, которые называются зонами, причем по мере продвижения к внешнему краю диска дорожки разбиваются на все большее число секторов. Во всех цилиндрах, относящихся к одной зоне, количество секторов на дорожках одинаковое. Возможное количество зон зависит от типа накопителя; в большинстве устройств их бывает 10 и более.
Еще одно свойство зонной записи состоит в том, что скорость обмена данными с накопителем может изменяться и зависит от зоны, в которой в конкретный момент располагаются головки. Происходит это потому, что секторов во внешних зонах больше, а угловая скорость вращения диска постоянна (т. е. линейная скорость перемещения секторов относительно головки при считывании и записи данных на внешних дорожках оказывается выше, чем на внутренних).
Метод зонной записи был принят производителями жестких дисков, что позволило повысить емкость устройств на 20-50% по сравнению с накопителями, в которых число секторов на дорожке является фиксированным. Сегодня зонная запись используется почти во всех накопителях IDE и SCSI.
При форматировании высокого уровня операционная система создает структуры для работы с файлами и данными. В каждый раздел (логический диск) заносится загрузочный сектор тома (Volume Boot Sector — VBS), две копии таблицы размещения файлов (FAT) и корневой каталог (Root Directory). С помощью этих структур данных операционная система распределяет дисковое пространство, отслеживает расположение файлов и даже "обходит", во избежание проблем, дефектные участки на диске.
В сущности, форматирование высокого уровня — это не столько форматирование, сколько создание оглавления диска и таблицы размещения файлов. "Настоящее" форматирование — это форматирование низкого уровня, при котором диск разбивается на дорожки и секторы. Чтобы выполнить низкоуровневое форматирование жесткого диска, необходима специальная программа, обычно предоставляемая производителем диска.
Ещё несколько лет назад жесткие диски очень редко применялись в масштабных системах резервного копирования, и практически не использовались при архивировании данных. Соотношение емкости и цены с каждым годом становится все более выигрышным. В настоящее время использование массивов жестких дисков в качестве основных накопителей при хранении данных уже не редкость. По прогнозам ожидается, что в ближайшее время будет наблюдаться постепенный переход от использования магнитных лент в качестве основного носителя к использованию жестких дисков.
По прогнозу IDC общемировой рынок дисковых систем хранения будет продолжать бурный рост, общий объем продаваемых накопителей данных будет увеличиваться на 50% ежегодно.
На сегодняшний день капитальные вложения для внедрения систем резервного копирования с использованием жестких дисков выше, чем с применением магнитных лент. В то же время, эксплуатационные расходы сравнимы, а во многих случаях ниже, при использовании решений на базе жестких дисков. Считается, что срок службы массивов активных жестких дисков равен 5-7 годам.