Технологии RAID

13.09.2006

Технологии RAID

Несмотря на то, что системы хранения данных, основанные на магнитных дисках, производятся уже 40 лет, массовое производство отказоустойчивых систем началось совсем недавно. Дисковые массивы с избыточностью данных, которые принято называть RAID (redundant arrays of inexpensive disks – избыточный массив недорогих дисков) были представлены исследователями (Петтерсон, Гибсон и Катц) из Калифорнийского университета в Беркли в 1987 году. Но широкое распространение RAID системы получили только тогда, когда диски, которые подходят для использования в избыточных массивах стали доступны и достаточно производительны. Со времени представления официального доклада о RAID в 1988 году, исследования в сфере избыточных дисковых массивов начали бурно развиваться, в попытке обеспечить широкий спектр решений в сфере компромисса – цена-производительность-надежность.

С аббревиатурой RAID в свое время случился казус. Дело в том, что недорогими дисками в 1987 году назывались все диски, которые использовались в персоналках, в противовес дорогим дискам для мейнфрейм. Но для дисковых массивов пришлось использовать достаточно дорогостоящую аппаратуру по сравнению с другой комплектовкой ПК, поэтому RAID начали расшифровывать как redundant array of independent disks – избыточный массив независимых дисков.

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

На сегодняшний день разработано достаточно большое количество архитектур, которые обеспечивают работоспособность массива при одновременном отказе любых двух дисков без потери данных. Среди всего множества стоит отметить two-dimensional parity (двухпространственная четность) и EVENODD, которые для кодирования используют четность, а так же RAID 6, в котором используется кодирование Reed-Solomon.

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

Минимальная избыточность в таком массиве достигается при равном количестве столбцов и строчек, и равна: 2 x Square (NDisk) (в "квадрат").
Если же двухпространственный массив не будет организован в "квадрат", то при реализации вышеуказанной схемы избыточность будет выше.

Архитектура EVENODD имеет похожую на двухпространственную четность схему отказоустойчивости, но другое размещение информационных блоков, которое гарантирует минимальное избыточное использование емкостей. Так же как и в двухпространственной четности каждый блок данных участвует в построении двух независимый кодовых слов, но слова размещены таким образом, что коэффициент избыточности постоянен (в отличие от предыдущей схемы) и равен: 2 x Square (NDisk).

Используя два символа для проверки, четность и недвоичные коды, слово данных может быть сконструировано таким образом, чтобы обеспечить отказоустойчивость при возникновении двойной неисправности. Такая схема известна как RAID 6. Недвоичный код, построенный на основе Reed-Solomon кодирования, обычно вычисляется с использованием таблиц или как итерационный процесс с использованием линейных регистров с обратной связью, а это - относительно сложная операция, требующая специализированных аппаратных средств.

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

В 1996 г. Саведж и Вилкс предложили AFRAID – часто избыточный массив независимых дисков (A Frequently Redundant Array of Independent Disks). Эта архитектура в некоторой степени приносит отказоустойчивость в жертву быстродействию. Делая попытку компенсировать проблему малой записи (small-write problem), характерную для массивов RAID 5-го уровня, разрешается оставлять стрипинг без вычисления четности на некоторый период времени. Если диск, предназначенный для записи четности, занят, то ее запись откладывается. Теоретически доказано, что 25% уменьшение отказоустойчивости может увеличить быстродействие на 97%. AFRAID фактически изменяет модель отказов массивов устойчивых к одиночным неисправностям, поскольку кодовое слово, которое не имеет обновленной четности, восприимчиво к отказам дисков.

Вместо того чтобы приносить в жертву отказоустойчивость, можно использовать такие традиционные способы увеличения быстродействия, как кэширование. Учитывая то, что дисковый трафик имеет пульсирующий характер, можно использовать кеш память с обратной записью (writeback cache) для хранения данных в момент, когда диски заняты. И если кеш-память будет выполнена в виде энергонезависимой памяти, тогда, в случае исчезновения питания, данные будут сохранены. Кроме того, отложенные дисковые операции, дают возможность объединить в произвольном порядке малые блоки для выполнения более эффективных дисковых операций.

Существует также множество архитектур, которые, принося в жертву объем, увеличивают быстродействие. Среди них – отложенная модификация на log диск – log structured storage (эта технология также реализована в LSFS (log structured file system)) и разнообразные схемы модификации логического размещения данных в физическое, которые позволяют распределять операции в массиве более эффективно.

Один из вариантов – parity logging (регистрация четности), который предполагает решение проблемы малой записи (small-write problem) и более эффективного использования дисков. Регистрация четности предполагает отложение изменения четности в RAID 5, записывая ее в FIFO log (журнал регистраций типа FIFO), который размещен частично в памяти контроллера и частично на диске. Учитывая то, что доступ к полному треку в среднем в 10 раз более эффективен, чем доступ к сектору, с помощью регистрации четности собираются большие количества данных модифицированной четности, которые потом все вместе записываются на диск, предназначенный для хранения четности по всему треку.

Архитектура floating data and parity (плавающие данные и четность), которая разрешает перераспределить физическое размещение дисковых блоков – это один из вариантов реализации технологии dynamic mapping. Свободные сектора размещаются на каждом цилиндре для уменьшения rotational latency (задержки вращения), данные и четность размещаются на этих свободных местах. Для того чтобы обеспечить работоспособность при исчезновении питания, карту четности и данных нужно сохранять в энергонезависимой памяти. Если потерять карту размещения все данные в массиве будут потеряны.

Virtual stripping – представляет собой архитектуру floating data and parity с использованием writeback cache. Естественно реализуя положительные стороны обеих.

Кроме того, существуют и другие способы повышения быстродействия, например распределение RAID операций. В свое время фирма Seagate встроила поддержку RAID операций в свои диски с интерфейсом Fibre Chanel и SCSI. Что дало возможность уменьшить трафик между центральным контроллером и дисками в массиве для систем RAID 5. Это было кардинальным новшеством в сфере реализаций RAID, но технология не получила путевки в жизнь, так как некоторые особенности Fibre Chanel и SCSI стандартов ослабляют модель отказов для дисковых массивов.

Для того же RAID 5 была представлена архитектура TickerTAIP. Выглядит она следующим образом – центральный механизм управления originator node (узел-инициатор) получает запросы пользователя, выбирает алгоритм обработки и затем передает работу с диском и четность worker node (рабочий узел). Каждый рабочий узел обрабатывает некоторое подмножество дисков в массиве. Как и в модели фирмы Seagate, рабочие узлы передают данные между собой без участия узла-инициатора. В случае отказа рабочего узла, диски, которые он обслуживал, становятся недоступными. Но если кодовое слово построено так, что каждый его символ обрабатывается отдельным рабочим узлом, то схема отказоустойчивости повторяет RAID 5. Для предупреждения отказов узла-инициатора он дублируется, таким образом, мы получаем архитектуру, устойчивую к отказам любого ее узла. При всех своих положительных чертах эта архитектура страдает от проблемы "ошибки записи" ("write hole"). Что подразумевает возникновение ошибки при одновременном изменении кодового слова несколькими пользователями и отказа узла.

Следует также упомянуть достаточно популярный способ быстрого восстановления RAID – использование свободного диска (hotspare). При отказе одного из дисков массива, RAID может быть восстановлен с использованием свободного диска вместо вышедшего из строя. Основной особенностью такой реализации есть то, что система переходит в свое предыдущее (отказоустойчивое состояние без внешнего вмешательства). При использовании архитектуры распределения свободного диска (distributed sparing), логические блоки запасного (spare) диска распределяются физически по всем дискам массива, что дает возможность использовать суммарную пропускную способность массива при перестройке в случае отказа диска. При использовании этой технологии дисковый массив получает в свое распоряжение еще один физический носитель (который в обычном массиве не используется), увеличивая максимально возможное одновременно обрабатываемое количество запросов.

Для того чтобы избежать проблемы восстановления, характерной для классических уровней RAID, используется также архитектура, которая носит название parity declustering (распределение четности). Она предполагает размещение меньшего количества логических дисков с большим объемом на физические диски меньшего объема, но большего количества (то есть подблоки одного stripe размещаются не на каждом диске, а в случайном или заранее оговоренном порядке на большем количестве дисков). При использовании этой технологии время реакции системы на запрос во время реконструкции улучшается более чем вдвое, а время реконструкции – значительно уменьшается.


 

"Дополнительные" уровни RAID.

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

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

Данные разбиваются на блочном уровне, аналогично 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 рассмотрим ее особенности:

  1. Все запросы на передачу данных обрабатываются асинхронно и независимо.
  2. Все операции чтения/записи кэшируются через высокоскоростную шину x-bus.
  3. Диск четности может быть размещен на любом канале.
  4. В микропроцессоре контроллера массива используется операционная система реального времени ориентированная на обработку процессов.
  5. Система имеет хорошую масштабируемость: до 12-ти host-интерфейсов, и до 48-ми дисков.
  6. Операционная система контролирует коммуникационные каналы.
  7. Используются стандартные SCSI диски, шины, материнские платы и модули памяти.
  8. Используется высокоскоростная шина X-bus для работы с внутренней кеш памятью.
  9. Процедура генерации четности интегрирована в кеш.
  10. Диски, присоединенные к системе, могут быть задекларированы как отдельно стоящие.
  11. Для управления и мониторинга системы можно использовать SNMP агент.

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

  • высокая скорость передачи данных и высокая скорость обработки запросов (1.5 – 6 раз выше других стандартных уровней RAID);
  • высокая масштабируемость хост интерфейсов;
  • скорость записи данных увеличивается с увеличением количества дисков в массиве;
  • для вычисления четности нет необходимости в дополнительной передаче данных.

Недостатки:

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

RAID-S. Отказоустойчивый массив компании EMC.

Традиционно компания EMC считается поставщиком высокопроизводительных и дорогих систем хранения данных. До момента создания RAID-S продукты компании строились в основном на основе архитектуры RAID 1, которая считается очень дорогим решением особенно при построении массивов большого объема. С созданием новой архитектуры, продукты компании стали более конкурентными на рынке сторедж систем.

Технология RAID-S включает в себя комплекс программного и аппаратного обеспечения, в котором комбинированы позитивные особенности уровней RAID 4, 5 и 6. Кроме того системы EMC позволяют комбинировать подсистемы RAID-S и RAID 1. Таким образом, пользователь имеет возможность выбирать для конкретных приложений наиболее подходящую организацию. Говоря о RAID-S, следует отметить, что код, обеспечивающий избыточность, вычисляется на уровне драйвера дисков, а не на уровне системы контроллера, а это позволяет увеличить быстродействие, хотя и делает систему более дорогостоящей по сравнению с традиционной реализацией RAID систем. Кроме того, данные не разбиваются на подблоки, которые распределяются по дискам, а записываются большими блоками, а контрольные суммы записываются на отдельных накопителях.


Новые веяния в моде RAID.

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

Более дорогие системы обретают способность автоконфигурирования и автоматического выбора уровней в режиме реального времени. Они используют ОС реального времени, которая, анализируя поток данных, определяет наиболее подходящую среду для их размещения. В частности такими особенностями обладают некоторые сторедж контроллеры фирмы Digital, которые, распределяя запросы больших размеров и запросы небольшого объема с высокой интенсивностью, выбирают для их обслуживания соответственно среду RAID 3 или RAID 5. Так же распределение потоков данных происходит в системах Hewlett Packard AutoRAID и программной системе Adaptive RAID.

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

К наиболее интересным современным реализациям технологий построения отказоустойчивых устройств хранения данных можно отнести Dynammic Migration и AutoRAID.

Dynammic Migration (динамическая миграция) представляет собой технологию, которая обеспечивает автоматическое распределение данных в системе с несколькими RAID уровнями. Учитывая, что в общем случае, для большинства систем значительная часть данных имеет низкую интенсивность использования, массив разделяется на две подсистемы – RAID 5 и RAID 1. Данные, которые используются наиболее активно, размещаются на подмассиве с архитектурой RAID 1, а все остальные на RAID 5. Таким образом, система постоянно оптимизирует свою производительность, анализируя активность данных, и при этом имеет достаточно высокий коэффициент полезного дискового пространства.

Технология AutoRAID разработана инженерами фирмы Hewlett Packard для систем хранения и обработки данных. Системы на основе AutoRAID представляют собой отказоустойчивые дисковые массивы, которые лишены множества проблем, присущих системам на базе стандартных уровней RAID. AutoRAID автоматически выбирает уровень RAID для кодирования данных, максимально соответствующий текущим запросам пользователя. Кроме того, такая система имеет множество дополнительных возможностей, которые делают работу с дисковым подмассивом значительно удобней.

AutoRAID контроллер, в отличие от традиционных систем, для отображения адресов блоков данных хост-компьютера в адреса блоков данных на дисковом подмассиве использует динамические алгоритмы, в то время как обычные системы – статические.

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

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

Одной из важных проблем является реконфигурация дисковой подсистемы, в том числе увеличение объема массива. В традиционных контроллерах RAID Expantion (расширение дискового массива) или вообще не реализуется без полной перестройки массива с потерей данных или забирает достаточно много ресурсов, заставляя систему работать в режиме пониженного быстродействия. В AutoRAID эта операция забирает несколько секунд и производится без остановки системы.

Уникальной особенностью систем на базе технологии AutoRAID является возможность использования новых и "дополнительных" дисков для балансировки системы. Балансировка – это распределение данных по всех дисках системы для достижения максимального быстродействия. В принципе, то же предоставляет пользователю любая система на базе RAID 5, но есть одна особенность, которую обычные системы не реализуют. Она заключается в реализации в рамках технологии балансировки функции активного горячего резерва (active hot spare) или другими словами - распределения запасного диска (distributed sparing). Distributed sparing дает возможность использовать дополнительный диск (hot spare), который в обычных системах предназначен для резерва и, как правило, не используется, для балансировки массива, а, следовательно, и увеличения быстродействия. Кроме того, как говорилось выше, использование схемы распределения запасного диска снимает проблему бутылочного горлышка при перестройке системы в случае поломки одного из носителей.

Следует также отметить, что в индустрии построения систем хранения данных наблюдается общая тенденция перехода на новые интерфейсы для подключения дисковых подсистем:

  • Ultra 2 SCSI (LVD) для систем нижнего уровня;
  • Fiber для систем высокого и среднего уровней.
Системы хранения данных RaidShop.ru © 2025
Данная информация не является публичной офертой, определяемой положениями статей 435,437 Гражданского Кодекса РФ