RAID-массивы и их классификация

Вопрос повышения производительности дисковой подсистемы весьма сложен. Рост вычислительных мощностей современных процессоров привел к тому, что наблю­дается явный дисбаланс между возможностями жестких дисков и потребностями процессоров. При этом не спасают ни дорогие SCSI-диски, ни уж тем более IDE- диски. Однако если не хватает возможностей одного диска, может быть, отчасти решить данную проблему позволит наличие нескольких дисков? Конечно, само по себе наличие двух и более жеслких дисков в компьютере или сервере не спаса­ет — нужно заставить эти диски работать совместно (параллельно) друг с другом так, чтобы это позволило повысить производительность дисковой подсистемы при операциях чтения/записи.

RAID-массивы и их классификация

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

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

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

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

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

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

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

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

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

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

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

RAID 0

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

 

RAID-массив уровня 0

RAID-массив уровня 0

RAID 1 (Mirrored disk)

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

 

RAID-массив уровня I

RAID-массив уровня I

RAID 2

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

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

 

RAID-массив уровня 2

RAID-массив уровня 2

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

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

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

001+011+100 = 110.

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

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

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

1100000 +1100100 = 0000100,

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

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

RAID 3

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

 

RAID-массив уровня 3

RAID-массив уровня 3

 

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

1101+0011+1100+1011 = 1001.

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

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

Блок 3 = Блок 1 + Блок 2 + Блок 4 + Parity.

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

БлокЗ = 1101 +0011+ 1011 +1001 = 1100.

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

RAID 4

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

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

RAID 5

RAID уровня 5 — это отказоустойчивый массив независимых дисков с распреде­ленным хранением контрольных сумм. При записи поток данных разбивается на блоки (страйпы) на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива. Для вычисления контрольной суммы исполь­зуется поразрядная операция «исключающего ИЛИ» (XOR), применяемая к за­писываемым блокам данных. Так, если имеется п жестких дисков, a D — блок данных (страйп), то контрольная сумма рассчитывается по следующей формуле:

рn =d1 + d2+...+ dn-1.

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

Блоки данных и контрольные суммы циклически записываются на все диски мас­сива, то есть отсутствует выделенный диск для хранения информации о контроль­ных суммах.

 

RAID-массив уровня 5

RAID-массив уровня 5

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

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

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

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

RAID 6

Если RAID-массивы уровней 0 и 1 находят применение в домашних ПК, то уро­вень 5 используется для создания RAID-массивов в серверах и рабочих станциях с критически важными данными. Аналогична RAID-массив уровня 6 является прерогативой корпоративных систем. Для корпоративных вычислительных сред все больше характерно возрастание количества дисковых устройств большой ем­кости, их объединение в системы хранения данных и совместное использование дисковой памяти. Множество серверов применяют общие системы хранения дан­ных, и одна авария может вызвать остановку многих систем.

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

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

Ошибка, связанная с появлением сбойных блоков, возникает при неудачной по­пытке чтения по разным причинам, и хотя данный блок считать невозможно, в целом он остается физически работоспособным. Появление сбойных блоков — до­вольно частое явление, и оно влияет на общий объем диска и плотность записи. Появление сбойных блоков в системе без RAID (однодисковой системе) обычно приводит к разрушению данных. Но, несмотря на то что данные в сбойных блоках потеряны, остальное дисковое пространство остается работоспособным, поэтому доступ к диску обычно сохраняется. Если вы сталкивались с ситуацией, когда файл или не открывается, или содержит «мусор», то, скорее всего, у вас появился сбой­ный блок.

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

Хотя RAID 5 может защитить от одного катастрофического отказа, от второго эта схема уже не защищает. К тому же уровень RAID 5 не может защитить и от одного сбойного блока, если система находится в режиме с ухудшенными характеристи­ками. Например, если 14-дисковый массив RAID 5 испытал катастрофический отказ, он переходит в режим с ухудшенными характеристиками, а в случае «горячей» замены переходит в режим восстановления.

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

1. возрастает длительность периода восстановления;

2. возрастает вероятность возникновения сбойного блока из-за большого объема дисков.

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

В зависимости от алгоритма, реализованного производителями, массив либо пе­рейдет в режим отказа, либо просто будет продолжать работать (или предложит продолжить работу), несмотря на наличие сбойных блоков данных. В результате или не будут читаться некоторые файлы, или, если сбойный блок приходится на файл подкачки, будут возникать «синие экраны смерти». Однако обычно в таком случае система пытается восстановиться с использованием последней пригодной резервной копии.

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

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

RAID 6 — это отказоустойчивый массив независимых дисков с двумя независимы­ми распределенными контрольными суммами (Independent Data Disks with Two Independent Distributed Parity Schemes), вычисленными двумя независимыми способами. Этот уровень во многом схож с RAID 5, но в нем используется не одна, а две независимые схемы контрольных сумм, что позволяет сохранять работоспо­собность системы при одновременном выходе из строя двух накопителей. В резуль­тате большая стоимость RAID 6 окупается существенным увеличением надежности хранения данных в массиве.

В алгоритме RAID 6 используются два интеллектуальных метода восстановления данных — 2D-XOR (Two dimensional XOR) и Р + Q. В методе 2D-XOR контрольные суммы вычисляются подобно тому, как это делается в RAID 5:

Dk = Dl+D2+...+Dk-l+Dk+l+...+Dn+ Рк.

Различие заключается в том, что в RAID 5 контрольные суммы вычисляются толь­ко для горизонтальных блоков данных, а в RAID 6 — как для горизонтальных, так и для диагональных. Контрольные суммы для горизонтальных блоков данных записываются на диски массива циклически (как и в случае с RAID 5), а кон­трольные суммы для диагональных блоков данных записываются на отдельный диск.

Рассмотрим пример массива RAID 6 из пяти дисков. Обозначим D.k — блок данных, записываемых на i-ю дорожку (k — 1) диска. Тогда при использовании схемы 2D-XOR информация распределится по дискам так, как показано ниже:

 

Схема массива RAID 6 при использовании метода восстановления данных 2D-XOR

Схема массива RAID 6 при использовании метода восстановления данных 2D-XOR

Предположим далее, что блок данных Di0 (или даже весь диск 0) стал сбойным. Информацию этого блока можно восстановить точно так же, как и в случае RAID 5:

Dо = (Dо + D2 + Dз) + D2 + Dз = Dо»

поскольку D + D = 00...0.

Предположим далее, что одновременно вышел из строя диск 0 и не читается блок данных D23. В этом случае блок D23 можно восстановить на основе суммы диаго­нальных блоков данных D01,D12 и контрольной суммы D0,1 + D1,2 + D2,3, хранящейся на диске 4.

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

В схеме восстановления данных Р + Q для вычисления контрольных сумм в RAID 6 используется алгоритм, построенный на основе кода Рида — Соломона (Reed — Solomon). В результате расчета контрольных сумм по методу Рида — Соломона получают два дополнительных сегмента Р и Q (для одних и тех же входных данных с помощью двух разных уравнений вычисляются два результата).

Контрольная сумма Р рассчитывается точно так же, как и в случае RAID 5

Контрольная сумма Q рассчитывается на основе более сложного алгоритма с ис­пользованием образующего полинома. Сегменты Р и Q распределяются по набору дисков циклически (точно так же, как и в случае RAID 5).

Методы 2D-XOR и P + Q, применяемые в RAID 6, используют разные алгоритмы, в результате чего существенно меняется поведение и производительность диско­вого ввода-вывода. Это можно показать на примере записи одной дорожки диска. Дорожка состоит из одинакового дискового объема для каждого диска, который адресуется RAID-контроллером непрерывно. Каждый сегмент диска называется дорожкой. Следовательно, размер дорожки массива равен размеру дорожки диска, умноженному на количество дисков в массиве. RAID-контроллеры также управ­ляют кэш-памятью RAID, объем которой соответствует объему дорожки, поэтому размер кэш-памяти RAID делится на части, равные объему дорожки.

Для больших операций записи, а также для операций обратной записи с кэш-па­мятью все дорожки данных записываются новыми данными. При этом соответствующие контрольные значения также перезаписываются. В этом случае алгоритм Р + Q RAID 6 работает эффективно. Алгоритмы 2D-XOR RAID 6 должны обраба­тывать запись дорожки как набор записей, поэтому в данном случае они неэффек­тивны. Для работы RAID на высоком уровне необходимо, чтобы решения 2D-XOR RAID 6 эффективно работали с кэш-памятью, что можно реализовать с помощью организации нескольких дорожек данных. При этом в кэш-памяти RAID будет меньше разных дорожек.

Алгоритм Р + Q RAID 6 обеспечивает запись дорожки таким же способом и с такой же скоростью, как и в случае RAID 5. Последовательность, приведенная ниже, иллюстрирует операцию записи, но применима также и к операции обратной за­писи кэш-памяти RAID.

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

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

3. Затем записываемые данные и контрольные значения Р и Q записываются на дорожку диска под управлением алгоритма RAID, который выполняется на процессоре ввода-вывода.

Данная последовательность иллюстрирует полный процесс, необходимый для реализации высоконадежного алгоритма Р + Q RAID 6.

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

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

Еще один недостаток — уменьшение скорости записи. Скорость зависит от реализации. В отличие от RAID 5, однако, имеется несколько различных мето­дов, которые можно применять при реализации RAID 6, а также некоторые ме­тоды двухдисковой защиты в случае использования сочетания других уровней RAID.

Поставщики предлагают разные варианты массивов RAID, которые могут выпол­нять самые различные функции. Уровень RAID 6 предоставляет расширенные возможности защиты данных, соответствующие изменяющимся потребностям корпоративных вычислительных сред, поэтому он может сменить RAID 5 в серве­рах общего назначения (например, в файловых и веб-серверах) по мере перехода на совместно используемую дисковую память, а также роста объема дисковых массивов и самих дисков. В своих процессорах ввода-вывода IOP331 и ЮР333 корпорация Intel уже сейчас предлагает аппаратную реализацию алгоритмов RAID 6.

Яндекс.Метрика