Raid dp что это

Обновлено: 04.07.2024

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

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

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

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

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

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

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

raid1

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

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

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

raid2

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

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

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

raid3

RAID 4

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

raid4

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

raid_5

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

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

raid6

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

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

RAID 0+1

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

RAID 1+0

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

raid10

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

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

RAID-DP

Является разработкой 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 1E

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

RAID 5E

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

RAID 5EE

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

RAID 6E

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

RAID 7

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. Помимо этого, можно задавать, на какой области диска будет храниться копия. Скажем, оригинал будет в первой половине первого диска, а его копия – во второй половине второго. Со второй половиной данных – наоборот. Данные можно дублировать несколько раз. Хранение копий на разных частях диска позволяет достичь большей скорости доступа в результате разнородности жесткого диска (скорость доступа меняется в зависимости от расположения данных на пластине, обычно разница составляет два раза).

RAID-K

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

RAID-Z

JBOD

jbod

Drive Extender

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

UNRAID

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

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

image


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

Для тех, кто далек от теории рэйдостроения, напомню, что из шести стандартных типов RAID, описанных в научной работе, положившей начало их использованию, RAID тип 2 (с защитой кодом Хэмминга) не применялся в «живой природе», оставшись забавным теоретическим упражнением, RAID-1 (и его вариант RAID-10, или, иногда, как RAID-0+1) это защита данных автоматическим синхронным зеркалированием на паре (или нескольких парах) физических дисков, а RAID-3, 4 и 5 (позже к ним добавился RAID тип 6) — это так называемые «RAID с чередованием и четностью». Между собой они отличаются способом организации и хранения данных четности, а также порядком чередования данных. В обычно хорошо известном всем RAID-5, данные чередуются по дискам вместе с информацией parity, то есть parity специального диска не занимает.
В RAID-3 и 4 для информации parity выделен отдельный диск (Между же 3 и 4 разница в размере блока чередования — сектор в type 3 и группа секторов, блок — в type 4).

image

У RAID-4, то есть «RAID с блочным чередованием и четностью на выделенном диске», есть одно важное достоинство. Его можно увеличивать в размерах, просто добавляя в RAID физические диски, и при этом нет необходимости перестраивать полностью весь RAID, как, например, обстоит дело в случае RAID-5. Если вы используете 5 дисков под данные (и один под parity) в RAID-4, то для того, чтобы увеличить его емкость, вы можете просто добавить в него один, два, и так далее дисков, и емкость RAID-массива немедленно увеличится на объем добавленных дисков. Никакого длительного процесса перестроения недоступного для использования RAID-массива, как в случае RAID-5, не нужно. Очевидное, и очень удобное на практике преимущество.

image

Отчего же тогда RAID-4 не применяют повсеместно вместо RAID-5?
Он имеет одну, но очень серьезную проблему — производительность на записи.
Дело в том что каждая операция записи блока на дисках RAID, сопровождается записью для обновления блока parity на диске Parity. Это означает, что сколько мы ни добавим к наш массив дисков, между которыми будет распараллелен ввод-вывод, он все равно весь упрется в один единственный диск — диск parity. По сути производительность RAID-4, в «классическом» его применении, ограничена производительностью диска Parity. Пока на этом диске не прошла запись обновления содержимого лежащих на нем блоков parity, все остальные диски, хранящие данные, крутятся и ждут завершения этой операции.

Отчасти эта проблема была решена в RAID-5, где блоки parity также распараллеливаются по дискам, как и блоки данных, и проблема «бутылочного горла» в отношении диска parity была отчасти решена, что, впрочем, не означает, что RAID-5 лишен всех недостатков, скорее наоборот, это, на сегодня, наихудший тип RAID из всех широко применяемых, страдающий и от ненадежности, и от низкой производительности, о чем я писал в статье «Почему RAID-5 — mustdie?».

Особо останавливаясь на вопросах производительности (о надежности читайте статью выше) следует отметить, что RAID-5 имеет одну, но очень серьезную «родовую травму», изначально конструктивно присущую этому типу RAID вообще (типов 3,4,5 и 6 — «чередование с четностью») — малой производительности на произвольной (random) записи. Этот аспект в реальной жизни очень важен, так как объемы произвольной, случайной по характеру, записи в общем трафике хранения довольно значительны (достигая 30-50%), и падение производительности на записи напрямую влияет на производительность хранилища вообще.

Этой проблемой «болеют», повторюсь, все «классические» системы хранения, использующие RAID такого типа (3, 4, 5 и 6).
Все, кроме NetApp.

Каким образом NetApp удалось решить сразу и проблему «бутылочного горла» с диском parity, и проблему низкой производительности при random write?
Тут нам опять придется вспомнить структуру WAFL, о которой я уже писал ранее.
Как сказал по этому поводу инженер NetApp Kostadis Roussos: «Почти любая файловая система сегодня лежит поверх того или иного RAID. Но только WAFL и RAID на NetApp при этом знают друг о друге столько, чтобы взаимно использовать возможности, и компенсировать недостатки друг друга». Это действительно так, ведь для WAFL уровень RAID есть просто еще один логический уровень data layout внутри самой файловой системы. Напомню, что NetApp не использует аппаратные RAID-контроллеры, предпочитая строить RAID средствами своей файловой системы (аналогичный подход позже выбрала ZFS со свои RAID-Z)

Что же это за «взаимные возможности»?
Как вы помните из моего рассказа про WAFL, она устроена таким образом, что данные на ней, однажды записанные, в дальнейшем не перезаписываются. В случае же необходимости внести изменения содержимого внутри уже записанного файла, выделяется место в пространстве свободных блоков, запись измененного блока проводится туда, а затем указатель на содержимое старого блока переставляется на новый блок, бывший пустым, а теперь несущий новое содержимое.

Такая стратегия записи позволяет нам превратить случайную (random) запись в последовательную (sequental). А раз так, мы можем делать запись максимально эффективным способом — «полным страйпом» предварительно подготовив его, и собрав все «перезаписи», нацеленные в разные участки дисков, в одну удобную для записи область. То есть вместо перезаписи отдельных блоков, записывая в один прием готовую, сформированную «полосу» данных, разом на все диски RAID, включая и предварительно вычисленную parity всего страйпа на соответствующий ему диск. Вместо трех операций чтения-записи — одна.
Ни для кого не секрет, что sequental операции значительно быстрее и удобнее для системы, чем операции типа random.

image

image

Запись «полным страйпом», то есть на все диски RAID с чередованием, это максимально желанный алгоритм записи для такого типа RAID. Именно для этого на RAID-контроллерах наращивают объемы кэш-памяти, достигающих на high-end системах весьма впечатляющих размеров (и стоимости). Чем больше кэш на запись в традиционных массивах, и чем дольше в нем «зависает» блок данных, пришедший с сервера на запись на диск, тем больше шансов на то, что в этом кэше однажды соберется из таких блоков «полный страйп», и его можно будет слить на диски максимально выгодно.
Именно поэтому write-back кэши RAID-контроллеров стремятся сливать (flush) данные на диски пореже, и обязательно нуждаются в автономном питании своей памяти от батарейки для сохранения блоков данных, ожидающих своей очереди в кэше.

С ростом объемов дисков NetApp, как и все другие, столкнулась с необходимостью обеспечить повышенную надежность хранения данных RAID. Именно по этой причине, начиная с 2005 года, именно RAID-DP, NetApp-овская реализация RAID-6, является рекомендуемой, предпочтительной, и вообще «конфигурацией по умолчанию». В этом NetApp также первенствует, так как RAID -DP, защищая, как и RAID-6, от потери данных при потере двух дисков разом (например, сбое во время ребилда ранее отказавшего диска), не ухудшает показатели производительности, в отличие от RAID-6, в сравнении с RAID-5 или RAID-10.

Причины этому все те же. Ситуация у «других вендоров» с RAID-6, по сравнению с RAID-5 еще более ухудшается. Принято считать, что производительность RAID-6 падает по сравнению с RAID-5 на 10-15%, а по сравнению с RAID-10 на 25-35%. Теперь надо проводить не только чтение-запись одного блока parity, но надо делать это для двух разных групп блоков.
Однако RAID-DP по прежнему не нуждается в этом, причины этому все те же — случайная запись в произвольное место массива превращается в нем усилиями WAFL в последовательную запись в заранее выделенное пространство, а такая запись осуществляется гораздо быстрее и выгоднее.

Подтверждение того, что использование RAID-4 (и его варианта — RAID-DP, аналога RAID-6) на системах NetApp объективно не приводит к ухудшению производительности — авторитетные тесты производительности дисковых систем SAN (Storage Performance Council, SPC-1/SPC-1E) и NAS (SPECsfs2008), которые NetApp демонстрирует на RAID-4 (и RAID-DP с 2005 года).
Более того, системы NetApp с RAID-DP на равных соревнуются там с системами с RAID-10, то есть показывают производительность значительно выше привычной для «RAID с чередованием и четностью», сохраняя высокую эффективность использования пространства, ведь, как вы знаете, на RAID-10 можно использовать под данные всего 50% от купленной емкости, в то время, как на RAID-DP, при более высокой надежности, но сравнимом c RAID-10 быстродействии, и для стандартного размера группы, получается доступного места для данных свыше 87%.

Таким образом, остроумное использование совместно двух «фич» — RAID-4 и режима записи в WAFL, позволило получить преимущества от них обоих, одновременно избавившись от их недостатков. А дальнейшее развитие RAID-4 в RAID-DP, обеспечивающего защиту от двойного дискового сбоя, позволило повысить надежность хранения данных не жертвуя при этом традиционно высокой производительностью. А это непросто. Достаточно сказать, что использование RAID-6 (аналога RAID-DP, с эквивалентно высоким уровнем защиты), по причине низкой производительности на записи не практикуется и не рекомендуется для primary data больше никем из производителей систем хранения.

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

UPD: в главной роли на фото в заставке статьи — NetApp FAS2020A из хозяйства хабраюзера foboss.

Технология объединения физических дисков в логический том — RAID — имеет огромное количество вариаций. Практическую реализацию в системах хранения данных и серверном оборудовании можно встретить у следующих спецификаций: RAID 0, 1, 3, 4, 5, 6, DP, 10, 50, 60, однако в коммерческом применении как правило используются только некоторые из них.

Таблица сравнения коммерчески используемых типов RAID

Тип RAID Производительность в IOPS при операциях записи Производительность во время цикла восстановления (Rebuild) Время восстановления RAID Эффективность использования дискового пространства
RAID 5 Хорошая Плохая Плохое Очень хорошая
RAID 6 Плохая Хорошая Плохое Хорошая
RAID 10 Лучшая Лучшая Лучшее Плохая
RAID DP Очень хорошая Очень хорошая Хорошее Хорошая
RAID TEC Хорошая Хорошая Хорошее Очень хорошая

RAID 0

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

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

    Преимущества:
  • самая высокая скорость чтения и записи;
  • 100% эффективность использования дискового пространства.
    Недостатки:
  • самая низкая надежность хранения данных.

Формула эффективности:
S * N, где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 1

RAID 1 — зеркалированный массив дисков (зеркало). Блоки данных записываются на все диски одновременно, поэтому допустим выход из строя всех дисков, кроме одного. Данная конфигурация обладает наименьшей эффективностью использования дискового пространства, и, как следствие, наибольшей стоимостью при использовании трех и более дисков.

Использование:
Рекомендуется использовать RAID 1 для максимального повышения надежности хранения и доступности данных. Наиболее частым сценарием является зеркалирование двух системных дисков серверов.

    Преимущества:
  • самая высокая степень надежности при использовании трех и более дисков;
  • самая высокая скорость чтения за счет параллельных запросов ко всем дискам сразу.
    Недостатки:
  • самая низкая эффективность использования дискового пространства при трех и более дисках;
  • незначительное снижение скорости записи в IOPS по сравнению с RAID 0, DP, 10.

Формула эффективности:
S, где S — объем наименьшего диска.

RAID 3

RAID 3 — массив дисков с побайтным чередованием с одним выделенным диском четности на группу. Байты данных записываются поочередно на все диски, кроме одного. Отдельный диск выделяется для хранения информации о четности.

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

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • высокая эффективность использования дискового пространства по сравнению с RAID 1, 6, DP, 10;
  • базовый уровень надежности, допустим выход из строя одного диска.
    Недостатки:
  • снижена скорость записи в IOPS по сравнению с RAID 0, DP, 10;
  • высокая нагрузка на диск четности и, как следствие, снижение его срока эксплуатации;
  • в случае выхода из строя диска четности, процесс восстановления (rebuild) RAID-группы резко повышает нагрузку на диски, что может спровоцировать выход второго диска внутри группы и привести к потере данных;
  • низкая скорость работы с блоками малого размера.

Формула эффективности:
S * (N - 1), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 4

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

Использование:
RAID 4 ранее использовался в дисковых массивах NetApp серии FAS, где недостаток надежности компенсировался принципом записи файловой системы WAFL (Write Anywhere File Layout). Рекомендуется только для временных и неважных данных. На данный момент RAID 4 в СХД NetApp вытесняется RAID DP.

В соответствии с рекомендациями компании NetApp, оптимальный размер RAID группы для NL-SAS составляет 7 дисков; для SAS или SSD — от 8 до 14 дисков.

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • высокая эффективность дискового пространства по сравнению с RAID 1, 6, DP, 10;
  • базовый уровень надежности, допустим выход из строя одного диска.
    Недостатки:
  • высокая нагрузка на диск четности и, как следствие, снижение срока эксплуатации (за исключением использования в системах NetApp серии FAS);
  • в случае выхода из строя диска четности, процесс восстановления (rebuild) RAID-группы резко повышает нагрузку на диски, что может спровоцировать выход второго диска внутри группы и привести к потере данных.

Формула эффективности:
S * (N - 1), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 5

RAID 5 — массив дисков с поблочным чередованием с одной контрольной суммой. При построении RAID 5 для контрольных сумм не выделяется отдельный диск, как в RAID 4, вместо этого данные циклически записываются на все диски. Аналогично RAID 4, RAID 5 позволяет производить параллельную запись, что существенно увеличивает производительность. Нагрузка на диск четности равномерно распределяется по всем дискам в массиве.

Использование:
RAID 5 широко применяется в реальных бизнес-задачах. Типовым сценарием является использование в серверах в области хранения данных для пользовательских приложений и выполнения транзакций. Использовать в СХД рекомендуется в первую очередь для маловажной информации с небольшой нагрузкой на диски, например, в системах видеонаблюдения.

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • высокая эффективность использования дискового пространства в сравнении с RAID 1, 6, DP, 10;
  • базовый уровень надежности, допустим выход из строя одного диска.
    Недостатки:
  • в случае выхода из строя одного диска, процесс восстановления (rebuild) RAID-группы резко повышает нагрузку на диски, что может спровоцировать выход второго диска внутри группы и привести к потере данных;
  • незначительное снижение скорости записи в IOPS по сравнению с RAID 0, DP, 10.

Формула эффективности:
S * (N - 1), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 6

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

Использование:
Сценарии применения RAID 6 аналогичны RAID 5 с уклоном в более надежное хранение информации. RAID 6 широко применяется в системах хранения данных, где не важна высокая транзакционная производительность — архивное хранение, видеонаблюдение стратегических объектов, использование в системах безопасности, а также для надежного хранения критически важных данных.

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • высокая степень надежности по сравнению с RAID 5, допустим выход из строя двух дисков.
    Недостатки:
  • самая низкая скорость записи в IOPS;
  • эффективность использования дискового пространства ниже, чем у RAID 5.

Формула эффективности:
S * (N - 2), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID DP

RAID DP — массив дисков с двойной четностью в линейке продукции FAS компании NetApp. Под контрольные суммы выделяются два отдельных диска. Благодаря использованию файловой системы WAFL транзакционная производительность выше, чем в RAID 5 и RAID 6.

Использование:
Является основным типом RAID в оборудовании NetApp линейки FAS. Рекомендуется для SSD дисков, SATA/NL-SAS дисков объемом менее 6TB (для дисков большего объема рекомендуется RAID-TEC).

В соответствии с рекомендациями компании NetApp, оптимальный размер RAID группы — от 14 до 20 дисков.

    Преимущества:
  • высокая скорость чтения по сравнению с дисками, не объединенными в RAID;
  • высокая скорость записи в IOPS по сравнению с RAID 5 и RAID 6, приближается к RAID 10;
  • высокая степень надежности по сравнению с RAID 5, допустим выход из строя двух дисков.
    Недостатки:
  • данный RAID используется только в дисковых массивах NetApp серии FAS;
  • эффективность использования дискового пространства ниже чем у RAID 5.

Формула эффективности:
S * (N - 2), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID TEC

RAID TEC — массив дисков с тройной четностью в линейке продукции FAS компании NetApp. Данный тип RAID разработан для медленных объемных дисков с устойчивой производительностью во время восстановления.

Использование:
Рекомендуется для SATA/NL-SAS дисков объемом 6TB и более.

В соответствии с рекомендациями компании NetApp, оптимальный размер RAID группы — от 20 до 29 дисков.

    Преимущества:
  • высокая скорость чтения по сравнению с дисками, не объединенными в RAID;
  • высочайшая степень надежности в сочетании с хорошей эффективностью хранения (около 89% при RAID группе в 29 дисков).
    Недостатки:
  • данный RAID используется только в дисковых массивах NetApp серии FAS.

Формула эффективности:
S * (N - 3), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 10

RAID 10 — массив дисков с зеркалированием и чередованием. Представляет собой массив RAID 0 из нескольких массивов RAID 1. В реализации RAID 10 на практике каждый подмассив RAID 1 состоит из двух дисков, поэтому допускается выход из строя не более одного диска в каждом подмассиве. RAID 10 обладает самой высокой производительностью и надежностью, при этом эффективность использования дискового пространства составляет 50%.

Использование:
Основным сценарием применения является использование для работы с базами данных (Oracle, SAP HANA, SQL) и другими высокотранзакционными нагрузками.

    Преимущества:
  • самая высокая скорость чтения и записи среди коммерчески используемых типов RAID;
  • повышенная надежность по сравнению с RAID 5.
    Недостатки:
  • эффективность использования дискового пространства 50%.

Формула эффективности:
S * N / 2, где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 50

RAID 50 — массив дисков, состоящий из чередования массивов RAID 5. Реализуется построением страйпа (RAID 0) из RAID 5. Допускается отказ не более одного диска в каждом подмассиве. Производительность RAID 50 выше, чем при использовании RAID 5, и стремится к RAID10, но надежность недостаточна для применения в реальных бизнес-задачах.

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

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • высокая эффективность использования дискового пространства по сравнению с RAID 1, 6, DP, 10.
    Недостатки:
  • незначительное снижение скорости записи в IOPS по сравнению с RAID 0, DP, 10;
  • недостаточная надежность для коммерческого использования.

Формула эффективности:
S * (N - 2), где N — количество дисков в массиве, S — объем наименьшего диска.

RAID 60

RAID 60 — массив дисков, состоящий из чередования массивов RAID 6. Реализуется построением страйпа (RAID 0) из RAID 6. Допускается отказ до двух дисков в каждом подмассиве. Обладает базовой надежностью и невысокой эффективностью используемого пространства . Для построения минимальной RAID-группы требуется 8 дисков.

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

    Преимущества:
  • значительное повышение скорости чтения по сравнению с дисками, не объединенными в RAID;
  • базовая надежность хранения.
    Недостатки:
  • невысокая эффективность использования дискового пространства по сравнению с RAID 5, 6, DP.
  • скорость записи в IOPS ниже, чем у RAID 0, DP, 10.

Формула эффективности:
S * (N - 4), где N — количество дисков в массиве, S — объем наименьшего диска.

Что такое RAID-массив и зачем он нужен

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

RAID — это технология объединения двух и более накопителей в единый логический элемент с целью повышения производительности и (или) отказоустойчивости отдельно взятого элемента массива.

RAID-массивы классифицируются по следующим параметрам:

  • по исполнению RAID контроллера;
  • по типам поддерживаемых интерфейсов накопителей;
  • по поддерживаемым уровням RAID.

RAID-контроллеры: аппаратные и не очень

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

Аппаратные RAID-контроллеры выполняются в форм-факторе платы PCIe либо в составе внешнего автономного устройства — дискового массива.

Они имеют на борту собственные процессор, память, BIOS и специальный интерфейс для конфигурации. Платы PCIe также комплектуются дополнительными модулями, сохраняющими данные, если произойдет сбой в электропитании: BBU с Li-Ion аккумулятором и ZMCP на базе суперконденсатора.


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


Накопители подключаются к плате либо кабелями напрямую, либо через платы расширения. Автономные дисковые массивы содержат все накопители внутри себя, а наружу смотрит все тот же интерфейс PCIe (есть и другие варианты, например, USB 3.2 и Thunderbolt 3). Кстати, известный вид дисковых массивов — сетевое хранилище данных (NAS).

Что можно подключать к RAID-контроллеру

Следующий важный параметр, по которому различаются RAID-массивы, это поддержка интерфейсов накопителей. Не будем тревожить склеп с IDE-дисками, а констатируем, что по большому счету применяются три типа: SATA, SAS и NVMe. SAS — удел серверов, а вот остальные применяются повсеместно.

Есть программные и аппаратные RAID-контроллеры, которые умеют управлять массивом дисков с одним из интерфейсов. В формате PCIe есть и такие платы, которые реализуют режим Tri-Mode, позволяющий работать со смешанным составом накопителей.


Уровни RAID

Разобравшись с основными конструктивными особенностями RAID-контроллеров, перейдем к главной характеристике — поддержке уровней RAID. В подавляющим большинстве контроллеры работают с уровнями 0, 1, 1E, 10, 5, 5EE, 50, 6, 60. Другие занесены в красную книгу и на практике встречаются редко. Простейшие программные контроллеры позволяют создать RAID 0 и 1. Более продвинутые добавляют RAID 10 и 5. В аппаратных, как правило, такой перечень минимален, и многие платы поддерживают весь спектр уровней. Рассмотрим подробнее каждый из них.

Несколько важных нюансов для понимания эффективных объема и быстродействия, получаемых в результате объединения в массив:

  • при использовании накопителей разного объема контроллер «обрезает» объем каждого из них до наименьшего из используемых. Если у вас есть много дисков 4 ТБ и один 2 ТБ, то в массиве все диски будут восприниматься как 2 ТБ;
  • при использовании накопителей с разными скоростями ввода/вывода и задержками, то операции доступа будут осуществляться с наихудшими из всех параметров. Другими словами, самым быстрым дискам придется ждать, пока отработает самый медленный.

RAID 0


Единственный массив, который не совсем оправдывает название, поскольку не обладает избыточностью. При этом скорость и эффективный объем максимальны. Данные разбиваются на одинаковые блоки, равномерно записываемые на все диски по очереди. Эти блоки называются страйпами, отсюда и сам RAID 0 часто именуют страйпом. Считывание данных также происходит параллельно. Здесь конечно же есть свое но.

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

В общем, в современных реалиях RAID 0 далеко не всегда оправдает свое применение, а основная задача RAID-массива все же в повышении надежности хранения данных.

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

RAID 1


RAID 1, известный как «зеркало», представляет собой другую крайность. Он максимально избыточен — в нем производится 100 % дублирование данных. Этот процесс «съедает» ровно половину объема массива. Число дисков в нем, соответственно, четное. Позволяет увеличить скорость чтения, но синхронная скорость записи в некоторых случаях падает. При отказе одного из дисков работа автоматически продолжается с дублером. Если доступна функция горячей замены дисков, то восстановление штатного режима происходит без остановки. RAID 1 идеален для чувствительных данных.

RAID 5


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

Со всеми плюсами и минусами эти три уровня наиболее распространены и просты в развертывании.

RAID 6


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

Следующие уровни — производные и комбинации перечисленных.

RAID 10


Неплохо было бы объединить достоинства RAID 0 (производительность) и RAID 1 (отказоустойчивость)? Встречайте RAID 10: страйп и зеркало, два в одном. Но и недостатки не забудьте — по-прежнему половина объема уходит на резерв. А что делать, за надежность приходится платить. В этом плане менее экономичен, чем RAID 5 И RAID 6, но более прост в восстановлении после сбоя.

RAID 50


По похожей схеме получаем RAID 50. Здесь уже страйпы не зеркалируются, а распределяются по двум и более массивам RAID 5. Требуется от шести дисков, скорость чтения значительно увеличивается. Кроме того, нивелируется и слабое место RAID 5 и RAID 6 — низкая скорость записи. Отрицательная сторона опять лежит в плоскости экономики. Из эффективного объема выпадают два диска, как и RAID 6, при этом массив выдержит потерю только одного.

RAID 60


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

RAID 1E


Еще одна вариация совмещения алгоритмов зеркалирования и чередования данных. Записанные на одной итерации страйпы повторно записываются на следующей, но в обратном порядке. Таким образом в RAID 1E можно использовать три диска. Массив останется тем же зеркалом с эффективным объемом, равным половине от исходного.

RAID 5EE


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

В таблице ниже приведены сравнительные характеристики рассмотренных уровней RAID.


Не забудем и про массив с незатейливым названием JBOD (дословно переводится как «просто связка дисков»). Строго говоря, он не является RAID-массивом. Это объединенные в один несколько дисков без дополнительной функциональности. Позволяет развернуть логический диск с объемом, который недоступен в рамках одного накопителя. Такой диск полезен для перемещения файлов больших размеров в несколько терабайт.

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

Читайте также: