Raid 5 из пяти дисков. Практические советы по созданию RAID-массивов на домашних ПК

Аппаратные подсистемы 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-5 это плохо» (пример раз , два , и другие)

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

Емкость жестких дисков за последние несколько лет растет без особых тенденций к остановке. Однако, хотя емкость дисков чуть ли не удваивается каждый год, прирост их быстродействия, то есть скорости передачи данных, за тот же срок увеличивается всего в проценты. Да, действительно, на дисках появляются интерфейсы SATA, SATA-II, и ждем уже SATA-III, но стали ли диски быстрее работать, а не просто получили новый интерфейс с бубенчиками и новыми круглыми цифрами теоретических показателей вида "цифра максимальной скорости на спидометре «Запорожца» ?

В настоящее время практически все производители выпускают жесткие диски двух основных классов.
Это так называемые Desktop-диски, для настольных систем, и диски Enterprise, предназначенные для серверов и прочих критичных случаев. Кроме того, диски класса Enterprise также делятся на диски SATA (скорость оборотов 7200RPM) и SAS или FC (со скоростями вращения 10K и 15K RPM).

Надежность процесса передачи данных принято измерять параметром BER - Bit Error Rate(Ratio) . Это вероятность сбоя, из расчета некоего объема прочитанных головками диска бит.
Как правило, диски Desktop-class имеют указанную производителем величину BER равную 10^14 степени , постепенно для все больших дисков, в особенности новых серий, указывают величины надежности в 10^15. Это число означает, что производитель прогнозирует вероятность сбоя при чтении не хуже, чем одного сбойного бита на 10^14 степени прочитанных диском бит. Единица с 14 нулями. Сто тысяч миллиардов бит.
Цифра огромная, казалось бы. Но так ли велика она на самом деле?

Несложная математика уровня calc.exe говорит нам, что 10^14 бит это всего лишь около 11TB данных. Это означает, что производитель жестких дисков говорит нам таким образом, что считав с диска с параметром BER 10^14, то есть обычного, десктопного класса диска, примерно 11TB, мы, с точки зрения производителя, наверняка получим где-нибудь сбойный бит. По крайней мере он, производитель, на это у себя рассчитывает.
Сбойный бит чтения означает сбойный блок, размером 512 байт, на который он пришелся. И пошло-поехало.
11 терабайт это же уже и не так много?

И это не означает, что надо прочитать ровно 11TB, BER это только вероятность, которая стремится к 100% к 11-му терабайту. На меньших объемах она просто пропорционально уменьшается.
Да, диски с BER равным 10^15 имеют вероятность ошибки в 10 раз лучше (110TB считанного на один сбойный бит), но и это только временное улучшение. Как мы помним, емкость дисков удваивается с каждым новым поколением, то есть примерно каждые полтора-два года, растут и емкости RAID, а BER10^15 для SATA достигнут только в последний год-полтора.

Так, например, для 6-дискового RAID-5 с дисками 1TB величина отказа по причине BER оценивается в 4-5%, а для 4TB дисков она же будет достигать уже 16-20%.

В последнее время в мировой компьютерной прессе стало появляться довольно много статей на тему: «Почему RAID-5 это плохо» (пример раз , два , и другие)

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

Емкость жестких дисков за последние несколько лет растет без особых тенденций к остановке. Однако, хотя емкость дисков чуть ли не удваивается каждый год, прирост их быстродействия, то есть скорости передачи данных, за тот же срок увеличивается всего в проценты. Да, действительно, на дисках появляются интерфейсы SATA, SATA-II, и ждем уже SATA-III, но стали ли диски быстрее работать, а не просто получили новый интерфейс с бубенчиками и новыми круглыми цифрами теоретических показателей вида "цифра максимальной скорости на спидометре «Запорожца» ?

В настоящее время практически все производители выпускают жесткие диски двух основных классов.
Это так называемые Desktop-диски, для настольных систем, и диски Enterprise, предназначенные для серверов и прочих критичных случаев. Кроме того, диски класса Enterprise также делятся на диски SATA (скорость оборотов 7200RPM) и SAS или FC (со скоростями вращения 10K и 15K RPM).

Надежность процесса передачи данных принято измерять параметром BER - Bit Error Rate(Ratio) . Это вероятность сбоя, из расчета некоего объема прочитанных головками диска бит.
Как правило, диски Desktop-class имеют указанную производителем величину BER равную 10^14 степени , постепенно для все больших дисков, в особенности новых серий, указывают величины надежности в 10^15. Это число означает, что производитель прогнозирует вероятность сбоя при чтении не хуже, чем одного сбойного бита на 10^14 степени прочитанных диском бит. Единица с 14 нулями. Сто тысяч миллиардов бит.
Цифра огромная, казалось бы. Но так ли велика она на самом деле?

Несложная математика уровня calc.exe говорит нам, что 10^14 бит это всего лишь около 11TB данных. Это означает, что производитель жестких дисков говорит нам таким образом, что считав с диска с параметром BER 10^14, то есть обычного, десктопного класса диска, примерно 11TB, мы, с точки зрения производителя, наверняка получим где-нибудь сбойный бит. По крайней мере он, производитель, на это у себя рассчитывает.
Сбойный бит чтения означает сбойный блок, размером 512 байт, на который он пришелся. И пошло-поехало.
11 терабайт это же уже и не так много?

И это не означает, что надо прочитать ровно 11TB, BER это только вероятность, которая стремится к 100% к 11-му терабайту. На меньших объемах она просто пропорционально уменьшается.
Да, диски с BER равным 10^15 имеют вероятность ошибки в 10 раз лучше (110TB считанного на один сбойный бит), но и это только временное улучшение. Как мы помним, емкость дисков удваивается с каждым новым поколением, то есть примерно каждые полтора-два года, растут и емкости RAID, а BER10^15 для SATA достигнут только в последний год-полтора.

Так, например, для 6-дискового RAID-5 с дисками 1TB величина отказа по причине BER оценивается в 4-5%, а для 4TB дисков она же будет достигать уже 16-20%.

© Андрей Егоров, 2005, 2006. Группа компаний ТИМ.

Посетители форума задают нам вопрос: «Какой уровень RAID самый надежный?» Все знают, что наиболее распространенным является уровень RAID5, однако он отнюдь не лишен серьезных недостатков, которые неочевидны для неспециалистов.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 или что такое уровни RAID?

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

JBOD (Just a Bunch of Disks) – это простое объединение (spanning) жестких дисков, которое уровнем RAID формально не является. Томом JBOD может быть массив из одного диска или объединение нескольких дисков. Контроллеру RAID для работы с таким томом не требуется проведение каких-либо вычислений. На нашей диаграмме диск JBOD служит в качестве «ординара» или отправной точки – его значения надежности, производительности и стоимости совпадают с соответствующими показателями единичного жесткого диска.

RAID 0 (“Striping”) избыточности не имеет, а информацию распределяет сразу по всем входящим в массив дискам в виде небольших блоков («страйпов»). За счет этого существенно повышается производительность, но страдает надежность. Как и в случае JBOD, за свои деньги мы получаем 100% емкости диска.

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

Хороший уровень – RAID 1 (“Mirroring”, «зеркало»). Он имеет защиту от выхода из строя половины имеющихся аппаратных средств (в общем случае – одного из двух жестких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счет распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жестких дисков, получая полезный объем одного жесткого диска.

Изначально предполагается, что жесткий диск – вещь надежная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, т.е. ниже на порядки! К сожалению, реальная жизнь – не теория! Два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры – вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare . Достоинство такого подхода – поддержание постоянной надежности. Недостаток – еще большие издержки (т.е. стоимость 3-х винчестеров для хранения объема одного диска).

Зеркало на многих дисках – это уровень RAID 10 . При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объем полученного тома может превосходить емкость одного жесткого диска. Достоинства и недостатки – такие же, как и у уровня RAID1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва HotSpare из расчета один резервный на пять рабочих.

RAID 5 , действительно, самый популярный из уровней – в первую очередь благодаря своей экономичности. Жертвуя ради избыточности емкостью всего одного диска из массива, мы получаем защиту от выхода из строя любого из винчестеров тома. На запись информации на том RAID5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива распараллеливаются.

Недостатки RAID5 проявляются при выходе из строя одного из дисков – весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Если срочно не принять меры – можно потерять весь том. Поэтому, (см. выше) с томом RAID5 следует обязательно использовать диск Hot Spare.

Помимо базовых уровней RAID0 - RAID5, описанных в стандарте, существуют комбинированные уровни RAID10, RAID30, RAID50, RAID15, которые различные производители интерпретируют каждый по-своему.

Суть таких комбинаций вкратце заключается в следующем. RAID10 – это сочетание единички и нолика (см. выше). RAID50 – это объединение по “0” томов 5-го уровня. RAID15 – «зеркало» «пятерок». И так далее.

Таким образом, комбинированные уровни наследуют преимущества (и недостатки) своих «родителей». Так, появление «нолика» в уровне RAID 50 нисколько не добавляет ему надежности, но зато положительно отражается на производительности. Уровень RAID 15 , наверное, очень надежный, но он не самый быстрый и, к тому же, крайне неэкономичный (полезная емкость тома составляет меньше половины объема исходного дискового массива).

RAID 6 отличается от RAID 5 тем, что в каждом ряду данных (по-английски stripe ) имеет не один, а два блока контрольных сумм. Контрольные суммы – «многомерные», т.е. независимые друг от друга, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Вычисление контрольных сумм по методу Рида-Соломона требует более интенсивных по сравнению с RAID5 вычислений, поэтому раньше шестой уровень практически не использовался. Сейчас он поддерживается многими продуктами, так как в них стали устанавливать специализированные микросхемы, выполняющие все необходимые математические операции.

Согласно некоторым исследованиям, восстановление целостности после отказа одного диска на томе RAID5, составленном из дисков SATA большого объема (400 и 500 гигабайт), в 5% случаев заканчивается утратой данных. Другими словами, в одном случае из двадцати во время регенерации массива RAID5 на диск резерва Hot Spare возможен выход из строя второго диска... Отсюда рекомендации лучших RAIDоводов: 1) всегда делайте резервные копии; 2) используйте RAID6 !

Недавно появились новые уровни RAID1E, RAID5E, RAID5EE. Буква “Е” в названии означает Enhanced .

RAID level-1 Enhanced (RAID level-1E) комбинирует mirroring и data striping. Эта смесь уровней 0 и 1 устроена следующим образом. Данные в ряду распределяются точь-в-точь так, как в RAID 0. То есть ряд данных не имеет никакой избыточности. Следующий ряд блоков данных копирует предыдущий со сдвигом на один блок. Таким образом как и в стандартном режиме RAID 1 каждый блок данных имеет зеркальную копию на одном из дисков, поэтому полезный объем массива равен половине суммарного объема входящих в массив жестких дисков. Для работы RAID 1E требуется объединение трех или более дисков.

Мне очень нравится уровень RAID1E. Для мощной графической рабочей станции или даже для домашнего компьютера – оптимальный выбор! Он обладает всеми достоинствами нулевого и первого уровней – отличная скорость и высокая надежность.

Перейдем теперь к уровню RAID level-5 Enhanced (RAID level-5E) . Это то же самое что и RAID5, только со встроенным в массив резервным диском spare drive . Это встраивание производится следующим образом: на всех дисках массива оставляется свободным 1/N часть пространства, которая при отказе одного из дисков используется в качестве горячего резерва. За счет этого RAID5E демонстрирует наряду с надежностью лучшую производительность, так как чтение/запись производится параллельно с бОльшего числа накопителей одновременно и spare drive не простаивает, как в RAID5. Очевидно, что входящий в том резервный диск нельзя делить с другими томами (dedicated vs. shared). Том RAID 5E строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

RAID level-5E Enhanced (RAID level-5EE) подобен уровню RAID level-5E, но он имеет более эффективное распределение spare drive и, как следствие, – более быстрое время восстановления. Как и уровень RAID5E, этот уровень RAID распределяет в рядах блоки данных и контрольных сумм. Но он также распределяет и свободные блоки spare drive, а не просто оставляет под эти цели часть объема диска. Это позволяет уменьшить время, необходимое на реконструкцию целостности тома RAID5EE. Входящий в том резервный диск нельзя делить с другими томами – как и в предыдущем случае. Том RAID 5EE строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

Как ни странно, никаких упоминаний об уровне RAID 6E на просторах Интернета я не нашел - пока такой уровень никем из производителей не предлагается и даже не анонсируется. А ведь уровень RAID6E (или RAID6EE?) можно предложить по тому же принципу, что и предыдущий. Диск HotSpare обязательно должен сопровождать любой том RAID, в том числе и RAID 6. Конечно, мы не потеряем информацию при выходе из строя одного или двух дисков, но начать регенерацию целостности массива крайне важно как можно раньше, чтобы скорее вывести систему из «критического» режима. Поскольку необходимость диска Hot Spare для нас не подлежит сомнению, логичным было бы последовать дальше и «размазать» его по тОму так, как это сделано в RAID 5EE, чтобы получить преимущества от использования бОльшего количества дисков (лучшая скорость на чтении-записи и более быстрое восстановление целостности).

Уровни RAID в «числах».

В таблицу я собрал некоторые важные параметры почти всех уровней RАID, чтобы можно было сопоставить их между собой и четче понять их суть.

Уровень
~~~~~~~

Избы-
точ-
ность
~~~~~~~

Исполь-
зование емкости дисков
~~~~~~~

Произво-
дитель-
ность
чтения

~~~~~~~

Произво-
дитель-
ность
записи

~~~~~~~

Встроен-
ный диск
резерва

~~~~~~~

Мин. кол-во дисков
~~~~~~~

Макс. кол-во дисков

~~~~~~~

Отл

Отл

Отл

Отл

Все «зеркальные» уровни – RAID 1, 1+0, 10, 1E, 1E0.

Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?

RAID 1.
Это – классическое «зеркало». Два (и только два!) жестких диска работают как один, являясь полной копией друг друга. Выход из строя любого из этих двух дисков не приводит к потере ваших данных, так как контроллер продолжает работу с оставшимся диском. RAID1 в цифрах: двукратная избыточность, двукратная надежность, двукратная стоимость. Производительность на запись эквивалентна производительности одного жесткого диска. Производительность чтения выше, так как контроллер может распределять операции чтения между двумя дисками.

RAID 10.
Суть этого уровня в том, что диски массива объединяются парами в «зеркала» (RAID 1), а затем все эти зеркальные пары в свою очередь объединяются в общий массив с чередованием (RAID 0). Именно поэтому его иногда обозначают как RAID 1+0 . Важный момент – в RAID 10 можно объединить только четное количество дисков (минимум – 4, максимум – 16). Достоинства: от "зеркала" наследуется надежность, от «нуля» – производительность как на чтение, так и на запись.

RAID 1Е.
Буква "E" в названии означает "Enhanced", т.е. "улучшенный". Принцип этого улучшения следующий: данные блоками "чередуются" ("striped") на все диски массива, а потом еще раз "чередуются" со сдвигом на один диск. В RAID 1E можно объединять от трех до 16 дисков. Надежность соответствует показателям "десятки", а производительность за счет большего "чередования" становится чуть лучше.

RAID 1Е0.
Этот уровень реализуется так: мы создаем "нулевой" массив из массивов RAID1E. Следовательно, общее количество дисков должно быть кратно трем: минимум три и максимум – шестьдесят! Преимущество в скорости при этом мы вряд ли получим, а сложность реализации может неблагоприятно отразиться на надежности. Главное достоинство – возможность объединить в один массив очень большое (до 60) количество дисков.

Сходство всех уровней RAID 1X заключается в их показателях избыточности: ради реализации надежности жертвуется ровно 50% суммарной емкости дисков массива.

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

RAID0: Чередование (Striping)

Описание : Данные распределены по всем дискам массива равномерно. В массиве участвуют два или более дисков

Производительность : Одновременно может быть записан и прочитан бит данных

Плюсы : Быстродействие чтения/записи

Минусы : Нет резервирования. Любой диск вышедший из строя приведет к разрушению массива и как следствие потере всех данных

Использование : Приложения, которым необходим скоросной обмен данными, хранилище временных файлов, некритичные данные

RAID1: Зеркалирование (Mirroring)

Описание : Запись/чтение данных происходит одновременно на два или более дисков массива

Производительность : Операции чтения выполняются бстрее т.к. данные считываются со всех дисков массива одновременно. Операции записи медленнее т.к. запись выполняется дважды или более раз (зависит от количества дисков в массиве)

Плюсы : Выход из строя любого количества дисков массива кроме последнего не приводит к потере данных

Минусы : Стоимость. Пропорциональна количеству дисков в массиве

Использование : Системные разделы, разделы с важными данными, приложения использующие транзакции

RAID3: Чередование с выделенным диском чётности (Virtual disk blocks)

Описание : Данные чередуются по дискам массива на уровне байтов. Необходим дополнительный диск на котором хранится информация о четности. Минимально три диска в массиве

Производительность : Низкая на операциях записи

Плюсы : Данные остаются полностью доступными при выходе из строя одного диска

Минусы : Производительность

Использование : Редко меняющиеся, часто считываемые данные

RAID4: Чередование с выделенным диском чётности (Dedicated parity disk)

Описание : Данные чередуются на уровне блоков. Необходим дополнительный диск на котором хранится информация о четности. Минимально три диска в массиве

Производительность : Низкая на операциях записи

Плюсы : Это лучше чем RAID3. Данные остаются полностью доступными при выходе из строя одного диска. В массив можно добавить любое количество дисков

Минусы : Узкое место такого массива — выделенный диск четности. Данные не считаются записанными, пока не будет записана контрольная сумма на диск четности

Использование : Не подходит для высокопроизводительных систем с активной записью/чтением

RAID5: Чередование чётности (Striped parity)

Описание : В отличии от RAID4 данные и четность чередуются по всем дискам массива. Очень хорошо иметь дополнительный вакантный диск (hot spare disk) на случай если один из дисков массива выйдет из строя. Тогда контроллер подхватит вакантный диск и массив будет перестроен. Минимально три диска в массиве

Производительность : Лучше, чем в RAID4 т.к. решена проблема выделенного диска четности

Плюсы : Достигнут баланс чтения/записи/резервирования

Минусы : Просадка производительности во время перестройки массива. Если не используется кеш записи (рейд-контроллер не оборудован батарейкой и не настроен), то просадка будет особенно чуствительна

Использование : Веб-сервера, файловые сервера где используется интенсивное чтение данных

RAID6: Двойное чередование чётности (Dual parity)

Описание : Похож на RAID5 с той разницей, что в массиве присутствует два диска контроля четности, что повышает надежность системы. Минимально четыре диска в массиве

Производительность : Хуже на 10%-15% чем в RAID5 из-за более сложного алгоритма рассчета контрольных сумм. Больше операций чтения/записи

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

Минусы : Стоимость. Просадка производительности во время перестройки массива

Использование : Резервные хранилища данных с повышенной надежностью

RAID10

Описание : Из групп массивов RAID1 строится RAID0

Производительность : Считается самым быстрым и надежным массивом

Плюсы : Повышена надежность сохранности данных. Массив будет жизнеспособен пока в каждой группе массивов RAID1 будет рабочим последний диск

Минусы : Стоимость, один из самых дорогих

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: