RAID - Redundant Array of Independent Disks

Опубликовано:06.03.2008
Версия текста:1.0
Введение в RAID
Уровни RAID - Организация дисков
Архитектура основных уровней RAID
RAID 0
RAID 1
RAID 2
RAID 3
RAID 4
RAID 5
RAID 6
RAID 10
RAID 30
RAID 50
RAID 7
Сводная таблица основных уровней RAID
Термины, связанные с RAID-технологией
Источники

Введение в RAID

В 1987 г. три американских исследователя Паттерсон, Гибсон и Катц из Калифорнийского университета Беркли написали статью "A Case for Redundant Arrays of Inexpensive Discs (RAID)". В статье описывалось, каким образом можно несколько дешёвых жёстких дисков объединить в одно логическое устройство таким образом, что в результате объединения повышаются ёмкость и быстродействие системы, а отказ отдельных дисков не приводит к отказу всей системы. Возможность недорого (inexpensive) построить дисковый массив большой ёмкости, повышенного быстродействия и, к тому же, отказоустойчивый, с этого времени постоянно беспокоит умы компьютерщиков. Однако широкое распространение такие системы получили только сейчас. Это связано с тем, что с недороговизной (inexpensiveness) получилась маленькая неувязочка. Всем ведь известно, что не всякие комплектующие подходят, чтобы вышла "конфетка". В самые первые RAID-ы, чтобы они действительно работали, пришлось устанавливать очень дорогие дисковые устройства от мэйнфреймов. Поэтому и аббревиатуру RAID стали расшифровывать как "Redundant Arrays of Independent Discs" - избыточный массив независимых дисков. Сейчас достаточно хорошие диски имеют разумную стоимость, и RAID становится основным элементом современного сервера любого уровня (а часто и не только сервера). Тем не менее, когда мы говорим о RAID, то о дешевизне лучше сразу забыть. Стоимость полных RAID-систем не снижается так же быстро, как цены на базовые диски, из-за "накладных расходов": контроллеры, коннекторы, специализированное программное обеспечение и т.п.

Массивы RAID становятся вместительнее, дешевле и приобретают новые возможности. Однако покупателям по-прежнему приходится определять приоритеты и искать компромиссы: между функциональностью и ценой; между производительностью и объёмом дисковой памяти.

Вариантов построения систем с RAID существует много. Все они гарантируют отличную работу при умеренных затратах. Реальное же применение такой перспективной технологии очень часто приносит совершенно необъяснимые трудности. Отчасти это связано и с тем, что во множестве публикаций о RAID упускаются очень существенные детали относительно различных уровней RAID. Например, в качестве основного различия RAID-уровней 3 и 5 чаще всего указывается, что в RAID уровня 3 контрольная информация хранится на выделенном диске. Как следствие, это трактуется как недостаток ("узкое горлышко"). На самом деле механизм взаимодействия дисков в RAID намного сложнее, способ размещения контрольной информации на дисках не является определяющим фактором, да и выделенный диск в RAID уровня 3 не является "узким горлышком". Давайте более детально рассмотрим хотя бы самые основные особенности систем, использующих RAID, чтобы если и не облегчить свою жизнь, то хотя бы понять, почему она так трудна.

В стандартном ПК каждый винчестер видится как независимый диск, обозначенный буквами C, D, E и так далее. В системе RAID несколько жёстких дисков помещены в один или несколько массивов. Каждый массив видится как независимый диск, хотя он может объединять два, три, четыре или больше физических дисков. В массиве IDE RAID, естественно, используются дешёвые IDE диски.

В этом массиве хранение данных осуществляется с дополнительной избыточной информацией. Избыточная информация может быть либо в виде самих данных (зеркальное отражение), либо в виде информации о чётности, вычисленной на основе нескольких блоков данных (RAID 4 или RAID 5). При установленном RAID-массиве операционная система (Windows*, NetWare* или Unix) работает уже не с отдельными дисками, но с целым массивом, как с одним логическим диском.

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

Существует два варианта развёртывания решения RAID. Аппаратный RAID-контроллер представляет собой интеллектуальное устройство, автоматически обрабатывающее всю информацию RAID. Если на компьютере установлен такой контроллер, то все управление RAID-массивом полностью переводится на него и нагрузка на компьютер снижается. Альтернативой этому является использование обычного хост-адаптера и драйвера RAID. В подобных ситуациях драйвер интегрируется с операционной системой, например, Windows NT*. В этом случае производительность системы RAID полностью зависит от нагрузки на процессор компьютера, из-за чего могут возникнуть проблемы при реконструкции массива после сбоя в работе жёсткого диска.

При выборе аппаратных RAID-контроллеров необходимо учитывать такие факторы: простота установки и обслуживания, возможности ПО управления и опыт производителя в разработке компонентов RAID. RAID-контроллеры должны поддерживать наиболее важные уровни RAID (0, 1, 4, 5 и 10) и иметь возможность одновременной обработки нескольких массивов с различными уровнями RAID на разных каналах.

Уровни RAID - Организация дисков

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

Архитектура основных уровней RAID

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

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

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

RAID 1. Дисковый массив с дублированием или зеркалка (mirroring)

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

Использование RAID 1 является наименее эффективным способом достижения надёжности, так как пользователю недоступна дополнительная ёмкость параллельных приводов (при зеркалировании двух 20 ГБ накопителей системе будет доступен только один 20 ГБ диск), но дешевизна IDE дисков является несомненным преимуществом RAID 1.

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

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

Избыточное кодирование, которое используется в RAID 2, носит название кода Хемминга. Код Хемминга позволяет исправлять одиночные и обнаруживать двойные неисправности. Остался полностью теоретическим вариантом. Это массив, в котором данные кодируются помехоустойчивым кодом Хэмминга, позволяющим восстанавливать отдельные сбойные фрагменты за счёт его избыточности. Кстати различные модификации кода Хэмминга, а также его наследников, используются в процессе считывания данных с магнитных головок жёстких дисков и оптических считывателей CD/DVD.

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

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

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

Преимущества: очень высокая скорость передачи данных; отказ диска мало влияет на скорость работы массива; малые накладные расходы для реализации избыточности.

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

RAID 4. Отказоустойчивый массив независимых дисков с разделяемым диском чётности (Independent Data disks with shared Parity disk)

RAID 4 очень похож на RAID 0. Данные распределяются по различным дискам. Кроме того, RAID-контроллер рассчитывает избыточность (информацию о чётности), которая хранится на отдельном диске (P1, P2, ...). Даже при сбое на одном жёстком диске все данные по прежнему остаются доступными. Отсутствующие данные восстанавливаются на основе сохранившихся данных и информации о чётности. В отличие от RAID 1, в этой системе для обеспечения избыточности требуется объём только одного диска. Если мы рассмотрим, к примеру, массив RAID 4 с 5 жёсткими дисками, для хранения данных в нем может использоваться 80% установленных дисков, и лишь 20% выделяется для избыточности. В системах, где в большом количестве встречаются маленькие блоки данных, диск для чётности становится узким местом с точки зрения производительности. Однако при работе с большими блоками данных RAID 4 обеспечивает значительное повышение производительности.

Преимущество: Непрерывность работы, при сбое на одном жёстком диске логический диск с данными остаётся доступным; пространство диска используется очень удачно (в массиве из n дисков, n-1 используется для хранения данных)
Недостаток: Необходимость расчёта информации об избыточности приводит к снижению скорости записи
Применение: Обычно используется в крупных системах для хранения данных благодаря эффективному соотношению установленной и доступной ёмкости.

RAID 5. Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data disks with distributed parity blocks)

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

Преимущество: Непрерывность работы, при сбое на одном жёстком диске логический диск с данными остаётся доступным; Пространство диска используется очень удачно (в массиве из n дисков, n-1 используется для хранения данных)
Недостаток: Необходимость расчёта информации об избыточности приводит к снижению скорости записи
Применение: Обычно используется в крупных системах для хранения данных благодаря эффективному соотношению установленной и доступной ёмкости.

ПРИМЕЧАНИЕ
Ситуация со снижением производительности при записи на RAID-5 иногда порождает любопытный экстремизм, например, http://www.baarf.com/

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

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

RAID 6. Отказоустойчивый массив независимых дисков с двумя независимыми распределёнными схемами четности (Independent Data disks with two independent distributed parity schemes)

Данные разбиваются на блочном уровне, аналогично RAID 5, но в дополнение к предыдущей архитектуре используется вторая схема для повышения отказоустойчивости. Эта архитектура является устойчивой к двойным отказам. Однако при выполнении логической записи реально происходит шесть обращений к диску, что сильно увеличивает время обработки одного запроса.

Преимущества: высокая отказоустойчивость; достаточно высокая скорость обработки запросов; относительно малые накладные расходы для реализации избыточности.
Недостатки: очень сложная реализация; сложное восстановление данных; очень низкая скорость записи данных.

Современные RAID контроллеры позволяют комбинировать различные уровни RAID. Таким образом, можно реализовать системы, которые объединяют в себе достоинства различных уровней, а также системы с большим количеством дисков. Обычно это комбинация нулевого уровня (stripping) и какого либо отказоустойчивого уровня.

RAID 10. Отказоустойчивый массив с дублированием и параллельной обработкой

RAID 10 представляет (попытку объединить достоинства двух типов RAID и лишить их присущих им недостатков) комбинацию RAID 0 (производительность) и RAID 1 (защита данных). Во всех случаях, кроме RAID 4 и RAID 5, нет необходимости рассчитывать равенство информации. RAID 10 обеспечивают высокую производительность и защиту данных. Как в RAID 0, оптимальная производительность достигается в ситуациях с большой последовательной нагрузкой. Подобно RAID 1, 50% установленного объёма теряется на избыточности. На сегодняшний день "в живой природе" это один из наиболее популярных типов RAID.

Преимущество: Непрерывность работы, при сбое на одном жёстком диске логический диск с данными остаётся доступным; Высокая скорость записи
Недостаток: Требуется чётное количество дисков (не менее 4), используется только половина доступного дискового пространства.
Применение: Обычно используется в ситуациях, где требуется высокая скорость последовательной записи

RAID 30. Отказоустойчивый массив с параллельной передачей данных и повышенной производительностью.

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

Преимущества:высокая отказоустойчивость; высокая производительность.
Недостатки:высокая стоимость;ограниченное масштабирование.

RAID 50. Отказоустойчивый массив с распределённой чётностью и повышенной производительностью

Являет собой массив типа RAID 0, сегментами которого являются массивы RAID 5. Он объединяет в себе отказоустойчивость и высокую производительность для приложений с большой интенсивностью запросов и высокую скорость передачи данных.

Преимущества: высокая отказоустойчивость; высокая скорость передачи данных; высокая скорость обработки запросов.
Недостатки: высокая стоимость; ограниченное масштабирование.

RAID 7®. Отказоустойчивый массив, оптимизированный для повышения производительности. (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates). RAID 7® является зарегистрированной торговой маркой Storage Computer Corporation (SCC)

RAID 7 - дисковый массив с асинхронным вводом / выводом и высокой скоростью передачи данных: все операции ввода / вывода выполняются в асинхронном режиме - т.е. все операции контролируются независимо от выполнения других, данные в процессе ввода/вывода кешируются, управление массивом RAID 7 возложено на многозадачную операционную систему, благодаря которой каналы передачи данных контролируются в режиме реального времени. Массив RAID 7 может иметь до 12 внешних интерфейсов обмена данными, что позволяет подключать массив одновременно к нескольким компьютерам; поддерживается технология "горячей замены" вышедших из строя дисков, а также возможен мониторинг состояния и управление массивом в удалённом режиме. Для понимания архитектуры RAID 7 рассмотрим ее особенности:

Преимущества: высокая скорость передачи данных и высокая скорость обработки запросов (1.5 - 6 раз выше других стандартных уровней RAID); высокая масштабируемость хост интерфейсов; скорость записи данных увеличивается с увеличением количества дисков в массиве; для вычисления четности нет необходимости в дополнительной передаче данных.
Недостатки: собственность одного производителя, только фирма Storage Computer; очень высокая стоимость на единицу объёма; короткий гарантийный срок; не может обслуживаться пользователем; нужно использовать блок бесперебойного питания для предотвращения потери данных из кеш памяти.

Сводная таблица основных уровней RAID

  RAID 0 RAID 1 RAID 3 RAID 5 RAID 6
Технология Чередование Зеркалирование Чередование, четность Чередование, четность Чередование, четность
Контроллер Все Все Аппаратный Аппаратный Hi-End Специализированный
Кол-во жестких дисков 2, 4 2 3 и больше 3 и больше 3 и больше
Доступное рабочее пространство, % 100 50 66 для 3,
75 для 4
66 для 3,
75 для 4
33 для 3
50 для 4
60 для 5
Стойкость при отказе диска Нет Высокая Высокая Высокая Очень высокая
Восстановление данных Нет Очень быстрое Быстрое Быстрое Очень быстрое
Скорость случайного чтения Очень хорошая Хорошая Хорошая Очень хорошая Очень хорошая
Скорость случайной записи Очень хорошая Хорошая Плохая Нормальная Плохая
Скорость линейного чтения Очень хорошая Хорошая Очень хорошая Очень хорошая Хорошая
Скорость линейной записи Очень хорошая Хорошая Хорошая Хорошая Средняя
Цена Самая низкая Низкая Средняя Средняя Высокая

Распространенные multi-RAID массивы

  RAID 0+1 RAID 1+0 RAID 5+0 RAID 5+1
Технология Чередование, зеркалирование Чередование, зеркалирование Чередование, четность Чередование, четность, зеркалирование
Контроллер Почти все Почти все Специализированный Специализированный
Кол-во жестких дисков 4 min 4 min 6 min 6 min
Доступное рабочее пространство, % 50 50 66 для 2 страйпов по 3 диска 33-40
Стойкость при отказе диска Очень хорошая Отличная Хорошая Отличная
Восстановление данных Быстрое Очень быстрое Среднее Быстрое
Скорость случайного чтения Очень хорошая Очень хорошая Очень хорошая Очень хорошая
Скорость случайной записи Хорошая Хорошая Хорошая Хорошая
Скорость линейного чтения Очень хорошая Очень хорошая Очень хорошая Очень хорошая
Скорость линейной записи Хорошая Хорошая Хорошая Хорошая
Цена Относительно высокая Относительно высокая Высокая Очень высокая

Термины, связанные с RAID-технологией:

Источники

Автоматизация магазинов, складов, переучетов