Избыточные дисковые подсистемы RAID

В основе средств обеспечения отказоустойчивости дисковой памяти лежит общий для всех отказоустойчивых систем принцип избыточности, и дисковые подсистемы RAID (Redundant Array of Inexpensive Disks, дословно — «избыточный массив недорогих дисков») являются примером реализации этого принципа.

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

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

Различают несколько вариантов RAID-массивов, называемых также уровнями:

RAID-0, RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 и некоторые другие.

При оценке эффективности RAID-массивов чаще всего используются следующие критерии:

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

• производительность операций чтения и записи;

• степень отказоустойчивости.

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

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

Рис. 13. Уровень RAID-0.

 

Уровень RAID-0 не обладает избыточностью данных, а значит, не имеет возмож­ности повысить отказоустойчивость. Если при считывании произойдет сбой, то данные будут безвозвратно испорчены.

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

 


Рис.14. Уровень RAID-1.

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

Уровень RAID-2 расщепляет данные побитно: первый бит записывается на пер­вый диск, второй бит — на второй диск и т. д. Отказоустойчивость реализуется в RAID-2 путем использования для кодирования данных корректирующего кода Хэмминга, который обеспечивает исправление однократных ошибок и обнару­жение двукратных ошибок. Избыточность обеспечивается за счет нескольких до­полнительных дисков, куда записывается код коррекции ошибок.

В массивах RAID-3 используется расщепление (stripping) данных на массив ков с выделением одного диска на весь набор для контроля четности. То есть, если имеется массив из N дисков, то запись на N-1 из них производится параллельно побайтным расщеплением, а N-й диск используется для записи контроль» информации о четности. Диск четности является резервным. Если какой-либо выходит из строя, то данные остальных дисков плюс данные о четности резервного диска позволяют не только определить, какой из дисководов массива вышел из строя, но и восстановить утраченную информацию. Это восстановление выполняться динамически, по мере поступления запросов, или в результате выполнения специальной процедуры восстановления, когда содержимое отказавшего диска заново генерируется и записывается на резервный диск.

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

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

В уровне RAID-5 используется метод, аналогичный RAID-4, но дан­ные о контроле четности распределяются по всем дискам массива. При выполне­нии операции записи требуется в три раза больше оперативной памяти. Каждая команда записи инициирует ту же последовательность «считывание—модифи­кация—запись» в нескольких дисках, как и в методе RAID-4. Наибольший выигрыш в производительности достигается при операциях чтения. Поскольку информация о четности может быть считана и записана на несколько дисков од­новременно, скорость записи по сравнению с уровнем RAID-4 увеличивается.

Рис.15. RAID- 5.

Кроме рассмотренных выше имеются еще и другие варианты организации со­вместной работы избыточного набора дисков, среди них можно особо отметить технологию RAID-10, которая представляет собой комбинированный способ, при котором данные «расщепляются» (RAID-0) и зеркально копируются (RAID-1) без вычисления контрольных сумм. Обычно две пары «зеркальных» массивов объединяются и образуют один массив RAID-0. Этот способ целесообразно при­менять при работе с большими файлами.

 



ROOT"]."/cgi-bin/footer.php"; ?>