Столлингс) raid 2, raid 3, raid 4.

Уровни 2 и 3 используют технологию параллельного доступа. В таком массиве все диски, являющиеся элементами массива, участвуют в выполнении каждого запроса ввода-вывода. Обычно шпиндели индивидуальных дисководов синхронизируются таким образом, что все головки дисков располагаются в одной и той же позиции в любой момент времени. Как и в других схемах, здесь также используется разделение данных на полосы. В схемах RAID 2 и RAID 3 полосы оказываются очень малыми; нередко они соответствуют одному байту или слову. В схеме RAID 2 код с коррекцией ошибок рассчитывается по соответствующим битам каждого диска и хранится в соответствующих местах дискового массива. Обычно в этом случае используется код Хэмминга, который способен исправлять одинарные и выявлять двойные ошибки. Несмотря на то что для RAID 2 необходимо меньшее количество дисков, чем для RAID 1, эта схема все еще весьма дорога. Количество резервных дисков пропорционально количеству дисков данных. При одиночном считывании осуществляется одновременный доступ ко всем дискам. Данные запроса и код коррекции ошибок передаются контроллеру массива. При наличии однобитовой ошибки контроллер способен быстро ее откорректировать, так что доступ для чтения в этой схеме не замедляется. При одиночной записи происходит одновременное обращение ко всем дискам массива. Схема RAID 2 могла бы использоваться в среде с многочисленными ошибками дисков. Однако в силу высокой надежности дисков RAID 2 не была реализована.

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

При сбое дисковода происходит обращение к дисководу четности, и данные восстанавливаются на основе информации из оставшихся устройств. Как только сбойный диск будет заменен, отсутствующие данные могут быть заново сохранены на нового диске, после чего продолжается штатная работа системы. Восстановить данные довольно просто. Рассмотрим массив из пяти дисков, в которых ХО-ХЗ — данные на дисках 0-3, а Х4 — данные диска четности. Четность для i-го бита вычисляется следующим образом: Х4 (i) = Х3 (i) xor Х2 (i) xor X1(i) xor Х0(i); Пусть произошел сбой диска X1. Если мы добавим Х4(i) xor Х1(i) к обеим частям предыдущего уравнения, то получим

Х1(i) = Х4(i) xor Х3(i) xor Х2(i) xor Х0(i)

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

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

RAID-уровни с 4 по 6 используют технологию независимого доступа. В массиве с независимым доступом каждый диск функционирует независимо от других, так что отдельные запросы ввода-вывода могут выполняться параллельно. Соответственно, массивы с независимым доступом могут использоваться в тех же приложениях, которым необходима высокая частота запросов ввода-вывода, и менее пригодны для приложений, требующих большой скорости передачи данных. Как и в других RAID-схемах, здесь применяется расщепление данных на полосы. В схемах RAID 4-6 полосы сравнительно большие. В RAID 4 по соответствующим полосам на каждом диске данных вычисляется полоса четности хранящаяся на дополнительном избыточном диске. В схеме RAID 4 имеются дополнительные расходы при выполнении операции записи небольшого блока данных. При каждой записи программное обеспечение управления массивом должно обновить не только пользовательские данные, но и соответствующие биты четности. Рассмотрим массив, состоящий из пяти дисков, в котором устройства Х0-Х3 содержат данные, а Х4 представляет собой диск четности. Предположим, что выполняется запись, которая включает только полосу на диске X1. Изначально для каждого i-ro бита выполняется следующее соотношение:

Х4 (i) = Х3 (I) xor Х2 (i) xor X1 (i) xor Х0 (i)

После обновления (измененные биты отмечены штрихом) получаем:

X4'(i) = X3(i) xor X2(i) xor Xl(i) xor X0(i) = X3(i) xor X2(i) xor Xl'(i) xor X0(i) xor Xl(i) xor Xl(i) =

= X4(i) xor Xl(i) xor Xl'(i)

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

Столлингс) RAID 5, RAID 6

RAID 5 организован подобно RAID 4, но с тем отличием, что RAID 5 распределяет полосы четности по всем дискам. Распространённое размещение полос четности — в соответствии с циклической схемой... Распределение полос четности по всем накопителям позволяет избежать снижения производительности, связанного с операциями ввода-вывода с одним диском четности (RAID 4).

Схема RAID 6 была представлена в работе [KATZ89] разработчиками из Беркли. В этой схеме выполняются два различных расчёта чётности, результаты которых хранятся в разных блоках на разных дисках. Поэтому массивы RAID 6 с объемом пользовательских данных, требующих N дисков, состоят из N+2 дисков. RAID 6 использует два различных алгоритма проверки данных. Один из них — применение операции "исключающего или", используемой в RAID 4 и RAID 5, другой представляет собой более сложную схему вычислений. Это дает возможность восстановления данных даже в случае сбоя двух дисков массива. Преимущество RAID 6 состоит в том, что эта схема обеспечивает чрезвычайно высокую надежность хранения данных. Потери данных возможны лишь при одновременном выходе из строя трех дисков массива. С другой стороны, у RAID 6 высокие накладные расходы при операциях записи, поскольку каждая запись затрагивает два блока четности.

Наши рекомендации