Основы технологии RAID - как устроены массивы RAID?

Что такое RAID?

RAID – аббревиатура для Redundant Array of Independent (или Inexpensive) Disks (избыточный массив независимых дисков). Фактически RAID – способ комбинирования нескольких независимых и относительно небольших по рамзеру дисков в единое хранилище большого размера. Диски, включенные в массив, называются дисками-членами массива. Диски могут быть объединены в массив разными способами, известными как уровни RAID. У каждого уровня RAID есть свои собственные характеристики:

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

Как организован массив RAID?

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

  1. Организация данных в массиве (методы хранения RAID: чередование, зеркало, четность, их комбинации).
  2. Реализация каждого конкретного устройства RAID - аппаратная или программная.

Технологии хранения данных в RAID

Основные способы хранения данных в массиве:

  • Чередование - разделение потока данных на блоки определенного размера (называется "размер блока"), а затем запись этих блоков по всем дискам-членам RAID один за другим. Такой метод хранения данных позволяет увеличить производительность.
  • Зеркало – метод хранения, где идентичные копии данных одновременно хранятся на дисках RAID. Такой способ размещения данных влияет на отказоустойчивость и производительность.
  • Четность – способ хранения, который использует методы чередования и контрольной суммы, когда вычисляется и хранится на дисках-членах массива определенная функция четности для блоков данных. Если диск ломается, недостающий блок пересчитывается из контрольной суммы, что обеспечивает отказоустойчивость RAID.

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

Уровни RAID

  • RAID 0 - основан на методе чередования. Этот уровень RAID не обеспечивает отказоустойчивость, но повышает производительность системы (высокая скорость чтения и записи).
  • RAID 1 - использует технологию зеркала, в некоторых случаях повышает скорость чтения и обеспечивает отказоустойчивость при утрате не более чем одного диска.
  • RAID 0+1 - основан на комбинации методов чередования и зеркала. Этот уровень RAID перенял производительность RAID 0 и отказоустойчивость RAID 1.
  • RAID1E - использует технологии чередования и зеркала, может пережить поломку одного диска или любого количества несмежных дисков. Существет три подвида RAID 1E: near, far и interleaved. Больше информации и схем – на странице RAID 1E.
  • RAID 5 - использует методы чередования и четности. Обеспечивает повышение скорости чтения почти как в RAID 0, выдерживает потерю одного диска.
  • RAID 5E - вариация RAID 5, единственным отличием которой является встроенное свободное пространство, позволяющее в случае сбоя диска немедленно перестраивать сломанный массив. Больше информации – на странице RAID5E.
  • RAID 5 с отложенной четностью - очень похож на базовый RAID 5, но использует нестандартную схему чередования. Больше информации о RAID5 с отложенной четностью.
  • RAID 6 - похож на RAID 5, но использует две разные функции четности. Скорость чтения та же, что и в RAID 5.

Реализации RAID

RAID можно создать двумя разными способами:

  • с использованием драйверов операционной системы – так называемый программный RAID;
  • с использованием специального оборудования – так называемый аппаратный RAID.

Программный RAID

Программный RAID – одно из самых дешевых RAID-решений.

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

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

Есть определенные ограничения на использование программного RAID для загрузки системы. Только RAID 1 может содержать загрузочный раздел, в то время как загрузка системы невозможна в программных RAID 5 и RAID 0.

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

Аппаратный RAID

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

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

У аппаратного RAID есть некоторые преимущества по сравнению с программным, такие как:

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