Введение в RAID: RAID-0






Одной из наиболее популярных техник увеличения надёжности хранения данных и ускорения скорости доступа к ним является RAID — Redundant Array of Inexpensive Disks (Избыточный Массив Недорогих Дисков). Эта концепция была придумана в 1977 году David Patterson, Garth Gibson и Randy Katz как способ объединить несколько дисков в массив, который с точки зрения операционной системы рассматривался бы как один диск, повысив при этом уровень надёжности хранения данных или увеличив скорость доступа к ним, или и то, и другое одновременно.



Прежде, чем умники успеют воскликнуть что-то о том, что буква «I» в аббревиатуре RAID происходит вовсе не от слова «Inexpensive» (недорогой), спешу им сообщить — я не опечатался. Именно «Inexpensive» изначально лежало в основе аббревиатуры RAID. Со временем аббревиатура стала расшифровываться как «Redundant Array of Independent Disks» (Избыточный Массив Независимых Дисков), вероятно потому, что слово «Independent» больше ассоциируется с дисками и контроллерами, нежели слово «Inexpensive». Лично мне больше нравится употреблять изначальный вариант расшифровки аббревиатуры. Неважно, какой вариант будете использовать вы, главное не забывать о том, что в RAID-массиве все диски являются физически-независимыми друг от друга устройствами. Вернёмся к теме нашей статьи.

Изначально, когда концепция RAID появилась на свет, было определено пять уровней (вариантов конфигурации) RAID. С течением времени были придуманы дополнительные уровни RAID, известные как «гибридные».

Чтобы оказывать консультативную помощь IT-сообществу в разработке новых конфигураций RAID, был создан Консультативный Совет RAID (RAID Advisory Board, RAB). В цели этой организации не входит создание каких либо стандартов. Она создана для того, чтобы консультировать нуждающихся о существующих в мире общепринятых конфигурациях RAID. Сегодня множество компаний создают свои собственные конфигурации RAID со странными названиями, часто приводящих инженеров в замешательство. RAB призвана уменьшить распространение различных «фантастических» конфигураций RAID и однозначно именовать широкоиспользуемые и принятые сообществом существующие уровни RAID, чтобы никто не путался в определениях.

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

Как уже говорилось ранее, изначально в  RAID было определено пять различных конфигураций, а позже были разработаны ещё несколько. В терминологии RAID каждая конфигурация определена числом, называемым «уровнем». Основными уровнями RAID на сегодня являются: RAID-0, RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 и RAID-6. В сегодняшней заметке мы с вами поговорим о RAID-0.

Уровень RAID-0 разработан таким образом, чтобы повысить производительность массива. Достигается это за счёт того, что данные разделяются между несколькими дисками. Изображение, приведённое выше (взято с Википедии, автор — Cburnett), наглядно иллюстрирует способ, которым данные размещаются на дисках.

Как видим, первый блок данных A1 записывается на первый диск, второй блок данных A2 записывается на второй диск, третий блок данных A3 — снова на первый диск, четвёртый блок A4 — на второй и так далее. Если операции ввода-вывода происходят достаточно быстро, то блоки, размещаемые на разных дисках (например A1 и A2), записываются почти одновременно. Про такую схему записи блоков данных обычно говорят, что данные распределены между дисками. В этом случае время записи данных значительно увеличивается по сравнению с тем, если бы это происходило с использованием одного диска.

Чтение из массива RAID-0 также происходит значительно быстрее. Запрос на чтение поступает к контроллеру массива, который «знает» как располагаются данные между дисками. После чего, блоки данных считываются одновременно с двух дисков, что почти вдвое увеличивает скорость чтения по сравнению в однодисковым вариантов хранения данных. Вы можете использовать в массиве RAID-0 столько дисков, сколько посчитаете нужным (ну, или сколько позволит ваше оборудование и ваш бюджет).

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

Следовательно, RAID-0 необходимо рассматривать только как способ увеличить скорость доступа к данным. Избыточность хранимых данных в таком массиве определяется лишь возможностями отдельно взятых дисков. Эти факторы определяют места и возможные варианты использования RAID-0. Например, массив такого типа может применяться в случаях, когда вам крайне важна производительность чтения/записи данных, а не надёжность их хранения, т. е. либо у вас ещё где-то имеются копии данных, либо сами данные не столь важны. Классический вариант применения RAID-0 — в приложениях, которым нужно быстро-работающее временное хранилище для промежуточных данных, в то время как все важные результаты помещаются в более надёжные хранилища. Если в таком варианте использования RAID-0 вдруг выйдет из строя, вы без потерь сможете заменить вышедшие из строя диски, перестроить массив и перезапустить приложение заново.

Ёмкость и частота сбоев массива RAID-0 вычисляется очень просто. Ёмкость массива вычисляется так:

где n — это количество дисков в массиве, а min (ёмкость диска) — это объём диска с минимальным объёмом (да, в RAID-0 вы можете использовать диски разного размера). Это уравнение отражает ещё один важный факт: RAID-0 максимально использует доступное дисковое пространство для хранения данных, поскольку для этого уровня не требуется хранение избыточной информации в виде данных для контроля чётности. Всё доступное дисковое пространство используется таким образом, чтобы максимально повысить производительность обмена данными с массивом.

Частота сбоев чуток более сложна для понимания, но вычисляется вполне понятным образом:

где MTTF (Mean Time To Failure) — среднее время наработки на отказ. Таким образом, увеличивая количество дисков в в массиве вы снижаете среднее время наработки на отказ массива в целом. Имея в массиве два диска, вы снижаете MTTF наполовину, при трёх дисках — в три раза и т. д. Так что, теперь вам уже должно быть однозначно понятно почему люди отказываются от использования RAID-0 там, где важна надёжность и постоянная доступность данных. Однако другой стороной медали является то, что RAID-0 — самая быстродействующая конфигурация, рассматриваемая в рамках это серии статей.

Давайте подытожим основные моменты, присущие RAID-0:

  • плюсы:
    • высокая производительность;
    • наилучшая эффективность использования дискового пространства;
  • минусы:
    • нет контроля чётности данных;
    • низкий показатель MTTF;
  • минимальное количество дисков в массиве: 2.

Источник: Linux-Mag.Com




Введение в RAID: RAID-0: 1 комментарий

  1. «В этом случае время записи данных значительно увеличивается по сравнению с тем, если бы это происходило с использованием одного диска.» — на оборот, время записи уменьшается.

    И перед второй формуолой говорите о частоте а вычисляете период (обратная величина). А за статью спасибо.

Комментарии запрещены.