sonyps4.ru

Отличия raid 5 от 10. FAQ по практической реализации RAID

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

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

  • RAID 2, 3

    RAID 4, 5

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

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

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

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

Уровни RAID

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

RAID уровня 0

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

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

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

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

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

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

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

RAID уровня 1

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

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

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

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

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

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

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

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

Сегмент 1

Сегмент 1

Сегмент 2

Сегмент 2

Сегмент 3

Сегмент 3

Сегмент 4

Сегмент 4

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

RAID уровней 2 и 3

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

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

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

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

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

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

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

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

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

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

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

RAID уровней 4 и 5

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

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

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

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

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

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

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

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

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

Сегмент 11

Сегмент 12

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

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

Уровень RAID

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

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

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

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

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

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

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

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

четность

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

четность

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

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

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

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-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

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-массив из четырех

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RAID10

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

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

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

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

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

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD - неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров - это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

RAID 0 часто используют для размещения временных файлов.

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

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

Насчет производительности - по записи выигрыш 0, по чтению - возможно до 1.5 раз, т. к. чтение может производиться "параллельно" (поочередно с разных дисков) . Для баз данных ускорение мало, в то время как при параллельном обращении к разным (!) частям (файлам) диска ускорение будет абсолютно точно.

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

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

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID - http://www.thg.ru/storage/20051102/index.html .

Adaptec SATA RAID 21610SA в массивах RAID 5 - http://www.ixbt.com/storage/adaptec21610raid5.shtml .

Почему RAID 5 - это плохо - https://geektimes.ru/post/78311/

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

Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.

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

Статья RAID-5 must die . И еще о потерях данных на RAID5 .

Примечание. На 05.09.2005 стоимость SATA диска Hitachi 80Gb составляет 60 долларов.

RAID 10, 50

Дальше идут уже комбинации из перечисленных вариантов. Например, RAID 10 это RAID 0 + RAID 1. RAID 50 - это RAID 5 + RAID 0.

Интересно, что комбинация RAID 0+1 в плане надежности оказывается хуже, чем RAID5. В копилке службы ремонта БД есть случай сбоя одного диска в системе RAID0 (3 диска) + RAID1 (еще 3 таких же диска). При этом RAID1 не смог "поднять" резервный диск. База оказалась испорченной без шансов на ремонт.

Для RAID 0+1 требуется 4 диска, а для RAID 5 - 3. Подумайте об этом.

RAID 6

В отличие от RAID 5, который использует четность для защиты данных от одиночных неисправностей, в RAID 6 та же четность используется для защиты от двойных неисправностей. Соответственно, процессор более мощный, чем в RAID 5, и дисков требуется уже не 3, а минимум 5 (три диска данных и 2 диска контроля четности). Причем, количество дисков в raid6 не имеет такой гибкости, как в raid 5, и должно быть равно простому числу (5, 7, 11, 13 и т. д.)

Допустим одновременный сбой двух дисков, правда, такой случай является весьма редким.

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

Rebuild time

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

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

Время восстановления функционирования массива в нормальном режиме напрямую зависит от объема дисков. Например, Sun StorEdge 3510 FC Array при размере массива 2 терабайта в монопольном режиме делает rebuild в течение 4.5 часов (при цене железки около $40000). Поэтому, при организации массива и планировании восстановления при сбое нужно в первую очередь думать именно о rebuild time. Если ваша база данных и бэкапы занимают не более 50 гигабайт, и рост в год составляет 1-2 гигабайта, то вряд ли имеет смысл собирать массив из 500-гигабайтных дисков. Достаточно будет и 250-гигабайтных, при этом даже для raid5 это будет минимум 500 гигабайт места для размещения не только базы данных, но и фильмов. Зато rebuild time для 250 гигабайтных дисков будет примерно в 2 раза меньше, чем для 500 гигабайтных.

Резюме

Получается, что самым осмысленным является использование либо RAID 1, либо RAID 5. Однако, самая частая ошибка, которую делают практически все - это использование RAID "подо все". То есть, ставят RAID, на него наваливают все что есть, и... получают в лучшем случае надежность, но никак не улучшение производительности.

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

Текст
В старой статье hddspeed.htmLINK (и в doc_calford_1.htmLINK) показано, как можно получить существенное увеличение производительности путем использования нескольких физических дисков, даже для IDE. Соответственно, если вы организуете RAID - положите на него базу, а остальное (temp, OS, виртуалка) делайте на других винчестерах. Ведь все равно, RAID сам по себе является одним "диском", пусть даже и более надежным и быстродействующим.
признан устаревшим. Все вышеупомянутое вполне имеет право на существование на RAID 5. Однако перед таким размещением необходимо выяснить - каким образом можно делать backup/restore операционной системы, и сколько по времени это будет занимать, сколько времени займет восстановление "умершего" диска, есть ли (будет ли) под рукой диск для замены "умершего" и так далее, т. е. надо будет заранее знать ответы на самые элементарные вопросы на случай сбоя системы.

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

Размещение базы, shadow и backup

Несмотря на все преимущества RAID, категорически не рекомендуется, например, делать backup на этот же самый логический диск. Мало того что это плохо влияет на производительность, но еще и может привести к проблемам с отсутствием свободного места (на больших БД) - ведь в зависимости от данных файл backup может быть эквивалентным размеру БД, и даже больше. Делать backup на тот же физический диск - еще куда ни шло, хотя самый оптимальный вариант - backup на отдельный винчестер.

Объяснение очень простое. Backup - это чтение данных из файла БД и запись в файл бэкапа. Если физически все это происходит на одном диске (даже RAID 0 или RAID 1), то производительность будет хуже, чем если чтение производится с одного диска, а запись - на другой. Еще больше выигрыш от такого разделения - когда backup делается во время работы пользователей с БД.

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

Небольшой, но, надеюсь, обоснованный ответ на топик Почему 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:
Вот так легко и не замысловато смысл статьи изменился если и не на противоположный, то уж точно кардинально.



Загрузка...