Портал вычислительной техники
 

Мы - лучшие!

 

 


Описание уровней RAID

Перенос центра тяжести с процессороориентированных на датаориентированные приложения обуславливает повышение значимости систем хранения данных. Вместе с этим проблема низкой пропускной способности и отказоустойчивости, характерная для таких систем, всегда была достаточно важной и всегда требовала своего решения. В современной компьютерной индустрии в качестве системы хранения данных повсеместно используются магнитные диски, ибо, несмотря на все свои недостатки, они обладают наилучшими характеристиками для соответствующего типа устройств при доступной цене. От этих проблем и призвано избавить решение, называемое RAID (Redundant Array of Independent Disks). Правда, первоначально была предложена другая расшифровка - Redundant Array of Inexpensive Disks, - но затем было решено слово "inexpensive" заменить словом "independent", так как, по мнению многих, оно больше подходило по смыслу.

Давайте рассомотрим основные разновидности, или уровни RAID (basic levels). Перед этим примем некоторые уточнения. Для демонстрации принципов построения RAID-систем рассмотрим набор из N дисков (для упрощения N будем считать четным числом), каждый из которых состоит из M блоков. Диски могут подключаться как к одному, так и к нескольким каналам передачи данных. Использование большего количества каналов увеличивает пропускную способность системы.

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

Представляет собой дисковый массив, в котором данные разбиваются на блоки, и каждый блок записывается (или же считывается) на отдельный диск. Таким образом, можно осуществлять несколько операций ввода-вывода одновременно, что повышает быстродействие дисковой подсистемы. Понятно, что быстродействие пропорционально числу дисков в массиве.

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

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

Недостатки:

  • Не отказоустойчивое решение
  • Отказ одного диска влечет за собой потерю всех данных массива

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

Зеркалирование - традиционный способ для повышения надежности дискового массива небольшого объема. В простейшем варианте используется два диска, на которые записывается одинаковая информация, и в случае отказа одного из них остается его дубль, который продолжает работать в прежнем режиме. А за это время второй диск можно восстановить.

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

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

Недостатки:

  • Высокая стоимость - 100% избыточность
  • Невысокая скорость передачи данных

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

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

В данном случае показан пример с фиксированным количеством дисков (слово данных состоит из 4-х бит, соответственно ECC-код из 3-х).

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

  • Достаточно простотая реализация
  • Быстрая коррекция ошибок
  • Очень высокая скорость передачи данных
  • При увеличении количества дисков накладные расходы уменьшаются

Недостатки:

  • Низкая скорость обработки запросов
  • Большая стоимость при малом количестве дисков

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 3 и 4 состоит в том, что в последнем расслоение данных выполняется на уровне секторов, а не на уровне битов или байтов.

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

  • Очень высокая скорость передачи данных
  • Высокая производительность при большой интенсивности запросов чтения данных
  • Малые накладные расходы для реализации избыточности

Недостатки:

  • Достаточно сложная реализация
  • Очень низкая производительность при записи данных
  • Сложное восстановление данных

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

Этот уровень похож на RAID 4, но в отличие от него четность распределяется циклически по всем дискам массива. Это изменение позволяет увеличить производительность записи небольших объемов данных в многозадачных системах. Если операции записи спланировать должным образом, то возможно параллельно обрабатывать до N/2 блоков, где N - число дисков в группе.

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

  • Высокая скорость записи данных
  • Достаточно высокая скорость чтения данных
  • Высокая производительность при большой интенсивности запросов чтения/записи данных
  • Малые накладные расходы для реализации избыточности

Недостатки:

  • Низкая скорость чтения/записи данных малого объема при единичных запросах
  • Очень низкая производительность при записи данных
  • Достаточно сложная реализация
  • Сложное восстановление данных

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

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

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

  • Высокая отказоустойчивость
  • Достаточно высокая скорость обработки запросов
  • Относительно малые накладные расходы для реализации избыточности

Недостатки:

  • Низкая скорость чтения/записи данных малого объема при единичных запросах
  • Очень сложная реализация
  • Сложное восстановление данных
  • Очень низкая скорость записи данных

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

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

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

  • Очень высокая скорость записи данных при не менее высокой надежности

Недостатки:

  • Очень высокая стоимость
  • Ограниченное масштабирование

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)

Все запросы на передачу данных обрабатываются асинхронно и независимо, причем все операции чтения/записи кэшируются через высокоскоростную шину x-bus, а процедура генерации четности интегрирована прямо в кеш (диск четности может быть размещен на любом канале). В микропроцессоре контроллера массива используется операционная система реального времени, ориентированная на обработку процессов, которая также контролирует коммуникационные каналы. Можно использовать стандартные SCSI-диски, шины, материнские платы и модули памяти; диски, присоединенные к системе, могут быть задекларированы как отдельно стоящие. Для управления и мониторинга системы можно использовать SNMP-агент.

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

  • Очень высокая скорость передачи данных и высокая скорость обработки запросов (в 1.5-6 раз выше других стандартных уровней RAID)
  • Высокая масштабируемость хост-интерфейсов (до 12-ти интерфейсов и до 48-ми дисков
  • Для вычисления четности нет необходимости в дополнительной передаче данных

Недостатки:

  • Сложная реализация
  • Очень высокая стоимость на единицу объема
  • Не может обслуживаться пользователем
  • Нужно использовать блок бесперебойного питания для предотвращения потери данных из кеш-памяти (впрочем, UPS и так практически всегда применяется для питания серверов)
  • Короткий гарантийный срок

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

Главное преимущество программного способа - низкая стоимость. Но при этом у него много недостатков: низкая производительность, загрузка дополнительной работой центрального процессора, увеличение шинного трафика. Программно обычно реализуют простые уровни RAID - 0 и 1, так как они не требуют значительных вычислений. Учитывая эти особенности, RAID-системы с программной реализацией используются в серверах начального уровня.

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

Шинно-ориентированные реализации представляют собой RAID-контроллеры, которые используют скоростную шину компьютера, в слот который они устанавливаются (в последнее время обычно используется шина PCI. В свою очередь шинно-ориентированные реализации можно разделить на низкоуровневые и высокоуровневые. Первые обычно не имеют SCSI-чипов и используют так называемый RAID-порт на материнской плате со встроенным SCSI-контроллером. При этом функции обработки кода RAID и операций ввода/вывода распределяются между процессором на RAID контроллере и чипами SCSI на материнской плате. Таким образом, центральный процессор освобождается от обработки дополнительного кода и уменьшается шинный трафик по сравнению с программным вариантом. Стоимость таких плат обычно небольшая, особенно если они ориентированы на системы RAID 0 или 1 (хотя есть также реализации RAID 3, 5, 10, 30 и 50, но они дороже), благодаря чему они понемногу вытесняют программные реализации с рынка серверов начального уровня. Высокоуровневые контроллеры с шинной реализацией имеют несколько другую структуру, чем их младшие братья. Они берут на себя все функции, связанные с вводом/выводом и исполнением RAID-кода. Кроме того, они не так зависимы от материнской платы и, как правило, имеют больше возможностей (например, возможность подключения модуля для хранения информации в кеш в случае отказа материнской платы или исчезновения питания). Такие контроллеры обычно стоят дороже низкоуровневых и используются в серверах среднего и высокого уровня. Они, как правило, реализуют RAID уровней 0, 1, 3, 5, 10, 30, 50. Учитывая то, что шинно-ориентированные реализации подключаются прямо к внутренней шине PCI компьютера, они являются наиболее производительными среди рассматриваемых систем (при организации однохостовых систем). Максимальное быстродействие таких систем может достигать 132 Mb/s (32-битная шина PCI) или же 264 Mb/s (64-битная PCI) при частоте шины 33 MHz. Вместе с перечисленными преимуществами шинно-ориентированная архитектура имеет и недостатки: зависимость от операционной системы и платформы, ограниченная масштабируемость, ограниченные возможности по организации отказоустойчивых систем.

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

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

Главная | Микросхемотехника | Периферийные устройства СВТ | ЭВМ и системы | Цифровая схемотехника | Вычислительная техника | Электронная техника | Обратная связь © Все права защищены.
Web-4-U - Бесплатные сайты