RUEN

Основы RAID

11.10.2011

LianLi-PC-X2000-18

Также как и для оперативной памяти, для дисковой памяти важнейшими характеристиками являются скорость обмена данными и их сохранность. Очевидно, что ввиду большого объема дисковой памяти потеря хранящихся в ней данных из-за сбоя или отказа оборудования является более серьезной проблемой, чем потеря информации оперативной памяти, и может потребовать существенно большего времени для восстановления процессов вычислений. Поэтому к дисковой памяти предъявляются более высокие требования по отказоустойчивости. Одним из способов повышения отказоустойчивости дисковой памяти является организация избыточного дискового массива, позволяющего восстановить исходные данные при сбоях и отказах. Одна из технологий повышения отказоустойчивости дисковой памяти получила название RAID – Redundant Array of Inexpensive Disks – избыточный массив недорогих дисков.

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

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

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

Различные схемы реализации дисковых массивов получили название уровней RAID.

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

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

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

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

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

В массивах RAID 5, как и в RAID 4, на дисках поочередно размещаются большие блоки данных, но, в отличие от системы предыдущего уровня, контрольная информация распределяется по всем дискам массива. Это небольшое изменение оказывает огромное влияние на производительность записи небольших массивов информации. Если операции записи могут быть спланированы так, чтобы обращаться за данными и соответствующими им блоками четности к разным дискам, появляется возможность параллельного выполнения N/2 записей, где N – число дисков в группе. Данная организация имеет одинаково высокую производительность при записи и при считывании как небольших, так и больших объемов информации, что делает ее наиболее привлекательной в случаях смешанных применений.

Следующие уровни RAID разработаны с целью повышения надежности хранения данных, но их реализация обходится довольно дорого.

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

RAID уровня 7 является фирменным решением компании Storage Computer. Оно отличается от других уровней RAID тем, что предполагает асинхронность работы своих компонентов и независимость управления ими. По этой причине контроллер дисковых массивов RAID 7 должен работать под управлением специальной операционной системы реального времени. Системы RAID 7 обладают более высокой производительностью по сравнению с массивами RAID других уровней. В них данные распределяются по информационным дискам, а контрольная информация хранится на отдельном диске. С целью повышения производительности операции чтения и записи централизованно кэшируются.

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

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

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

Наиболее интересными современными реализациями технологий построения отказоустойчивых дисковых массивов являются Dynamic Migration и AutoRAID.

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

Технология AutoRAID разработана фирмой Hewlett Packard для систем хранения и обработки данных. Системы на основе AutoRAID представляют собой отказоустойчивые дисковые массивы, в которых автоматически выбирается уровень RAID для кодирования данных, в максимальной степени соответствующий текущим запросам пользователя.

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

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


Полезное