RAID-массивы
Во всем мире технология RAID применяется там, где необходимо увеличить дисковую емкость и получить при этом максимальную надежность и устойчивость к разрушениям не уменьшая производительности. Объем продаж дисковых RAID-массивов составит по всему миру $18.6 миллиардов в 1999 году. Это означает увеличение на 17.6% по сравнению с периодом 1996-99. (Source: 1996 Disk/Trend Report) |
|
Мы попытаемся дать понимание, что же такое RAID, какие уровни какие функции выполняют. Это должно дать Вам понимание того какая организация дисковой подсистемы наиболее адекватна для Вашего вычислительного комплекса. Упрощенно: один дорогой и мощный жесткий диск заменяется на несколько меньших дисков меньшей стоимости. При этом RAID обеспечивает защиту данных зеркалированием ("mirroring") или распределением данных по разным дискам массива ("striping"). Если данные утеряны или повреждены массив автоматически восстанавливает поврежденную порцию данных и продолжает бесперебойную работу. Но имейте ввиду: дисковый массив не рассматривается как путь отказа от резервного копирования. Хотя в случае RAID-массива данные защищены от разрушения диска или другого элемента системы, вы не получаете защиту от вирусов, ошибок оператора или катастроф... |
RAID-уровни
|
RAID-0 страйпинг или поочередное размещение (Striping)
-
Все носители в массиве объединяются в один большой диск.
-
Поочередное размещение предполагает запись первого сегмента данных на первый диск, второго на второй и т.д. Производительность массива повышается, поскольку компьютер не ждет окончания записи первого сегмента данных, а очередной сегмент начинает записывать на второй диск.
-
Емкость массива определяется емкостью наименьшего диска. Остальные диски форматируются на такой же объем, при этом может образоваться не используемая область. Поэтому целесообразно использовать в одном массиве диски одинакового объема.
-
RAID-0 не обеспечивает отказоустойчивость и не гарантирует безопасность данных в массиве. Если один диск выходит из строя - все данные, расположенные на нем теряются. Если диск не поддается восстановлению, все данные будут утеряны безвозвратно.
-
RAID-0 рекомендуется использовать там, где важна высокая производительность, а проблема устойчивости к сбоям не рассматривается. RAID-0 также предлагает самую низкую стоимость за мегабайт в массиве и наибольшую производительность по сравнению с другими уровнями RAID.
-
Кроме того, некоторые производители предлагают наборы дисков без "striping'а" который обеспечивает RAID-0, в индустрии такая продукция используется под обозначением JBOD (just a bunch of discs - "дисковый пакет").
JBOD дополнительная функция RAID контроллера, не является конфигурацией RAID. Применяется тогда, когда пользователю необходимо воспользоваться всей суммарной емкостью накопителей в массиве. К сожалению, кроме увеличения емкости, у этого решения нет преимуществ.
|
|
-
Кроме того, некоторые производители предлагают наборы дисков без "striping'а" который обеспечивает RAID-0, в индустрии такая продукция используется под обозначением JBOD (just a bunch of discs - "дисковый пакет").
JBOD дополнительная функция RAID контроллера, не является конфигурацией RAID. Применяется тогда, когда пользователю необходимо воспользоваться всей суммарной емкостью накопителей в массиве. К сожалению, кроме увеличения емкости, у этого решения нет преимуществ.
|
|
RAID-1 Зеркалирование (Mirroring)
-
Данные записываются/читаются в идентичном виде на два или более дисков. Это обеспечивает высокую производительность при чтении, потому что первый диск для ответа на запрос ввода-вывода может обеспечить запрашиваемые данные, сокращая таким образом задержки. (the first drive to respond to an I/O request can provide the data requested, thus reducing latency.) Кроме того, нет необходимости вычислять и хранить контрольные суммы блоков, что требует временных издержек на других уровнях RAID-массива.
-
Данные непрерывно копируются с одного диска на другой или с одной группы накопителей на другую. При аварии одного из накопителей оставшийся диск (зеркало) или группа дисков продолжают нормальную работу, а для системы такой массив все еще видится как единый диск. При использование RAID-1 пользователю недоступна дополнительная емкость параллельных приводов (при зеркалировании двух 20Гб накопителей системе будет доступен только один 20Гб диск).
-
Управление простое, не требует сложного программного и аппаратного обеспечения.
-
RAID-1 обычно используется в ситуации, когда требуется высокая производительность, высокая надежность, а размеры файлов данных не слишком велики.
|
|
RAID-2
-
На этом уровне предусмотрена защита данных с помощью корректирующего ошибки кода Хэмминга*
-
Данные разбивается на маленькие элементы, которые затем передаются параллельно на несколько дисков системы. Кроме того, вычисляются контрольные суммы ECC (Error-Correction Code), которые записываются на отдельный диск или несколько дисков. Тем самым обеспечивается достаточно высокая безопасность данных, а недостатком данного подхода является большая доля ECC-дисков в массиве.
-
Скорость чтения данных достаточно высокая, так как данные передаются параллельно. А функция записи выполняется медленнее потому, что она осложнена вычислением контрольных сумм и записью их на "диск чётности".
-
Уровень RAID-2 не является экономичным, так как требуется большое число дорогих дисков и контроллеры, поддерживающие их. Системы RAID-2 обладают большой избыточностью. RAID-2 может быть заменен на RAID-3 с меньшей стоимостью.
* Код Хэмминга обеспечивает коррекцию ошибок (Forward Error Correction), используя механизм блока четности.
|
RAID-3
-
Массив с параллельным вводом/выводом и диском контроля четности.
-
На уровне RAID-3 обмен данными с диском происходит параллельно за один I/O-запрос. Этим достигается высокая степень паралеллизма, данные передаются очень быстро.
-
Контрольные данные по четности хранятся на одном дополнительном диске, поэтому минимальное количество дисков в массиве равно трем. Диски синхронизируются для передачи данных на все диски одновременно. Если происходит отказ одного диска, данные восстанавливаются с рабочих дисков при помощи контрольных сумм с "четного диска".
-
RAID-3 - типичное решение дискового пространства на суперкомпьютерах, процессорах манипулирования образа и других приложениях, где необходима очень высокая скорость передачи данных. RAID-3 наиболее эффективен для обработки больших объемов данных, хранящихся в больших файлах и неэффективен для обработки коротких транзакций с большим количеством I/O-запросов.
-
Для заданной емкости требуется меньшее число дисков, чем в случае с RAID-1, так как дополнительно требуется только один диск для повышения надежности. Этот уровень достаточно сложен для реализации. RAID-3 - лучше всего подходит для скоростной обработки данных или для обработки больших файлов данных.
|
|
RAID-4
-
Этот уровень во многом схож с уровнем 3. Данные разбиваются на блоки и чередуются по всем дискам массива, а контрольные суммы записываются и хранятся на отдельном диске. Благодаря такому разбиению, возможно одновременное выполнение нескольких операций чтения. Запись выполняется медленнее, так как требуется еще запись контрольной суммы на "диск четности".
-
В RAID-4 Данные восстанавливаемы при выходе диска из строя.
-
Данное решение наилучшим образом подходит для файл-серверов, где запись происходит реже чем считывание. RAID-4 имеет невысокую стоимость, но реализация достаточно сложна.
|
RAID-5
-
Данные в массиве RAID-5 поочередно размещаются большими блоками по всем дискам массива и контрольные суммы хранятся на всех дисках. Это решение позволяет сильно увеличить скорость записи.
-
При хранении контрольных сумм на всех дисках, возможны параллельные операции, как чтения, так и записи. Это небольшое изменение позволяет сильно увеличить производительность по сравнению с другими уровнями RAID. Запись выполняется чуть медленнее чтения потому, что требуется прочесть данные со всех дисков для перестроения контрольных сумм и их записи. Могут обрабатываться одновременные I/O запросы.
-
Для реализации массива 5-го уровня все диски в должны иметь одинаковый размер, но один из них будет невидим для операционной системы. Данные могут быть восстановлены в случае выхода из строя одного диска.
-
RAID-5 обладает малой избыточностью, т.е. он экономичен. RAID-5 эффективен для обработки длинных записей данных, но также достаточно эффективен для работы с короткими записями, если конструктив массива оптимизирован по производительности на запись или если приложения имеют высокую пропорцию операций чтения. Это хороший выбор для обработки больших объемов данных в больших файлах с достаточно высокой производительностью на маленьких блоках данных.
|
|
RAID-6
-
То же самое, что и RAID-5, но с дополнительной записью контрольных сумм для восстановления, если отказывают одновременно два диска.
-
Эта конфигурация требует дополнительные "диски четности", и операция записи теоретически медленнее, чем эквивалентное решение на RAID-5. Представленный UC Berkeley в конце 1989, RAID-6 также используется производителями для многоуровневых массивов совместно с RAID-1 и RAID-0, но это не соответствует определению Berkeley.
|
RAID-10 (1+0)
-
Совмещение Зеркалирования (1 уровень) и поочередного размещения сегментов данных на разные диски (0 уровень). Такое решение позволяет увеличить производительность массива, за счет считывания информации с разных дисков. Зеркалировани повышает надежность.
-
Минимальное колличесво дисков для реализации массива равно четырем.
-
RAID-10 обладает низким коэффициентом использования дискового пространства и высокой стоимостью реализации.
|
|
RAID-50 (5+0) Страйп из RAID-5 массивов
-
Страйп массив, роль дисков в котором выполняют массивы пятого уровня.
-
Минимальное количество дисков для реализации равно шести. Из них образуются два RAID-5 массива (по три диска в каждом), которые в свою очередь объединяются в массив нулевого уровня.
-
Данные могут быть восстановлены в случае выхода из строя одного диска в локальном массиве. Если у вас массив из шести дисков, то при выходе из строя двух из них (из разных локальных массивов), данные будут восстановлены.
-
RAID-50 совмещает отказоустойчивость и высокую скорость передачи данных. Хорошо проявляет себя при большой интенсивности I/O запросов.
-
К недостаткам можно отнести стоимость и ограниченное масштабирование.
|
|
|
|
|