Клуб DNS / Блог / Дисковые хранилища (DAS)
Что такое RAID-массив и зачем он нужен

Система хранения данных обязана быть надежной, в каких-то случаях производительной, а в каких-то случаях с постоянным доступом к данным, а иногда и то и другое вместе. Такие возможности может предоставить технология RAID. Может показаться, что это что-то из области серверов, и так оно и есть, но дома тоже может пригодиться. Чтобы понять, нужна ли вам эта технология и как правильно ей пользоваться, сначала придется разобраться — что же это такое.
Что такое RAID-массив
RAID (Redundant Array of Independent Disks — избыточный массив самостоятельных (независимых) дисков) — это технология объединения двух и более накопителей в единый логический элемент с целью повышения производительности и (или) отказоустойчивости отдельно взятого элемента массива.
Избыточные данные по-другому называют дополнительными. Для их хранения нужен какой-то объем. Выделяемый объем для этих данных в массивах называется аналогично — избыточным. Избыточность массива — это наличие такого объема, и чем он больше, тем больше у массива избыточность, что в свою очередь обеспечивает отказоустойчивость.
Простыми словами, RAID-массив — это несколько дисков соединенные в единый диск с выделением места под хранение информации для исправления ошибок в данных.
RAID-массивы классифицируются по следующим параметрам:
- по исполнению RAID-контроллера;
- по типам поддерживаемых интерфейсов накопителей;
- по поддерживаемым уровням RAID.
Накопители в массив можно объединять по-разному, и на выходе получать разные массивы со своими плюсами и минусами, от которых будет зависеть, в какой области лучше их применить. Каждый такой массив еще называется уровнем.
Базовые уровни
JBOD
Строго говоря, это не RAID, но тоже массив. Аббревиатура дословно расшифровывается как «просто связка дисков». Эта связка дисков не дает никакой отказоустойчивости и роста производительности, а является просто дисками, «склеенными» в один логический элемент, скорость операций на котором не выйдет за рамки самого быстрого и самого медленного накопителей, участвующих в связке.

Объем такого массива будет равен сумме объемов накопителей, собранных в этот массив. При выходе из строя накопителя(-ей) пострадает информация только на этом(-их) же накопителе(-ях) — если фрагменты файла не были разделены между двумя накопителями. Массив можно составлять из разных по емкости накопителей и легко расширять.
RAID 0
Данный массив еще называется «чередованием», так как при записи информации на него она разбивается на части (блоки) фиксированного размера и записывается поочередно на все собранные в массив диски. Применяется для библиотеки игр, видеомонтажа или рендеринга.

К примеру, если массив собран из двух накопителей, то файл разобьется на два блока: A1 и А2, блок A1 запишется на первый накопитель, а блок A2 — на второй.
Количество дисков для сборки RAID 0 — минимум две штуки. При использовании такого уровня RAID возрастают скорости записи и чтения информации, поскольку операции происходят параллельно на всех дисках. Чем больше дисков в массиве, тем он производительней. Доступен объем всех дисков. Но самый главный минус в том, что поломка одного из дисков такого массива будет означать полную потерю информации, поскольку данные хранятся разбитыми по дискам.
RAID 1
Массив известный как «зеркалирование». Представляет собой полную копию информации с одного диска массива на другой. RAID 1 подойдет для важных данных, сохранность и доступность которых в приоритете.

Предполагается использование двух накопителей. За счет дублирования обеспечивается высокая надежность — работа продолжится при повреждении одного диска. Но в таком случае необходима его срочная замена, при этом данные восстанавливаются с «зеркального» диска. Распараллеливанием запросов обеспечивается высокая скорость чтения.
Поскольку диски являются клонами друг друга, то для использования доступен объем одного диска. Логическим продолжением этого является двухкратная цена за гигабайт памяти. А еще скорость записи остается либо такой же, как в случае использования одного диска, либо даже может немного «проседать».
RAID 2
Эти массивы используют чередование дисков и коды коррекции ошибок (код Хэмминга). Из-за этого диски в нем распределяются на две группы: для самих данных и для указанных выше кодов.

За счет чередования достигается высокая скорость операций с данными по сравнению с одним диском. А Код Хэмминга позволяет обнаруживать и исправлять ошибки при операциях с файлами «на лету» без снижения скорости операций с данными. Также при выходе из строя одного накопителя массива восстанавливаться данные будут по хранящимся кодам коррекции ошибок.
Минимум этого массива — 7 дисков. Можно меньше, но это бессмысленно, потому что для кодов потребуется больше дисков, чем для самих данных. С дальнейшим увеличением дисков избыточность будет уменьшаться по экспоненте:

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

Порог вхождения в этот тип массива — три диска. Скорость операций чтения высокая, скорости операций записи высоки только для больших файлов. RAID 3 предлагает хороший компромисс между доступным объемом и ценой. Хранящаяся информация теряется, если «навернется» больше одного диска.
К недостаткам. Могут наблюдаться проблемы со скоростью при работе с данными небольшого объема. Да и не все контроллеры поддерживают этот массив. Плюс высокая нагрузка на диск, хранящий контрольные суммы, сокращает срок его службы относительно дисков с данными.
RAID 4
Можно сказать, это тот же самый RAID 3, только файл бьется не на однобайтные блоки, за счет чего удалось несколько повысить скорость записи мелких файлов. Остальные характеристики соответствуют рейду третьего уровня.

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

Полезный объем накопителей зависит от количества накопителей в массиве — чем больше накопителей, тем больше объем. Скорость чтения — высокая, относительно RAID 4 подросла и скорость записи. А за счет размазывания сумм по массиву и нагрузка на все диски распределяется равномерно.
Но когда один диск «накрывается», надежность массива существенно падает, и он переходит в критическое состояние. Восстановление — очень длительный процесс, вызывающий падение производительности массива и сильно увеличивающий нагрузку на накопители, поскольку с них производится продолжительное интенсивное чтение.
Ребилд увеличивает вероятность ухода из жизни еще одного или даже нескольких накопителей в массиве, что в свою очередь приведет к потере данных. Так же при восстановлении могут выявиться ранее не обнаруженные ошибки и восстановление данных с такого массива потребует обращения в специализированные организации.
Для предупреждения подобных ситуаций применяется анализ состояния накопителей (S.M.A.R.T.) и использование технологии Hot Spare (горячий резерв) — это автоматическое подхватывание в массив заранее зарезервированного диска вместо вышедшего из строя, и старт процедуры восстановления массива.
RAID 6
Контрольные суммы на этот массив записываются в двойном размере, что требует и увеличения объема в два раза. Такой «финт» приводит к повышению отказоустойчивости, при этом не сильно увеличивая стоимость.

Минимальное количество дисков — четыре. Ко всем достоинствам RAID 5 прибавляется повышенная надежность, за счет допустимого отказа двух дисков одновременно. Но скорость записи может быть значительно ниже, чем у RAID 5. Шестой рэйд используется там же, где и «пятый», но с заявкой на повышенную надежность.
Комбинированные уровни
RAID 01 и RAID 10
Массивы представляют собой кооперирование уровней 0 и 1. RAID 01 — это зеркалирование двух массивов чередования. Также называется «зеркало страйпов».

А RAID10 — это чередование двух зеркальных массивов.

В любом из вариантов полезный объем массива будет составлять 50 % от суммарного объема задействованных дисков.
Оба рэйда имеют одинаковую высокую производительность, но надежность у RAID 10 выше, чем у RAID 01, за счет того, что в «десятке» возможен отказ по одному накопителю в каждом «зеркале» без потери информации. По этой причине RAID 01 не используется, и поэтому же перечислим достоинства и недостатки только для RAID 10.
Доступен такой массив от четырех дисков. При нем высокая скорость от RAID 0, отказоустойчивость от RAID 1. Но цена за такой симбиоз высока. Зато это идеальный кандидат для хранения критически важных данных и в приложениях с интенсивным вводом-выводом данных.
RAID 03 и RAID 30
В этом случае чередование уже миксуется с RAID 3. И, аналогично ситуации выше, либо собираешь в RAID 3 от трех массивов RAID 0, либо в RAID 0 собраны несколько RAID 3. Логично, что рассматривать имеет смысл только последний вариант из-за того же преимущества в надежности.

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

Допускает потерю по одному диску в разных массивах RAID 5 без утраты данных, соответственно, чем больше чередуется массивов, тем больше дисков допустимо потерять.
К достоинствам RAID5 прибавляется повышение скорости записи и повышение скорости восстановления. Допускаемый минимум — шесть дисков, а это влетает в копеечку. Так же нужно иметь ввиду, что не каждый контроллер способен поддерживать этот тип массива.
RAID 60
Как не трудно догадаться, это связка RAID 0 и RAID 6.

«Ставки повышаются» до восьми накопителей. Решается проблема производительности RAID 6, но без денежных вливаний тут не обойтись. Как и у RAID 50 имеется проблема возможного отсутствия поддержки этого массива со стороны контроллера.
RAID 100
Комбинированный рэйд из комбинированных рэйдов не хотите? Да! Тут происходит чередование RAID 10.

Данный массив создается при помощи нескольких низкопроизводительных контроллеров. Это дает увеличение скоростей, по сравнению с тем, если бы рэйд строился на одном из этих контроллеров. Работа с очень большими базами данных — лучшее применение данного массива.
Существует еще несколько комбинированных массивов. Они также представляют собой либо чередование, либо зеркалирование, смешанное с каким-то другим типом массива, что закономерно приводит к повышению или производительности, или надежности. Так что заострять внимание на них мы не будем и перейдем к следующем уровню.
Усовершенствованные уровни RAID
RAID 1E
Зеркалирование, способное работать с нечетным количеством накопителей. Для реализации этого массива имеются два алгоритма:
Near — запись копии со сдвигом накопителя.

Interleaved — копия данных пишется с чередованием по полосам и сдвигом накопителя.

Для такого массива нужно минимум три диска. Дает такое усовершенствование увеличение скорости передачи данных и обработки запросов. Доступна, как и в классическом зеркале, только половина объема. Надежность несколько хуже, чем у RAID 1, хоть и допускается выход больше одного диска, при условии, что это не соседи, на которых хранится оригинальный блок данных и его дубль. Но и такое доступно не на всех контроллерах — на некоторых допускается потеря только одного накопителя.
RAID 5EE
Вариант усовершенствования RAID 5 путем включения в массив диска из горячего резерва. Стартовый набор накопителей для такого массива — четыре штуки.
Объем «горячего диска» распределяется по массиву, а общий объем становится равным объему n-2 диска. При отказе одного накопителя массив сжимается до n-1 дисков путем заполнения свободного пространства. Иными словами, это все тот же RAID 5, только с возможностью похоронить два диска вместо одного. Как только конфигурация получит новый диск вместо «отъехавшего», массив вновь займет все диски. Аналогично, кстати, может быть усовершенствован и RAID 6.

RAID DP
В данном случае был модифицирован RAID4 путем добавления еще одного накопителя для хранения контрольных сумм. Но данный рэйд узкоспециализированный и может работать только в устройствах компании NetApp, так как в нем используется файловая система WALF. Связка RAID-DP с этой системой дает повышение производительности выше, чем у рэйдов 5 и 6 уровней.
RAID 7
Технология, по названию, казалось бы, намекающая на очередное развитие базовых уровней, тоже является узкоспециализированным решением, но на сей раз принадлежащим компании Storage Computer Corporation. И это решение — RAID 4, но использующее кэширование операций по чтению и записи в ОЗУ. Для его надежной работы обязательно наличие ИБП, так как в случае перебоев питания данные повреждаются.
Приведем краткую выжимку всех уровней (кроме JBOD, RAID DP и RAID 7) в таблицу:

Ну что же с уровнями RAID вроде разобрались, осталось понять, как и из чего их можно собирать.
Каким образом можно собрать RAID-массив
Программный RAID реализуется средствами операционной системы или на уровне материнской платы. Такое решение не всегда стабильно, «отжирает» часть ресурсов процессора и оперативной памяти. В зависимости от операционной системы поддерживает далеко не все уровни RAID — Win10, например, даст возможность создать только JBOD, RAID 0,1 и 5 — но зато является «бесплатным», так как дополнительно приобретать ничего не нужно.
Интегрированный аппаратный RAIDназываемый еще Fake-RAID. Представляет собой чип, распаянный на материнской плате, который снимает часть нагрузки с процессора при создании и поддержании RAID’а. Такое решение производительнее чисто софтверного подхода и обеспечивает возможность установки ОС, но надежность все так же не высока.
В этой статье вы можете более подробно ознакомится с гайдом по созданию RAID-массива одним из двух описанных выше способов.
Аппаратный RAID можно в свою очередь тоже разделить на пару видов.
Первый — это дискретная карточка с интерфейсом PCI-e. На ней распаян контроллер с персональной памятью, процессором, системой охлаждения и часто даже аккумулятором для бесперебойного питания. Это решение по надежности и производительности гораздо лучше программного и интегрированного рэйдов, но вместе с тем и куда затратнее.

Второй вид — это внешние контроллеры. Они располагаются в отдельном корпусе, как правило, вместе с накопителями, имеют свой независимый блок питания и подключаться могут по PCI-e, USB 3.2 или Thunderbolt 3. Это самое надежное решение и самое дорогое.

Из чего собирать RAID-массив
Изначально RAID-массивы предназначались для жестких дисков (HDD) и поддерживали интерфейсы IDE, SATA и SAS. IDE уже давненько устарело, ну а к SATA и SAS прибавился ссдшный NVMe. Классические SATA HDD связываются в массивы без проблем. SAS тоже, но это все же удел серверов
С массивами на SSD немного сложнее. Просто собрать накопители в массив можно без проблем — работать будет, но не на тех скоростях, на которые вы рассчитывали. Потому что контроллер может быть рассчитан на работу с «механикой» и этим ограничивать пропускную способность. И лучше покупать для этого одинаковые накопители (один производитель, одна серия) чтобы не было разлета в характеристиках — для большинства массивов это важно.
И если обычные 2,5-дюймовые SSD-накопители подключаются по sata, то NVMe’шники — по шине PCI-Express и занимают четыре линии на один накопитель. Скорость RAID-массива может быть ограничена версией этой шины, но не только ей. PCI-линии разводятся на материнских платах в процессор напрямую и через чипсет. Количество линий между чипсетом и процессором распределяется по-разному и зависит также от производителя процессора.
На платах для Intel больше линий идет через чипсет, а для AMD больше линий «бросается» сразу на «камень». Так вот в случае, если вы подключите SSD через чипсетные линии, то будете ограничены пропускной способностью соединения чипсета с процессором и его версией. В итоге все это дело собирать желательно через процессорные линии PCI-e, нежели чипсетные. Всю информацию для этого необходимо искать в документации на плату Также у нас есть статья с нужной информацией.
Если у вас двучиплетный процессор, то тут тоже есть нюанс. Для достижения максимальных скоростей нужно подключать накопители массива в линии шины PCI, идущие на один чиплет. Если будет подключение к двум чиплетам, то ботлнэком будет шина, соединяющая эти чиплеты, ведь по ней они будут гонять данные.
Для «правильного» NVME RAID-массива разъемов на плате с большой вероятностью не хватит, особенно, если планируется собрать в рэйд много дисков. Помочь с этим смогут различные адаптеры или переходники. С аппаратными решениями таких проблем, как правило, не возникает. Существуют даже варианты, которые могут работать со смешанным составом накопителей.

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