Как работает raid 5. Важное примечание, которое стоит помнить


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

Эффективное хранение данных – важная задача для вычислительной среды предприятия, и многие организации используют RAID-массивы в серверных, сетевых и Интернет приложениях хранения и обработки данных, чтобы повысить их доступность. Технологии RAID могут позволить IT-менеджерам использовать в своих интересах ключевую производительность и операционные характеристики, которые контроллеры и подсистемы RAID 5 обеспечивают благодаря процессорам ввода/вывода, которые освобождают центральный процессор от прерываний во время дисковых операций «чтение-модификация-запись».

По реализации RAID-контроллеры бывают программными (т.н. софтовыми), программно-аппаратными и полностью аппаратными.

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

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

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

Определение уровней RAID

Существует несколько основных типов (т.н. «уровней») RAID. Каждый предлагает уникальную комбинацию свойств, два основных из которых – это степень защиты данных и производительность. Для того, чтобы понять, как работает RAID 5, рассмотрим два начальных уровня RAID – «0» и «1»:

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

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

Как работает RAID 5

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

RAID 5 обеспечивает целостность данных дискового массива, используя пространство, по объему равное меньшему накопителю в массиве. Например, в массиве из пяти накопителей емкостью по 72 ГБ, доступная емкость массива будет составлять 288 ГБ. Доступная для пользователя емкость массива RAID 5 считается по формуле S * (N – 1), где S – емкость наименьшего накопителя в массиве, N – общее количество накопителей в массиве.

Количество накопителей, их емкость и суммарная емкость массива RAID 5 на сохранности данных не сказываются. Также, как единственный накопитель емкостью 72 ГБ может защитить все данные в массиве из пяти накопителей общей емкостью 288 ГБ, в массиве с 15-ю накопителями емкостью 300 ГБ, единственный накопитель на 300 ГБ может защитить весь массив на 4,2 ТБ в случае отказа одного накопителя.

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

Вычисление функции XOR

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

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

На рисунке 1 каждый прямоугольник Dn представляет блок данных, называемый стрип (strip, англ. полоска). Все полоски ряда называются страйп (stripe, англ. полоса). В RAID 5, данные четности расположены в разных стрипах на каждом накопителе – это так называемое parity rotation (англ. «вращение четности»). Это сделано для увеличения производительности: поскольку четность вычисляется и записывается в каждой операции «чтение-модификация-запись», размещение ее на одном накопителе привело бы к образованию узкого места, так называемого «бутылочного горлышка». Обращения к такому накопителю производились бы во столько раз чаще по отношению к другим накопителям в системе, сколько этих накопителей в системе. Данные четности – Pn, где n – номер страйпа, всего-навсего результат операции XOR на всех других элементах данных в пределах того же страйпа. Поскольку XOR – ассоциативная и коммутативная операция, ее результат над несколькими операндами можно найти путем выполнения XOR сначала на любых двух операндах, затем выполнением XOR над результатом этой операции и следующим операндом, и так далее со всеми операндами, пока не будет достигнут результат.

Рисунок 1. Карта данных типичного RAID 5 с четырьмя накопителями

Том RAID 5 допускает отказ любого одного накопителя массива без потери данных. Как правило, когда физический накопитель выходит из строя, как, например, накопитель 3 на рисунке 2, говорят, что массив в критическом состоянии (англ. degraded). В такой ситуации недостающие данные для любого страйпа могут быть определены выполнением операции XOR на всех оставшихся элементах данных этого страйпа. Грубо говоря, каждый потерянный элемент данных представляется как общая сумма оставшихся стрип в страйпе. Обычный размер стрипа – от 32 кБ до 128 кБ. На рисунке 2 показан массив с условным объемом стрипа, где каждый элемент представляет единственный бит.

Четность для первой полосы:
P1 = D1 XOR D2 XOR D3;
P1 промежут. = D1 XOR D2 = 1;
P1 = P1 промежут. XOR D3 = 0.
Таким образом, P1 = 0.

Рисунок 2. Карта данных RAID 5 с четырьмя накопителями; массив с условным объемом стрипа.

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

Большинство аппаратных RAID-контроллеров восстанавливают массив автоматически, если доступен запасной (hot-spare) накопитель, возвращая массив в нормальное состояние. Кроме того, как правило, с аппаратными RAID-контроллерами поставляется программное обеспечение, которое включает средства, позволяющие уведомить администраторов системы, когда такой отказ происходит. Это позволяет администраторам устранить проблему прежде, чем следующий накопитель выйдет из строя, и массив перейдет в критическое состояние без возможности автоматического восстановления.

Выполнение операции «чтение-модификация-запись»

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

Рисунок 3 показывает типичную операцию «чтение-модификация-запись», в которой данные, которые хост пишет на накопитель, содержатся в пределах только одной полосы, в блоке D5. Операция «чтение-модификация-запись» состоит из следующих шагов:

Рисунок 3. Шаг за шагом: операция «чтение-модификация-запись» в массиве RAID 5 с четырьмя накопителями

1. Получение новых данных от хоста: операционная система запрашивает запись данных в блок D5 на накопителе 2.
2. Чтение старых данных накопителя 2, на место которых предполагается записать новые данные. Чтение только того блока данных, который в процессе записи будет изменен, устраняет необходимость для вычисления четности читать данные со всех других накопителей в пределах страйпа. Число шагов, необходимых для операции «чтение-модификация-запись», не зависит от числа накопителей в массиве.
3. Чтение старой четности. Эта операция не зависит от числа накопителей в массиве.
4. Вычисление новой четности страйпа. Для этого нужно вычислить XOR шагов 2 и 3 минус (в данном случае, в булевой арифметике, это тот же XOR) вклад старых данных, которые будут переписаны. Это объясняется ассоциативностью и коммутативностью XOR. Таким образом, чтобы определить четность для страйпа с новым блоком D5, нужно всего лишь вычислить XOR новых данных, старых данных и старой четности.
5. Проверка целостности данных: этот процесс не описан на рисунке 3, поскольку его реализация сильно различается у разных производителей. Смысл этого процесса в отслеживании выполнения последующих шагов 6 и 7. Для целостного дискового массива подсистема должна гарантировать, что блок четности всегда соответствует данным в пределах полосы. Поскольку невозможно гарантировать, что новые данные и новый блок четности будут записаны на разные диски одновременно, подсистема RAID определяет обрабатываемый страйп как незавершенный (нецелостный), «dirty» (англ. «грязный»), и это означает, что целостность данных нарушена.
6. Запись данных, которые были получены от хоста в шаге 1. Теперь, в соответствии с таблицей размещения данных, подсистема RAID определяет, на каком физическом накопителе, и где именно на накопителе, будут записаны эти данные.
7. Запись нового блока четности: новый блок четности был вычислен в шаге 4; теперь подсистема RAID пишет его на накопитель.
8. Проверка целостности данных: как только подсистема RAID проверяет, что шаги 6 и 7 были закончены успешно, т.е. и данные и четность записаны на накопители, страйп считают целостным.

В примере на рисунке 3, предположим, что Dnew = 0, Dold = 1, и Pold = 0. Обработка шага 4 на этих данных даст нам: 0 XOR 1 XOR 0 = 1. Это четность P. После процедуры «чтение-модификация-запись», второй ряд в иллюстрации 3 будет D4 = 1, D5 = 0, P2 = 1, и D6 = 0.

Этот оптимизированный метод полностью масштабируем. Количество операций чтения, записи, и операции XOR независимы от числа накопителей в массиве. Поскольку накопитель с данными четности участвует в каждой операции записи (шаги 6 и 7), данные четности хранятся на всех накопителях в массиве, перемещаясь в страйпе относительно блоков данных. Если бы все данные четности хранились на одном физическом накопителе, то этот накопитель мог бы стать узким местом, «бутылочным горлышком», о чем уже говорилось выше.

Разгрузка прерываний центрального процессора

Прерывание – это запрос от компонента системы на процессорное время. Подсистемы ввода/вывода производят прерывание центрального процессора, когда они заканчивают транзакцию. Ниже приведено небольшое сравнение, какие прерывания генерируют различные по типу исполнения RAID-контроллеры для простой записи на массив RAID 5:

Программный RAID: поскольку в данном случае центральный процессор системы отвечает за размещение данных на диске, он должен сгенерировать запрос на каждое чтение и запись, необходимые для операции «чтение-модификация-запись». Таким образом, центральный процессор получает четыре прерывания от подсистемы, состоящие из двух запросов на чтение, и двух на запись (шаги 2, 3, 6, и 7 в примере на рисунке 3).

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

Аппаратный RAID: процессор ввода/вывода в аппаратной подсистеме RAID обычно скрывает все промежуточные операции чтения и записи, и генерирует всего одно прерывание – об успешном выполнении транзакции. Процессор ввода/вывода перехватывает все другие прерывания, освобождая центральный процессор, чтобы тот мог выполнять не-RAID задачи.

по материалам компаний Dell и Intel

Примечание: данный уровень RAID доступен не во всех контроллерах

RAID level-5E подобен уровню RAID level-5, только со встроенным в массив резервным диском. Подобно RAID level-5, этот уровень RAID создает ряды данных и контрольных сумм во всех дисках массива.

RAID level-5E предлагает улучшенную защиту и производительность. При применении RAID level-5E, емкость логического тома уменьшается на емкость двух физических дисков массива (один для контроля, один резервный).

Чтение и запись данных на четыре физических диска являются более эффективными, чем на три физических диска и один простаивающий для «горячей» замены (hot spare). Таким образом, RAID level-5E обеспечивает большую производительность, чем RAID level-5.

Резервный HDD является частью массива RAID level-5E, как показано далее на примере. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный HDD.

RAID level-5E требует, как минимум, четыре диска и, в зависимости от уровня прошивки и их емкости, поддерживает от 8 до 16 носителей. RAID level-5E использует определенную прошивку.

Примечание: для RAID level-5E, вы можете использовать только один логический том в массиве. Максимальное количество – семь логических томов на контроллер.

Дальнейшая иллюстрация является примером логического диска RAID level-5E

Пример RAID level-5 Enhanced

Начнем с четырех физических hdd

Создадим массив, использую все четыре hdd

Затем создадим логический том (назовем его 1) внутри массива. Заметьте, что выделенный резервный диск является свободным (назовем его 2) и показан под логическим томом.

Ряды данных распределяются по дискам, создавая блоки в логическом томе. Контрольные суммы (обозначим *) находятся в рядах данных и перемещаются из диска в диск также как в RAID level-5. Заметьте, что резервный диск не разделен.

При поломке физического диска массива, данные с него перестраиваются. Массив подвергается сжатию, и выделенный резервный диск становится частью массива. Логический том остается RAID level-5E.

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

При использовании логического тома RAID level-5E в конфигурациях «обход отказа» (failover – способность системы эластично реагировать на отказ какого-либо устройства, переключаясь на другое) или кластерной (cluster), логический том не восстанавливается во время сжатия или распаковки.

Преимущества и недостатки RAID level-5E

Что такое уровень RAID-5 EE

Примечание: поддерживается не во всех контроллерах

RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива.

Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, емкость логического тома ограничивается емкостью двух физических винчестеров массива (один для контроля, один резервный).

Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчествер.

RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их емкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой.

Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

Дальнейшая иллюстрация является примером логического тома RAID level-5EЕ

Пример RAID level-5ЕЕ

Начнем с четырех физических дисков

Создадим массив, использующий все четыре диска

Ряды данных распределяются по дискам, создавая блоки в логическом томе. Контрольные суммы (обозначим *) находятся в рядах данных и перемещаются также как в RAID level-5Е. Резервный диск (обозначим S) включает в себя блоки контрольных сумм, и также перемещается с диска на диск.

При поломке одного из винчестеров, данные с него перестраиваются. Массив подвергается сжатию , и выделенный резервный диск становится частью массива. Логический диск остается RAID level-5ЕЕ.

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

Преимущества и недостатки RAID level-5EЕ

Преимущества

  • 100% защита данных
  • Большая емкость физических дисков по сравнению с RAID-1 или RAID -1E
  • Большая производительность по сравнению с RAID-5
  • Более быстрое восстановление RAID по сравнению с RAID-5Е

Недостатки

  • Более низкая производительность, чем в RAID-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

Несколько лет назад я предупреждал, что RAID 5 перестанет работать в 2009 году . Конечно, поставщики сетевых хранилищ не рекомендуют RAID 5. Они в настоящее время рекомендуют RAID 6, который защищает от отказов двух дисков в массиве. Но в 2019 году даже RAID 6 не будет защищать ваши данные. Вот почему.

RAID 6 = (RAID 5) 2

Я писал, что и RAID 6 будет иметь ограниченный срок службы:

…RAID 6 через несколько лет даст вам не больше защиты, чем RAID 5 сегодня. Это не вина RAID 6. Наоборот, это из-за увеличения емкости дисков и неизменного количества неустранимых ошибок чтения.

Еще в декабре 2009 года инженер SUN, флэш архитектор и ZFS разработчик Адам Левенталь сделал анализ ожидаемого срока службы RAID 6 в качестве надежной стратегии защиты данных. Он опубликовал его в журнале ACM в статье “Тройная четность RAID и далее”, выдержки из которой я использую в этой статье.

Хорошая новость: Левенталь обнаружил, что уровень защиты RAID 6 будет так же хорош до 2019 года, как раньше был RAID 5.

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

Суть проблемы

RAID массив – это контроллер (или программа), который объединяет группу дисков в один большой диск с помощью математических формул. Контроллер добавляет на диски дополнительные блоки контрольных сумм, таким образом чтобы потеря одного или двух дисков не приводила к потере информации (здесь и далее речь идёт о массивах RAID 5 и 6, а не RAID 0, 1 или 10). Контрольные суммы позволяют восстановить данные с выпавших из массива дисков, а при замене диска – реконструировать его содержимое.

Проблема с RAID 5 в том, что жесткие диски имеют ошибки чтения. В SATA дисках по спецификации допускается коэффициент неисправимых ошибок чтения (URE) на уровне 10 14 . Это означает, что один раз на 10 14 бит диск просто не сможет прочитать данные.

10 14 бит = 100000000000000/8/512 секторов = 24 414 062 500 секторов

реальный размер 2тб диска = 3 907 029 168 секторов

Когда в RAID 5 массиве из 7 дисков SATA по 2 ТБ один жесткий диск выходит из строя, у вас остается 6 дисков по 2ТБ. И пока контроллер RAID будет делать rebuild, весьма вероятно случится ошибка чтения (URE). После этой ошибки реконструкция RAID массива становится невозможна.

Вероятность того, что ребилд закончится успешно: (1 – 1 /(24 414 062 500)) ^ (6*3 907 029 168) ≈ 0,38

Итого существует 62% вероятность потерять данные из-за неисправимой ошибки чтения в массиве RAID5 из семи SATA дисков с одним сбойным диском.

RAID 6

RAID 6 решает эту проблему путем создания второй контрольной суммы. Вы можете потерять один диск, поймать ошибку чтения URE и все равно успешно пройти rebuild.

Вероятность того, что ребилд RAID6 на 7 SATA дисках закончится успешно: ((1 – 1 /(24 414 062 500)) ^ (6*3 907 029 168))+(1-(1 – 1 /(24 414 062 500)) ^ (6*3 907 029 168))*((1 – 1 /(24 414 062 500)) ^ (5*3 907 029 168)) ≈ 0,66

В чем проблема?

Проблем несколько:

  • Долгое время восстановления массива (rebuild time) . По мере роста емкости жестких дисков, увеличивается и время ребилда. Диск с данными со скоростью вращения 7200 оборотов в минуту пишет в среднем около 115 Мб/сек – и скорость записи снижается по мере наполнения диска – получается около 5 часов минимум, чтобы восстановить неисправный диск. Но большинство массивов не могут позволить ребилд на максимальной возможной скорости восстановления, поэтому на ребилд обычно уходит в 2-5 раз больше времени.
  • Больше скрытых ошибок. Корпоративные массивы используют фоновые процедуры проверки (disk scrubbing), чтобы найти и исправить возможные ошибки диска, прежде чем они дадут о себе знать. Но, так как объем дисков увеличивается, то и disk scrubbing занимает больше времени. В большом массиве диск может месяцы не проверяться, а это означает больше ошибок при ребилде массива.
  • Зависимость между сбоями дисков. Сторонники RAID предполагали, что отказы дисков – это независимые события. Но многолетний опыт показал, что это не так: сбой одного диска в массиве делает сбой другого диска намного более вероятным.

Упрощаем: большие диски = дольше rebuild + больше скрытых ошибок -> больше шансов сбоя RAID 6.

Прогноз Левенталя относительной надежности RAID с одинарной и двойной четностью

К 2019 году RAID 6 будет не более надежным, чем RAID 5 является сегодня.

Выводы

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

Рассмотрим 21-дисковый массив. Нужна неделя только на ребилд массива, так что в среднем массив всегда работает в ограниченном режиме восстановления (degraded rebuild mode). Полный переход на 2.5″диски? Функциональное устаревание текущих массивов стоимостью миллионы долларов?

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

И последний момент, Левенталь в своих расчетах использовал коэффициент ошибок дисков 10^16. Это верно для небольших, быстрых и дорогих корпоративных жестких дисков, но большинство обычных дисков SATA2 имеют коэффициент ошибок URE на порядок меньше – 10^14. За одним исключением: модель дисков WD20EADS серии Caviar Green от компании Western Digital по спецификации имеет коэффициент URE 10^15.

Технология RAID 5 позволяет объединять от 3 жестких дисков в единый массив. Главная особенность – по всему пространству равномерно распределяются контрольные суммы, с помощью которых можно вернуть утерянные данные. Однако техника имеет свои нюансы, поэтому актуальным вопросом является, как восстановить RAID 5. Мы расскажем о причинах выхода из строя, основных уровнях RAID, а также представим подробную процедуру восстановления.

Возможные причины выхода из строя

Избыточность RAID-массива повышает шансы на восстановление данных, но жесткие диски, как и любая другая техника, конечно же, подвержены типичным проблемам:

  • непреднамеренное удаление;
  • повреждение файлов/папок,
  • повреждения файловых систем,
  • действие вредоносного программного обеспечения.

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

Скачки напряжения или исчезновение питания могут привести к тому, что диск «выбрасывается» из массива и переходит в статус offline, но остается полностью исправным и работоспособным. Проблема может крыться в софте или контроллере, которые просто не видят данный HDD.

Основные уровни RAID и принцип их восстановления

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

  • RAID0. Массив обеспечивает высочайшее быстродействие за счет отсутствия избыточности. Но безопасность данных находится на минимальном уровне, поэтому при поломке одного диска восстановить систему без ремонта будет практически невозможно.
  • RAID1. Система не отличается высоким быстродействием, но может похвастаться высокой безопасностью данных. Используется принцип «зеркала», когда все данные дублируются, при этом имеются в одной копии на другом диске. При потере информации она просто копируется с первого диска, не останавливая работу всего массива.
  • RAID5. Используется распределение информационных блоков по всему пространству и принципу четности. При поломке только одного, конечно же, HDD-массив продолжает работать, но на более низких скоростях.
  • RAID 10. Комбинация первых двух уровней, минимальное количество дисков – 4. Используется принцип зеркальности данных.

Пошаговая инструкция восстановления данных

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

Программное восстановление

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

  1. Исправность HDD из массива говорит о том, что вы можете подключить их к компьютеру как отдельные носители. Используйте любой удобный способ (SATA, SAS, IDE и подобное).
  2. Как только диски будут подключены, не инициализируйте их, не обращайтесь к данным и не пытайтесь форматировать. Идеальный вариант – работать с их посекторными копиями, так как изменения не будут касаться оригинальных данных.
  3. Запускаем программу RAID Reconstructor. В поле Type установите RAID5 и поставьте количество дисков. В нашем примере их будет три.
  4. В вертикальном списке через троеточие необходимо указать наши диски, т. е. их образы. Нажимайте на Select file. В проводнике выберите необходимые image.
  5. Нажмите кнопку Open Drives и далее Analyze.
  6. В следующих окнах жмите Next. Процедура проведет только сканирование для определения размера блока и других параметров. Далее будет показано окно с выбором параметров.
  7. Установите размер блока и начальный сектор (если они известны однозначно). В ином случае галочки можно поставить везде. Тип четности еще не известен, поэтому понадобятся тесты. Число количества секторов для пробы увеличьте в 10 раз (до 100 тысяч), а затем нажмите Next.
  8. Если все удалось, то вы получите однозначный (или неоднозначный) результат и рекомендацию.
  9. Теперь восстановите весь массив. В главном окне укажите путь, куда будет скопирован готовый массив, а затем нажмите Copy.

Этот метод позволяет быстро и удобно восстановить данные с RAID 5. При необходимости можно попробовать восстановление с помощью Intel Rapid Storage Technology или R-Studio.

Аппаратное

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

  1. пронумеровать диски массива;
  2. скопировать посекторно каждый из них;
  3. подключить их к контроллеру в нужном порядке.

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

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

Когда у вас слетели диски в RAID-массиве, есть список действий, которые не рекомендуется выполнять. Первый и главный шаг – не производить инициализацию до выяснения остаточного источника и типа проблемы. Бывают ситуации, когда в массиве по несколько лет не работает один диск (допустимо для RAID5), но это остается незамеченным. Затем после сбоя или скачка напряжения массив разваливается, но диски остаются видны. Системный администратор собирает все на место, в ходе чего обязательно выполняется инициализация. Однако незнание информации о неисправном HDD приведет к плачевному результату. Итог – поврежденные данные или убитый раздел. «Выпавший» диск вносит изменения в контрольные суммы, соответственно, портит всю информацию.


  • Отправить

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

    (-) : Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объём лишь одного жёсткого диска.

    RAID 1+0 и RAID 0+1

    Зеркало на многих дисках - RAID 1+0 или RAID 0+1 . Под RAID 10 (RAID 1+0) имеют в виду вариант, когда два или более RAID 1 объединяются в RAID 0. Под RAID 0+1 может подразумеваться два варианта:

    RAID 2

    Массивы такого типа основаны на использовании кода Хемминга . Диски делятся на две группы: для данных и для кодов коррекции ошибок, причём если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, т.е. они разбиваются на небольшие блоки по числу дисков. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хемминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.

    Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.

    Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать,- 7. При этом нужна структура из почти двойного количества дисков (для n=3 данные будут храниться на 4 дисках), поэтому такой вид массива не получил распространения. Если же дисков около 30-60, то перерасход получается 11-19%.


    RAID 3

    В массиве RAID 3 из дисков данные разбиваются на куски размером меньше сектора (разбиваются на байты) или блоки и распределяются по дискам. Ещё один диск используется для хранения блоков чётности. В RAID 2 для этой цели применялся диск, но большая часть информации на контрольных дисках использовалась для коррекции ошибок на лету, в то время как большинство пользователей удовлетворяет простое восстановление информации в случае поломки диска, для чего хватает информации, умещающейся на одном выделенном жёстком диске.

    Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету и меньшая избыточность.

    Достоинства:

    • высокая скорость чтения и записи данных;
    • минимальное количество дисков для создания массива равно трём.

    Недостатки:

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


    RAID 4

    RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск. Из систем хранения широкого распространения RAID-4 применяется на устройствах хранения компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL .

    RAID 5

    Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая применяется в RAID 5, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor , получить в результате недостающий операнд. Например: a xor b = c (где a , b , c - три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b : c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e . Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c : a xor b xor e xor d = c . Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.

    (+) : RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер наименьшего диска. Например, для массива из 4-х дисков по 80 гигабайт общий объём будет (4 - 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.

    (-) : Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи сервера заменяется на контроллере RAID на три - одну операцию чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков - весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее необнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных. Минимальное количество используемых дисков равно трём.

    RAID 5EE

    Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, ёмкость логического тома ограничивается ёмкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их ёмкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

    Достоинства:

    • 100% защита данных
    • Большая ёмкость физических дисков по сравнению с RAID-1 или RAID -1E
    • Большая производительность по сравнению с RAID-5
    • Более быстрое восстановление RAID по сравнению с RAID-5Е

    Недостатки:

    • Более низкая производительность, чем в RAID-1 или RAID-1E
    • Поддержка только одного логического тома на массив
    • Невозможность совместного использования резервного диска с другими массивами
    • Поддержка не всех контроллеров

    RAID 6

    RAID 6 - похож на RAID 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска . Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, по сравнению с аналогичными показателями RAID-5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также прочитывать и перезаписывать больше дисковых блоков при записи каждого блока).

    RAID 7

    RAID 7 - зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП ; в случае перебоев с питанием происходит повреждение данных.

    RAID 10

    Схема архитектуры RAID 10

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

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

    Комбинированные уровни

    Помимо базовых уровней RAID 0 - RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.

    • RAID 1+0 - это сочетание зеркалирования и чередования (см. выше).
    • RAID 5+0 - это чередование томов 5-го уровня.
    • RAID 1+5 - RAID 5 из зеркалированных пар.

    Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков…

    Стоит отметить, что количество жёстких дисков в комбинированных массивах также изменится. Например для RAID 5+0 используют 6 или 8 жёстких дисков, для RAID 1+0 - 4, 6 или 8.

    Сравнение стандартных уровней

    Уровень Количество дисков Эффективная ёмкость* Отказоустойчивость Преимущества Недостатки
    0 от 2 S * N нет наивысшая производительность очень низкая надёжность
    1 2 S 1 диск надёжность
    1E от 3 S * N / 2 1 диск** высокая защищённость данных и неплохая производительность двойная стоимость дискового пространства
    10 или 01 от 4, чётное S * N / 2 1 диск*** наивысшая производительность и высокая надёжность двойная стоимость дискового пространства
    5 от 3 до 16 S * (N - 1) 1 диск экономичность, высокая надёжность, неплохая производительность производительность ниже RAID 0
    50 от 6, чётное S * (N - 2) 2 диска** высокая надёжность и производительность высокая стоимость и сложность обслуживания
    5E от 4 S * (N - 2) 1 диск экономичность, высокая надёжность, скорость выше RAID 5
    5EE от 4 S * (N - 2) 1 диск быстрое реконструирование данных после сбоя, экономичность, высокая надёжность, скорость выше RAID 5 производительность ниже RAID 0 и 1, резервный накопитель работает на холостом ходу и не проверяется
    6 от 4 S * (N - 2) 2 диска экономичность, наивысшая надёжность производительность ниже RAID 5
    60 от 8, чётное S * (N - 2) 2 диска высокая надёжность, большой объем данных
    61 от 8, чётное S * (N - 2) / 2 2 диска** очень высокая надёжность высокая стоимость и сложность организации

    * N - количество дисков в массиве, S - объём наименьшего диска. ** Информация не потеряется, если выйдут из строя все диски в пределах одного зеркала. *** Информация не потеряется, если выйдут из строя два диска в пределах разных зеркал.

    Matrix RAID

    Matrix RAID - это технология, реализованная фирмой Intel в своих чипсетах начиная с ICH6R. Строго говоря, эта технология не является новым уровнем RAID (ее аналог существует в аппаратных RAID-контроллерах высокого уровня), она позволяет, используя небольшое количество дисков организовать одновременно один или несколько массивов уровня RAID 1, RAID 0 и RAID 5. Это позволяет за сравнительно небольшие деньги обеспечить для одних данных повышенную надёжность, а для других высокую скорость доступа и производства.

    Дополнительные функции RAID-контроллеров

    Многие RAID-контроллеры оснащены набором дополнительных функций:

    • "Горячая замена" (Hot Swap)
    • "Горячий резерв" (Hot Spare)
    • Проверка на стабильность.

    Программный (англ. software ) RAID

    Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра , а управлять RAID-устройствами можно с помощью утилиты mdadm . Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $250). С другой стороны, программный RAID использует ресурсы центрального процессора , и в моменты пиковой нагрузки на дисковую систему процессор может значительную часть мощности тратить на обслуживание RAID-устройств.

    Ядро Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные RAID следующих уровней: 0, 1, 4, 5, 6, 10. Реализация позволяет создавать RAID на отдельных разделах дисков, что аналогично описанному выше Matrix RAID. Поддерживается загрузка с RAID.

    Дальнейшее развитие идеи RAID

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

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

    Сотрудник корпорации Y-E Data, которая является крупнейшим в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал RAID-массив из четырех





    

    2024 © gtavrl.ru.