Создание Raid Массива Дисков На Windows. RAID-массивы и их различия

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

Как известно, производительность современных процессоров неизменно растет, за чем явно не успевают в своем развитии современные
жесткие диски. Наличие одного диска, будь то SCSI или, еще хуже IDE, уже не сможет решить задачи, актуальные нашему времени. Нужно множество дисков, которые будут дополнять друг друга, подменять в случае выхода одного из них, хранить резервные копии, работать качественно и продуктивно.

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

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

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

Что нужно для создания рейд? Как минимум наличие двух винчестеров. В зависимости от уровня массива варьируется количество используемых устройств хранения.

Какие бывают массивы raid

Существуют базовые, комбинированные массивы RAID. Институт в Беркли штат Калифорния предложил разделять рейд на уровни спецификации :

  • Базовые :
    • RAID1 ;
    • RAID2 ;
    • RAID3 ;
    • RAID4 ;
    • RAID5 ;
    • RAID6 .
  • Комбинированные :
    • RAID10 ;
    • RAID01 ;
    • RAID50 ;
    • RAID05 ;
    • RAID60 ;
    • RAID06 .

Рассмотрим наиболее часто используемые.

Рейд 0

RAID 0 предназначен для увеличения скорости и записи. Он не увеличивает надежность хранения, в связи с этим не является избыточным. Еще его зовут страйп (striping - «чередование» ). Обычно используется от 2 до 4 дисков.

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

Рейд 1

RAID 1 обеспечивает зеркальное хранение данных на аппаратном уровне. Называют также массив Mirror , что значит «зеркало » . То есть данные дисков в этом случае дублируются. Можно использовать при количестве устройств хранения от 2 до 4.

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

Рейд 2

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

Быстрота чтения/записи в этом случае в сравнении с использованием одного диска повышается . Минусом является большое количество дисков, при котором его рационально применять, чтобы не было избыточности данных, обычно это 7 и больше .

RAID 3 – в массиве данные разбиваются на все диске кроме одного, в котором хранятся байты четности. Устойчив к отказам системы . Если один из дисков выходит из строя . То его информацию легко «поднять», используя данные контрольных сумм четности.

В сравнении с RAID 2 нет возможности коррекции ошибок на лету. Этот массив отличается высокой производительностью и возможностью использовать от 3 дисков и больше.

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

Рейд 4

В целом RAID 4 аналогичен RAID 3 с той разницей , что данные четности хранятся в блоках, а не в байтах, что позволило увеличить скорость передачи данных малого объема.

Минусом указанного массива оказывается скорость записи, ведь четность записи генерируется на один единственный диск, как и RAID 3.

Представляется собой неплохое решение для тех серверов, где файлы чаще считываются, чем записываются.

Рейд 5

RAID от 2 до 4 имеют недостатки, связанные с невозможностью распараллеливания операций записи. RAID 5 устраняет этот недостаток. Блоки четности записываются одновременно на все дисковые устройства массива, нет асинхронности в распределении данных, а значит, четность является распределенной.

Число используемых винчестеров от 3. Массив очень распространён благодаря своей универсальности и экономичности , чем большее число дисков будет использоваться, тем экономнее будет затрачиваться дисковое пространство. Скорость при этом высокая за счет распараллеливания данных, но производительность снижается в сравнении с RAID 10, за счет большого числа операций. Если выходит из строя один диск, то надежность снижается до уровня RAID 0. Требуется много времени на восстановление.

Рейд 6

Технология RAID 6 схожа с RAID 5, но повышается надежностью за счет увеличения количества дисков четности.

Однако, дисков уже требуется минимум 5 и более мощный процессор для обработки возросшего числа операций, причем количество дисков обязательно должно быть равно простому числу 5,7,11 и так далее.

Рейд 10, 50, 60

Далее идут комбинации указанных ранее рейдов. Например, RAID 10 это RAID 0 + RAID 1.

Они наследуют и преимущества массивов их составляющих в плане надежности, производительности и количестве дисков, а вместе с тем экономичности.

Создание рейд массива на домашнем ПК

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

Для этих целей Вам понадобится рейд-контроллер , обладающий собственной BIOS и своими настройками. В современных системных платах рейд-контроллер может быть интегрирован в южный мост чипсета. Но даже в таких плата посредством подключения к PCI или PCI-E разъему можно подключить еще один контроллер. Примерами могут быть устройства фирм Silicon Image и JMicron.

Каждый контроллер может иметь свою утилиту для настройки.

Рассмотрим создание рейд с помощью Intel Matrix Storage Manager Option ROM.

Перенесите все данные с Ваших дисков, иначе в процессе создания массива они будут очищены .

Зайдите в BIOS Setup Вашей материнской платы и включите режим работы RAID для вашего sata винчестера.

Чтобы запустить утилиту перезагрузите ПК, нажмите ctrl+i во время процедуры POST . В окне программы Вы увидите список доступных дисков. Нажмите Create Massive , Далее выберите необходимый уровень массива .

В дальнейшем следуя интуитивно понятному интерфейсу введите размер массива и подтвердите его создание.

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

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

Особенности технологии построения магнитных дисков привели к значительному несоответствию между увеличением производительности процессорных модулей и самих магнитных дисков. Если в 1990 г. лучшими среди серийных были 5.25″ диски со средним временем доступа 12мс и временем задержки 5 мс (при оборотах шпинделя около 5 000 об/м 1), то сегодня пальма первенства принадлежит 3.5″ дискам со средним временем доступа 5 мс и временем задержки 1 мс (при оборотах шпинделя 10 000 об/м). Здесь мы видим улучшение технических характеристик на величину около 100%. В тоже время, быстродействие процессоров увеличилось более чем на 2 000%. Во многом это стало возможно благодаря тому, что процессоры имеют прямые преимущества использования VLSI (сверхбольшой интеграции). Ее использование не только дает возможность увеличивать частоту, но и число компонент, которые могут быть интегрированы в чип, что дает возможность внедрять архитектурные преимущества, которые позволяют осуществлять параллельные вычисления.

1 - Усредненные данные.

Сложившуюся ситуацию можно охарактеризовать как кризис ввода-вывода вторичной системы хранения данных.

Увеличиваем быстродействие

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

Если расположить блок данных по N дискам некоторого массива и организовать это размещение так, чтобы существовала возможность одновременного считывания информации, то этот блок можно будет считать в N раз быстрее, (без учёта времени формирования блока). Поскольку все данные передаются параллельно, это архитектурное решение называется parallel-access array (массив с параллельным доступом).

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

Некоторые задачи, наоборот, характерны большим количеством малых запросов. К таким задачам относятся, например, задачи обработки баз данных. Располагая записи базы данных по дискам массива, можно распределить загрузку, независимо позиционируя диски. Такую архитектуру принято называть independent-access array (массив с независимым доступом).

Увеличиваем отказоустойчивость

К сожалению, при увеличении количества дисков в массиве, надежность всего массива уменьшается. При независимых отказах и экспоненциальном законе распределения наработки на отказ, MTTF всего массива (mean time to failure - среднее время безотказной работы) вычисляется по формуле MTTF array = MMTF hdd /N hdd (MMTF hdd - среднее время безотказной работы одного диска; NHDD - количество дисков).

Таким образом, возникает необходимость повышения отказоустойчивости дисковых массивов. Для повышения отказоустойчивости массивов используют избыточное кодирование. Существует два основных типа кодирования, которые применяются в избыточных дисковых массивах - это дублирование и четность.

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

Второй способ реализации избыточных дисковых массивов - использование избыточного кодирования с помощью вычисления четности. Четность вычисляется как операция XOR всех символов в слове данных. Использование четности в избыточных дисковых массивах уменьшает накладные расходы до величины, исчисляемой формулой: НР hdd =1/N hdd (НР hdd - накладные расходы; N hdd - количество дисков в массиве).

История и развитие RAID

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

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

2 - Определение RAID Advisory Board

RAID 0 был представлен индустрией как определение не отказоустойчивого дискового массива. В Беркли RAID 1 был определен как зеркальный дисковый массив. RAID 2 зарезервирован для массивов, которые применяют код Хемминга. Уровни RAID 3, 4, 5 используют четность для защиты данных от одиночных неисправностей. Именно эти уровни, включительно по 5-й были представлены в Беркли, и эта систематика RAID была принята как стандарт де-факто.

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

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

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

Минимальная избыточность в таком массиве достигается при равном количестве столбцов и строчек. И равна: 2 x Square (N Disk) (в «квадрат»).

Если же двухпространственный массив не будет организован в «квадрат», то при реализации вышеуказанной схемы избыточность будет выше.

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

Используя два символа для проверки, четность и недвоичные коды, слово данных может быть сконструировано таким образом, чтобы обеспечить отказоустойчивость при возникновении двойной неисправности. Такая схема известна как 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 диск и разнообразные схемы модификации логического размещение данных в физическое, которые позволяют распределять операции в массиве более эффективно.

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

Архитектура floating data and parity (плавающие данные и четность), которая разрешает перераспределить физическое размещение дисковых блоков. Свободные сектора размещаются на каждом цилиндре для уменьшения 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 - использование свободного диска (spare). При отказе одного из дисков массива, RAID может быть восстановлен с использованием свободного диска вместо вышедшего из строя. Основной особенностью такой реализации есть то, что система переходит в свое предыдущее (отказоустойчивое состояние без внешнего вмешательства). При использовании архитектуры распределения свободного диска (distributed sparing), логические блоки spare диска распределяются физически по всем дискам массива, снимая необходимость перестройки массива при отказе диска.

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

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

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

Данные будем обозначать - D m,n , где m - число блоков данных, n - число подблоков, на которые разбивается блок данных D.

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

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 4;
  • низкая скорость чтения/записи данных малого объема при единичных запросах;
  • достаточно сложная реализация;
  • сложное восстановление данных.

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

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

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

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

Недостатки :

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

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

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). 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 Минимум
дисков
Потребность
в дисках
Отказо-
устойчивость
Скорость
передачи данных
Интенсивность
обработки
запросов
Практическое
использование
0 2 N очень высокая
до N х 1 диск
Графика, видео
1 2 2N * R > 1 диск
W = 1 диск
до 2 х 1 диск
W = 1 диск
малые файл-серверы
2 7 2N ~ RAID 3 Низкая мейнфреймы
3 3 N+1 Низкая Графика, видео
4 3 N+1 R W R = RAID 0
W
файл-серверы
5 3 N+1 R W R = RAID 0
W
серверы баз данных
6 4 N+2 самая высокая низкая R > 1 диск
W
используется крайне редко
7 12 N+1 самая высокая самая высокая разные типы приложений

Уточнения :

  • * - рассматривается обычно используемый вариант;
  • k - количество подсегментов;
  • R - чтение;
  • W - запись.

Некоторые аспекты реализации RAID систем

Рассмотрим три основных варианта реализации RAID систем:

  • программная (software-based);
  • аппаратная - шинно-ориентированная (bus-based);
  • аппаратная - автономная подсистема (subsystem-based).

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

Каждая из вышеперечисленных реализаций базируется на исполнении программного кода. Отличаются они фактически тем, где этот код исполняется: в центральном процессоре компьютера (программная реализация) или в специализированном процессоре на 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 Мбайт/с (32bit PCI) или же 264 Мбайт/с (64bit PCI) при частоте шины 33MHz.

Вместе с перечисленными преимуществами шинно-ориентированная архитектура имеет следующие недостатки:

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

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

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

Одним из недостатков автономных систем остается их большая стоимость.

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

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

Скорее всего, когда-нибудь вы слышали о том, что из обычных жестких дисков можно сделать так называемые рейд-массивы. Это необходимо для того, чтобы улучшить работу накопителей, а также обеспечить надежность хранения информации. Кроме того, такие массивы могут иметь свои номера (0, 1, 2, 3, 4 и т.д.). В данной статье мы расскажем вам о RAID-массивах.

RAID представляется собой совокупность жестких дисков или же дисковый массив. Как мы уже говорили, такой массив обеспечивает надежность хранения данных, а также повышает скорость чтения или записи информации. Существуют различные конфигурации RAID-массивов, которые отмечаются номера 1, 2, 3, 4 и т.д. и отличаются функциями, которые они выполняют. Благодаря использованию таких массивов с конфигурацией 0 вы значительно улучшите производительность. Единичный RAID-массив гарантирует полнейшую сохранность ваших данных, так как если один из дисков выйдет из строя, то информация будет находиться на втором жестком диске.

По сути, RAID-массив – это 2 или n-ное количество жестких дисков, подключенных к материнской плате, которая поддерживает возможность создания рейдов. Программно вы можете выбрать конфигурацию рейда, то есть указать, каким образом эти самые диски должны работать. Для этого потребуется указать настройки в БИОСе.

Для установки массива нам потребуется материнская плата, которая поддерживает технологию рейд, 2 одинаковых (полностью по всем параметрам) жестких диска, которые и подключаем к материнской плате. В БИОСе необходимо выставить параметр SATA Configuration : RAID. При загрузке компьютера нажимаем сочетание клавиш CTR-I, и уже там осуществляем настройку RAID. И уже после этого как обычно осуществляем установку Windows.

Стоит обратить внимание на то, что если вы создаете или удаляете рейд, то вся информация, которая имеется на накопителях, удаляется. Поэтому необходимо предварительно сделать её копию.

Давайте рассмотрим конфигурации RAID, о которых мы уже говорили. Их несколько: RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 и т.д.

RAID-0 (striping) , он же массив нулевого уровня или «нулевой массив». Данный уровень на порядок повышает скорость работы с дисками, но не обеспечивает дополнительной отказоустойчивости. На самом деле, эта конфигурация является рейд-массивом сугубо формально, ведь при такой конфигурации отсутствует избыточность. Запись в такой связке происходит блоками, поочерёдно записываемыми на разные диски массива. Главным минусом здесь является ненадёжность хранения данных: при выходе из строя одного из дисков массива, вся информация уничтожается. Почему так получается? А получается это потому, что каждый файл может быть записан блоками сразу на несколько винчестеров, и при неисправности любого из них нарушается целостность файла, а, следовательно, восстановить его не является возможным. Если вы цените быстродействие и регулярно делаете бэкапы, то этот уровень массива можно применять на домашнем ПК, что даст ощутимый прирост в производительности.

RAID-1 (mirroring) – «зеркальный режим». Можно назвать этот уровень RAID-массивов уровнем для параноиков: этот режим почти не даёт никакого прироста к производительности системы, но абсолютно защищает ваши данные от повреждения. Даже выведя из строя один из дисков, точная копия утраченного будет храниться на другом диске. Этот режим, как и первый, также можно реализовать на домашнем ПК людям, чрезвычайно дорожащим данными на их дисках.

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

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

Основным достоинством RAID 2 является возможность коррекции возникающих ошибок «на лету» без снижения скорости обмена данными между дисковым массивом и центральным процессором.

RAID 3 и RAID 4

Эти два типа дисковых массивов очень похожи по схеме построения. В обоих для хранения информации используется несколько жестких дисков, один из которых используется исключительно для размещения контрольных сумм. Для создания RAID 3 и RAID 4 достаточно трех винчестеров. В отличие от RAID 2 восстановление данных «на лету» невозможно — информация восстанавливается после замены вышедшего из строя жесткого диска в течение некоторого времени.

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

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

RAID-5 . Так называемый отказоустойчивый массив независимых дисков с распределённым хранением контрольных сумм. Это значит, что на массиве из n дисков, n-1 диск будет отведён под непосредственное хранение данных, а последний будет хранить контрольную сумму итерации n-1 страйпа. Чтобы объяснить наглядней, представим, что нам требуется записать некоторый файл. Он поделится на порции одинаковой длины и поочередно начнет циклично записываться на все n-1 дисков. На последний диск будет записываться контрольная сумма байтов порций данных каждой итерации, где контрольная сумма будет реализована поразрядной операцией XOR.

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

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

Достоинства RAID 6 — высокая степень защищенности информации и меньшее, чем в RAID 5, падение производительности в процессе восстановления данных при замене поврежденного диска.

Недостаток RAID 6 — снижение общей скорости обмена данными примерно на 10% из-за увеличения объема необходимых вычислений контрольных сумм, а также из-за роста объема записываемой/считываемой информации.

Комбинированные типы RAID

Помимо рассмотренных выше основных типов широко применяются различные их комбинации, которые компенсируют те или иные недостатки простых RAID. В частности, широко распространено использование схем RAID 10 и RAID 0+1. В первом случае пару зеркальных массивов объединяют в RAID 0, во втором наоборот — два RAID 0, объединяют в зеркало. И в том и в другом случае к защищенности информации RAID 1 добавляется повышенная производительность RAID 0.

Нередко с целью повышения уровня защиты важной информации используются схемы построения RAID 51 или RAID 61 — зеркалирование и так высокозащищенных массивов обеспечивает исключительную сохранность данных при любых сбоях. Однако в домашних условиях такие массивы реализовывать нецелесообразно из-за чрезмерной избыточности.

Построение массива дисков — от теории к практике

Построением и управлением работой любого RAID занимается специализированный RAID-контроллер. К большому облегчению рядового пользователя персонального компьютера, в большинстве современных материнских плат эти контроллеры уже реализуются на уровне южного моста чипсета. Так что для построения массива жестких дисков достаточно озаботиться приобретением необходимого их количества и определения желаемого типа RAID в соответствующем разделе настройки BIOS. После этого в системе вместо нескольких жестких дисков вы увидите только один, который уже по желанию можно разбивать на разделы и логические диски. Учтите, что тем, кто еще пользуется ОС Windows XP, понадобится установить дополнительный драйвер.

И напоследок еще один совет — для создания RAID приобретайте жесткие диски одинакового объема, одного производителя, одной модели и желательно из одной партии. Тогда они будут оснащены одинаковыми наборами логики и работа массива этих жестких дисков будет наиболее стабильной.

Теги: , https://сайт/wp-content/uploads/2017/01/RAID1-400x333.jpg 333 400 Leonid Borislavsky /wp-content/uploads/2018/05/logo.png Leonid Borislavsky 2017-01-16 08:57:09 2017-01-16 07:12:59 Что такое RAID-массивы и зачем они нужны

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

В работе с дисковыми подсистемами IT-специалисты часто сталкиваются с двумя основными проблемами.

  • Первая – это низкая скорость чтения / записи, иногда даже скоростей SSD-диска бывает недостаточно.
  • Вторая – выход дисков из строя, а значит и потеря данных, восстановление которых бывает невозможно.

Обе эти проблемы решаются с помощью технологии RAID (redundant array of independent disks - избыточный массив независимых дисков) – технологии виртуального хранения данных, объединяющей несколько физических дисков в один логический элемент.

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

Существуют следующие уровни спецификации RAID: 1,2,3,4,5,6,0. Кроме того, существуют комбинации: 01,10,50,05,60,06. В этой статье рассмотрим самые распространенные типы RAID-Массивов. Но в начале скажем, что существуют аппаратные и программные RAID-массивы.

Аппаратные и программные RAID-массивы

  • Программные массивы создаются уже после установки Операционной Системы средствами программных продуктов и утилит, что и является главным недостатком таких дисковых массивов.
  • Аппаратные RAID’ы создают дисковый массив до установки Операционной системы и от неё не зависят.

RAID 1

RAID 1 (также называют «Mirror» – Зеркало) предполагает полное дублирование данных с одного физического диска на другой.

К недостаткам RAID 1 можно отнести то, что вы получаете в два раза меньше дискового пространства. Т.е. ели вы используете ДВА диска по 250 Гб, то система будет видеть всего ОДИН размером 250 Гб. Данный вид RAID не дает выигрыша в скорости, но значительно повышает уровень отказоустойчивости, ведь если один диск выйдет из строя, всегда есть его полная копия. Запись и стирание с дисков происходит одновременно. Если информация была намеренно удалена, то возможности восстановить её с другого диска уже не будет.

RAID 0

RAID 0 (также называют «Striping» – Чередование) предполагает разделение информации на блоки и одновременная запись разных блоков на разные диски.

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

RAID 5 можно назвать более усовершенствованным RAID 0 . Можно использовать от 3 жестких дисков. На все, кроме одного записывается рейд 0, а на последний специальная контрольная сумма, что позволяет сохранить информацию на винчестерах в случае «смерти» одного из них (но не более одного). Скорость работы такого массива высокая. На в случае замены диска потребуется много времени.

RAID 2, 3, 4

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

RAID 10

Является миксом RAID массивов 1 и 0. И объединяет в себе плюсы от каждого: высокая производительность и высокая отказоустойчивость.

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

Является миксом RAID массивов 5 и 0 . Строится RAID 5, но его составляющими будут не самостоятельные жесткие диски, а массивы RAID 0.

Особенности.

В случае, когда происходит поломка РЕЙД-контроллера, восстановить информацию практически невозможно (не относится к «Зеркалу»). Даже если купить точно такой же контроллер, высока вероятность, что RAID будет собран из других секторов диска, а значит информация на дисках будет потеряна.

Как правило, диски для закупают одной партией. Соответственно и срок работы у них может быть примерно одинаковый. На этот случай рекомендуется сразу, в момент закупки дисков для массива закупить некоторый избыток. Например, для настройки RAID 10 из 4 дисков – стоит купить 5 дисков. Так, в случае выхода из строя одного из них, вы сможете оперативно заменить его на новый до того, как «посыпятся» другие диски.

Выводы.

На практике чаще всего используют только три вида RAID-массивов. Это RAID 1, RAID 10 и RAID 5.

С точки зрения соотношения стоимость / производительность / отказоустойчивость рекомендуется использовать:

  • RAID 1 (зеркалирование) для формирования дисковой подсистемы для пользовательских операционных систем.
  • RAID 10 для данных, имеющих высокие требования к скорости записи и чтения. Например, для хранения баз 1С:Предприятие, почтового сервера, AD.
  • RAID 5 используют для хранения файловых данных.

Идеальным серверным решением по мнению большинства системных администраторов является сервер с шестью дисками. Два диска «зеркалируют» и на RAID 1 устанавливается операционная система. Четыре оставшихся диска объединяют в RAID 10 для быстрой, безотказной, надежной работы системы.

RAID (англ. redundant array of independent disks - избыточный массив независимых жёстких дисков) - массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации. Изначально, подобные массивы строились в качестве резерва носителям на оперативной (RAM) памяти, которая в то время была дорогой. Со временем, аббревиатура приобрела второе значение – массив уже был из независимых дисков, подразумевая использование нескольких дисков, а не разделов одного диска, а также дороговизну (теперь уже относительно просто нескольких дисков) оборудования, необходимого для построения этого самого массива.

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

RAID 0. Дисковый массив с чередованием без отказоустойчивости/чётности (Stripe)

Является массивом, где данные разбиваются на блоки (размер блока можно задавать при создании массива) и затем записываются на отдельные диски. В простейшем случае – есть два диска, один блок пишется на первый диск, другой на второй, затем опять на первый и так далее. Также этот режим называется «чередование», поскольку при записи блоков данных чередуются диски, на которые осуществляется запись. Соответственно, читаются блоки тоже поочерёдно. Таким образом, происходит параллельное выполнение операций ввода/вывода, что приводит к большей производительности. Если раньше за единицу времени мы могли считать один блок, то теперь можем сделать это сразу с нескольких дисков. Основным плюсом данного режима как раз и является высокая скорость передачи данных.

Однако чудес не бывает, а если бывают, то нечасто. Производительность растёт всё же не в N раз (N – число дисков), а меньше. В первую очередь, увеличивается в N раз время доступа к диску, и без того высокое относительно других подсистем компьютера. Качество контроллера оказывает не меньшее влияние. Если он не самый лучший, то скорость может едва заметно отличаться от скорости одного диска. Ну и немалое влияние оказывает интерфейс, которым RAID контроллер соединён с остальной системой. Всё это может привести не только к меньшему, чем N увеличению скорости линейного чтения, но и к пределу количества дисков, установка выше которого прироста давать уже не будет вовсе. Или, наоборот, будет слегка снижать скорость. В реальных задачах, с большим числом запросов шанс столкнуться с этим явлением минимален, ибо скорость весьма сильно упирается в сам жёсткий диск и его возможности.

Как видно, в этом режиме избыточности нет как таковой. Используется всё дисковое пространство. Однако, если один из дисков выходит из строя, то, очевидно, теряется вся информация.

RAID 1. Зеркалирование (Mirror)

Суть данного режима RAID сводится к созданию копии (зеркала) диска с целью повышения отказоустойчивости. Если один диск выходит из строя, то работа не прекращается, а продолжается, но уже с одним диском. Для этого режима требуется чётное число дисков. Идея этого метода близка к резервному копированию, но всё происходит «на лету», равно как и восстановление после сбоя (что порой весьма важно) и нет необходимости тратить время на это.

Минусы – высокая избыточность, так как нужно вдвое больше дисков для создания такого массива. Ещё одним минусом является то, что отсутствует какой-либо прирост производительности – ведь на второй диск просто пишется копия данных первого.

RAID 2 Массив с использованием ошибкоустойчивого кода Хемминга.

Данный код позволяет исправлять и обнаруживать двойные ошибки. Активно используется в памяти с коррекцией ошибок (ECC). В этом режиме диски разбиваются на две группы – одна часть используется для хранения данных и работает аналогично RAID 0, разбивая блоки данных по разным дискам; вторая часть используется для хранения ECC кодов.

Из плюсов можно выделить исправление ошибок «на лету», высокую скорость потоковой передачи данных.

Главным минусом является высокая избыточность (при малом числе дисков она почти двойная, n-1). При увеличении числа дисков удельное число дисков хранения ECC кодов становится меньше (снижается удельная избыточность). Вторым минусом является низкая скорость работы с мелкими файлами. Из-за громоздкости и высокой избыточности с малым числом дисков, данный уровень RAID в данное время не используется, сдав позиции более высоким уровням.

RAID 3. Отказоустойчивый массив с битовым чередованием и чётностью.

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

Из основных минусов надо отметить низкую скорость при работе с мелкими файлами и множеством запросов. Связано это с тем, что все контрольные коды хранятся на одном диске и при операциях ввода/вывода их необходимо переписывать. Скорость этого диска и ограничивает скорость работы всего массива. Биты чётности пишутся только при записи данных. А при чтении – они проверяются. По причине этого наблюдается дисбаланс в скорости чтения/записи. Одиночное чтение небольших файлов также характеризуется невысокой скоростью, что связано с невозможностью параллельного доступа с независимых дисков, когда разные диски параллельно выполняют запросы.

RAID 4

Данные записываются блоками на разные диски, один диск используется для хранения битов чётности. Отличие от RAID 3 заключается в том, что блоки разбиваются не по битам и байтам, а по секторам. Преимущества заключаются в высокой скорости передачи при работе с большими файлами. Также высока скорость работы с большим числом запросов на чтение. Из недостатков можно отметить доставшиеся от RAID 3 – дисбаланс в скорости операций чтения/записи и существование условий, затрудняющих параллельный доступ к данным.

RAID 5. Дисковый массив с чередованием и распределённой чётностью.

Метод похож на предыдущий, но в нём для битов чётности выделяется не отдельный диск, а эта информация распределяется между всеми дисками. То есть, если используется N дисков, то будет доступен объём N-1 диска. Объём одного будет выделен под биты чётности, как и в RAID 3,4. Но они хранятся не на отдельном диске, а разделены. На каждом диске есть (N-1)/N объёма информации и 1/N объёма заполнено битами чётности. Если в массиве выходит из строя один диск, то он остаётся работоспособным (данные, хранившиеся на нём, вычисляются на основе чётности и данных других дисков «на лету»). То есть, сбой проходит прозрачно для пользователя и порой даже с минимальным падением производительности (зависит от вычислительной способности RAID контроллера). Из преимуществ отметим высокие скорости чтения и записи данных, как при больших объёмах, так и при большом числе запросов. Недостатки – сложное восстановление данных и более низкая, чем в RAID 4 скорость чтения.

RAID 6. Дисковый массив с чередованием и двойной распределённой чётностью.

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

Комбинированные (nested) уровни RAID.

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

RAID 0+1

Комбинация, которая является массивом RAID 1, собранным на базе массивов RAID 0. Как и в массиве RAID 1, доступным будет только половина объёма дисков. Но, как и в RAID 0, скорость будет выше, чем с одним диском. Для реализации такого решения необходимо минимум 4 диска.

RAID 1+0

Также известен, как RAID 10. Является страйпом зеркал, то есть, массивом RAID 0, построенным из RAID 1 массивов. Практически аналогичен предыдущему решению.

RAID 0+3

Массив с выделенной чётностью над чередованием. Является массивом 3-го уровня, в котором данные блоками разбиваются и пишутся на массивы RAID 0. Комбинации, кроме простейших 0+1 и 1+0 требуют специализированных контроллеров, зачастую достаточно дорогих. Надёжность данного вида ниже, чем у следующего варианта.

RAID 3+0

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

RAID 5+0 (50)

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

RAID 5+1 (51)

Сочетание зеркалирования и чередования с распределённой четностью. Также вариантом является RAID 15 (1+5). Обладает очень высокой отказоустойчивостью. Массив 1+5 способен работать при отказе трех дисков, а 5+1 – пяти из восьми дисков.

RAID 6+0 (60)

Чередование с двойной распределённой четностью. Иными словами – страйп из RAID 6. Как уже говорилось применительно к RAID 0+5, RAID 6 из страйпов не получил распространения (0+6). Подобные приёмы (страйп из массивов с четностью) позволяют повысить скорость работы массива. Ещё одним преимуществом является то, что так можно легко повысить объём, не усложняя ситуации с задержками, необходимыми на вычисление и запись большего числа битов четности.

RAID 100 (10+0)

RAID 100, также пишущийся как RAID 10+0, является страйпом из RAID 10. По своей сути, он схож с более широким RAID 10 массивом, где используется вдвое больше дисков. Но именно такой «трехэтажной» структуре есть своё объяснение. Чаще всего RAID 10 делают аппаратным, то есть силами контроллера, а уже страйп из них делают программно. К такой уловке прибегают, чтобы избежать проблемы, о которой говорилось в начале статьи – контроллеры имеют свои ограничения по масштабируемости и если воткнуть в один контроллер двойное число дисков, прироста можно при некоторых условиях вообще не увидеть. Программный же RAID 0 позволяет создать его на базе двух контроллеров, каждый из которых держит на борту RAID 10. Так, мы избегаем «бутылочного горлышка» в лице контроллера. Ещё одним полезным моментом является обход проблемы с максимальным числом разъёмов на одном контроллере – удваивая их число, мы удваиваем и число доступных разъёмов.

Нестандартные режимы RAID

Двойная четность

Распространённым дополнением к перечисленным уровням RAID является двойная четность, порой реализованная и потому называемая «диагональной четностью». Двойная четность уже внедрена в RAID 6. Но, в отличие от нее, четность считается над другими блоками данных. Недавно спецификация RAID 6 была расширена, потому диагональная четность может считаться RAID 6. Если для RAID 6 четность считается как результат сложения по модулю 2 битов, идущих в ряд (то есть сумма первого бита на первом диске, первого бита на втором и т.д.), то в диагональной четности идет смещение. Работа в режиме сбоя дисков не рекомендуется (ввиду сложности вычисления утраченных битов из контрольных сумм).

Является разработкой NetApp RAID массива с двойной четностью и подпадает под обновленное определение RAID 6. Использует отличную от классической RAID 6 реализации схему записи данных. Запись ведется сначала на кеш NVRAM, снабжённый источником бесперебойного питания, чтобы предотвратить потерю данных при отключении электричества. Программное обеспечение контроллера, по возможности, пишет только цельные блоки на диски. Такая схема предоставляет большую защиту, чем RAID 1 и имеет более высокую скорость работы, нежели обычный RAID 6.

RAID 1,5

Был предложен компанией Highpoint, однако теперь применяется очень часто в контроллерах RAID 1, без каких-либо выделений данной особенности. Суть сводится к простой оптимизации – данные пишутся как на обычный массив RAID 1 (чем 1,5 по сути и является), а читают данные с чередованием с двух дисков (как в RAID 0). В конкретной реализации от Highpoint, применявшейся на платах DFI серии LanParty на чипсете nForce 2, прирост был едва заметным, а порой и нулевым. Связано это, вероятно, с невысокой скоростью контроллеров данного производителя в целом в то время.

Комбинирует в себе RAID 0 и RAID 1. Создаётся минимум на трёх дисках. Данные пишутся с чередованием на три диска, а со сдвигом на 1 диск пишется их копия. Если пишется один блок на три диска, то копия первой части пишется на второй диск, второй части – на третий диск. При использовании четного числа дисков лучше, конечно, использовать RAID 10.

Обычно при построении RAID 5 один диск оставляют свободным (spare), чтобы в случае сбоя система сразу стала перестраивать (rebuild) массив. При обычной работе этот диск работает вхолостую. Система RAID 5E подразумевает использование этого диска в качестве элемента массива. А объём этого свободного диска распределяется по всему массиву и находится в конце дисков. Минимальное число дисков – 4 штуки. Доступный объём равен n-2, объём одного диска используется (будучи распределенным между всеми) для четности, объем еще одного – свободный. При выходе из строя диска происходит сжатие массива до 3-х дисков (на примере минимального числа) заполнением свободного пространства. Получается обычный массив RAID 5, устойчивый к отказу ещё одного диска. При подключении нового диска, массив расжимается и занимает вновь все диски. Стоит отметить, что во время сжатия и распаковки диск не является устойчивым к выходу еще одного диска. Также он недоступен для чтения/записи в это время. Основное преимущество – большая скорость работы, поскольку чередование происходит на большем числе дисков. Минус – что нельзя данный диск назначать сразу к нескольким массивам, что возможно в простом массиве RAID 5.

RAID 5EE

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

Аналогично с RAID 5E использует дополнительный диск для повышения скорости работы и распределения нагрузки. Свободное место разделяется между другими дисками и находится в конце дисков.

Данная технология является зарегистрированной торговой маркой фирмы Storage Computer Corporation. Массив, основывающийся на RAID 3, 4, оптимизированный для повышения производительности. Основное преимущество заключается в использовании кеширования операций чтения/записи. Запросы на передачу данных осуществляются асинхронно. При построении используются диски SCSI. Скорость выше решений RAID 3,4 приблизительно в 1,5-6 раз.

Intel Matrix RAID

Является технологией, представленной Intel в южных мостах, начиная с ICH6R. Суть сводится к возможности комбинации RAID массивов разных уровней на разделах дисков, а не на отдельных дисках. Скажем, на двух дисках можно организовать по два раздела, два из них будут хранить на себе операционную систему на массиве RAID 0, а другие два – работая в режиме RAID 1 – хранить копии документов.

Linux MD RAID 10

Это RAID драйвер ядра Linux, предоставляющий возможность создания более продвинутой версии RAID 10. Так, если для RAID 10 существовало ограничение в виде чётного числа дисков, то этот драйвер может работать и с нечетным. Принцип для трех дисков будет тем же, что в RAID 1E, когда происходит чередование дисков по очереди для создания копии и чередования блоков, как в RAID 0. Для четырех дисков это будет эквивалентно обычному RAID 10. Помимо этого, можно задавать, на какой области диска будет храниться копия. Скажем, оригинал будет в первой половине первого диска, а его копия – во второй половине второго. Со второй половиной данных – наоборот. Данные можно дублировать несколько раз. Хранение копий на разных частях диска позволяет достичь большей скорости доступа в результате разнородности жесткого диска (скорость доступа меняется в зависимости от расположения данных на пластине, обычно разница составляет два раза).

Разработан компанией Kaleidescape для использования в своих медиа устройствах. Схож с RAID 4 с использованием двойной четности, но использует другой метод отказоустойчивости. Пользователь может легко расширять массив, просто добавляя диски, причём в случае, если он содержит данные, данные будут просто добавлены в него, вместо удаления, как это требуется обычно.

Разработка компании Sun. Самой большой проблемой RAID 5 является потеря информации в результате отключения питания, когда информация из дискового кеша (который является энергозависимой памятью, то есть не хранит данные без электричества) не успела сохраниться на магнитные пластины. Такое несовпадение информации в кеше и на диске называют некогерентностью. Сама организация массива связана с файловой системой Sun Solaris – ZFS. Используется принудительная запись содержимого кеш-памяти дисков, восстанавливать можно не только весь диск, но и блок «на лету», когда контрольная сумма не совпала. Ещё немаловажным аспектом является идеология ZFS – она не меняет данные при необходимости. Вместо этого она пишет обновлённые данные и потом, убедившись, что операция прошла уже удачно, меняет указатель на них. Таким образом, удаётся избежать потери данных при модификации. Мелкие файлы дублируются вместо создания контрольных сумм. Это тоже делается силами файловой системы, поскольку она знакома со структурой данных (массивом RAID) и может выделять место под эти цели. Существует также RAID-Z2, которая, подобно RAID 6 способна выдержать отказ двух дисков с помощью использования двух контрольных сумм.

То, что не является RAID в принципе, но часто вместе с ним употребляется. Дословно переводится как «просто набор дисков» (just a bunch of disks) Технология объединяет все диски, установленные в системе в один большой логический диск. То есть, вместо трех дисков будет виден один крупный. Используется весь суммарный объем дисков. Ускорения ни надежности, ни производительности нет.

Drive Extender

Функция, заложенная в Window Home Server. Совмещает в себе JBOD и RAID 1. При необходимости создания копии, она не дублирует сразу файл, а ставит NTFS разделе метку, указывающую на данные. При простое система копирует файл так, чтобы место на дисках было максимальным (использовать можно диски разного объема). Позволяет достичь многих преимуществ RAID – отказоустойчивости и возможности простой замены вышедшего из строя диска и его восстановления в фоновом режиме, прозрачности местонахождения файла (вне зависимости от того, на каком диске он находится). Также можно проводить параллельный доступ с разных дисков с помощью вышеуказанных меток, получая сходную с RAID 0 производительность.

Разработана компанией Lime technology LLC. Эта схема отличается от обычных RAID массивов тем, что позволяет смешивать диски SATA и PATA в одном массиве и диски разных объема и скорости. Для контрольной суммы (четности) используется выделенный диск. Данные не чередуются между дисками. В случае отказа одного диска, теряются только файлы, на нём хранящиеся. Однако, с помощью четности они могут быть восстановлены. UNRAID внедрен как добавление к Linux MD (multidisk).

Большинство видов RAID массивов не получило распространения, часть используется в узких сферах применения. Наиболее массовыми, от простых пользователей до серверов начального уровня стали RAID 0, 1, 0+1/10, 5 и 6. Нужен ли вам рейд-массив для ваших задач – решать вам. Теперь вы знаете, в чём их отличия друг от друга.