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

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

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

    RAID 1+0 и RAID 0+1

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

    RAID 2

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

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

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


    RAID 3

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

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

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

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

    Недостатки:

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


    RAID 4

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

    RAID 5

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

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

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

    RAID 5EE

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

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

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

    Недостатки:

    RAID 6

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

    RAID 7

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

    RAID 10

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

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

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

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

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

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

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

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

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

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

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

    Matrix RAID

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

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

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

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

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

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

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

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

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

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

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

    Приветствую всех, уважаемые читатели блога сайт! Ранее, я уже публиковал статью о , очень рекомендую почитать. Там я только вкратце рассказал о том, что такое рейд массив десятого уровня, или «1+0» - как его еще называют. В этой статье будет подробный рассказ о всех преимуществах и недостатках такого вида Raid массива, а также о его сравнении с пятым рейдом.

    Как известно, Raid 10 вобрал в себя все хорошее из Raid 0 и Raid 1: увеличенную скорость доступа и повышенную надежность данных - соответственно. Рейд 10 представляет собой некую «полоску» зеркал, состоящих из пар жестких дисков, объединенных в рейд первого уровня. Иными словами, диски вложенного массива соединены парами в «зеркальный» рейд первого уровня, а эти вложенные массивы, в свою очередь - трансформируются в общий массив нулевого уровня, используя чередование данных.

    Описание особенностей массива raid 10 сводится к следующему:

    • если любой один диск из вложенных массивов raid 1 поломается - потери данных не произойдет. То есть, если «внутри» десятого raid находится всего четыре диска, что являет собой минимально допустимое количество, тогда возможен безболезненный выход из строя аж двух дисков одновременно;
    • следующая особенность (скорее недостаток) - невозможность замены поврежденных накопителей, если конечно массив не оснащен технологией «hot spare»;
    • если ориентироваться на высказывания производителей устройств и многочисленные тесты, то получается, что именно raid «1+0» обеспечивает наилучшую пропускную способность по сравнению с другими видами, кроме нулевого raid, конечно же.

    Количество дисков

    Отвечая на вопрос - сколько же дисков требуется для рейд 10, скажу, что для такого массива необходимо четное их количество. Причем, минимально допустимое количество винчестеров составляет 4, а максимальное 16. Также, бытует мнение, что raid «1+0» (он же 10) и «0+1» чем-то различаются. Это правда, но различие состоит только в последовательности соединения массивов.

    Последняя цифра обозначает тип массива самого верхнего уровня. Например, raid «0+1» обозначает некую зеркальную систему полос, внутри которой два нулевых рейда (общее количество: 4 жестких диска) объединяются в один рейд 1 - это как пример, «нулевых» рейд массивов тут может быть и больше. Причем, снаружи визуально эти два подвида рейд 10 ничем не отличаются. И чисто теоретически они имеют равную степень устойчивости к сбоям.

    На практике же, большинство производителей сейчас используют Raid 1+0 вместо Raid 0+1, объясняя это большей устойчивостью первого варианта к ошибкам и сбоям.

    Столько дисков может поломаться и потери данных не произойдет

    Повторюсь, главным недостатком raid 10 остается - необходимость включения в массив дисков «горячего резерва». Расчет примерно следующий: на 5 рабочих накопителей должен быть один резервный. Теперь пару слов про емкость дисков. Особенность емкости рейд 1 заключается в том, что вам всегда доступна лишь половина пространства винчестеров от их общего объема. В RAIDе 10 из 4 дисков общим объемом 4 Терабайта для записи будут доступны всего 2 Тб. Вообще, легко подсчитать доступный объем можно по формуле: F*G/2, F означает - количество дисков в массиве, а G - их емкость.

    Сравнение raid 10 vs raid 5

    Говоря о выборе между «десятым» raid и любым другим, на ум обычно приходит мысль о рейд 5. Raid 5 похож на первый по своему назначению, с той лишь разницей, что для него требуется минимум 3 накопителя. Причем один из них не будет доступен в качестве места для записи данных, на нем будет храниться лишь служебная информация.

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

    1. Емкость массива raid 5 равна общему объему дисков за вычетом объема одного диска. В то время как в рейд 10, по факту, доступна лишь половина объема накопителей.
    2. При операциях чтения/записи взаимодействие с потоками данных может вестись параллельно с нескольких дисков. Поэтому скорость записи или чтения возрастает, по сравнению с обычным жестким диском. Но, без хорошего рейд-контроллера скорость будет не сильно высокой.
    3. Производительность рейд 5 в операциях случайного чтения/записи блоков ниже на 10–25% в сравнении с десятым. При поломке одного из дисков в пятом рейде весь массив переходит в критический режим - все операции записи и чтения сопровождаются дополнительными манипуляциями, производительность при этом резко падает.

    Итак, что же мы имеем в итоге: рейд 10 имеет лучшую отказоустойчивость и скорость, по сравнению с рейд 5 . Однако, собрать такой массив из дисков будет по карману далеко не каждому. Рейд 5 - некое промежуточное решение между нулевым массивом и зеркалом (рейд 1). О том, как сделать raid 10 из четырех дисков будет рассказано чуть ниже, хотя я уже затрагивал «вскользь» эту тему в статье, ссылка на которую указана вверху. Конечно же, для этой цели лучше использовать аппаратный уровень - нужен специальный контроллер, но хорошее оборудование стоит дорого.

    Так называемый «фейк рейд» (встроенный в материнскую плату) не отличается надежностью и быстротой, использовать не рекомендую. Лучше уж тогда организовать это все на программном уровне. Ну а сейчас, подробный пример создания массива на четырех дисках, используя рейд-контроллер. Для начала через BIOS выбираем соответствующую утилиту.

    Затем, в меню утилиты выбираем пункт «инициализация драйверов».

    Выделяем все наши диски.

    Снова возвращаемся к главному меню утилиты и выбираем пункт «создать массив».

    И на последнем шаге - указываем тип массива, его размер и другие параметры.

    Небольшой, но, надеюсь, обоснованный ответ на топик Почему RAID-5 - «mustdie»? .
    Ниже я произведу простейший расчёт надёжности RAID10 и RAID5 и сравнение их характеристик, а также укажу на некоторые принципиальные недостатки RAID1 и RAID10.

    Небольшая вводная:

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

    Пусть n - вероятность отказа одного диска;

    Итак - RAID10:

    Кол-во дисков в массиве - 4;
    Цена массива равна стоимости четырёх дисков;
    Ёмкость массива будет равна удвоенной ёмкости используемых дисков (одного диска);
    Максимальная скорость чтения данных равна удвоенной скорости одного диска;
    Вероятность отказа массива для самого лучшего случая (когда контроллер реализует RAID1+0 как единую матрицу и умеет комбинировать накопители произвольным образом):
    Вероятность отказа одного диска: P1=n(1-n)^3;
    Вероятность отказа двух дисков: P2=(n^2)*(1-n)^2;
    Вероятность отказа трёх дисков: P3=(n^3)*(1-n);
    Вероятность отказа четырёх дисков: P4=n^4;
    Вероятность безотказной работы: P0=(1-n)^4;
    Полная вероятность: 4*P1+6*P2+4*P3+P4+P0=1;
    Вероятность отказа массива: P(RAID10)=2*P2+4*P3+P4;
    * В первом слагаемом вместо 6 стоит 2, так как только в двух случаях (при повреждении дисков с одинаковыми ыми данными) массив не может быть восстановлен.

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

    RAID5:

    Кол-во дисков в массиве - 3;
    Цена массива равно стоимости трёх дисков;
    Ёмкость массива равна ёмкости двух дисков;
    максимальная скорость чтения равна полуторной скорости чтения одного диска;
    Вероятность отказа массива равна вероятности отказа двух дисков в нём:
    Вероятность отказа одного диска: P1=n(1-n)^2;
    Вероятность отказа двух дисков: P2=(n^2)*(1-n);
    Вероятность отказа трёх дисков: P3=n^3;
    Вероятность безотказной работы: P0=(1-n)^3;
    Полная вероятность: 3*P1+3*P2+P3+P0=1;
    Вероятность отказа массива: P(RAID5)=3*P2+P3;

    Выводы:

    Начнём конечно же с вероятности отказа - отнимем вероятность отказа RAID5 от вероятности отказа RAID10:
    P(RAID10)-P(RAID5)=2n^2*(n-1)^2-n^3+n^4+3*n^2*(n-1)-4*n^3*(n-1)
    Учитывая, что n->0 P(RAID10)-P(RAID5)<0, т.е. надёжность RAID5 НИЖЕ надёжности RAID10. Разница совсем небольшая, но в пользу RAID10;
    Если же допустить, что накопители не могут комбинироваться произвольным образом, то RAID5 надёжнее.
    Соотношение цен: RAID5 в 1.333 раза дешевле.
    Соотношение скоростей: RAID5 в 1.333 раза медленнее чем RAID10, но при этом в полтора раза быстрее одиночного накопителя.
    Внимание вопрос какой вариант лучше? Тот, который дороже и менее надёжен, хоть и немного быстрее. Или тот, что дешевле и надёжнее?
    Лично моё мнение склоняется в сторону более надёжного и дешёвого RAID5 никуда не склоняется.

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

    Всякого рода замечания:

    Время восстановления:
    Восстановление RAID10 в идеале равно времени копирования всего объёма данных.
    Для RAID5 ситуация сложнее, так как требуется восстановление данных по кодам коррекции.
    При программной реализации время восстановления RAID5 будет определяться быстродействием процессора.
    При аппаратной реализации время восстановления RAID5 равно времени восстановления RAID10.
    Учитывая, что современные процессоры без проблем справляются с потоком данных порядка 100МБ/с (приблизительная пиковая скорость чтения современных накопителей) можно утверждать, что при правильной реализации программный RAID5 будет не намного медленнее RAID10.
    Про надёжность во время восстановления. Для рассматриваемого случая об этого говорить вообще не приходится - резервные копии делать нужно! В общем же случае следует принимать во внимание, что на момент восстановления количество дисков в RAID10 больше, чем в RAID5, а значит вероятность отказа выше, и нельзя говорить о том, что на время восстановления RAID10 однозначно надёжнее.

    Дополнение:
    Если используется RAID-5EE, то в случае первого отказа он «сжимается» в RAID-5, что может занять очень длительное время. Однако, следует учитывать, что в результате получается полноценный RAID-5, который устойчив к одиночным отказам, т.е. фактически (при некоторых ограничениях) система может пережить два отказа подряд.

    Загрузка процессора:
    Программная реализация RAID5 нагружает процессор. Для современных процессоров, это как правило не критично, но для быстрых накопителей нужно иметь в виду, что чем быстрее накопитель, тем сильнее нагрузка на процессор.
    И снова надёжность - последний гвоздь в крышку гроба:
    Почему-то при разговоре о RAID10 и особенно о RAID1 все упускают из вида один очень важный момент.
    Да, в случае физического отказа накопителя он обеспечивет восстановление данных из копии, но что будет, если накопители вернут разные данные? Ведь в RAID1 нет способа узнать какие данные верны! Можно попытаться определить достоверность данных по их содержанию, но это не тривиальная задача, которая может быть выполнена только вручную, причём, далеко не всегда.
    Именно по этой причине я вообще не рассматриваю здесь RAID1 - он не обеспечивает механизма контроля достоверности данных. И RAID10 в общем случае тоже.
    А RAID5 (6?) в общем случае очень даже обеспечивает - если один из трёх накопителей вернёт неверные данные, то будет однозначно известно, что они не достоверны.
    Как такое (недостоверность данных) может случиться?
    Проблемы с перегревом дисков. Проблемы с питанием. Проблемы с прошивкой дисков. Масса вариантов! Вплоть до полного выгорания электроники в результате выхода их строя компьютерного источника питания. В таком случае диски можно попытаться оживить, поставив платы с аналогичных устройств, но не будет гарантии, что все данные на дисках достоверны.
    И ещё один гвоздик туда же. В топике с которого всё началось много расписано про BER (bit error rates). Не вдаваясь в подробности лишь замечу что, во-первых, для жёстких дисков все же принято больше говорить о MTBF (mean time between failures), во-вторых, если и говорить о BER, то о UBER (uncorrectable bit error rates), а, в-третьих, это будет аргумент в пользу RAID5 - если накопители вернут искажённые данные (которые прошли через все процедуры коррекции), то как узнать какому накопителю верить?

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

    Вердикт:

    Вердикт прост - если не нужны лишние проблемы на ровном месте, то не нужно городить ни RAID1 ни RAID0+1 - нужно смотреть в сторону RAID5, 5E, 6, ZFS
    Вердикт по отношению к «чистому» RAID5 не однозначен:)

    Udpate:
    Поправил расчёт вероятности - вывод не изменился. Поправил «RAID0+1» на «RAID10». Замечу, что в описываемом случае «RAID0+1» идентичен «RAID1+0». Но корректное название конечно же «RAID10».

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

    Сегодня мы поговорим о RAID-массивах . Разберемся, что это такое, зачем это нам надо, какое оно бывает и как все это великолепие использовать на практике.

    Итак, по порядку: что такое RAID-массив или просто RAID ? Расшифровывается эта аббревиатура как "Redundant Array of Independent Disks" или "избыточный (резервный) массив независимых дисков". Говоря по-простому, RAID-массив это совокупность физических дисков, объединенных в один логический.

    Обычно бывает наоборот - в системный блок установлен один физический диск, который мы разбиваем на несколько логических. Здесь обратная ситуация - несколько жестких дисков сначала объединяются в один, а потом операционной системой воспринимаются как один. Т.е. ОС свято уверена, что у нее физически только один диск.

    RAID-массивы бывают аппаратные и программные.

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

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

    "Зачем все это нужно?" - спросите Вы? Отвечаю: для повышения скорости чтения/записи данных и/или повышения отказоустойчивости и безопасности.

    "Каким образом RAID-массив может увеличить скорость или обезопасить данные?" - для ответа на этот вопрос рассмотрим основные типы RAID-массивов , как они формируются и что это дает в результате.

    RAID-0 . Называемый так же "Stripe" или "Лента". Два или более жестких дисков объединяются в один путем последовательного слияния и суммирования объемов. Т.е. если мы возьмем два диска объемом 500Гб и создадим из них RAID-0 , операционной системой это будет восприниматься как один диск объемом в терабайт. При этом скорость чтения/записи у этого массива будет вдвое больше, нежели у одного диска, поскольку, например, если база данных расположена таким образом физически на двух дисках, один пользователь может производить чтения данных с одного диска, а другой пользователь производить запись на другой диск одновременно. В то время как в случае расположения базы на одном диске, сам жесткий диск задачи чтения/записи разных пользователей будет выполнять последовательно. RAID-0 позволит выполнять чтение/запись параллельно. Как следствие - чем больше дисков в массиве RAID-0 , тем быстрее работает сам массив. Зависимость прямопропорциональная - скорость возрастается в N раз, где N - количество дисков в массиве.
    У массива RAID-0 есть только один недостаток, который перекрывает все плюсы от его использования - полное отсутствие отказоустойчивости. В случае смерти одного из физических дисков массива, умирает весь массив. Есть старая шутка на эту тему: "Что обозначает "0" в названии RAID-0 ? - объем восстанавливаемой информации после смерти массива!"

    RAID-1 . Называемый так же "Mirror" или "Зеркало". Два или более жестких дисков объединяются в один путем параллельного слияния. Т.е. если мы возьмем два диска объемом 500Гб и создадим из них RAID-1 , операционной системой это будет восприниматься как один диск объемом в 500Гб. При этом скорость чтения/записи у этого массива будет такая же, как у одного диска, поскольку, чтение/запись информации производятся на оба диска одновременно. RAID-1 не дает выигрыша в скорости, однако обеспечивает большую отказоустойчивость, поскольку в случае смерти одного из жестких дисков, всегда есть полный дубль информации, находящийся на втором диске. При этом необходимо помнить, что отказоустойчивость обеспечивается только от смерти одного из дисков массива. В случае если данные были удалены целенаправленно, то они удаляются со всех дисков массива одновременно!

    RAID-5 . Более безопасный вариант RAID-0. Объем массива рассчитывается по формуле (N - 1) * DiskSize RAID-5 из трех дисков по 500Гб, мы получим массив объемом в 1 терабайт. Суть массива RAID-5 в том, что несколько дисков объединятся в RAID-0, а на последнем диске хранится так называемая "контрольная сумма" - служебная информация, предназначенная для восстановления одного из дисков массива, в случае его смерти. Скорость записи в массиве RAID-5 несколько ниже, поскольку тратится время на расчет и запись контрольной суммы на отдельный диск, зато скорость чтения такая же, как в RAID-0.
    Если один из дисков массива RAID-5 умирает, резко падает скорость чтения/записи, поскольку все операции сопровождаются дополнительными манипуляциями. Фактически RAID-5 превращается в RAID-0 и если своевременно не позаботиться восстановлением RAID-массива есть существенный риск потерять данные полностью.
    С массивом RAID-5 можно использовать так называемый Spare-диск, т.е. запасной. Во время стабильной работы RAID-массива этот диск простаивает и не используется. Однако в случае наступления критической ситуации, восстановление RAID-массива начинается автоматически - на запасной диск восстанавливается информация с поврежденного с помощью контрольных сумм, расположенных на отдельном диске.
    RAID-5 создается как минимум из трех дисков и спасает от одиночных ошибок. В случае одновременного появления разных ошибок на разных дисках RAID-5 не спасает.

    RAID-6 - является улучшенным вариантом RAID-5. Суть та же самая, только для контрольных сумм используется уже не один, а два диска, причем контрольные суммы считаются с помощью разных алгоритмов, что существенно повышает отказоустойчивость всего RAID-массива в целом. RAID-6 собирается минимум из четырех дисков. Формула расчета объема массива выглядит как (N - 2) * DiskSize , где N - количество дисков в массиве, а DiskSize - объем каждого диска. Т.е. при создании RAID-6 из пяти дисков по 500Гб, мы получим массив объемом в 1,5 терабайта.
    Скорость записи RAID-6 ниже чем у RAID-5 примерно на 10-15%, что обусловлено дополнительными временными затратами на расчет и запись контрольных сумм.

    RAID-10 - так же иногда называется RAID 0+1 или RAID 1+0 . Представляет собой симбиоз RAID-0 и RAID-1. Массив строится минимум из четырех дисков: на первом канале RAID-0, на втором RAID-0 для повышения скорости чтения/записи и между собой они в зеркале RAID-1 для повышения отказоустойчивости. Таким образом, RAID-10 совмещает в себе плюс первых двух вариантов - быстрый и отказоустойчивый.

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

    RAID-60 - та же самая идея: фактически имеем RAID-6, собранный из нескольких массивов RAID-0.

    Так же существуют другие комбинированные массивы RAID 5+1 и RAID 6+1 - они похожи на RAID-50 и RAID-60 с той лишь разницей, что базовыми элементами массива являются не ленты RAID-0, а зеркала RAID-1.

    Как Вы сами понимаете комбинированные RAID-массивы: RAID-10 , RAID-50 , RAID-60 и варианты RAID X+1 являются прямыми наследниками базовых типов массивов RAID-0 , RAID-1 , RAID-5 и RAID-6 и служат только для повышения либо скорости чтения/записи, либо повышения отказоустойчивости, неся при этом в себе функционал базовых, родительских типов RAID-массивов .

    Если перейти к практике и поговорить о применении тех или иных RAID-массивов в жизни, то логика довольно проста:

    RAID-0 в чистом виде не используем вообще;

    RAID-1 используем там, где не особо важна скорость чтения/записи, но важна отказоустойчивость - например на RAID-1 хорошо ставить операционные системы. В таком случае к дискам никто кроме ОС не обращается, скорости самих жестких дисков для работы вполне достаточно, отказоустойчивость обеспечена;

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

    RAID-6 используется там, где просто страшно или есть реальная угроза смерти сразу нескольких дисков в массиве. На практике встречается достаточно редко, в основном у параноиков;

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

    Опять же, если еще упростить, то приходим к выводу, что там где нет большой и объемной работы с файлами вполне достаточно RAID-1 - операционная система, AD, TS, почта, прокси и т.д. Там же, где требуется серьезная работа с файлами: RAID-5 или RAID-10 .

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

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

    RAID-10 в стандартном режиме дублирования без потери данных переживёт выпадение одного любого диска, устойчивость от выпадения второго не гарантирована. Собран как зеркало поверх страйпа, или наоборот страйп поверх зеркала, или mdadm (который ни то ни другое) - разницы не имеет, гарантирована устойчивость только без любого одного диска. Особое внимание на "любого диска".

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

    Например, в linux raid aka mdadm, возможно указать, сколько копий данных должно реплицироваться по дискам. Например, 3 копии данных на 6 дисках дадут вам возможность пережить выпадение любых двух дисков и не любых 4. Цена этого - доступная ёмкость массива. Вам будет доступна ёмкость только двух дисков из 6.

    RAID5 и RAID6, о которых вам в комментариях пишут - переживут выпадение одного и двух дисков соответственно. Выход из строя любого второго диска в raid5 или любого третьего в raid6 - фатален и влечёт потерю всего массива. Цель и удел этих уровней рейда - подстраховаться от смерти диска, но при этом как-нибудь более дёшево, чем зеркало. RAID5 уменьшит форматируемую ёмкость массива на размер только одного диска, RAID6 - на ёмкость только двух дисков. А не вполовину, как RAID1 или RAID10.

    Например, из 12 дисков по 1 тб можно собрать:

    • RAID5 ёмкостью в 11 Тб, можно потерять любой 1 диск
    • RAID6 ёмкостью в 10 ТБ, можно потерять любые 2 диска
    • RAID10 ёмкостью в 6 ТБ, можно потерять любой 1 диск
    • RAID10 ёмкостью в 4 ТБ, если настроить, что можно потерять любые 2 диска

    Казалось бы, зачем тогда так активно используют raid10 с такой разницей по ёмкости? Ответ: из-за производительности. У RAID10 запрос на чтение может обслужить любой диск из пары, значит у нормально сделанного RAID10 - запросы на чтение можно распараллелить по разным дискам. У raid5/6 один исходный блок данных хранится только в одном месте. Чтобы его прочитать из избыточных данных - надо будет прочитать этот сегмент со всех дисков сразу и применить немного математики. Затем, RAID5/6 помедленнее на записи. И куда более драматичная разница в деградировавшем виде, т.е. если один диск у нас выпал. RAID5/6 просаживаются по производительности более чем чувствительно.

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

    И ещё важный момент, который надо при разговорах о рейдах всегда указывать: RAID это не бекап. Бекап у вас должен быть всё равно.