Какой рейд. RAID массив: виды и процесс создания
Проблема повышения надежности хранения информации и одновременного увеличения производительности системы хранения данных занимает умы разработчиков компьютерной периферии уже давно. Относительно повышения надежности хранения все понятно: информация - это товар, и нередко очень ценный. Для защиты от потери данных придумано немало способов, наиболее известный и надежный из которых - это резервное копирование информации.
Вопрос повышения производительности дисковой подсистемы весьма сложен. Рост вычислительных мощностей современных процессоров привел к тому, что наблюдается явный дисбаланс между возможностями жестких дисков и потребностями процессоров. При этом не спасают ни дорогие 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"20024.2.3. Организация дисковых массивов (raid)
Еще одним способом повышения производительности дисковой памяти стало построение дисковых массивов, хотя этот нацелен не только (и не столько) на достижение более высокой производительности, но и большей надежности работы запоминающих устройств на дисках.
Технология RAID (Redundant Array of Independent Disks – избыточный массив независимых дисков) задумывалась как объединение нескольких недорогих жестких дисков в один массив дисков для увеличения производительности, объема и надежности, по сравнению с одиночным диском. При этом ЭВМ должна видеть такой массив как один логический диск.
Если просто объединить несколько дисков в (не избыточный) массив, то среднее время между отказами (СВМО) будет равно СВМО одного диска, деленному на количество дисков. Такой показатель слишком мал для приложений, критичных к аппаратным сбоям. Улучшить его можно применяя реализуемую различным образом избыточность при хранение информации.
В RAID системах для повышения надежности и производительности используются комбинации трех основных механизмов, каждый из которых хорошо известен и по отдельности: - организация “зеркальных” дисков, т.е. полное дублирование хранимой информации; - подсчет контрольных кодов (четность, коды Хэмминга), позволяющих восстановить информацию при сбое; - распределение информации по различным дискам массива так, как это делается при чередовании обращений по блокам памяти (см. interleave), что повышает возможности параллельной работы дисков при операциях над хранимой информацией. При описании RAID этот прием называют “stripped disks”, что буквально означает “разделенные на полоски диски”, или просто "полосатые диски"..
Рис. 43. Разбиение дисков на чередующиеся блоки - “полоски”.
Изначально было определено пять типов дисковых массивов, обозначаемых RAID 1 – RAID 5, различающихся по своим особенностям и производительности. Каждый из этих типов за счет определенной избыточности записываемой информации обеспечивал повышенную отказоустойчивость по сравнению с одиночным дисководом. Кроме того, массив дисков, не обладающих избыточностью, но позволяющий повысить производительность (за счет расслоения обращений), стали часто называть RAID 0.
Основные типы RAID массивов можно кратко охарактеризовать следующим образом .
RAID 0 . Обычно этот тип массива определяется как группа дисков с чередованием (stripped) расположения информации без контроля четности и без избыточности данных. Размеры чередующихся областей (stripes – “полосок”, или блоков) могут быть большими в многопользовательском окружении или малыми в однопользовательской системе при последовательном доступе к длинным записям.
Организация RAID 0 как раз и соответствует той, которая показана на рис. 43. Операции записи и чтения могут выполняться одновременно на каждом дисководе. Минимальное количество дисководов для RAID 0 – два.
Для этого типа характерны высокая производительность и наиболее эффективное использование дискового пространства, однако, выход из строя одного из дисков приводит к невозможности работы со всем массивом.
RAID 1 . Этот тип дискового массива (рис. 44, а ) известен также как зеркальные диски и представляет собой просто пары дисководов, дублирующих хранимые данные, но представляющиеся компьютеру как один диск. И хотя в рамках одной пары зеркальных дисков разбиение на полоски не производится, чередование блоков может быть организовано для нескольких массивов RAID 1, образующих вместе один большой массив из нескольких зеркальных пар дисков. Такой вариант организации получил название RAID 1 + 0. Существует и обратный вариант.
Все операции записи производятся одновременно в оба диска зеркальной пары, чтобы информация в них была идентична. Но при чтении каждый из дисков пары может работать независимо, что позволяет выполнять одновременно две операции чтения, удваивая тем самым производительность при чтении. В этом смысле RAID 1 обеспечивает наилучшую производительность среди всех вариантов дисковых массивов.
RAID 2 . В этих дисковых массивах блоки – сектора данных чередуются по группе дисков, часть из которых используется только для хранения контрольной информации – ECC (error correcting codes) кодов. Но поскольку во всех современных дисках имеется встроенный контроль с помощью ECC кодов, то RAID 2 мало что дает, по сравнению с другими типами RAID, и сейчас редко используется.
RAID 3 . Как и в RAID 2 в этом типе дискового массива (рис. 44, б ) блоки –сектора чередуются по группе дисков, но один из дисков группы отведен для хранения информации о четности. В случае выхода дисковода из строя восстановление данных осуществляется на основе вычисления значений функции "исключающее ИЛИ" (XOR) от данных, записанных на оставшихся дисках. Записи обычно занимают все диски (так как полоски короткие), что повышает общую скорость передачи данных. Так как каждая операция ввода-вывода требует доступа к каждому диску, массив RAID 3 может обслужить в каждый момент времени только один запрос. Поэтому данный тип обеспечивает наилучшую производительность для одного пользователя в однозадачном окружении с длинными записями. При работе с короткими записями во избежание снижения производительности требуется синхронизация шпинделей дисководов. По своим характеристикам RAID 3 близок к RAID 5 (см. ниже).
RAID 4. Эта организация, показанная на рис. 35, в ), похожа на RAID 3 с той лишь разницей, что в нем используются блоки (полоски) большого размера, так что записи можно читать с любого диска массива (кроме диска, хранящего коды четности). Это позволяет совмещать операции чтения на разных дисках. При операциях записи всегда происходит обновление диска четности, поэтому их совмещение невозможно. В целом, данная архитектура не имеет особых преимуществ перед другими вариантами RAID.
RAID 5. Этот тип дискового массива похож на RAID 4, но хранение кодов четности в нем осуществляется не на специально выделенном диске, а блоками, располагающимися поочередно на всех дисках. Эту организацию даже иногда называют массив с “вращающейся четностью” (можно отметить некую аналогию с назначением линий прерываний для слотов шины PCI или с циклическим приоритетом контроллера прерываний в процессорах линии x86). Такое распределение позволяет избежать ограничения возможности одновременной записи из-за хранения кодов четности только на одном диске, характерного для RAID 4. На рис. 44, г ) показан массив, состоящий из четырех дисководов, причем для каждых трех блоков данных имеется один блок четности (эти блоки заштрихованы), местоположение которого для каждой тройки блоков данных изменяется, перемещаясь циклически по всем четырем дисководам.
Операции чтения могут выполняться параллельно для всех дисков. Операции записи, требующие участия двух дисководов (для данных и для четности) обычно также могут совмещаться, так как коды четности распределены по всем дискам.
Сравнение различных вариантов организации дисковых массивов показывает следующее.
Организация RAID 0 – это наиболее быстрый и эффективный вариант, но не обеспечивающий устойчивости к сбоям. Он требует минимум 2 дисковода. Операции записи и чтения могут выполняться одновременно на каждом дисководе.
Архитектура RAID 1 наиболее пригодна для высокопроизводительных высоконадежных приложений, но и наиболее дорогая. Кроме того, это единственный вариант, устойчивый к сбоям, если используются только два дисковода. Операции чтения могут выполняться одновременно для каждого дисковода, операции записи всегда дублируются для зеркальной пары дисководов.
Архитектура RAID 2 используется редко.
Дисковый массив типа RAID 3 можно использовать для ускорения передачи данных и повышения устойчивости к сбоям в однопользовательской среде при последовательном доступе к длинным записям. Но он не позволяет совмещать операции и требует синхронизации вращения шпинделей дисководов. Для него нужно, как минимум, три дисковода: 2 для данных и один для кодов четности.
Архитектура RAID 4 не поддерживает одновременные операции и не имеет преимуществ, по сравнению с RAID 5.
Организацию RAID 5 характеризует эффективность, устойчивость к сбоям и хорошая производительность. Но производительность при записи и в случае отказа дисковода хуже, чем у RAID 1. В частности, поскольку блок кодов четности относится ко всему записываемому блоку, то, если пишется только часть его, необходимо сперва считать ранее записанные данные, затем вычислить новые значения кодов четности и только после этого записать новые данные (и четность). Операции перестройки также требуют больше времени из-за необходимости формирования кодов четности. Для данного типа RAID нужно, как минимум, три дисковода.
Кроме того, на основе наиболее распространенных вариантов RAID: 0, 1 и 5 могут формироваться так называемые двухуровневые архитектуры, в которых сочетаются принципы организации различных типов массивов. Например, несколько RAID массивов одного и того же типа можно объединить в одну группу массивов данных или массив четности.
За счет такой двухуровневой организации можно достичь требуемого баланса между увеличением надежности хранения данных, характерным для массивов RAID 1 и RAID 5 и высокой скоростью чтения, присущей чередованию блоков на дисках в массиве типа RAID 0. Такие двухуровневые схемы иногда называют RAID 0+1 или 10 и 0+5 или 50.
Управление работой RAID массивов может осуществляться не только аппаратно, но и программно, возможность чего предусматривается в некоторых серверных вариантах операционных систем. Хотя понятно, что такая реализация будет иметь существенно худшие характеристики производительности.
RAID массив (Redundant Array of Independent Disks) – подключение нескольких устройств, для повышения производительности и\или надежности хранения данных, в переводе - избыточный массив независимых дисков.
Согласно закону Мура, нынешняя производительность возрастает с каждым годом (а именно количество транзисторов на чипе удваивается каждые 2 года). Это можно заметить практически в каждой отрасли производства оборудования для компьютеров. Процессоры увеличивают количество ядер и транзисторов, уменьшая при этом тех процесс, оперативная память увеличивает частоту и пропускную способность, память твердотельных накопителей повышает износостойкость и скорость чтения.
Но вот простые жесткие диски (HDD) особо не продвинулись за последние 10 лет. Как была стандартной скорость 7200 об/мин, так она и осталась (не беря в расчет серверные HDD c оборотами 10.000 и более). На ноутбуках все еще встречаются медленные 5400 об/мин. Для большинства пользователей, чтобы повысить производительность своего компьютера будет удобнее купить SDD, но цена за 1 гигабайт такого носителя значительно больше, чем у простого HDD. «Как повысить производительность накопителей без сильной потери денег и объема? Как сохранить свои данные или повысить безопасность сохранности Ваших данных?» На эти вопросы есть ответ – RAID массив.
Виды RAID массивов
На данный момент существуют следующие типы RAID массивов:
RAID 0 или «Чередование» – массив из двух или более дисков для повышения общей производительности. Объем рейда будет общий (HDD 1 + HDD 2 = Общий объем), скорость считывания\записи будет выше (за счет разбиения записи на 2 устройства), но страдает надежность сохранности информации. Если одно из устройств выйдет из строя, то вся информация массива будет потеряна.
RAID 1 или «Зеркало» –несколько дисков копирующих друг друга для повышения надежности. Скорость записи остаётся на прежнем уровне, скорость считывания увеличивается, многократно повышается надежность (даже если одно устройство выйдет из строя, второе будет работать), но стоимость 1 Гигабайта информации увеличивается в 2 раза (если делать массив из двух hdd).
RAID 2 – массив, построенный на работе дисков для хранения информации и дисков коррекции ошибок. Расчет количества HDD для хранения информации выполняется по формуле «2^n-n-1», где n - количество HDD коррекции. Данный тип используется при большом количестве HDD, минимальное приемлемое число – 7, где 4 для хранения информации, а 3 для хранения ошибок. Плюсом этого вида будет повышенная производительность, по сравнению с одним диском.
RAID 3 – состоит из «n-1» дисков, где n – диск хранения блоков четности, остальные устройства для хранения информации. Информацию делится на куски меньше объема сектора (разбиваются на байты), хорошо подходит для работы с большими файлами, скорость чтения файлов малого объема очень мала. Характерен высокой производительностью, но малой надежностью и узкой специализацией.
RAID 4 – похож на 3й тип, но разделение происходит на блоки, а не байты. Этим решением получилось исправить малую скорость чтения файлов малого объема, но скорость записи осталось низкой.
RAID 5 и 6 – вместо отдельного диска для корреляции ошибок, как в прошлых вариантах, используются блоки, равномерно распределённые по всем устройствам. В этом случае повышается скорость чтения\записи информации за счет распараллеливания записи. Минусом данного типа является долговременное восстановление информации в случае выхода из строя одного из дисков. Во время восстановления идёт очень высокая нагрузка на другие устройства, что понижает надежность и повышает выход другого устройства из строя и потерю всех данных массива. Тип 6 повышает общую надежность, но понижает производительность.
Комбинированные виды RAID массивов:
RAID 01 (0+1) – Два Рейд 0 объединяются в Рейд 1.
RAID 10 (1+0) – дисковые массивы RAID 1, которые используются в архитектуре 0 типа. Считается самым надежным вариантом хранения данных, объединяя в себе высокую надежность и производительность.
Также можно создать массив из SSD накопителей . Согласно тестированию 3DNews, такое комбинирование не даёт существенного прироста. Лучше приобрести накопитель с более производительным интерфейсом PCI или eSATA
Рейд массив: как создать
Создается путем подключения через специальный RAID контроллер. На данный момент есть 3 вида контроллеров:
- Программный – программными средствами эмулируется массив, все вычисления производятся за счет ЦП.
- Интегрированный – в основном распространено на материнских платах (не серверного сегмента). Небольшой чип на мат. плате, отвечающий за эмуляцию массива, вычисления производятся через ЦП.
- Аппаратный – плата расширения (для стационарных компьютеров), обычно с PCI интерфейсом, обладает собственной памятью и вычислительным процессором.
RAID массив hdd: Как сделать из 2 дисков через IRST
Восстановление данных
Некоторые варианты восстановления данных:
- В случае сбоя Рейд 0 или 5 может помочь утилита RAID Reconstructor , которая соберет доступную информацию накопителей и перезапишет на другое устройство или носитель в виде образа прошлого массива. Данный вариант поможет, если диски исправны и ошибка программная.
- Для Linux систем используется mdadm восстановление (утилита для управления программными Рейд-массивами).
- Аппаратное восстановление должно выполняться через специализированные сервисы, потому что без знания методики работы контроллера можно потерять все данные и вернуть их будет очень сложно или вообще невозможно.
Есть множество нюансов, которые нужно учитывать при создании Рейд на Вашем компьютере. В основном большинство вариантов используются в серверном сегменте, где важна и необходима стабильность и сохранность данных. Если у Вас есть вопросы или дополнения, Вы можете оставить их в комментариях.
Отличного Вам дня!
В зависимости от выбранной спецификации 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-массива .
Весь смысл избыточного массива независимых дисков в том, чтобы сберечь Ваши файлы на жёстком диске в случае полной поломки этого диска! Как это сделать, – спросите вы, да очень просто, нужно всего лишь два (можно даже разных в объёме) жёстких диска.
В сегодняшней статье мы с Вами с помощью операционной системы Windows 8.1 создадим из двух чистых жёстких дисков самый простой и популярный RAID 1 массив , его ещё называют "Зеркалирование" (mirroring). Смысл "зеркала" в том, что информация на обоих дисках дублируется (записывается параллельно) и два винчестера представляют из себя точные копии друг друга.
Если вы скопировали файл на первый жёсткий диск, то на втором появляется точно такой же файл и как вы уже поняли, если один жёсткий диск выходит из строя, то все ваши данные останутся целыми на втором винчестере (зеркале). Вероятность поломки сразу двух жёстких дисков ничтожна мала.
Единственный минус RAID 1 массива в том, что купить нужно два жёстких диска, а работать они будут как один единственный, то есть, если вы установите в системный блок два винчестера в объёме по 500 ГБ, то доступно для хранения файлов будет всё те же 500 ГБ, а не 1ТБ.
Если один жёсткий диск из двух выходит из строя, вы просто берёте и меняете его, добавляя как зеркало к уже установленному винчестеру с данными и всё.
Лично я, в течении многих лет, использую на работе RAID 1 массив из двух жёстких дисков по 1 ТБ и год назад произошла неприятность, один "хард" приказал долго жить, пришлось его тут же заменить, тогда я с ужасом подумал, чтобы было, не окажись у меня RAID-массива, небольшой холодок пробежал по спине, ведь пропали бы данные накопленные за несколько лет работы, а так, я просто заменил неисправный "терабайтник" и продолжил работу. Кстати, дома у меня тоже небольшой RAID-массив из двух винчестеров по 500 ГБ.
Создание программного RAID 1 массива из двух пустых жёстких дисков средствами Windows 8.1
Первым делом устанавливаем в наш системный блок два чистых жёстких диска. Для примера, я возьму два жёстких диска объёмом 250 ГБ.
Что делать, если размер винчестеров разный или на одном жёстком диске у вас уже находится информация, читаем в следующей нашей статье .Открываем Управление дисками
Диск 0 - твердотельный накопитель SSD с установленной операционной системой Windows 8.1 на разделе (C:).
Диск 1 и Диск 2 - жёсткие диски объёмом 250 ГБ из которых мы соберём RAID 1 массив.
Щёлкаем правой мышью на любом жёстком диске и выбираем «Создать зеркальный том»
Добавляем диск, который будет зеркалом для выбранного ранее диска. Первым зеркальным томом мы выбрали Диск 1, значит в левой части выбираем Диск 2 и нажимаем на кнопку «Добавить».
Выбираем букву программного RAID 1 массива, я оставляю букву (D:). Далее
Отмечаем галочкой пункт Быстрое форматирование и жмём Далее.
В управлении дисками зеркальные тома обозначаются кроваво-красным цветом и имеют одну букву диска, в нашем случае (D:). Скопируйте на любой диск какие-либо файлы и они сразу появятся на другом диске.
В окне "Этот компьютер", программный RAID 1 массив отображается как один диск.
Если один из двух жёстких дисков выйдет из строя, то в управлении дисками RAID-массив будет помечен ошибкой "Отказавшая избыточность", но на втором жёстком диске все данные будут в сохранности.