logo
!Архитектура ЭВМ и вычислительных систем

Дисковые массивы raid. Назначение, основные характеристики и организация.

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

Что нужно для построения RAID-массива? Прежде всего, RAID-контроллер и, как минимум, два жестких диска (в зависимости от уровня — например, для массива RAID 5 требуется не менее трех HDD).

До недавнего времени RAID-технологии были прерогативой серверного сегмента рынка. Но ситуация начала потихоньку меняться после того как производители стали интегрировать RAID-контроллеры на несерверные материнские платы. А ведь и правда — почему бы не использовать то, что достается практически даром.

И вот пользователь уже практически созрел, уже почти решился на то, чтобы установить-таки на своем родном ПК этот манящий "шаровой" RAID. И тут же натыкается на проблему выбора. При малых затратах, то есть при использовании двух жестких дисков, нужно выбирать между производительностью и надежностью хранения информации — использовать RAID 0 или RAID 1. А если пользователь хочет получить и скорость и надежность, придется раскошеливаться на четыре накопителя. Мало кто согласится на такие расходы для домашней системы, да и не каждый корпус сможет разместить четыре винчестера.

Эту проблему попыталась решить компания Intel в своих чипсетах нового поколения — i915 и i925. В южный мост ICH6R встроена уникальная технология Intel Matrix Storage Technology, которая позволяет на базе двух жестких дисков построить два разных RAID-массива ("нулевого" и "первого" уровней).

Впрочем, не будем слишком углубляться в технологии. Начнем лучше с азов — проведем небольшой ликбез по RAID.

Что такое RAID?

Сразу стоит заметить, что RAID это не средство от насекомых (как кто-то мог подумать), которое "убивает тараканов насмерть". На самом деле эта аббревиатура расшифровывается как Redundant Array of Independent Disks — избыточный массив независимых дисков. Изначально RAID расшифровывался как Redundant Array of Inexpensive Disks — избыточный массив недорогих дисков. Под недорогими подразумевались диски, предназначенные для использования в ПК,— в противовес дорогим дискам для мэйнфреймов. Но так как в RAID-массивах стали использовать SCSI-винчестеры, которые были существенно дороже применяемых в большинстве компьютеров дисков IDE, слово "недорогой" было заменено на "независимый".

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

Различают несколько основных уровней RAID-массивов: RAID 0, 1, 2, 3, 4, 5, 6, 7. Также существуют комбинированные уровни, такие как RAID 10, 0+1, 30, 50, 53 и т.п. Рассмотрим вкратце принципы функционирования, достоинства и недостатки основных уровней.

RAID 0

Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance)

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

RAID 0 – дешевый и производительный, но ненадежный

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

Преимущества:

наивысшая производительность в приложениях, требующих интенсивной обработки запросов ввода/вывода и данных большого объема;

простота реализации;

низкая стоимость;

максимальная эффективность использования дискового пространства — 100%.

Недостатки:

не является "настоящим" RAID'ом, поскольку не поддерживает отказоустойчивость;

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

RAID 1

Дисковый массив с зеркалированием (Mirroring & Duplexing)

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

RAID 1 – простейший отказоустойчивый массив

Преимущества:

простота реализации;

простота восстановления массива в случае отказа (копирование).

Недостатки:

высокая стоимость — 100-процентная избыточность;

невысокая скорость передачи данных.

RAID 2

Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC)

Схема резервирования данных с использованием кода Хэмминга (Hamming code) для коррекции ошибок. Поток данных разбивается на слова — причем размер слова соответствует количеству дисков для записи данных. Для каждого слова вычисляется код коррекции ошибок, который записывается на диски, выделенные для хранения контрольной информации. Их число равно количеству бит в слове контрольной суммы.

RAID 2 не получил коммерческого применения

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

Преимущества:

достаточно простая реализация;

коррекция ошибок "на лету";

очень высокая скорость передачи данных;

при увеличении количества дисков накладные расходы уменьшаются.

Недостатки:

низкая скорость обработки запросов;

высокая стоимость;

большая избыточность.

RAID 3

Отказоустойчивый дисковый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity)

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

В RAID 3 информация разбивается на порции одинакового размера

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

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

Преимущества:

отказ диска мало влияет на скорость работы массива;

высокая скорость передачи данных;

высокий коэффициент использования дискового пространства.

Недостатки:

сложность реализации;

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

RAID 4

Отказоустойчивый массив независимых дисков с общим диском четности (Independent Data Disks with Shared Parity Disk)

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

В RAID 4 поток данных разделяется на блоки

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

Преимущества:

высокая скорость передачи данных;

отказ диска мало влияет на скорость работы массива;

высокий коэффициент использования дискового пространства.

Недостатки:

достаточно сложная реализация;

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

сложное восстановление данных.