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

Вопрос повышения производительности дисковой подсистемы весьма сложен. Рост вычислительных мощностей современных процессоров привел к тому, что наблюдается явный дисбаланс между возможностями жестких дисков и потребностями процессоров. При этом не спасают ни дорогие SCSI-диски, ни уж тем более IDE-диски. Однако если не хватает возможностей одного диска, то, может быть, отчасти решить данную проблему позволит наличие нескольких дисков? Конечно, само по себе наличие двух или более жестких дисков на компьютере или на сервере дела не меняет - нужно заставить эти диски работать совместно (параллельно) друг с другом так, чтобы это позволило повысить производительность дисковой подсистемы на операциях записи/чтения. Кроме того, нельзя ли, используя несколько жестких дисков, добиться повышения не только производительности, но и надежности хранения данных, чтобы выход из строя одного из дисков не приводил к потере информации? Именно такой подход был предложен еще в 1987 году американскими исследователями Паттерсоном, Гибсоном и Катцом из Калифорнийского университета Беркли. В своей статье «A Case for Redundant Arrays of Inexpensive Discs, RAID» («избыточный массив недорогих дисков») они описали, каким образом можно объединить несколько дешевых жестких дисков в одно логическое устройство так, чтобы в результате повышались емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы.

С момента выхода статьи прошло уже 15 лет, но технология построения RAID-массивов не утратила актуальности и сегодня. Единственное, что изменилось с тех пор, - это расшифровка аббревиатуры RAID. Дело в том, что первоначально RAID-массивы строились вовсе не на дешевых дисках, поэтому слово Inexpensive (недорогие) поменяли на Independent (независимые), что больше соответствовало действительности.

Более того, именно сейчас технология RAID получила широкое распространение. Так, если еще несколько лет назад RAID-массивы использовались в дорогостоящих серверах масштаба предприятия с применением SCSI-дисков, то сегодня они стали своеобразным стандартом де-факто даже для серверов начального уровня. Кроме того, постепенно расширяется и рынок IDE RAID-контроллеров, то есть актуальность приобретает задача построения RAID-массивов на рабочих станциях с использованием дешевых IDE-дисков. Так, некоторые производители материнских плат (Abit, Gigabyte) уже начали интегрировать IDE RAID-контроллеры на сами платы.

Итак, RAID - это избыточный массив независимых дисков (Redundant Arrays of Independent Discs), на который возлагается задача обеспечения отказоустойчивости и повышения производительности. Отказоустойчивость достигается за счет избыточности. То есть часть емкости дискового пространства отводится для служебных целей, становясь недоступной для пользователя.

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

Совместную работу дисков в массиве можно организовать с использованием либо параллельного, либо независимого доступа.

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

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

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

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

Уровни RAID

В настоящее время существует несколько стандартизированных RAID-уровней: от RAID 0 до RAID 5. К тому же используются комбинации этих уровней, а также фирменные уровни (например, RAID 6, RAID 7). Наиболее распространенными являются уровни 0, 1, 3 и 5.

RAID 0

RAID уровня 0, строго говоря, не является избыточным массивом и соответственно не обеспечивает надежности хранения данных. Тем не менее данный уровень находит широкое применение в случаях, когда необходимо обеспечить высокую производительность дисковой подсистемы. Особенно популярен этот уровень в рабочих станциях. При создании RAID-массива уровня 0 информация разбивается на блоки, которые записываются на отдельные диски (рис. 4), то есть создается система с параллельным доступом (если, конечно, размер блока это позволяет). Благодаря возможности одновременного ввода-вывода с нескольких дисков RAID 0 обеспечивает максимальную скорость передачи данных и максимальную эффективность использования дискового пространства, поскольку не требуется места для хранения контрольных сумм. Реализация этого уровня очень проста. В основном RAID 0 применяется в тех областях, где требуется быстрая передача большого объема данных.

RAID 1 (Mirrored disk)

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

RAID 2

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

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

Естественно, что L при вычислении по указанной формуле округляется в большую сторону до ближайшего целого числа. Впрочем, чтобы не связываться с формулами, можно воспользоваться другим мнемоническим правилом: разрядность контрольного слова определяется количеством разрядов, необходимым для двоичного представления размера слова. Если, например, размер слова равен четырем (в двоичной записи 100), то, чтобы записать это число в двоичном виде, потребуется три разряда, значит, размер контрольного слова равен трем. Следовательно, если имеется четыре диска для хранения данных, то потребуется еще три диска для хранения контрольных данных. Аналогично при наличии семи дисков для данных (в двоичной записи 111) понадобится три диска для хранения контрольных слов. Если же под данные отводится восемь дисков (в двоичной записи 1000), то нужно уже четыре диска для контрольной информации.

Код Хэмминга, формирующий контрольное слово, основан на использовании поразрядной операции «исключающего ИЛИ» (XOR) (употребляется также название «неравнозначность»). Напомним, что логическая операция XOR дает единицу при несовпадении операндов (0 и 1) и нуль при их совпадении (0 и 0 или 1 и 1).

Само контрольное слово, полученное по алгоритму Хэмминга, - это инверсия результата поразрядной операции исключающего ИЛИ номеров тех информационных разрядов слова, значения которых равны 1. Для иллюстрации рассмотрим исходное слово 1101. В первом (001), третьем (011) и четвертом (100) разрядах этого слова стоит единица. Поэтому необходимо провести поразрядную операцию исключающего ИЛИ для этих номеров разрядов:

Само же контрольное слово (код Хэмминга) получается при поразрядном инвертировании полученного результата, то есть равно 001.

При считывании данных вновь рассчитывается код Хэмминга и сравнивается с исходным кодом. Для сравнения двух кодов используется поразрядная операция «исключающего ИЛИ». Если результат сравнения во всех разрядах равен нулю, то считывание верное, в противном случае его значение есть номер ошибочно принятого разряда основного кода. Пусть, к примеру, исходное слово равно 1100000. Поскольку единицы стоят в шестой (110) и седьмой (111) позициях, контрольное слово равно:

Если при считывании зафиксировано слово 1100100, то контрольное слово для него равно 101. Сравнивая исходное контрольное слово с полученным (поразрядная операция исключающего ИЛИ), имеем:

то есть ошибка при считывании в третьей позиции.

Соответственно, зная, какой именно бит является ошибочным, его легко исправить «на лету».

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

RAID 3

RAID уровня 3 - это отказоустойчивый массив с параллельным вводом-выводом и одним дополнительным диском, на который записывается контрольная информация (рис. 7). При записи поток данных разбивается на блоки на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива, кроме выделенного для хранения контрольной информации. Для вычисления контрольной информации (называемой также контрольной суммой) используется операция «исключающего ИЛИ» (XOR), применяемая к записываемым блокам данных. При выходе из строя любого диска данные на нем можно восстановить по контрольным данным и данным, оставшимся на исправных дисках.

Рассмотрим в качестве иллюстрации блоки размером по четыре бита. Пусть имеются четыре диска для хранения данных и один диск для записи контрольных сумм. Если имеется последовательность бит 1101 0011 1100 1011, разбитая на блоки по четыре бита, то для расчета контрольной суммы необходимо выполнить операцию:

Таким образом, контрольная сумма, записываемая на пятый диск, равна 1001.

Если один из дисков, например третий, вышел из строя, то блок 1100 окажется недоступным при считывании. Однако его значение легко восстановить по контрольной сумме и значениям остальных блоков, используя все ту же операцию «исключающего ИЛИ»:

Блок 3=Блок 1Блок 2Блок 4

Контрольная сумма.

В нашем примере получим:

Блок 3=1101001110111001= 1100.

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

RAID 4

RAID уровня 4 - это отказоустойчивый массив независимых дисков с одним диском для хранения контрольных сумм (рис. 8). RAID 4 во многом схож с RAID 3, но отличается от последнего прежде всего значительно большим размером блока записываемых данных (большим, чем размер записываемых данных). В этом и есть главное различие между RAID 3 и RAID 4. После записи группы блоков вычисляется контрольная сумма (точно так же, как и в случае RAID 3), которая записывается на выделенный для этого диск. Благодаря большему, чем у RAID 3, размеру блока возможно одновременное выполнение нескольких операций чтения (схема независимого доступа).

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

RAID 5

RAID уровня 5 - это отказоустойчивый массив независимых дисков с распределенным хранением контрольных сумм (рис. 9). Блоки данных и контрольные суммы, которые рассчитываются точно так же, как и в RAID 3, циклически записываются на все диски массива, то есть отсутствует выделенный диск для хранения информации о контрольных суммах.

В случае RAID 5 все диски массива имеют одинаковый размер, однако общая емкость дисковой подсистемы, доступной для записи, становится меньше ровно на один диск. Например, если пять дисков имеют размер 10 Гбайт, то фактический размер массива составляет 40 Гбайт, так как 10 Гбайт отводится на контрольную информацию.

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

Главным же различием между RAID 5 и RAID 4 является способ размещения контрольных сумм.

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

Практическая реализация

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

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

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

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

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

Основной функцией RAID-массива является не увеличение емкости дисковой подсистемы (как видно из его устройства, такую же емкость можно получить и за меньшие деньги), а обеспечение надежности сохранности данных и повышение производительности. Для серверов, кроме того, выдвигается требование бесперебойности в работе, даже в случае отказа одного из накопителей. Бесперебойность в работе обеспечивается при помощи горячей замены, то есть извлечения неисправного SCSI-диска и установки нового без выключения питания. Поскольку при одном неисправном накопителе дисковая подсистема продолжает работать (кроме уровня 0), горячая замена обеспечивает восстановление, прозрачное для пользователей. Однако скорость передачи и скорость доступа при одном неработающем диске заметно снижается из-за того, что контроллер должен восстанавливать данные из избыточной информации. Правда, из этого правила есть исключение - RAID-системы уровней 2, 3, 4 при выходе из строя накопителя с избыточной информацией начинают работать быстрее! Это закономерно, поскольку в таком случае уровень «на лету» меняется на нулевой, который обладает великолепными скоростными характеристиками.

До сих пор речь в этой статье шла об аппаратных решениях. Но существует и программное, предложенное, например, фирмой Microsoft для Windows 2000 Server. Однако в этом случае некоторая начальная экономия полностью нейтрализуется добавочной нагрузкой на центральный процессор, который помимо основной своей работы вынужден распределять данные по дискам и производить расчет контрольных сумм. Такое решение может считаться приемлемым только в случае значительного избытка вычислительной мощности и малой загрузки сервера.


Сергей Пахомов

КомпьютерПресс 3"2002

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

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

Сегодня же мы рассмотрим, как создается RAID массив средствами самой Windows при использовании двух пустых дисков (уверенно заявляю, что данная инструкция работает на Windows 7, 8 и 8.1). Если вас интересует создание RAID массива с использованием уже заполненного диска, то вам необходима на эту тему.

И, собственно, инструкция к вашему ознакомлению:

1) Для начала установите жесткие диски в системный блок и запустите компьютер.

2) Открываем «Панель управления → Система и безопасность → Администрирование → Управление компьютером → Запоминающие устройства → Управления дисками». При первом включении утилита сообщит об установке новых дисковых устройств и предложит выбрать разметку для них. Если у вас диск 2,2Тб и более выбирайте GPT, если меньше — то MBR.

3) В нижней части окна находим один из наших новых жестких дисков и нажимаем по нему правой клавишей. Выбираем «Создать зеркальный том»:

4) Откроется мастер создания образа. Жмём далее.

5) На этой странице вам нужно добавить диск, который будет дублировать выбранный до этого диск. Поэтому выбираем в левой части диск и жмём кнопку «Добавить»:



Жмём далее.

6) Выбираем букву, которой будет обозначен новый том. Я выбрал M (от англ. Mirror). Нажимаем далее.

7) Задаем файловую систему, размер кластера и имя тома. Также рекомендую установить галочку напротив «Быстрое форматирование», пусть делает всё сразу. И снова далее.

8) Проверяем что у нас получилось, если всё правильно жмём «Готово».

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

Сами жесткие диски играют довольно важную роль в компьютере, так как, при помощи них мы запускаем систему и храним множество информации на них.

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

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

Также, данные массивы имеют порядковые номера, чем и отличаются. Каждый выполняет разные функции. Например, есть RAID 0, 1, 2, 3, 4, 5 и т. д. Вот об этих самых массивах мы сегодня и будем говорить, а потом я напишу статью, как использовать некоторые из них.

Что такое RAID массив?

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

Так что, если вы хотите или ускорить свой диск или просто обезопасить информацию зависит лишь от вас. Точнее сказать, зависит от выбора нужной конфигурации «Рейда», эти конфигурации и отмечены порядковыми номерами 1, 2, 3…

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

Если вы спросите почему, то тут, я думаю, все ясно. с каждым годом становятся все мощнее, их обзаводят и более высокой частотой, большим количеством ядер, и многим другим. То же самое с и . А жесткие диски растут пока что только в объеме, а скорость оборота как была 7200, так и осталась. Конечно есть и более редкие модели. Ситуацию пока что спасают так называемые , которые ускоряют систему в несколько раз.

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

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

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

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

Чтобы создать массив нужно не так много: материнская плата с поддержкой RAID, два идентичных жестких диска (это важно ). Они должны быть одинаковы не только в объеме, но и по кэшу, интерфейсу и т. д. Желательно, чтобы и производитель был один и тот же. Теперь включаем компьютер и , там ищем параметр SATA Configuration и ставим на RAID . После перезагрузки компьютера должно появится окно в которой мы увидим информацию о дисках и рейдах. Там мы должны нажать CTRL+I , чтобы начать настройку рейда, то есть, добавлять или удалять из него диски. Потом начнется и ее настройка.

Сколько всего этих рейдов? Их несколько, а именно RAID 1 , RAID 2 , RAID 3 , RAID 4 , RAID 5 , RAID 6 . Более подробно я расскажу только о двух из них.

  1. RAID 0 – позволяет создавать дисковый массив для того, чтобы увеличить скорость чтения/записи.
  2. RAID 1 – позволяет создавать зеркальные дисковые массивы для защиты данных.

RAID 0, что это такое?

Массив RAID 0 , который еще называют «Striping» использует от 2 до 4 жестких дисков, редко больше. Работая совместно, они повышают производительность. Таким образом, данные при таком массиве разбивается на блоки данных, а потом записываются сразу на несколько дисков.

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

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

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

RAID 1, что это такое?

Массив RAID 1 , его еще называют Mirroring – зеркало. Если говорить о недостатке, то в RAID 1 объем одного из жестких дисков вам как-бы «недоступен», потому что, он используется для дублирования первого диска. В RAID 0 это место доступно.

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

Если вы выбрали RAID 1, то знайте, что производительность упадет, но если данные вам важны, то используйте данных подход.

RAID 2-6, что это такое?

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

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

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

RAID 3, 4, 5, 6 – про эти массивы я не буду здесь писать, так как, необходимая информация уже есть на Википедии , если хотите узнать о данных массивах, то читаем.

Какой выбрать RAID массив?

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

Есть важная информация, которая должна быть в целости и сохранности? Тогда на помощь приходит RAID 1. При выборе жестких дисков, также их характеристики должны быть идентичными.

Вывод

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

© Андрей Егоров, 2005, 2006. Группа компаний ТИМ.

Посетители форума задают нам вопрос: «Какой уровень RAID самый надежный?» Все знают, что наиболее распространенным является уровень RAID5, однако он отнюдь не лишен серьезных недостатков, которые неочевидны для неспециалистов.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 или что такое уровни RAID?

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

JBOD (Just a Bunch of Disks) – это простое объединение (spanning) жестких дисков, которое уровнем RAID формально не является. Томом JBOD может быть массив из одного диска или объединение нескольких дисков. Контроллеру RAID для работы с таким томом не требуется проведение каких-либо вычислений. На нашей диаграмме диск JBOD служит в качестве «ординара» или отправной точки – его значения надежности, производительности и стоимости совпадают с соответствующими показателями единичного жесткого диска.

RAID 0 (“Striping”) избыточности не имеет, а информацию распределяет сразу по всем входящим в массив дискам в виде небольших блоков («страйпов»). За счет этого существенно повышается производительность, но страдает надежность. Как и в случае JBOD, за свои деньги мы получаем 100% емкости диска.

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

Хороший уровень – RAID 1 (“Mirroring”, «зеркало»). Он имеет защиту от выхода из строя половины имеющихся аппаратных средств (в общем случае – одного из двух жестких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счет распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жестких дисков, получая полезный объем одного жесткого диска.

Изначально предполагается, что жесткий диск – вещь надежная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, т.е. ниже на порядки! К сожалению, реальная жизнь – не теория! Два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры – вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare . Достоинство такого подхода – поддержание постоянной надежности. Недостаток – еще большие издержки (т.е. стоимость 3-х винчестеров для хранения объема одного диска).

Зеркало на многих дисках – это уровень RAID 10 . При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объем полученного тома может превосходить емкость одного жесткого диска. Достоинства и недостатки – такие же, как и у уровня RAID1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва HotSpare из расчета один резервный на пять рабочих.

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

Недостатки RAID5 проявляются при выходе из строя одного из дисков – весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Если срочно не принять меры – можно потерять весь том. Поэтому, (см. выше) с томом RAID5 следует обязательно использовать диск Hot Spare.

Помимо базовых уровней RAID0 - RAID5, описанных в стандарте, существуют комбинированные уровни RAID10, RAID30, RAID50, RAID15, которые различные производители интерпретируют каждый по-своему.

Суть таких комбинаций вкратце заключается в следующем. RAID10 – это сочетание единички и нолика (см. выше). RAID50 – это объединение по “0” томов 5-го уровня. RAID15 – «зеркало» «пятерок». И так далее.

Таким образом, комбинированные уровни наследуют преимущества (и недостатки) своих «родителей». Так, появление «нолика» в уровне RAID 50 нисколько не добавляет ему надежности, но зато положительно отражается на производительности. Уровень RAID 15 , наверное, очень надежный, но он не самый быстрый и, к тому же, крайне неэкономичный (полезная емкость тома составляет меньше половины объема исходного дискового массива).

RAID 6 отличается от RAID 5 тем, что в каждом ряду данных (по-английски stripe ) имеет не один, а два блока контрольных сумм. Контрольные суммы – «многомерные», т.е. независимые друг от друга, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Вычисление контрольных сумм по методу Рида-Соломона требует более интенсивных по сравнению с RAID5 вычислений, поэтому раньше шестой уровень практически не использовался. Сейчас он поддерживается многими продуктами, так как в них стали устанавливать специализированные микросхемы, выполняющие все необходимые математические операции.

Согласно некоторым исследованиям, восстановление целостности после отказа одного диска на томе RAID5, составленном из дисков SATA большого объема (400 и 500 гигабайт), в 5% случаев заканчивается утратой данных. Другими словами, в одном случае из двадцати во время регенерации массива RAID5 на диск резерва Hot Spare возможен выход из строя второго диска... Отсюда рекомендации лучших RAIDоводов: 1) всегда делайте резервные копии; 2) используйте RAID6 !

Недавно появились новые уровни RAID1E, RAID5E, RAID5EE. Буква “Е” в названии означает Enhanced .

RAID level-1 Enhanced (RAID level-1E) комбинирует mirroring и data striping. Эта смесь уровней 0 и 1 устроена следующим образом. Данные в ряду распределяются точь-в-точь так, как в RAID 0. То есть ряд данных не имеет никакой избыточности. Следующий ряд блоков данных копирует предыдущий со сдвигом на один блок. Таким образом как и в стандартном режиме RAID 1 каждый блок данных имеет зеркальную копию на одном из дисков, поэтому полезный объем массива равен половине суммарного объема входящих в массив жестких дисков. Для работы RAID 1E требуется объединение трех или более дисков.

Мне очень нравится уровень RAID1E. Для мощной графической рабочей станции или даже для домашнего компьютера – оптимальный выбор! Он обладает всеми достоинствами нулевого и первого уровней – отличная скорость и высокая надежность.

Перейдем теперь к уровню RAID level-5 Enhanced (RAID level-5E) . Это то же самое что и RAID5, только со встроенным в массив резервным диском spare drive . Это встраивание производится следующим образом: на всех дисках массива оставляется свободным 1/N часть пространства, которая при отказе одного из дисков используется в качестве горячего резерва. За счет этого RAID5E демонстрирует наряду с надежностью лучшую производительность, так как чтение/запись производится параллельно с бОльшего числа накопителей одновременно и spare drive не простаивает, как в RAID5. Очевидно, что входящий в том резервный диск нельзя делить с другими томами (dedicated vs. shared). Том RAID 5E строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

RAID level-5E Enhanced (RAID level-5EE) подобен уровню RAID level-5E, но он имеет более эффективное распределение spare drive и, как следствие, – более быстрое время восстановления. Как и уровень RAID5E, этот уровень RAID распределяет в рядах блоки данных и контрольных сумм. Но он также распределяет и свободные блоки spare drive, а не просто оставляет под эти цели часть объема диска. Это позволяет уменьшить время, необходимое на реконструкцию целостности тома RAID5EE. Входящий в том резервный диск нельзя делить с другими томами – как и в предыдущем случае. Том RAID 5EE строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

Как ни странно, никаких упоминаний об уровне RAID 6E на просторах Интернета я не нашел - пока такой уровень никем из производителей не предлагается и даже не анонсируется. А ведь уровень RAID6E (или RAID6EE?) можно предложить по тому же принципу, что и предыдущий. Диск HotSpare обязательно должен сопровождать любой том RAID, в том числе и RAID 6. Конечно, мы не потеряем информацию при выходе из строя одного или двух дисков, но начать регенерацию целостности массива крайне важно как можно раньше, чтобы скорее вывести систему из «критического» режима. Поскольку необходимость диска Hot Spare для нас не подлежит сомнению, логичным было бы последовать дальше и «размазать» его по тОму так, как это сделано в RAID 5EE, чтобы получить преимущества от использования бОльшего количества дисков (лучшая скорость на чтении-записи и более быстрое восстановление целостности).

Уровни RAID в «числах».

В таблицу я собрал некоторые важные параметры почти всех уровней RАID, чтобы можно было сопоставить их между собой и четче понять их суть.

Уровень
~~~~~~~

Избы-
точ-
ность
~~~~~~~

Исполь-
зование емкости дисков
~~~~~~~

Произво-
дитель-
ность
чтения

~~~~~~~

Произво-
дитель-
ность
записи

~~~~~~~

Встроен-
ный диск
резерва

~~~~~~~

Мин. кол-во дисков
~~~~~~~

Макс. кол-во дисков

~~~~~~~

Отл

Отл

Отл

Отл

Все «зеркальные» уровни – RAID 1, 1+0, 10, 1E, 1E0.

Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?

RAID 1.
Это – классическое «зеркало». Два (и только два!) жестких диска работают как один, являясь полной копией друг друга. Выход из строя любого из этих двух дисков не приводит к потере ваших данных, так как контроллер продолжает работу с оставшимся диском. RAID1 в цифрах: двукратная избыточность, двукратная надежность, двукратная стоимость. Производительность на запись эквивалентна производительности одного жесткого диска. Производительность чтения выше, так как контроллер может распределять операции чтения между двумя дисками.

RAID 10.
Суть этого уровня в том, что диски массива объединяются парами в «зеркала» (RAID 1), а затем все эти зеркальные пары в свою очередь объединяются в общий массив с чередованием (RAID 0). Именно поэтому его иногда обозначают как RAID 1+0 . Важный момент – в RAID 10 можно объединить только четное количество дисков (минимум – 4, максимум – 16). Достоинства: от "зеркала" наследуется надежность, от «нуля» – производительность как на чтение, так и на запись.

RAID 1Е.
Буква "E" в названии означает "Enhanced", т.е. "улучшенный". Принцип этого улучшения следующий: данные блоками "чередуются" ("striped") на все диски массива, а потом еще раз "чередуются" со сдвигом на один диск. В RAID 1E можно объединять от трех до 16 дисков. Надежность соответствует показателям "десятки", а производительность за счет большего "чередования" становится чуть лучше.

RAID 1Е0.
Этот уровень реализуется так: мы создаем "нулевой" массив из массивов RAID1E. Следовательно, общее количество дисков должно быть кратно трем: минимум три и максимум – шестьдесят! Преимущество в скорости при этом мы вряд ли получим, а сложность реализации может неблагоприятно отразиться на надежности. Главное достоинство – возможность объединить в один массив очень большое (до 60) количество дисков.

Сходство всех уровней RAID 1X заключается в их показателях избыточности: ради реализации надежности жертвуется ровно 50% суммарной емкости дисков массива.