Восстановление RAID массивов простыми методами

Введение

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

Небольшое отступление

Рассматривая массивы, мы не можем не упомянуть о RAID контроллерах, которых сегодня великое множество, с разбросом цен от двадцати до нескольких тысяч долларов. Сравнение надёжности – вопрос сложный, но догадаться, что разница в цене «не из пальца высосана», думаю, может каждый.
Контроллеры бюджетного уровня, имеют упрощенный алгоритм работы и восстановления после сбоев, что выражается в большей вероятности потери информации. Дорогие модели заметно надёжнее, алгоритмы обработки ошибок более совершенны, но и они не безупречны.
Вопросы, касающиеся особенностей работы определённых моделей RAID контроллеров, Вы можете задать здесь.
RAID массив не является панацеей от потери информации. Практика показывает, что случаются как сбои в работе контроллера, так и сбои в работе жестких дисков, или же происходит одно вытекающее из другого. В любом случае, полностью полагаясь на надёжность массивов и не позаботившись о своевременном создании резервных копий, Вы рискуете однажды остаться без «надежно хранимой» информации.
Вероятность потери данных можно заметно уменьшить, регулярно отслеживая состояние массива и выполняя профилактические работы, но полностью свести к нулю таким образом её нельзя.

Причины выхода RAID массивов из строя

Наиболее распространённой причиной выхода из строя дисковых массивов является халатность системных администраторов, рассчитывающих на то, что «в одну воронку бомба дважды не падает». Во время работы, например RAID 5, выходит из строя один из дисков. Массив продолжает функционировать, но уже с заметным уменьшением скорости. Системный администратор, заметив сбой в работе накопителя, не очень спешит предпринимать активные действия, т.к. рассчитывает на то, что массив в таком виде еще сможет поработать некоторое время. Это порой оказывается заблуждением.
Если у Вас выходит из строя один из дисков, лучше всего немедленно произвести резервное копирование особо важных данных и потом, заменив один из накопителей, произвести ребилд массива.
Почему пришлось отметить то, что необходимо предварительно произвести бэкап? Потому что при попытке ребилда массива, иногда случается такое, что процесс «зависает». Как правило, это происходит, если в процессе чтения\записи на одном из дисков обнаруживается бэд-блок, и контроллер не может вычитать информацию из сектора. В результате, после длительного и бесполезного ожидания, сервер перегружают. После чего выясняется, что массив полностью «развалился». Зависание в таких случаях, вероятнее всего, связано с некорректной обработкой исключительной ситуации. Как правило, описанное явление более характерно для дешевых моделей контроллеров, но встречается также и при использовании дорогого «железа».
Ещё одной распространённой причиной отказа массивов, является одновременный переход нескольких дисков в режим off-line. Как показала практика, чаще всего это происходит из-за проблем со SMART, или накопления бэд-блоков. Пока их количество не превысит определённого значения, диск работает корректно, но в один прекрасный момент массив перестает запускаться. И вроде бы все хорошо, и диск, судя по звуку, нормально стартует, и контроллером правильно определяется, но вот только непонятно, почему статус у диска off-line, массив не стартует и данные не отдает. Все из-за того, что контроллер не может считать необходимые данные с диска, либо, диагностируя SMART, определяет диск как «мертвый».
Можно привести ещё множество примеров сбоев в работе массивов, но что делать, если таки это свершилось? Информация потеряна, её необходимо восстановить.

Теория: Уровни RAID и принципы восстановления данных

Чаще всего сейчас используются массивы уровней 0, 1, 10, 5, 50. В последнее время наблюдается возрастающий интерес к шестому уровню.
Ниже приведена краткая информация о принципах работы массивов. Более подробно, об этом можно прочитать в соответствующей статье.
RAID 0 – использование чередующейся записи (страйп). Строится из двух и более накопителей. Информация записывается на все диски массива блоками определенного (8кб,16кб,32кб,64 кб, 128кб…) размера. Файлы, размер которых один блок, равномерно распределяются по двум или более дискам.
Из-за отсутствия избыточности или дублирования данных, при выходе из строя одного из дисков, восстановить информацию в полном объеме невозможно без использования данных с неисправного накопителя. Исключением будут лишь файлы, размер которых меньше размера блока. Для полноценного восстановления информации в таких случаях необходимо сначала снять данные с неисправного диска, после чего восстанавливать RAID.
В случаях, когда все диски исправны, а массив отказывается корректно работать, восстановление производится программными методами, которые описаны ниже.
RAID 1 – использование технологии зеркалирования (зеркало). Строится из двух дисков. Информация одновременно пишется на оба накопителя, каждый диск является полной копией своего собрата. В случае выхода из строя одного из дисков массив остается работоспособным.
Если происходит сбой в работе контроллера и массив перестает определяться, то восстановление данных можно выполнить, воспользовавшись советами из статьи«Простое восстановление данных». Для этого один из дисков следует подключить к компьютеру на прямую, минуя RAID контроллер. Если повезёт, после подключения Ваши данные могут оказаться доступными и без использования программ, описанных в вышеуказанной статье.
RAID 10 – это объединение уровня 0 с уровнем 1, т.е. два страйпа объединяются в зеркало. В массиве используются минимум 4 диска. Он может остаться работоспособным при выходе из строя одного из составляющих его RAID 0.
При возникновении проблемы, в первую очередь необходимо определить, с чем именно возникли неполадки – с контроллером или с дисками
Когда проблема на уровне контроллера, Вам следует определить, какие винчестеры являются парами, составляющими страйпы. Здесь важно не перепутать диски, т.к. это приведет к потерянному времени и отсутствию результата. После того, как это станет известно, берётся одна такая пара, и с неё снимается информация таким же образом, как и с самостоятельного RAID 0.
Во время эксплуатации RAID 10, случается и такое, что выходят из строя два диска. Здесь возможны следующие варианты:
1) Оба диска принадлежат к одному страйпу, контроллер корректно обрабатывает исключительную ситуацию, и массив продолжает функционировать нормально.
2) Оба диска принадлежат к одному страйпу, но массив разваливается. В этом случае просто берём исправный страйп, и программно собираем его (об этом ниже).
3) Диски принадлежат к разным страйпам, но в одном из них уцелел первый, а в другом второй накопитель. Попробуйте программно собрать из них RAID 0.
4) Вышли из строя одноимённые диски разных страйпов. Увы  Один из сломанных дисков придётся отремонтировать, или каким-либо ещё образом снять с него данные. Затем программная сборка.
RAID 5 – массивы с контролем четности. Основным его достоинством является распределение блоков информации и контрольных блоков четности по всем дискам массива. Для создания такого массива требуется минимум три диска. Объём массива равен сумме объёмов составляющих его накопителей, минус один диск. Блоки контроля чётности используются для вычисления недостающей информации при выходе из строя одного из накопителей, составляющих массив. Таким образом, при утрате одного из дисков данные не теряются, и массив может продолжать работу.
Но, случается и такое, что после выхода из строя одного накопителя, контроллер неверно обрабатывает исключительную ситуацию и массив перестает корректно работать, либо полностью «падает». Подобный сбой может возникнуть также во время выполняемого после замены диска перестроения массива. Иногда в течение короткого времени после смерти первого диска, выходит из строя ещё один.
Если массив не работает, и количество неисправных дисков не более одного, то его можно собрать программно, аналогично тому, как собирается RAID 0. При выходе из строя двух накопителей, сначала потребуется восстановить работоспособность, или снять информацию на исправный диск с одного из них, и лишь затем можно заняться сборкой массива.

Практика: Чего не стоит делать

Упомянем о том, чего не стоит делать, для того, чтобы окончательно не потерять данные.
Прежде всего, не стоит создавать новый массив из старых дисков в надежде, что он запустится, и будет работать как раньше. Это может и сработать, но достаточно высока вероятность того, что контроллером будут выполнены действия, которые приведут к уже необратимой потере данных.
Запуск инициализации тоже ни к чему хорошему не приведёт, так что рекомендуется от неё отказаться, а если это не возможно, то использовать только quick init.
Чем еще можно навредить массиву? Запуском чекдиска или чего-то подобного. А вообще лучше всего помнить, что при потере информации на RAID следует отказаться от любой записи на диски. Если Вы точно не знаете, приведут ли определенные действия к утрате информации или нет, то лучше либопроконсультироваться с тем, кто это знает, либо отказаться от их выполнения.

Способы восстановления RAID

Программное восстановление RAID на примере массивов 0 и 5 уровней

Основным способом восстановления данных с RAID является программная сборка образа массива. Т.е. при помощи программных средств блоки с разных дисков выстраиваются в нужной последовательности. Порядок блоков в массиве зависит от расположения дисков на каналах и от алгоритма работы самого контроллера.
Прежде чем приступать к работе, стоит создать клоны всех дисков, дабы обезопасить себя от неверных действий. Копии можно сделать как в виде файлов, так и непосредственно на другие накопители.
Работать с копиями или оригиналами – решать Вам. Я настоятельно рекомендую использовать в работе копии, так как если на исходных носителях находятся нечитаемые или нестабильные сектора, то работа с таким дисками может значительно ухудшить их состояние или же привести к полному отказу.
Итак, приступим.
Чтобы собрать массив, необходимо знать параметры, с которыми он был создан. Это размер блока и последовательность дисков.
Если они Вам известны, то можно считать, что половина работы уже сделана, и мы сберегли кучу время для других, более приятных дел. Если нет, то придётся их подобрать.
К счастью, существуют автоматические средства поиска конфигурации и восстановления RAID, такие например, как программа RAID Reconstructor. Если задать в ней уровень массива, то она попытается найти первоначальную последовательность дисков, размер блока и предположить алгоритм записи информации на диски.
Далее опишем пошаговые действия при использовании данной утилиты.
Вот перед нами окно запущенной программы.
main
Первый шаг необходимый для начала работы – это выбор типа массива. Он осуществляется в выпадающем списке «RAID TYPE».
Задав тип массива для сборки, необходимо указать количество дисков в окошке «#drives». После того, как Вы это сделаете, ниже подсветятся белым несколько полей (их количество будет равняться количеству указанных Вами дисков). Наводим на каждое из подсвеченных окон, кликаем правой кнопкой мыши и выбираем диски, на которых находился массив. После того, как диски выбраны – переходим к пункту «Block size».
Здесь необходимо указать размер блока, если он известен, если нет, то оставляем этот пункт без изменений и смело жмем на «Open drives» и затем сразу на кнопку «Analyze».
Перед Вами появляется новое окно. В случае работы с RAID 0 такое:
parametrs1
Или вот такое с RAID 5:
parametrs2
Итак, перед нами находится окно, в котором будут задаваться параметры поиска последовательности дисков, размера блока, и, если мы собираем RAID 5, parity rotations.
Если, как было сказано выше, Вы знаете о том, на каком контроллере был создан массив, какой был использован алгоритм записи информации на диски, а также размер блока, то исключаем ненужные параметры в окошках «Block size» и «Parity rotations». Если параметры неизвестны, оставляем все как есть. Нажимаем кнопку «Next».
Начался просчет всех возможных комбинаций. По окончанию, утилита подберёт Вам наиболее верный вариант, выдав в нижней части экрана что-то типа «Recommendation: choose entry 1». Если это произошло, можно вздохнуть спокойно. Правильный алгоритм найден.
Если же нет, значит, разрушения массива достаточно серьезные, необходимо увеличить количество секторов для пробы в соответствующем поле и повторить анализ. Если и это не помогло, значит, вам поможет только специалист.
Но, продолжим. Алгоритм найден. Дальше вариантов может быть несколько. Либо переписать образ массива в файл, либо записать его на диск или массив, либо создать файл виртуального образа и продолжить его разбор в утилите Captain Nemo, Get Data Back или DiscEditor. Что выбрать – решать Вам.
Еще, как вариант, используя знания о расположении дисков, алгоритме записи и размере блока, можно восстановить RAID, используя программу под названиемUFS Explorer. Руководство по использованию данного продукта можно найти в документации к нему.
Когда массив собран правильно, и файловые системы на нём не имеют логических повреждений, Вы можете получить доступ к данным стандартными способами. В частности, если образ скопирован на жесткий диск, будет достаточно подключить его к компьютеру и перезагрузить ОС (если не поддерживается горячее подключение).
Напоминаю, что изложенным выше способом можно восстановить RAID только в самых простых случаях. Описание сложных ситуаций выходит за рамки данной статьи, и подразумевает наличие специфических знаний.
Например, у Вас может не получится восстановить RAID описанным методом в случае, когда контроллер записывает в начало диска конфигурационную информацию. Не указав программе количество секторов, занятых служебными данными, можно получить неверный результат автоматического подбора конфигурации массива. Эти конфигурационные блоки являются индивидуальными для каждой модели контроллера, и точно узнать их размер можно только исследовав содержимое начальных секторов.

Аппаратное восстановление RAID

Альтернативой созданию образа может быть аппаратная сборка. Сразу оговоримся - без знания алгоритма работы контроллера, либо без наличия резервной копии абсолютно всех дисков массива, пользоваться этим «шаманским методом» категорически не рекомендуется, т.к. можно внести такие изменения на диски, в результате которых Вы уже не получите данных, даже обратившись к специалистам.
Приведённая здесь информация даётся скорее в ознакомительных целях, чем в качестве руководства к действиям.
Суть метод заключается в том, что массив пересоздается на контроллере заново, с конфигурацией, полностью аналогичной прошлой.
Внимание. Если при создании будет запущен ребилд, существует большая вероятность безвозвратной потери данных.
Некоторые модели контроллеров после создания нового массива автоматически выполняют инициализацию, что также может привести к потере данных.
Если все диски массива были исправны, то есть вероятность того, что без каких-либо дополнительных действий Вы вновь получите доступ к информации. Также не исключено, что файловая система будет частично повреждена и придется еще поработать такими утилитами как R-Studio, Get Data Back либо чем-то аналогичным.
В случаях с массивами пятого уровня, когда один из дисков неисправен, можно создать массив с заменой диска на аналогичный, исправный. Когда массив будет создан (ребилд не проводить!), после запуска операционной системы, этот диск нужно будет отключить «на горячую».
В результате, есть вероятность что Вы можете получить доступ к своим данным сразу, либо посредством использования программ для логического восстановления информации.

Заключение

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

Версия от 27.03.2009.
Валерий Пьянков, R.LAВ, восстановление RAID массивов.

No comments:

Post a Comment