Что такое RAID-массивы и зачем они нужны. Что такое RAID массив и для чего он нужен

Краткий обзор технологии RAID

В этом документе описываются базовые элементы технологии RAID и приводится краткий обзор различных уровней RAID.

  • RAID 2, 3

    RAID 4, 5

    Таблица: преимущества и недостатки основных уровней RAID

RAID - это акроним от Redundant Array of Independent Disks .

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

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

Уровни RAID

Каждый из четырех основных уровней RAID использует уникальный метод записи данных на диски, и поэтому все уровни обеспечивают различные преимущества. Уровни RAID 1,3 и 5 обеспечивают зеркалирование или хранение битов четности; и поэтому позволяют восстановить информацию в случае сбоя одного из дисков.

RAID уровня 0

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

    повышается пропускная способность последовательного ввода/вывода за счет одновременной загрузки нескольких интерфейсов.

    снижается латентность случайного доступа; несколько запросов к различным небольшим сегментам информации могут выполнятся одновременно.

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

Контроллер Массива

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

рис. 1. Схема работы массива и распределение данных по дискам для RAID 0. Примечание: сегмент - это 2 дисковых блока по 512 байт.

RAID уровня 1

Технология RAID 1 также известна как зеркалирование (disk mirroring ). В этом случае, копии каждого куска информации хранятся на отдельном диске; или, обычно каждый (используемый) диск имеет "двойника", который хранит точную копию этого диска. Если происходит сбой одного из основных дисков, этот замещается своим "двойником". Производительность произвольного чтения может быть улучшена, если для чтения информации будет использоваться тот из "двойников", головка которого расположена ближе к требуемому блоку.

Время записи может оказаться несколько больше , чем для одного диска, в зависимости от стратегии записи: запись на два диска может производится либо в параллель (для скорости), либо строго последовательно (для надежности).

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

Диск 1 (данные)

Диск 2 (копия диска 1)

Диск 3 (данные)

Диск 4 (копия диска 3)

Диск 5 (свободный)

Сегмент 1

Сегмент 1

Сегмент 2

Сегмент 2

Сегмент 3

Сегмент 3

Сегмент 4

Сегмент 4

рис. 2. Распределение данных по дискам для RAID 1.

RAID уровней 2 и 3

Технология RAID уровней 2 и 3 предусматривает параллельную ("в унисон") работу всех дисков. Эта архитектура требует хранения битов четности для каждого элемента информации, распределяемого по дискам. Отличие RAID 3 от RAID 2 состоит только в том, что RAID 2 использует для хранения битов четности несколько дисков, тогда как RAID 3 использует только один. RAID 2 используется крайне редко.

Если происходит сбой одного диска с данными, то система может восстановить его содержимое по содержимому остальных дисков с данными и диска с информацией четности.

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

Диск 1 (данные)

Диск 2 (данные)

Диск 3 (данные)

Диск 4 (данные)

Диск 5 (информация четности)

Байт четности

Байт четности

рис. 3. Распределение данных по дискам для RAID 3.

RAID уровней 4 и 5

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

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

Данная технология хорошо подходит для приложений, которые работают с небольшими объемами данных, например, для систем обработки транзакций.

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

Сегмент четности

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

Сегмент четности

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

Сегмент четности

Сегмент 11

Сегмент 12

рис. 4. Распределение данных по дискам для RAID 5.

Преимущества и недостатки основных уровней RAID

Уровень RAID

Механизм обеспечения надежности

Эффективная емкость массива

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

Область применения

приложения без существенных требований к надежности

зеркалирование

высокая или средняя

приложения без существенных требований к стоимости

четность

приложения, работающие с большими объемами данных (графика, CAD/CAM и пр.)

четность

приложения, работающие с небольшими объемами данных (обработка транзакций)

RAID (англ. redundant array of independent disks - избыточный массив независимых жёстких дисков) - массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации. Изначально, подобные массивы строились в качестве резерва носителям на оперативной (RAM) памяти, которая в то время была дорогой. Со временем, аббревиатура приобрела второе значение – массив уже был из независимых дисков, подразумевая использование нескольких дисков, а не разделов одного диска, а также дороговизну (теперь уже относительно просто нескольких дисков) оборудования, необходимого для построения этого самого массива.

Рассмотрим, какие бывают RAID массивы. Сперва рассмотрим уровни, которые были представлены учёными из Беркли, потом их комбинации и необычные режимы. Стоит заметить, что если используются диски разного размера (что не рекомендуется), то работать они буду по объёму наименьшего. Лишний объем больших дисков просто будет недоступен.

RAID 0. Дисковый массив с чередованием без отказоустойчивости/чётности (Stripe)

Является массивом, где данные разбиваются на блоки (размер блока можно задавать при создании массива) и затем записываются на отдельные диски. В простейшем случае – есть два диска, один блок пишется на первый диск, другой на второй, затем опять на первый и так далее. Также этот режим называется «чередование», поскольку при записи блоков данных чередуются диски, на которые осуществляется запись. Соответственно, читаются блоки тоже поочерёдно. Таким образом, происходит параллельное выполнение операций ввода/вывода, что приводит к большей производительности. Если раньше за единицу времени мы могли считать один блок, то теперь можем сделать это сразу с нескольких дисков. Основным плюсом данного режима как раз и является высокая скорость передачи данных.

Однако чудес не бывает, а если бывают, то нечасто. Производительность растёт всё же не в N раз (N – число дисков), а меньше. В первую очередь, увеличивается в N раз время доступа к диску, и без того высокое относительно других подсистем компьютера. Качество контроллера оказывает не меньшее влияние. Если он не самый лучший, то скорость может едва заметно отличаться от скорости одного диска. Ну и немалое влияние оказывает интерфейс, которым RAID контроллер соединён с остальной системой. Всё это может привести не только к меньшему, чем N увеличению скорости линейного чтения, но и к пределу количества дисков, установка выше которого прироста давать уже не будет вовсе. Или, наоборот, будет слегка снижать скорость. В реальных задачах, с большим числом запросов шанс столкнуться с этим явлением минимален, ибо скорость весьма сильно упирается в сам жёсткий диск и его возможности.

Как видно, в этом режиме избыточности нет как таковой. Используется всё дисковое пространство. Однако, если один из дисков выходит из строя, то, очевидно, теряется вся информация.

RAID 1. Зеркалирование (Mirror)

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

Минусы – высокая избыточность, так как нужно вдвое больше дисков для создания такого массива. Ещё одним минусом является то, что отсутствует какой-либо прирост производительности – ведь на второй диск просто пишется копия данных первого.

RAID 2 Массив с использованием ошибкоустойчивого кода Хемминга.

Данный код позволяет исправлять и обнаруживать двойные ошибки. Активно используется в памяти с коррекцией ошибок (ECC). В этом режиме диски разбиваются на две группы – одна часть используется для хранения данных и работает аналогично RAID 0, разбивая блоки данных по разным дискам; вторая часть используется для хранения ECC кодов.

Из плюсов можно выделить исправление ошибок «на лету», высокую скорость потоковой передачи данных.

Главным минусом является высокая избыточность (при малом числе дисков она почти двойная, n-1). При увеличении числа дисков удельное число дисков хранения ECC кодов становится меньше (снижается удельная избыточность). Вторым минусом является низкая скорость работы с мелкими файлами. Из-за громоздкости и высокой избыточности с малым числом дисков, данный уровень RAID в данное время не используется, сдав позиции более высоким уровням.

RAID 3. Отказоустойчивый массив с битовым чередованием и чётностью.

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

Из основных минусов надо отметить низкую скорость при работе с мелкими файлами и множеством запросов. Связано это с тем, что все контрольные коды хранятся на одном диске и при операциях ввода/вывода их необходимо переписывать. Скорость этого диска и ограничивает скорость работы всего массива. Биты чётности пишутся только при записи данных. А при чтении – они проверяются. По причине этого наблюдается дисбаланс в скорости чтения/записи. Одиночное чтение небольших файлов также характеризуется невысокой скоростью, что связано с невозможностью параллельного доступа с независимых дисков, когда разные диски параллельно выполняют запросы.

RAID 4

Данные записываются блоками на разные диски, один диск используется для хранения битов чётности. Отличие от RAID 3 заключается в том, что блоки разбиваются не по битам и байтам, а по секторам. Преимущества заключаются в высокой скорости передачи при работе с большими файлами. Также высока скорость работы с большим числом запросов на чтение. Из недостатков можно отметить доставшиеся от RAID 3 – дисбаланс в скорости операций чтения/записи и существование условий, затрудняющих параллельный доступ к данным.

RAID 5. Дисковый массив с чередованием и распределённой чётностью.

Метод похож на предыдущий, но в нём для битов чётности выделяется не отдельный диск, а эта информация распределяется между всеми дисками. То есть, если используется N дисков, то будет доступен объём N-1 диска. Объём одного будет выделен под биты чётности, как и в RAID 3,4. Но они хранятся не на отдельном диске, а разделены. На каждом диске есть (N-1)/N объёма информации и 1/N объёма заполнено битами чётности. Если в массиве выходит из строя один диск, то он остаётся работоспособным (данные, хранившиеся на нём, вычисляются на основе чётности и данных других дисков «на лету»). То есть, сбой проходит прозрачно для пользователя и порой даже с минимальным падением производительности (зависит от вычислительной способности RAID контроллера). Из преимуществ отметим высокие скорости чтения и записи данных, как при больших объёмах, так и при большом числе запросов. Недостатки – сложное восстановление данных и более низкая, чем в RAID 4 скорость чтения.

RAID 6. Дисковый массив с чередованием и двойной распределённой чётностью.

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

Комбинированные (nested) уровни RAID.

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

RAID 0+1

Комбинация, которая является массивом RAID 1, собранным на базе массивов RAID 0. Как и в массиве RAID 1, доступным будет только половина объёма дисков. Но, как и в RAID 0, скорость будет выше, чем с одним диском. Для реализации такого решения необходимо минимум 4 диска.

RAID 1+0

Также известен, как RAID 10. Является страйпом зеркал, то есть, массивом RAID 0, построенным из RAID 1 массивов. Практически аналогичен предыдущему решению.

RAID 0+3

Массив с выделенной чётностью над чередованием. Является массивом 3-го уровня, в котором данные блоками разбиваются и пишутся на массивы RAID 0. Комбинации, кроме простейших 0+1 и 1+0 требуют специализированных контроллеров, зачастую достаточно дорогих. Надёжность данного вида ниже, чем у следующего варианта.

RAID 3+0

Также известен, как RAID 30. Является страйпом (массивом RAID 0) из массивов RAID 3. Обладает весьма высокой скорость передачи данных, вкупе с неплохой отказоустойчивостью. Данные сначала разделяются на блоки (как в RAID 0) и попадают на массивы-элементы. Там они опять делятся на блоки, считается их чётность, блоки пишутся на все диски кроме одного, на который пишутся биты чётности. В данном случае, из строя может выйти один из дисков каждого из входящих в состав RAID 3 массива.

RAID 5+0 (50)

Создаётся путём объединения массивов RAID 5 в массив RAID 0. Обладает высокой скоростью передачи данных и обработки запросов. Обладает средней скоростью восстановления данных и хорошей стойкостью при отказе. Комбинация RAID 0+5 также существует, но больше теоретически, так как даёт слишком мало преимуществ.

RAID 5+1 (51)

Сочетание зеркалирования и чередования с распределённой четностью. Также вариантом является RAID 15 (1+5). Обладает очень высокой отказоустойчивостью. Массив 1+5 способен работать при отказе трех дисков, а 5+1 – пяти из восьми дисков.

RAID 6+0 (60)

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

RAID 100 (10+0)

RAID 100, также пишущийся как RAID 10+0, является страйпом из RAID 10. По своей сути, он схож с более широким RAID 10 массивом, где используется вдвое больше дисков. Но именно такой «трехэтажной» структуре есть своё объяснение. Чаще всего RAID 10 делают аппаратным, то есть силами контроллера, а уже страйп из них делают программно. К такой уловке прибегают, чтобы избежать проблемы, о которой говорилось в начале статьи – контроллеры имеют свои ограничения по масштабируемости и если воткнуть в один контроллер двойное число дисков, прироста можно при некоторых условиях вообще не увидеть. Программный же RAID 0 позволяет создать его на базе двух контроллеров, каждый из которых держит на борту RAID 10. Так, мы избегаем «бутылочного горлышка» в лице контроллера. Ещё одним полезным моментом является обход проблемы с максимальным числом разъёмов на одном контроллере – удваивая их число, мы удваиваем и число доступных разъёмов.

Нестандартные режимы RAID

Двойная четность

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

Является разработкой NetApp RAID массива с двойной четностью и подпадает под обновленное определение RAID 6. Использует отличную от классической RAID 6 реализации схему записи данных. Запись ведется сначала на кеш NVRAM, снабжённый источником бесперебойного питания, чтобы предотвратить потерю данных при отключении электричества. Программное обеспечение контроллера, по возможности, пишет только цельные блоки на диски. Такая схема предоставляет большую защиту, чем RAID 1 и имеет более высокую скорость работы, нежели обычный RAID 6.

RAID 1,5

Был предложен компанией Highpoint, однако теперь применяется очень часто в контроллерах RAID 1, без каких-либо выделений данной особенности. Суть сводится к простой оптимизации – данные пишутся как на обычный массив RAID 1 (чем 1,5 по сути и является), а читают данные с чередованием с двух дисков (как в RAID 0). В конкретной реализации от Highpoint, применявшейся на платах DFI серии LanParty на чипсете nForce 2, прирост был едва заметным, а порой и нулевым. Связано это, вероятно, с невысокой скоростью контроллеров данного производителя в целом в то время.

Комбинирует в себе RAID 0 и RAID 1. Создаётся минимум на трёх дисках. Данные пишутся с чередованием на три диска, а со сдвигом на 1 диск пишется их копия. Если пишется один блок на три диска, то копия первой части пишется на второй диск, второй части – на третий диск. При использовании четного числа дисков лучше, конечно, использовать RAID 10.

Обычно при построении RAID 5 один диск оставляют свободным (spare), чтобы в случае сбоя система сразу стала перестраивать (rebuild) массив. При обычной работе этот диск работает вхолостую. Система RAID 5E подразумевает использование этого диска в качестве элемента массива. А объём этого свободного диска распределяется по всему массиву и находится в конце дисков. Минимальное число дисков – 4 штуки. Доступный объём равен n-2, объём одного диска используется (будучи распределенным между всеми) для четности, объем еще одного – свободный. При выходе из строя диска происходит сжатие массива до 3-х дисков (на примере минимального числа) заполнением свободного пространства. Получается обычный массив RAID 5, устойчивый к отказу ещё одного диска. При подключении нового диска, массив расжимается и занимает вновь все диски. Стоит отметить, что во время сжатия и распаковки диск не является устойчивым к выходу еще одного диска. Также он недоступен для чтения/записи в это время. Основное преимущество – большая скорость работы, поскольку чередование происходит на большем числе дисков. Минус – что нельзя данный диск назначать сразу к нескольким массивам, что возможно в простом массиве RAID 5.

RAID 5EE

Отличается от предыдущего только тем, что области свободного места на дисках не зарезервированы одним куском в конце диска, а чередуются блоками с битами четности. Такая технология значительно ускоряет восстановление после сбоя системы. Блоки можно записать прямо на свободное место, без необходимости перемещения по диску.

Аналогично с RAID 5E использует дополнительный диск для повышения скорости работы и распределения нагрузки. Свободное место разделяется между другими дисками и находится в конце дисков.

Данная технология является зарегистрированной торговой маркой фирмы Storage Computer Corporation. Массив, основывающийся на RAID 3, 4, оптимизированный для повышения производительности. Основное преимущество заключается в использовании кеширования операций чтения/записи. Запросы на передачу данных осуществляются асинхронно. При построении используются диски SCSI. Скорость выше решений RAID 3,4 приблизительно в 1,5-6 раз.

Intel Matrix RAID

Является технологией, представленной Intel в южных мостах, начиная с ICH6R. Суть сводится к возможности комбинации RAID массивов разных уровней на разделах дисков, а не на отдельных дисках. Скажем, на двух дисках можно организовать по два раздела, два из них будут хранить на себе операционную систему на массиве RAID 0, а другие два – работая в режиме RAID 1 – хранить копии документов.

Linux MD RAID 10

Это RAID драйвер ядра Linux, предоставляющий возможность создания более продвинутой версии RAID 10. Так, если для RAID 10 существовало ограничение в виде чётного числа дисков, то этот драйвер может работать и с нечетным. Принцип для трех дисков будет тем же, что в RAID 1E, когда происходит чередование дисков по очереди для создания копии и чередования блоков, как в RAID 0. Для четырех дисков это будет эквивалентно обычному RAID 10. Помимо этого, можно задавать, на какой области диска будет храниться копия. Скажем, оригинал будет в первой половине первого диска, а его копия – во второй половине второго. Со второй половиной данных – наоборот. Данные можно дублировать несколько раз. Хранение копий на разных частях диска позволяет достичь большей скорости доступа в результате разнородности жесткого диска (скорость доступа меняется в зависимости от расположения данных на пластине, обычно разница составляет два раза).

Разработан компанией Kaleidescape для использования в своих медиа устройствах. Схож с RAID 4 с использованием двойной четности, но использует другой метод отказоустойчивости. Пользователь может легко расширять массив, просто добавляя диски, причём в случае, если он содержит данные, данные будут просто добавлены в него, вместо удаления, как это требуется обычно.

Разработка компании Sun. Самой большой проблемой RAID 5 является потеря информации в результате отключения питания, когда информация из дискового кеша (который является энергозависимой памятью, то есть не хранит данные без электричества) не успела сохраниться на магнитные пластины. Такое несовпадение информации в кеше и на диске называют некогерентностью. Сама организация массива связана с файловой системой Sun Solaris – ZFS. Используется принудительная запись содержимого кеш-памяти дисков, восстанавливать можно не только весь диск, но и блок «на лету», когда контрольная сумма не совпала. Ещё немаловажным аспектом является идеология ZFS – она не меняет данные при необходимости. Вместо этого она пишет обновлённые данные и потом, убедившись, что операция прошла уже удачно, меняет указатель на них. Таким образом, удаётся избежать потери данных при модификации. Мелкие файлы дублируются вместо создания контрольных сумм. Это тоже делается силами файловой системы, поскольку она знакома со структурой данных (массивом RAID) и может выделять место под эти цели. Существует также RAID-Z2, которая, подобно RAID 6 способна выдержать отказ двух дисков с помощью использования двух контрольных сумм.

То, что не является RAID в принципе, но часто вместе с ним употребляется. Дословно переводится как «просто набор дисков» (just a bunch of disks) Технология объединяет все диски, установленные в системе в один большой логический диск. То есть, вместо трех дисков будет виден один крупный. Используется весь суммарный объем дисков. Ускорения ни надежности, ни производительности нет.

Drive Extender

Функция, заложенная в Window Home Server. Совмещает в себе JBOD и RAID 1. При необходимости создания копии, она не дублирует сразу файл, а ставит NTFS разделе метку, указывающую на данные. При простое система копирует файл так, чтобы место на дисках было максимальным (использовать можно диски разного объема). Позволяет достичь многих преимуществ RAID – отказоустойчивости и возможности простой замены вышедшего из строя диска и его восстановления в фоновом режиме, прозрачности местонахождения файла (вне зависимости от того, на каком диске он находится). Также можно проводить параллельный доступ с разных дисков с помощью вышеуказанных меток, получая сходную с RAID 0 производительность.

Разработана компанией Lime technology LLC. Эта схема отличается от обычных RAID массивов тем, что позволяет смешивать диски SATA и PATA в одном массиве и диски разных объема и скорости. Для контрольной суммы (четности) используется выделенный диск. Данные не чередуются между дисками. В случае отказа одного диска, теряются только файлы, на нём хранящиеся. Однако, с помощью четности они могут быть восстановлены. UNRAID внедрен как добавление к Linux MD (multidisk).

Большинство видов RAID массивов не получило распространения, часть используется в узких сферах применения. Наиболее массовыми, от простых пользователей до серверов начального уровня стали RAID 0, 1, 0+1/10, 5 и 6. Нужен ли вам рейд-массив для ваших задач – решать вам. Теперь вы знаете, в чём их отличия друг от друга.

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

Как известно, производительность современных процессоров неизменно растет, за чем явно не успевают в своем развитии современные
жесткие диски. Наличие одного диска, будь то SCSI или, еще хуже IDE, уже не сможет решить задачи, актуальные нашему времени. Нужно множество дисков, которые будут дополнять друг друга, подменять в случае выхода одного из них, хранить резервные копии, работать качественно и продуктивно.

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

О создании такой системы нужно позаботиться заранее, ведь, как говорит известная пословица – пока жареный петух не клюнет - не хватятся. Можно потерять свои данные безвозвратно .

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

Что нужно для создания рейд? Как минимум наличие двух винчестеров. В зависимости от уровня массива варьируется количество используемых устройств хранения.

Какие бывают массивы raid

Существуют базовые, комбинированные массивы RAID. Институт в Беркли штат Калифорния предложил разделять рейд на уровни спецификации :

  • Базовые :
    • RAID1 ;
    • RAID2 ;
    • RAID3 ;
    • RAID4 ;
    • RAID5 ;
    • RAID6 .
  • Комбинированные :
    • RAID10 ;
    • RAID01 ;
    • RAID50 ;
    • RAID05 ;
    • RAID60 ;
    • RAID06 .

Рассмотрим наиболее часто используемые.

Рейд 0

RAID 0 предназначен для увеличения скорости и записи. Он не увеличивает надежность хранения, в связи с этим не является избыточным. Еще его зовут страйп (striping - «чередование» ). Обычно используется от 2 до 4 дисков.

Данные делятся на блоки, записывающие по очереди на диски. Скорость записи/чтения возрастает при этом в число раз, кратное количеству дисков. Из недостатков можно отметить возросшую вероятность потери данных при такой системе. Базы данных на таких дисках хранить не имеет смысла, ведь любой серьезный сбой приведет к полной неработоспособности рейда, так как отсутствуют средства восстановления.

Рейд 1

RAID 1 обеспечивает зеркальное хранение данных на аппаратном уровне. Называют также массив Mirror , что значит «зеркало » . То есть данные дисков в этом случае дублируются. Можно использовать при количестве устройств хранения от 2 до 4.

Скорость записи/чтения при этом практически не меняется, что можно отнести к преимуществам . Массив работает, если хоть один диск рейда находится в работе, но объем системы при этом равен объему одного диска. На практике при выходе из строя одного из винчестеров Вам нужно будет как можно быстрее принять меры к его замене.

Рейд 2

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

Быстрота чтения/записи в этом случае в сравнении с использованием одного диска повышается . Минусом является большое количество дисков, при котором его рационально применять, чтобы не было избыточности данных, обычно это 7 и больше .

RAID 3 – в массиве данные разбиваются на все диске кроме одного, в котором хранятся байты четности. Устойчив к отказам системы . Если один из дисков выходит из строя . То его информацию легко «поднять», используя данные контрольных сумм четности.

В сравнении с RAID 2 нет возможности коррекции ошибок на лету. Этот массив отличается высокой производительностью и возможностью использовать от 3 дисков и больше.

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

Рейд 4

В целом RAID 4 аналогичен RAID 3 с той разницей , что данные четности хранятся в блоках, а не в байтах, что позволило увеличить скорость передачи данных малого объема.

Минусом указанного массива оказывается скорость записи, ведь четность записи генерируется на один единственный диск, как и RAID 3.

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

Рейд 5

RAID от 2 до 4 имеют недостатки, связанные с невозможностью распараллеливания операций записи. RAID 5 устраняет этот недостаток. Блоки четности записываются одновременно на все дисковые устройства массива, нет асинхронности в распределении данных, а значит, четность является распределенной.

Число используемых винчестеров от 3. Массив очень распространён благодаря своей универсальности и экономичности , чем большее число дисков будет использоваться, тем экономнее будет затрачиваться дисковое пространство. Скорость при этом высокая за счет распараллеливания данных, но производительность снижается в сравнении с RAID 10, за счет большого числа операций. Если выходит из строя один диск, то надежность снижается до уровня RAID 0. Требуется много времени на восстановление.

Рейд 6

Технология RAID 6 схожа с RAID 5, но повышается надежностью за счет увеличения количества дисков четности.

Однако, дисков уже требуется минимум 5 и более мощный процессор для обработки возросшего числа операций, причем количество дисков обязательно должно быть равно простому числу 5,7,11 и так далее.

Рейд 10, 50, 60

Далее идут комбинации указанных ранее рейдов. Например, RAID 10 это RAID 0 + RAID 1.

Они наследуют и преимущества массивов их составляющих в плане надежности, производительности и количестве дисков, а вместе с тем экономичности.

Создание рейд массива на домашнем ПК

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

Для этих целей Вам понадобится рейд-контроллер , обладающий собственной BIOS и своими настройками. В современных системных платах рейд-контроллер может быть интегрирован в южный мост чипсета. Но даже в таких плата посредством подключения к PCI или PCI-E разъему можно подключить еще один контроллер. Примерами могут быть устройства фирм Silicon Image и JMicron.

Каждый контроллер может иметь свою утилиту для настройки.

Рассмотрим создание рейд с помощью Intel Matrix Storage Manager Option ROM.

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

Зайдите в BIOS Setup Вашей материнской платы и включите режим работы RAID для вашего sata винчестера.

Чтобы запустить утилиту перезагрузите ПК, нажмите ctrl+i во время процедуры POST . В окне программы Вы увидите список доступных дисков. Нажмите Create Massive , Далее выберите необходимый уровень массива .

В дальнейшем следуя интуитивно понятному интерфейсу введите размер массива и подтвердите его создание.

И прочее, прочее, прочее, прочее. Так вот, сегодня поговорим про RAID массивах на их основе.

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

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

Наверняка так же Вы знаете (а если и не знаете, то не беда) о том, что эти массивы имеют разные порядковые номера (0, 1, 2, 3, 4 и пр.), а так же выполняют вполне себе различные функции. Оное явление действительно имеет место быть в природе и, как Вы думаю уже догадались, как раз о этих самых RAID массивах я и хочу Вам рассказать в этой статье. Точнее уже рассказываю;)

Поехали.

Что такое RAID и зачем оно нужно?

RAID - это дисковый массив (т.е. комплекс или, если хотите, связка) из нескольких устройств, - жестких дисков. Как я и говорил выше, этот массив служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (или и то и другое).

Собственно, то чем именно занимается оная связка из дисков, т.е ускорением работы или повышением безопасности данных, - зависит от Вас, а точнее, от выбора текущей конфигурации рейда(ов). Разные типы этих конфигураций как раз и отмечаются разными номерами: 1, 2, 3, 4 и, соответственно, выполняют разные функции.

Просто, например, в случае построения 0 -вой версии (описание вариаций 0, 1, 2, 3 и пр., - читайте ниже) Вы получите ощутимый прирост производительности. Да и вообще жесткий диск нынче как раз таки узкий канал в быстродействии системы.

Почему так сложилось в общем и целом

Жесткие диски же растут разве что в объеме ибо скорость оборота головки оных (за исключением редких моделей типа Raptor "ов) замерла уже довольно давно на отметке в 7200 , кэш тоже не то чтобы растет, архитектура остается почти прежней.

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

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

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

Что такое RAID в физическом смысле

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

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

Программно же, в системе, после создания рейда, тоже не появляется никаких особенных причуд. По сути, вся разница в работе с рейдом заключается только в небольшой настройке , которая собственно организует рейд (см.ниже) и в использовании драйвера. В остальном ВСЁ совершенно тоже самое – в "Мой компьютер" те же C, D и прочие диски, всё те же папки, файлы.. В общем и программно, на глаз, полная идентичность.

Установка массива не представляет собой ничего сложного: просто берем мат.плату, которая поддерживает технологию RAID , берем два полностью идентичных, - это важно! , - как по характеристикам (размеру, кэшу, интерфейсу и пр) так и по производителю и модели, диска и подключаем их к оной мат.плате. Далее просто включаем компьютер, заходим в BIOS и выставляем параметр SATA Configuration : RAID .

После этого в процессе загрузки компьютера (как правило, до загрузки Windows ) появляется панель отображающая информацию о диска в рейде и вне него, где, собственно нужно нажать CTR-I , чтобы настроить рейд (добавить диски в него, удалить и тд и тп). Собственно, вот и все. Дальше идет и прочие радости жизни, т.е, опять же, всё как всегда.

Важное примечание, которое стоит помнить

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

Что до конфигураций.. Как я уже говорил, RAID массивов существует несколько видов (как минимум из основного базиса, - это RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 ). Для начала я расскажу о двух, наиболее понятных и популярных среди обычных пользователей:

  • RAID 0 - дисковый массив для увеличения скорости\записи.
  • RAID 1 - зеркальный дисковый массив.

А в конце статьи быстренько пробегусь по прочим.

RAID 0 - что это и с чем его едят?

И так.. RAID 0 (он же, страйп («Striping»)) - используется от двух до четырех (больше, - реже) жестких дисков, которые совместно обрабатывают информацию, что повышает производительность. Чтобы было понятно, - таскать мешки одному человеку дольше и сложнее чем вчетвером (хотя мешки остаются все теми же по своим физ свойствам, меняются лишь мощности с ними взаимодействующие). Программно же, информация на рейде такого типа, разбивается на блоки данных и записывается на оба/несколько дисков поочередно.

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

Почему? Дело в том, что каждый файл состоит из некоторого количества байт.. каждый из которых несет в себе информацию. Но в RAID 0 массиве байты одного файла могут быть расположены на нескольких дисках. Соответственно при "смерти" одного из дисков потеряется произвольное количество байтов файла и восстановить его будет просто невозможно. Но файл то не один.

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

RAID 1 - что такое и с чем его едят?

Что же до RAID 1 (Mirroring - «зеркало»).. Собственно, начну с недостатка. В отличии от RAID 0 получается, что Вы как бы "теряете" объем второго жесткого диска (он используется для записи на него полной (байт в байт) копии первого жесткого диска в то время как RAID 0 это место полностью доступно).

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

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

RAID 2, 3, 4, 5, 6 - что такое и с чем едят их?

Описание этих массивов тут по стольку по скольку, т.е. чисто для справки, да и то в сжатом (по сути описан только второй) виде. Почему так? Как минимум в силу низкой популярности этих массивов среди рядового (да и в общем-то любого другого) пользователя и, как следствие, малого опыта использования оных мною.

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

Оставшиеся же (специально выделенные под оное) диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо винчестера из строя возможно восстановление информации. Тобишь в массивах такого типа диски делятся на две группы - для данных и для кодов коррекции ошибок

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

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

Какой RAID все же выбрать?

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

Если же вы работаете с ценной информацией, которую потерять равносильно смерти, то Вам безусловно нужен RAID 1 - с ним потерять информацию крайне сложно.

Повторюсь, что очень желательно, чтобы диски устанавливаемые в RAID массив были пол идентичны. Размер, фирма, серия, объём кэша - всё, желательно, должно быть одинаковым.

Послесловие

Вот такие вот дела.

Кстати, как собрать это чудо я писал в статье: "Как создать RAID-массив штатными методами ", а про пару параметров в материале "RAID 0 из двух SSD, - практические тесты с Read Ahead и Read Cache ". Пользуйтесь поиском.

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

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

RAID массив (Redundant Array of Independent Disks) – подключение нескольких устройств, для повышения производительности и\или надежности хранения данных, в переводе - избыточный массив независимых дисков.

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

Но вот простые жесткие диски (HDD) особо не продвинулись за последние 10 лет. Как была стандартной скорость 7200 об/мин, так она и осталась (не беря в расчет серверные HDD c оборотами 10.000 и более). На ноутбуках все еще встречаются медленные 5400 об/мин. Для большинства пользователей, чтобы повысить производительность своего компьютера будет удобнее купить SDD, но цена за 1 гигабайт такого носителя значительно больше, чем у простого HDD. «Как повысить производительность накопителей без сильной потери денег и объема? Как сохранить свои данные или повысить безопасность сохранности Ваших данных?» На эти вопросы есть ответ – RAID массив.

Виды RAID массивов

На данный момент существуют следующие типы RAID массивов:

RAID 0 или «Чередование» – массив из двух или более дисков для повышения общей производительности. Объем рейда будет общий (HDD 1 + HDD 2 = Общий объем), скорость считывания\записи будет выше (за счет разбиения записи на 2 устройства), но страдает надежность сохранности информации. Если одно из устройств выйдет из строя, то вся информация массива будет потеряна.

RAID 1 или «Зеркало» –несколько дисков копирующих друг друга для повышения надежности. Скорость записи остаётся на прежнем уровне, скорость считывания увеличивается, многократно повышается надежность (даже если одно устройство выйдет из строя, второе будет работать), но стоимость 1 Гигабайта информации увеличивается в 2 раза (если делать массив из двух hdd).

RAID 2 – массив, построенный на работе дисков для хранения информации и дисков коррекции ошибок. Расчет количества HDD для хранения информации выполняется по формуле «2^n-n-1», где n - количество HDD коррекции. Данный тип используется при большом количестве HDD, минимальное приемлемое число – 7, где 4 для хранения информации, а 3 для хранения ошибок. Плюсом этого вида будет повышенная производительность, по сравнению с одним диском.

RAID 3 – состоит из «n-1» дисков, где n – диск хранения блоков четности, остальные устройства для хранения информации. Информацию делится на куски меньше объема сектора (разбиваются на байты), хорошо подходит для работы с большими файлами, скорость чтения файлов малого объема очень мала. Характерен высокой производительностью, но малой надежностью и узкой специализацией.

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

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

Комбинированные виды RAID массивов:

RAID 01 (0+1) – Два Рейд 0 объединяются в Рейд 1.

RAID 10 (1+0) – дисковые массивы RAID 1, которые используются в архитектуре 0 типа. Считается самым надежным вариантом хранения данных, объединяя в себе высокую надежность и производительность.

Также можно создать массив из SSD накопителей . Согласно тестированию 3DNews, такое комбинирование не даёт существенного прироста. Лучше приобрести накопитель с более производительным интерфейсом PCI или eSATA

Рейд массив: как создать

Создается путем подключения через специальный RAID контроллер. На данный момент есть 3 вида контроллеров:

  1. Программный – программными средствами эмулируется массив, все вычисления производятся за счет ЦП.
  2. Интегрированный – в основном распространено на материнских платах (не серверного сегмента). Небольшой чип на мат. плате, отвечающий за эмуляцию массива, вычисления производятся через ЦП.
  3. Аппаратный – плата расширения (для стационарных компьютеров), обычно с PCI интерфейсом, обладает собственной памятью и вычислительным процессором.

RAID массив hdd: Как сделать из 2 дисков через IRST


Восстановление данных

Некоторые варианты восстановления данных:

  1. В случае сбоя Рейд 0 или 5 может помочь утилита RAID Reconstructor , которая соберет доступную информацию накопителей и перезапишет на другое устройство или носитель в виде образа прошлого массива. Данный вариант поможет, если диски исправны и ошибка программная.
  2. Для Linux систем используется mdadm восстановление (утилита для управления программными Рейд-массивами).
  3. Аппаратное восстановление должно выполняться через специализированные сервисы, потому что без знания методики работы контроллера можно потерять все данные и вернуть их будет очень сложно или вообще невозможно.

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

Отличного Вам дня!





error: Контент защищен !!