RAID

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

Стандартные уровни спецификации RAID:

  • RAID 0 — дисковый массив повышенной производительности с чередованием, без отказоустойчивости;
  • RAID 1 — зеркальный дисковый массив;
  • RAID 2 — зарезервирован для массивов, которые применяют код Хемминга;
  • RAID 3 и 4 — дисковые массивы с чередованием и выделенным диском чётности;
  • RAID 5 — дисковый массив с чередованием и «невыделенным диском чётности»;
  • RAID 6 — дисковый массив с чередованием, использующий две контрольные суммы, вычисляемые двумя независимыми способами;
  • RAID 10 — массив RAID 0, построенный из массивов RAID 1;
  • RAID 01 — массив RAID 1, построенный из массивов RAID 0 (имеет низкую отказоустойчивость);
  • RAID 50 — массив RAID 0, построенный из массивов RAID 5;
  • RAID 05 — массив RAID 5, построенный из массивов RAID 0;
  • RAID 60 — массив RAID 0, построенный из массивов RAID 6;
  • RAID 06 — массив RAID 6, построенный из массивов RAID 0.

Нестандартные уровни спецификации RAID

  • RAID-Z — массив RAID 5, имеющий ряд модификаций, включая ZFS, динамический размер страйпа и 256 битную хеш-сумму.
RAID 0

RAID 0 (striping — «чередование») — дисковый массив из двух или более жёстких дисков без резервирования.

  • Скорость считывания файлов увеличивается вдвое.
  • Увеличивается вероятность потери данных: если вероятность отказа 1 диска равна p, то вероятность выхода из строя массива RAID 0 из двух дисков равна 2p-p*p. Таким образом, если вероятность отказа одного диска за год равна 1%, то вероятность отказа массива из двух дисков составляет 1,99%, то есть практически в два раза.
RAID 1

RAID 1 (mirroring — «зеркалирование») — массив из двух (или более) дисков, являющихся полными копиями друг друга.

  • Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов
  • Имеет высокую надёжность — работает до тех пор, пока функционирует хотя бы один диск в массиве.
  • Недостаток RAID 1 в том, что по цене двух жестких дисков пользователь фактически получает объём лишь одного.
RAID 2

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

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

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

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

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

RAID 5

RAID 5. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм 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.

  • RAID 5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID 5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер наименьшего диска. Например, для массива из четырёх дисков по 80 гигабайт общий объём будет (4 − 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.
  • Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10–25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи, за исключением так называемых full-stripe write-ов, сервера заменяется на контроллере RAID на четыре — две операции чтения и две операции записи).
RAID 6

RAID 6 — похож на RAID 5, но имеет более высокую степень надёжности — три диска данных и два диска контроля чётности. Основан на кодах Рида — Соломона и обеспечивает работоспособность после одновременного выхода из строя любых двух дисков.