DSCon ATTO Technologies

Главная > Образование > Дисковые (RAID) массивы

ДИСКОВЫЕ СИСТЕМЫ RAID

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

Дисковые подсистемы, включающие микропроцессоры для представления внутренних жестких дисков как более объемных виртуальных дисков, называют системами RAID. Подсистемы, не обладающие такой возможностью, называют JBOD (Just a Bunch Of Disks - простой массив дисков). Системы JBOD подключают к внешним разъемам SCSI контроллера RAID установленного в компьютере. Разница между системами RAID и JBOD показана на рисунке.


ТРИ АРГУМЕНТА В ПОЛЬЗУ RAID

Системы RAID (Redundant Array of Inexpensive Disks - массив недорогих дисков с избыточностью) были созданы в рамках исследовательского проекта в 1980-х в Калифорнийском Университете в Беркли. Сегодня большинство устройств для хранения данных стоят недорого, поэтому вместо слова inexpensive - "недорогие", используется independent - "независимые". В любом случае, слова, составляющие акроним, не слишком хорошо объясняют преимущества RAID.

Есть три основные причины, объясняющие популярность RAID среди специалистов по информационным технологиям:

  • RAID позволяет увеличить объем и улучшить управление хранилищами данных;
  • RAID позволяет увеличить производительность;
  • RAID позволяет увеличить надежность и доступность при хранении данных.

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

ПРОИЗВОДИТЕЛЬНОСТЬ И УПРАВЛЯЕМОСТЬ RAID

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


НАРАЩИВАЕМ МОЩНОСТЬ

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

Общая емкость всех дисков подсистемы RAID действительно очень важна, хотя реально используемый объем такой системы меньше суммы емкостей составляющих ее дисков участников (member disks). (Member disk (в дословном переводе - "диск-участник") - это один из дисков, составляющих систему RAID). Емкость подсистемы RAID снижается за счет служебных данных, передаваемых используемым алгоритмом RAID.

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


ДОСТИЖЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ЧЕРЕЗ РАССЛОЕНИЕ ОПЕРАЦИЙ ВВОДА-ВЫВОДА

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

Существует два основных типа расслоенных массивов, которые используются в RAID:

  • Расслоенные массивы с параллельным доступом
  • Расслоенные массивы с независимым доступом

Массивы обоих типов позволяют увеличить производительность, однако они созданы для разных типов данных и приложений. Давайте познакомимся с обоими и сравним.

Расслоенные массивы с параллельным доступом

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

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

Рисунок 2 иллюстрирует, как данные расслаиваются при записи на диски-участники. Диаграмма показывает четыре диска массива, от диска 1 до диска 4. Они показаны в пять разных моментов времени, от t=0 до t=4. Диски вращаются с одинаковой частотой.

  1. В момент времени t=0, первый слой передаваемых данных записывается в буфер диска 1. Буферы остальных дисков находятся в состоянии готовности.
  2. В момент времени t=1, второй слой передаваемых данных записывается в буфер диска 2. Буфер диска 1 начинает переписывать данные на диск. Буферы остальных дисков находятся в состоянии готовности.
  3. В момент времени t=2, третий слой передаваемых данных записывается в буфер диска 3. Буфер диска 1 заканчивает переписывать данные на диск. Буфер диска 2 начинает переписывать данные на диск. Буфер диска 4 находится в состоянии готовности.
  4. В момент времени t=3, четвертый слой передаваемых данных записывается в буфер диска 4. Буфер диска 1 переходит в состояние готовности. Буфер диска 2 завершает переписывание данные на диск. Буфер диска 3 начинает переписывать данные на диск.
  5. В момент времени t=4, буфер диска 1 опять заполняется. Буфер диска 2 находится в состоянии готовности. Буфер диска 3 заканчивает переписывание данные на диск. Буфер диска 3 начинает переписывать данные на диск.

Приложения для расслоенных массивов с параллельным доступом

Расслоенные массивы с параллельным доступом хороши для приложений, характеризующиеся длительным, последовательным обращением к данным. Это некоторые из приложений, которые выигрывают от алгоритма кэширования на опережении считывания:

  • Приложения, обслуживающие большие файлы последовательного доступа
    • Мультимедиа: видео и аудио
    • Обработка фильмов и графики, анимация
    • Автоматизированное проектирование (CAD, computer aided design)
  • Долговременное хранение данных

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

Расслоенные массивы с независимым доступом

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

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

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

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

Контроллер RAID

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


Приложения для расслоенных массивов с независимым доступом

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

Ниже приведены типы приложений, выигрывающие от режима независимого доступа.

  • Системы с интенсивным I/O
    • Системы, предназначенные для планирования и управления ресурсами предприятий и материального планирования (системы ERP и MRP)
    • Серверы Интернет для ведения электронной коммерции
    • Системы работы с клиентами
    • Другие приложения для многопользовательских баз данных
  • Файловые серверы с большим количеством маленьких файлов

Надежность данных через резервное копирование

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

  • Зеркальное
  • Паритетное

Принцип зеркального копирования прост: производится полное копирование данных на другое устройство или в другую ячейку. Это прекрасная прямолинейная методика, которая хорошо работает но требует 100% избыточности.

Паритетное копирование

Паритетное копирование проводится с помощью вычисления значения четности (или контрольных данных - check data) данных, хранящихся на дисках-участниках массива. Четность требует ресурсы дополнительного диска для хранения информации четности. Фактически, нет необходимости выделять для информации четности дополнительный диск, и данные, и информация четности могут быть распределены по всем дискам массива.

Четность рассчитывается посредством выполнения операции XOR (exclusive OR - исключающее ИЛИ). Общая идея четности XOR заключается в следующем: на любом из дисков может возникнуть сбой, и он восстанавливается посредством вычисления XOR контрольной группы данных и данных на других дисках массива. Это взаимодействие показано на рисунке 4.

Одно из преимуществ паритетного копирования заключается в том, что оно требует меньше дисков, чем зеркальное. В принципе, массив с любым количеством дисков можно защитить, используя емкость единственного диска. Например, в массиве из пяти дисков, объем одного диска выделяется для информации четности. Это не означает, что один из дисков будет полностью занят информацией четности, но будет занят объем массива, равный объему диска. Информация четности при этом может быть записана на всех дисках массива. Если выразить это в процентах, в массиве из пяти дисков служебной информацией будет занято 20% объема. Чем больше дисков в массиве, тем меньше будет процент объема, занятый служебной информацией.

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

Восстановление четности

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

В какой-то момент аварийный диск заменяется другим диском массива. В этот момент начинает работать процедура называемая восстановлением четности. В процессе восстановления четности считываются данные с работающих дисков, включая информацию четности, и начинается процесс воссоздания данных на новом диске, с использованием функции XOR. (На рисунке 5 показан процесс восстановления сбойного диска массива).

Продолжение: Сравнение уровней RAID (1, 2, 3, 4)

Где купить?
Контакты
Компания | Продукты | Поставщики | Поддержка | Образование | Press room
Copyright © 2000-2016 DSCon®. All Rights Reserved.