Суббота, 18.05.2024, 20:35

Компьютерный музей

Меню сайта
Категории раздела
Технология RAID [1]
Системы сетевого хранения данных [0]
Виртуализация в системах хранения данных [0]
NAS - подключаемая к сети [0]
Интерфейсы корпоративных систем хранения данных [0]
RAID: безопасность данных [0]
Технология Super DLT [0]
Итоги столетия магнитной записи [0]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Наш опрос
Оцените мой сайт
Всего ответов: 61
Форма входа
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Хранение данных » Технология RAID

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

    По мере роста объемов оперативной информации, необходимой в повседневной работе, дисковые массивы становятся все более привычными и незаменимыми элементами локальных сетей масштаба отдела и выше. Дисковые массивы - основной элемент сетей хранения данных SAN (Storage Area Network), получающих все большее распространение. Эти сети позволяют многочисленным пользователям совместно работать с информацией в удаленном массиве, как если бы она хранилась на локальных дисках. Кроме того, растет популярность кластерных решений, в которых дисковые массивы выполняют роль общедоступных ресурсов.

    По данным корпорации Disk/Trend ( http://www.disktrend.com ), рынок дисковых массивов неуклонно рос в течение последнего десятилетия, однако некоторые его сегменты развивались значительно быстрее остальных. Это, например, можно сказать о так называемых избыточных массивах независимых дисков RAID (Redundant Arrays of Independent Disks).
    Дисковые массивы

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

    Некоторые задачи, наоборот, характеризуются значительным числом небольших по объему запросов (таковы, например, задачи обработки баз данных). Располагая записи базы данных по дискам массива, можно распределить загрузку, независимо позиционируя диски. Такую архитектуру принято называть массивом с независимым доступом.

    К сожалению, при увеличении количества дисков в массиве надежность массива в целом уменьшается. При независимых отказах и экспоненциальном законе распределения наработки на отказ среднее время безотказной работы MTTF (Mean Time To Failure) всего массива вычисляется по формуле:

    MTTF = MMTFd/Nd,
    где MMTFd - среднее время безотказной работы одного диска; Nd - количество дисков.

    В том случае, когда система способна продолжать работать даже при выходе из строя одного из ее компонентов, говорят о ее невосприимчивости к отказам (fault tolerance). Для накопителей информации под невосприимчивостью к отказам понимают их способность в случае случайного сбоя продолжать выполнение операций ввода-вывода без потери данных.

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

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

    Второй способ реализации избыточных дисковых массивов - это избыточное кодирование с помощью вычисления четности. Контроль четности применяется в компьютерных системах уже довольно давно, с тех самых пор, когда для хранения одного байта в ОЗУ стали использовать 9 разрядов. Девятый бит (называемый контрольным, или разрядом четности) необходим для контроля за целостностью информации. Четность определяется применением операции "исключающее ИЛИ" (сложение по модулю 2 - XOR) ко всем разрядам в слове данных. При четном числе единиц контрольный бит устанавливается в ноль, а при нечетном - в единицу. При считывании данных информационные разряды снова суммируются, и полученный результат сравнивается со значением контрольного бита. Если они совпадают, данные, скорее всего, верны, а если нет - значения одного или нескольких разрядов ошибочны.
    История RAID

    В 1987 г . Паттерсон, Гибсон и Катц, американские исследователи из Калифорнийского университета в Беркли, описали в своей статье A Case for Redundant Arrays of Inexpensive Disks (RAID) несколько типов дисковых массивов, обозначив их аббревиатурой RAID. Основная идея RAID состояла в объединении нескольких небольших и недорогих дисков в массив, который по производительности не уступал бы одному большому диску (Single Large Expensive Drive, SLED), использовавшемуся обычно с компьютерами типа мэйнфрейм. Заметим, что для компьютера этот массив дисков должен был выглядеть как одно логическое устройство. Увеличение количества дисков в массиве, как правило, означало повышение производительности, по крайней мере при чтении информации. Слово "недорогой" (inexpensive) в названии RAID характеризует стоимость одного диска в массиве по сравнению с большими дисками мэйнфреймов. Кстати, некоторое время спустя после выхода вышеупомянутой статьи из Беркли пришла новая расшифровка аббревиатуры RAID - Redundant Arrays of Independent Disks. Дело в том, что из-за низкой надежности недорогих дисков в массивах первоначально пришлось использовать достаточно дорогие дисковые устройства мэйнфреймов.

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

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

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

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

    Идея создания больших томов путем объединения дискового пространства не нова. Объемы баз данных на крупных предприятиях всегда превышали емкости одиночных дисков, поэтому поочередное размещение широко использовалось для создания больших логических томов, состоящих из нескольких физических дисков.

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

    Реализуемое в системах RAID поочередное размещение предполагает запись первого сегмента данных на первый диск, второго - на второй и т. д. В этом случае производительность массива повышается, поскольку компьютер начинает записывать очередной сегмент данных (на следующий диск) еще до того, как закончил запись предыдущего сегмента. Для дальнейшего повышения производительности дисковых систем отдельные группы дисков подключаются к разным контроллерам.

    Для стандартизации продуктов RAID в 1992 г . был организован промышленный консорциум RAB (RAID Advisory Board - экспертный совет по RAID, http://www.raid-advisory.com ). Сегодня консорциум включает более 40 компаний.

    В компьютерной индустрии выделяют несколько классов дисковых массивов. Разумеется, разные классы ориентированы на решение различных задач. Заметим, что набор отдельных дисков, не объединенных в RAID, называют обычно JBOD (Just a Bunch of Disks).
    Уровни RAID

    К настоящему времени консорциум RAB стандартизировал несколько уровней объединения дисков в массивы. Номера уровней не связаны с характеристиками RAID, они попросту соответствуют порядку, в котором были предложены различные варианты. Уровни с RAID 1 по RIAD 5 включительно были представлены в упомянутой выше статье специалистов из Беркли, и эта систематика была принята как стандарт де-факто.

    RAID 0 - Non-Redundant Striped Array

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

    RAID 1 - Mirrored Arrays

    К этому классу относятся подсистемы, применяющие методы зеркалирования и дублирования. Они отличаются максимальной стоимостью и избыточностью, зато в ряде случаев показывают самую высокую производительность среди классов 1-5. RAID 1 широко применяются в современных архитектурах систем хранения. Их основной недостаток - высокая цена, так как для любого приложения приходится удваивать объем необходимой дисковой памяти. Именно поэтому они наиболее эффективны в случае небольших объемов критической информации. Минимальное число дисков равно двум.

    RAID 2 - Parallel Array with ECC

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

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

    RAID 3 - Parallel Array with Parity

    Подсистемы этого класса похожи на подсистемы RAID 2, за исключением того, что у них для хранения контрольных сумм используется только один выделенный диск, на который записывается сумма данных по модулю 2 (XOR). При записи данные разбиваются на блоки, каждый из которых записывается на отдельный диск. Затем вычисляется контрольная сумма, которая записывается на дополнительный диск. При выходе из строя любого из основных дисков его содержимое можно восстановить по контрольным данным и информации, оставшейся на исправных дисках. Здесь, как и в RAID 2, данные для записи или чтения расслаиваются на небольшие подблоки. Подсистемы RAID 3, как правило, обеспечивают максимальную скорость передачи данных, которая необходима при решении задач, связанных с большими массивами данных. Схема RAID 3 предусматривает использование как минимум трех дисков и применяется обычно в системах, работающих с относительно большими последовательными записями, например, файлами изображений. RAID 3 требует значительно меньше избыточного дискового пространства, нежели RAID 1.

    Архитектуры RAID

    Дисковые массивы могут быть основаны на одной из двух архитектур: программной или аппаратной. Нельзя однозначно сказать, что какая из них лучше. Каждый вариант организации массива удовлетворяет тем или иным потребностям с учетом финансовых возможностей, количества пользователей и используемых приложений. Обе архитектуры базируются на исполнении программного кода. Отличаются они фактически тем, где этот код исполняется - в центральном процессоре компьютера (программная реализация) или в специализированном процессоре на RAID-контроллере (аппаратная реализация).

    Главное преимущество программной реализации - низкая стоимость. Но при этом у нее много недостатков: низкая производительность, загрузка центрального процессора дополнительной работой, увеличение шинного трафика. Программно обычно реализуют те уровни RAID, которые не требуют значительных вычислений. Учитывая эти особенности, RAID-системы с программной реализацией используются в серверах начального уровня. С тех пор как в стандартные ОС включена поддержка нескольких уровней RAID (0, 1 и 5), стоимость программной архитектуры практически сведена к нулю.

    Аппаратная архитектура RAID отличается большей сложностью, поскольку требует специальных аппаратных компонентов. Контроллер массива, часто называемый RAID-картой, содержит собственный XOR-вычислитель, вспомогательную память, а также каналы SCSI или UDMA. Такая архитектура позволяет достичь существенного выигрыша в производительности. Впрочем, для систем начального уровня, где процессор сервера занят незначительное время, разница между программной и аппаратной архитектурами практически незаметна. Но она достаточно ощутимо проявляется при высокой нагрузке на подсистему ввода-вывода. Соответственно аппаратные реализации RAID дороже программных.

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

    Категория: Технология RAID | Добавил: Мегазоид (28.08.2009)
    Просмотров: 1975 | Рейтинг: 0.0/0 |
    Всего комментариев: 0