Главная страницаОбратная связьКарта сайта

RAID и восстановление информации


Принципы работы RAID.
Уровни RAID
Контроллеры и конфигурирование RAID
Программный RAID-массив
Причины потери данных.
Тактика восстановления данных
Программные средства восстановления данных

RAID и восстановление информации

Принципы работы RAID Причины потери данных Тактика восстановления данных Программные средства восстановления данных Отдельные случаи восстановления

Принципы работы RAID

Аббревиатура RAID расшифровывается как Redundant Array of Independent Disks — избыточный массив независимых дисков. Сегодня RAID представляет собой совокупность технологий, как аппаратных, так и программных. Общий смысл их состоит в том, что несколько жестких дисков включаются в набор, который на уровне аппаратного или программного интерфейса представляется единым диском. Цель создания RAID-массива — увеличение скорости обмена данными с дисковой системой, повышение уровня надежности хранения данных либо и то и другое одновременно.

Идея создания RAID появилась в 1987 году. Долгое время RAID-массивы были довольно дорогими и применялись лишь в крупных компьютерных системах. В последние годы вместе со снижением стоимости винчестеров RAID-массивы тоже стали более доступными: их чаще стали использовать в обычных рабочих станциях и домашних компьютерах. Встроенными RAID-контроллерами снабжается примерно треть материнских плат, выпущенных в 2007-2008 годах.

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

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

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

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

При создании массивов RAID все перечисленные выше принципы используются в разных комбинациях, разновидности которых называются уровнями RAID.

Уровни RAID

Уровни RAID — способ организации дисков внутри массива. В 1993 году промышленный консорциум по стандартизации RAID (RAID Advisory Board — RAB) определил семь типовых уровней RAID: от 0 до 6. Термин «уровни RAID» (RAID

levels) является официальным и прочно вошел в лексику компьютерных пользователей, хотя никакой иерархии здесь нет: это всего лишь семь совершенно разных независимых архитектур. Спецификация RAID-2 осталась чисто теоретической, поскольку описывает массивы из 14 или 39 дисков. Зато уже после принятия стандарта были предложены спецификации RAID 0+1 и RAID 1+0 (RAID-10), которые, по сути, являются комбинациями RAID-0 и RAID-1.

RAID-0 — простейший вариант построения массива (рис. 3.1). Это так называемое чередование, или простое распараллеливание записи/чтения данных между всеми дисками. Поток данных разбивается на равные блоки («полосы» — stripes) заданного размера, и первый блок записывается на один диск, второй — на следующий, третий — снова на первый диск и т. д. Массив может строиться из любого количества дисков: чем больше их чередуется, тем выше скорость обмена данными. Запись производится без избыточности, поэтому такой массив не является RAID в прямом смысле, хотя термин RAID-0 широко используется и принят RAB.

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

RAID-1 является другой простейшей архитектурой (рис. 3.2). В этом случае производится запись двух зеркальных копий данных на двух идентичных дисках без всяких дополнительных преобразований. Выход из строя одного диска не приводит к потере данных. Это массив со 100%-ной избыточностью. Он обеспечивает предельную степень надежности, хотя стоимость хранения данных возрастает ровно вдвое.

Массивы уровня 1 подходят для хранения критически важных данных. На практике быстродействие такого массива может немного превосходить быстродействие каждого из дисков. Это связано с аппаратной реализацией чтения и записи данных.

Спецификация RAID-2 осталась чисто теоретической, поскольку она описывает массивы, состоящие из 14 или 39 дисков.

RAID-3 — трехдисковый массив. Два диска в нем работают подобно RAID-0, данные на них записываются с чередованием. Однако для каждых двух чередующихся блоков контроллер вычисляет код четности (Parity Code) и записывает его на третий диск. Благодаря простому алгоритму данные четности для двух блоков занимают столько же места, сколько каждый из этих блоков. В результате образуются наборы из трех взаимосвязанных блоков: два — на первых двух дисках, содержат данные, а третий — на третьем диске (экстраблок) — контрольную сумму для двух блоков данных (рис. 3.3). По данным на одном из первых двух дисков и контрольным суммам всегда можно восстановить содержимое другого диска при его повреждении. Точно так же коды четности, в случае аварии третьего диска, всегда можно пересчитать по данным на первых двух дисках.



Рис. з-1. Структура RAID-0                                    Рис. 3.2. Структура RAID-1


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

Существует спецификация RAID-4, которая отличается только размерами блоков данных при чередовании. Это несколько улучшает работу массива при случайном чтении, но из-за большего объема буферной памяти контроллеры RAID-4 не получили широкого распространения.

RAID-5 — другая реализация идеи чередования с контролем четности. Чередование блоков данных происходит между всеми тремя дисками. В массиве уровня 5 все диски равноценны, а блоки четности распределены между ними (рис. 3.4). При этом блок четности для блоков, находящихся на двух дисках, всегда записывается на третий диск и т. д. «по кругу». Порядок чередования блоков данных и блоков четности (Parity Rotation) зависит от контроллера. Существует несколько вариантов такого чередования: Forward (прямое), Backward (обратное) и Backward symmetric (обратное симметричное). В большинстве современных RAID-контроллеров используется последний вариант.



Рис. 3-4- Структура RAID-5               Рис. з-З- Структура RAID-3

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

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

Составные массивы (multi-RAID) представляют собой сочетание двух спецификаций. Они могут реализовываться полностью на уровне контроллера либо частично на аппаратном уровне, а частично на программном.

RAID 0+1 — чередование двух или нескольких двухдисковых массивов RAID-1.

RAID 1+0 (RAID-10) — зеркалирование массива RAID-0 на другой такой же массив.


Оба этих варианта привлекательны для недорогих систем. Хотя в обоих случаях емкость дисков используется только на 50 % (каждый винчестер полностью дублируется), а сам контроллер дешев. Контроллеры этих уровней RAID занимаются только распределением потоков данных, тогда как контроллеры RAID-3 и RAID-5 непрерывно в реальном времени обсчитывают четность, а это уже серьезная вычислительная задача.

Массивы RAID 5+0 (RAID-50) и RAID 6+0 (RAID-60) образуются чередованием массивов уровней 5 и 6 соответственно. Это большие серверные решения. Для их реализации нужны дорогие многопортовые контроллеры, а в массив будут включаться от шести до нескольких десятков жестких дисков.

Существует спецификация JBOD (Just a Bunch of Disks — простая группа дисков). В этом случае несколько винчестеров представляются одним большим диском. Объединение (spanning) нескольких физических дисков еще недавно использовалось в компьютерах для видеозахвата и видеомонтажа, чтобы получить достаточно места для сохранения непрерывного файла размером в десятки или сотни гигабайтов. С появлением терабайтных винчестеров это утратило актуальность.

Контроллеры и конфигурирование RAID

Первоначально RAID-контроллеры выполнялись только в виде самостоятельных плат расширения PCI. Такой контроллер включает в себя микропроцессор, буферную память, flash-память с микропрограммой и областью для хранения сведений о конфигурации массива. Известными производителями RAID-контроллеров являются компании Adaptec, Intel, Tekram (Агеса), Promise, 3Ware. Современные дискретные контроллеры поддерживают спецификации RAID-0/1/10/5/6/50/60/ JBOD и несут от 4 до 8 портов Ultra320 SCSI либо SAS/SATA.

Интегрированные RAID-контроллеры материнских плат строятся либо на отдельных чипах, например Silicon Image, Promise, ITE GigaRAID, либо являются частью чипсета материнской платы, например Intel ICH5 или VIA VT8237. Эти контроллеры, которые сейчас широко распространены, обслуживают от 2 до 4 дисков S AT A или IDE и поддерживают уровни RAID-0/1/JBOD, но нередко и RAID-5/10.

Создание массива осуществляется микропрограммой контроллера. Особенности построения, конфигурирования и обслуживания массива зависят от модели контроллера. Типичная процедура создания и настройки RAID напоминает настройку BIOS компьютера.

1. Во время начальной загрузки компьютера нажмите клавишу или сочетание клавиш, вызывающее процедуру настройки контроллера RAID. На экране появится меню настройки.


2.         В меню настройки RAID выберите команду с названием наподобие Create Array (Создать массив). Затем обычно требуется указать физические диски, которые должны быть включены в массив, и выбрать тип массива из нескольких предлагаемых вариантов.

3.         Далее (в общем случае) укажите размер блока чередования (Stripe Block Size). Некоторые контроллеры предлагают упрощенную процедуру создания массива, когда достаточно выбрать один из пунктов с названием типа Optimize Array for Performance (Оптимизировать массив для производительности) — из двух дисков будет создан RAID-0, Optimize Array for Security (Оптимизировать массив для надежности) — создается массив RAID-1 или Optimize Array for Capacity (Оптимизировать массив для емкости) — диски объединяются в массив JBOD. При выборе таких пунктов в массив включаются все обнаруженные диски, а все настройки устанавливаются по умолчанию.

При создании RAID-1 есть возможность сразу скопировать все данные с одного диска на второй — «зеркальный». Как правило, это действие обозначается как Create & Duplicate the disk (Создать массив и дублировать диск).

В меню, вызываемом при загрузке, доступны операции обслуживания массива. Проверка (Check) массива средствами контроллера позволяет выявить ошибки чередования и четности. После замены одного из дисков массив следует перестроить (Rebuild) или восстановить (Restore). Это достаточно длительный процесс, в ходе которого контроллер воссоздает содержимое замененного диска по двум оставшимся (RAID-5) или копирует один диск на другой (RAID-1).

Помимо меню, вызываемого при загрузке, для проверки и обслуживания массивов используются утилиты, работающие в среде MS-DOS или Windows. Первые запускаются со специально создаваемого загрузочного диска, а вторые обычно устанавливаются вместе с драйвером RAID-массива или являются одним из компонентов драйвера. Такие резидентные программы способны непрерывно отслеживать состояние массива и при возникновении неполадок уведомлять об этом пользователя даже путем отправки сообщения по электронной почте.

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

Программный RAID-массив

Кроме аппаратной, существует и программная реализация RAID. В этом случае массив формируется из дисков, подключенных к обычному контроллеру SATA или IDE. Серверные версии операционной системы Windows (Windows Server 2003/ 2008/2008 R2) работают со всеми типами программных массивов. «Настольные» версии (Windows XP/Vista/7) официально поддерживают только чередование дисков (RAID-0). Впрочем, несложная модификация трех системных файлов с помощью НЕХ-редактора позволяет включить функции работы со всеми типами программных массивов и в «настольных» выпусках ОС Windows. Сведения о том, как это сделать, легко найти в Интернете.

Для создания программного массива служит оснастка Управление дисками консоли Управление компьютером или системная команда diskpart. Сначала необходимо преобразовать два или более дисков в динамические диски (команда Преобразовать в динамический диск контекстного меню диска). После преобразования операционная система рассматривает разделы на этих дисках как простые динамические тома.

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

Чередующийся том — программный аналог RAID-0. В чередующийся том также могут входить до 32 динамических дисков. Команды создания составных и чередующихся томов становятся активны в контекстном меню диска после преобразования его в динамический диск.

Сведения о конфигурации программных массивов хранятся в системном реестре Windows. Создание программных массивов — допустимое решение при отсутствии аппаратного RAID-контроллера. Основным недостатком создания программных массивов без аппаратного RAID-контроллера является повышенный расход ресурсов и относительное снижение быстродействия компьютера по сравнению с полноценной аппаратной реализацией RAID. Тем не менее такое решение может применяться на практике.

Причины потери данных

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

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

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

ПРИМЕЧАНИЕ

При воссоздании массивов RAID-1 на дисках IDE может возникнуть опасная ловушка. Некоторые контроллеры, например Promise FastTracklOO, всегда копируют данные с диска, подключенного как Master, на диск, подключенный как Slave. Нетрудно догадаться, что может произойти при выходе из строя и замене диска, подключенного в конфигурации Master. Например, вы установите новый чистый винчестер, контроллер перепишет его содержимое на оставшийся исправным диск, и данные на последнем можно потерять безвозвратно.

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

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

Таким образом, потеря информации может произойти лишь при разрушении любого массива либо при повреждении массивов RAID-0 или JBOD. В избыточных массивах уровней 1, 3, 5, 1+0 и 0+1 информация сохраняется по определению, а целостность набора восстанавливается штатными средствами контроллера при замене неисправного диска.

В следующем разделе речь пойдет о восстановлении данных из разрушенного массива или с поврежденных дисков в массиве RAID-0 либо JBOD.


Программные средства восстановления данных

Тактика восстановления данных

Если при очередном включении компьютера оказались недоступны диски RAID, следует провести короткую и осторожную диагностику. Как уже говорилось, основные сведения можно почерпнуть из сообщений контроллера в процессе его инициализации, а затем в оснастке Управление дисками консоли ММС.

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

Подключайте винчестеры по одному к другому компьютеру, к обычному контроллеру (не RAID). Диагностика жестких дисков описана в предыдущей главе. В зависимости от результатов проверки может потребоваться замена контроллера и даже манипуляции внутри гермоблока. Главное — восстановить доступ к диску.

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

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

Извлечение данных из массива происходит по тому же принципу, что и с любого одиночного носителя. Сначала программа просматривает записи файловой системы и находит объекты по ним. Углубленный поиск заключается в обнаружении на диске последовательностей, характерных для начала файлов определенных типов. Особенность восстановления данных из RAID состоит в том, что программа должна работать одновременно с несколькими дисками или образами, составляя итоговую последовательность из блоков или полос (stripes), находящихся на разных дисках.

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


Обсудить статью на форуме


Если прочитаная статья из нашей обширной энциклопедия компьютера - "RAID и восстановление информации", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по статье через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info