Что такое raid массив. FAQ по практической реализации RAID

  • 22.07.2019

Начнем с малого: «RAID-массив» или в простонародье «RAID», что это?

RAID – это аббревиатура, которая расшифровывается как (англ. "Redundant Array of Independent Disks"), что в переводе на Русский - "избыточный (резервный) массив независимых дисков".
Проще говоря, «RAID-массив» - это объединение физических HDD дисков в один логический.
Логический диск – это, обычный HDD диск разделен на несколько логических. Обычно такое применяется в стационарных компьютерах, из одного делают несколько.
Как уже было упомянуто выше, что обычный физический диск можно разделить на несколько логических. В «RAID» происходит все на оборот - несколько HDD дисков устанавливаются в соединительный элемент (где они будут храниться), а потом операционная система воспринимает все HDD диски как один. т.е., операционная система 100% уверена, что подключен к ней всего один физический диск.

Какие бывают RAID-массивы их всего 2-а типа, аппаратные и программные:

1) Аппаратные RAID-массивы – обычно создаются до того, как производится загрузка операционной системы при помощи специализированных утилит, установленных (зашитых) в «RAID-контроллер» - что-то вроде «BIOS». После такой обработке, при подключении «RAID-массива» операционная система на стадии инсталляции видит ваши HDD диски как один.

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

"Для чего это нужно?" – возникнет у Вас вопрос! Ответ прост: для того, чтобы повысить скорость чтения и записи данных или повышения безопасности и отказоустойчивости.
Давайте рассмотрим, каким же все-таки образом «RAID-массив» увеличивает производительность и безопасность для Ваших данных?" – чтобы ответить на этот вопрос, мы рассмотрим различные типы «RAID-массивов», как они формируются и что из этого получается.

Рассмотрим «RAID-0»:

Более одного HDD диска объединяются в один посредством последовательного соединения, после чего происходит суммирование объемов т.е. - если взять несколько HDD дисков, каждый из которых объемом «500Гб» и создадим из них «RAID-0», то операционная система будет воспринимать установленные HDD диски как один суммируя их, из чего мы получим один HDD диск объемом в 1000Gb (1Tb). После того, как произойдет слияние дисков в один массив, скорость чтения и записи у накопителя будет в два раза больше, чем у дисков по раздельности.

Пример – расположенная база данных на двух физических HDD дисках, один из которых пользователь будет производить только чтение данных, в то время как другой пользователь, будет производить запись данных на другой HDD диск, причем все это они будут делать одновременно. А вот если расположение базы данных будет только на одном диске, сам HDD диск функцию чтения или записи совершенно разных пользователей будет выполнять последовательно своему ПО. Массив «RAID-0» предоставит возможность выполнять чтение и запись параллельно. По скорости можно сделать вывод - сколько в вашем RAID-0 массиве HDD дисков, умножаем Ито число на существующую скорость (с той скоростью у вас быстрее будет работать RAID-0) – вся зависимость массива пропорциональная – скорость HDD исков возрастает в N раз, где N = количеству установленных HDD дисков, в массив.

Массив RAID-0 обладает только одним недостатком, этот минус перекрывает все, даже плюсы его использования – в массиве RAID-0 отсутствует отказоустойчивост. Проблема состоит в следующем, если выходит из строя один из физических HDD дисков установленный в массив, то следовательно умирает весь массив.
Существует старая шутка по этому поводу: "Что обозначает "0" в значении RAID-0? - объем информации которая восстанавливается после смерти массива!" (правда не весело совсем если там что-то очень важное).

Далее рассмотрим массив «RAID-1»:

Несколько или более HDD дисков объединяются в один путем установки в специализированный массив, т.е. если взять несколько HDD дисков емкостью 500Гб и сделаем из них массив «RAID-1», операционная система будет воспринимать его как один массив объемом в 500Гб.
Скорость чтения и записи у «RAID-1» массива будет точно такая же, как и у одного HDD диска, потому что, чтение и запись будет производиться производятся сразу на оба HDD диска одновременно.
Массив «RAID-1» не увеличит скорость производимости, зато отказоустойчивость вам обеспечена, в случае если выйдет из строя один из HDD дисков, на втором HDD диске будет полный бекап (резервная копия) информации. В случае удаления данных с массива целенаправленно, то удаление происходит с обоих дисков одновременно!

Далее рассматриваем массив «RAID-5»:

Наиболее из безопасных вариантов RAID-5. Заполнение массива информацией идет с расчетом, придерживаясь формулы «(N - 1) * DiskSize», где N число - это количество HDD дисков находящихся в массиве, а аббревиатура «DiskSize» - это объем каждого установленного HDD диска, т.е. при создании массива версии «RAID-5» из 3-х HDD дисков, емкостью каждый из которых по 500Гб, у нас получится массив объемом памяти в 1000Gb 1терабайт.

Суть RAID-5 массива заключается в следующем - несколько HDD дисков объединяются в «RAID-0», а на третьем HDD диске (который не учитывается) будет храниться, назовем ее "контрольная сумма" – это информация, предназначенная для восстановления одного из дисков массива, в случае его смерти. У массива «RAID-5» скорость записи немного ниже, так как есть небольшие затраты времени на расчет и запись полученной суммы на дополнительный диск, а скорость чтения остается такой же, как вмассиве «RAID-0».
Если случится, что один из находящихся у вас HDD дисков массива RAID-5 выйдет из строя, сразу резко понизится скорость чтения и записи, так как все происходящие операции имеют сопровождение дополнительным манипулятивными действиями.

Фактически RAID-5 превращается в RAID-0 и если своевременно не позаботиться восстановлением RAID-массива есть существенный риск потерять данные полностью.
Параллельно с массивом «RAID-5» есть возможность использовать «Spare-диск» - запасной. Во время стабильного режима работы «RAID-массива», диск «Spare» не используется и находится в режиме простоя. Но в случае возникновении любой критической ситуации, резервное восстановление «RAID-массива» начнется в автоматическом режиме - на запасной HDD диск будет происходить восстановление информации с поврежденного HDD при помощи контрольно-вычислительных сумм, нахождение которых находится на отдельном HDD диске.
Массив «RAID-5» обычно создается минимум из трех HDD дисков и поможет спасти Ваши данные только от одиночных возникших ошибок. При одновременном появлении различных ошибок на разных HDD дисках массив «RAID-5» не спасет.

Далее массив «RAID-6»:

Обладает улучшенными возможностями по сравнению с «RAID-5» массивом. В общем, суть работы такая же, как с массивом «RAID-5», только вычисление контрольных сумм будет происходить не на один HDD диск, а на два HDD диска, причем весь подсчет контрольных сумм делаются совершенно разных алгоритмов, что способствует существенному повышению отказоустойчивости всего «RAID-массива» в целом. Массив RAID-6 в основном собирается от 4-х HDD дисков. Формула, по которой ведутся расчеты, размера памяти массива выглядит следующее -- (N - 2) * DiskSize, где N - количество HDD дисков установленных в массив, а «DiskSize» - размер памяти каждого HDD диска, т.е. при создании массива «RAID-6» из пяти HDD дисков номиналом по 500Гб, в сумме получится массив размером в 1500Gb(1,5Tb-терабайта).
Скорость массива «RAID-6» при записи будет ниже чем у массива «RAID-5» приблизительно на 10-15%, снижение скорости обусловлено дополнительными затратами по времени на расчет с записью контрольных сумм.

Массив «RAID-10»:

Его иногда называют «RAID 0+1» или «RAID 1+0», Что представляет собой симбиоз «RAID-0 и RAID-1». Данный массив обычно создается минимум из четырех HDD дисков: на первом разделе «RAID-0» и на втором «RAID-0» для того, чтобы повысить скорость чтения и записи, между собой они будут находится в зеркале массива «RAID-1»- это нужно для повышения отказоустойчивости. Массив «RAID-10» смог совместить в себе плюсы двух первых вариантов - что последовало его быстродействию и отказоустойчивости.

Массив «RAID-50» - это аналог «RAID-10», являющимся симбиозом «RAID-0 и RAID-5» - по факту собирается как массив «RAID-5», только составляющие элементы которые входят в него будут не физические HDD диски, а он будет состоять из массивов плана «RAID-0». Таким образом, массив «RAID-50» предоставит Вам при работе, замечательную скорость чтения с записью и будет способствовать устойчивости и надежности «RAID-5».

Далее массив «RAID-60»:

Тот же принцип: фактически это «RAID-6», собирается из нескольких «RAID-0» массивов.
Существуют и другие комбинации массивов, таких как - «RAID 5+1 / RAID 6+1» - по сути, они схожи с «RAID-50 / RAID-60» с той разницей, что базой их элементов массива обладают не «RAID-0» как у других, а зеркала массива «RAID-1».

Понятия о комбинированных «RAID»-массивов:

По сути такие массивы как «RAID-10» / «RAID-50» / «RAID-60» и «RAID X+1» - это прямые наследники базовых массивов как - «RAID-0» / RAID-1 / RAID-5 и RAID-6 – в основном их используют для того, чтобы повысить либо скорость чтения, либо скорость записи или для повышения отказоустойчивости, используя в себе стандартный функционал базовых, стандартных типов RAID-массивов.

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

1) Массив RAID-0 в чистом виде не используется (совсем!);
2) «RAID-1» массив используется в основном там, где скорость чтения или записи не особенно играют большую роль, а в большей степени требуется отказоустойчивость – пример: на массив «RAID-1» очень хорошо устанавливать различные операционные системы. В этом случае к HDD дискам кроме ОС не обращается никто, скорость самих HDD дисков для работы достаточно, отказоустойчивость обеспечена;
3) RAID-5 устанавливаем туда, где необходима скорость с отказоустойчивостью, но нет возможности приобрести большего количества HDD дисков или если есть нужда восстанавливать массивы если произойдет повреждение, при этом, чтобы работа самого массива не прекращалась – в этом случае помогут Spare-диски (запасные).
4) Стандартное применение массива «RAID-5»:
В хранилищах данных или как их еще называют NAS сервер;
5) «RAID-6» массив:
Применяется там, где есть угроза, что выйти из строя могут сразу нескольких HDD дисков в массиве. В практике такого практически нет, если только у параноиков;
6) «RAID-10» массив:
Применяют там, где нужна скорость, для быстрой работы и чтобы надежно. Так же основное направлением в применении массива «RAID-10» - это, серверы баз данных и файловые серверы.

Вот в принципе и все что хотелось выяснить, что к чему и почему!

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

Что представляют собой дисковые массивы RAID?

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

В такой связке количество винчестеров в плане установки теоретически ограничений не имеет. Все зависит только от того, сколько подключений поддерживает материнская плата. Собственно, почему используются дисковые массивы RAID? Тут стоит обратить внимание на то, что в направлении развития технологий (относительно именно жестких дисков) они давно замерли на одной точке (скорость вращения шпинделя 7200 об./мин, размер кэша и т. д.). Исключение в этом плане составляют только модели SSD, но и у них в основном производится только увеличение объема. В то же время в производстве процессоров или планок оперативной памяти прогресс более ощутим. Таким образом, за счет применения RAID-массивов осуществляется увеличение прироста производительности при обращении к винчестерам.

Дисковые массивы RAID: виды, назначение

Что же касается самих массивов, условно их можно разделить по используемой нумерации (0, 1, 2 и т. д.). Каждый такой номер соответствует выполнению одной из заявленных функций.

Основными в этой классификации являются дисковые массивы с номерами 0 и 1 (далее будет понятно, почему), поскольку именно на них возложены основные задачи.

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

RAID 0 (Striping)

Нулевые дисковые массивы по сути своей предназначены для ускорения доступа к хранимой информации (записи или считывания). Они, как правило, могут иметь в связке от двух до четырех винчестеров.

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

RAID 1

Дисковые массивы с единичным обозначением относятся к разряду Mirroring (зеркальное отображение) и служат для сохранения данных путем дублирования.

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

RAID 2 и выше

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

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

Что лучше использовать на практике?

Безусловно, если на компьютере предполагается использование ресурсоемких программ, например, современных игр, лучше использовать массивы RAID 0. В случае работы с важной информацией, которую нужно сохранить любым способом, придется обратиться к массивам RAID 1. В силу того, что связки с номерами от двух и выше популярными так и не стали, их применение обусловливается исключительно желанием пользователя. Кстати, применение нулевых массивов является практичным и в том случае, если пользователь часто загружает на компьютер файлы мультимедиа, скажем, фильмы или музыку с высоким битрейтом для формата MP3 или в стандарте FLAC.

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

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



RAID 0

  • RAID 0 (Stripe). Режим, при использовании которого достигается максимальная производительность. Данные равномерно распределяются по дискам массива, объединяются в один, который может быть размечен на несколько. Распределенные операции чтения и записи позволяют значительно увеличить скорость работы, поскольку несколько одновременно читают/записывают свою порцию данных. Пользователю доступен весь объем , но это снижает надежность хранения данных, поскольку при отказе одного из дисков массив обычно разрушается и восстановить данные практически невозможно. Область применения - приложения, требующие высоких скоростей обмена с диском, например видеозахват, видеомонтаж. Рекомендуется использовать с высоконадежными дисками.

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

    RAID 10
  • RAID 10 , также иногда называется RAID 1+0 - комбинация двух первых вариантов. (Массив RAID0 из массивов RAID1). Имеет все скоростные преимущества RAID0 и преимущество надежности RAID1, сохраняя недостаток - высокую стоимость дискового массива, так как эффективная ёмкость массива равна половине ёмкости использованных в нём дисков. Для создания такого массива требуется минимум 4 диска. (При этом их число должно быть чётным).
  • RAID 0+1 - Массив RAID1 из массивов RAID0. Фактически не применяется из-за отсутствия преимуществ по сравнению с RAID10 и меньшей отказоустойчивости.

    RAID 1E
  • RAID 1E - Похожий на RAID10 вариант распределения данных по дискам, допускающий использование нечётного числа (минимальное количество - 3)
  • RAID 2, 3, 4 - различные варианты распределенного хранения данных с дисками, выделенными под коды четности и различными размерами блока. В настоящее время практически не используются из-за невысокой производительности и необходимости выделять много дисковой емкости под хранение кодов ЕСС и/или четности.


    RAID 5
  • RAID 5 - массив, также использующий распределенное хранение данных аналогично RAID 0 (и объединение в один большой логический ) + распределенное хранение кодов четности для восстановления данных при сбоях. Относительно предыдущих конфигураций размер Stripe-блока еще больше увеличен. Возможно как одновременное чтение, так и запись. Плюсом этого варианта является то, что доступная для пользователя емкость массива уменьшается на емкость лишь одного диска, хотя надежность хранения данных ниже, чем у RAID 1. По сути, является компромиссом между RAID0 и RAID1, обеспечивая достаточно высокую скорость работы при неплохой надежности хранения данных. При отказе одного диска из массива данные могут быть восстановлены без потерь в автоматическом режиме. Минимальное количество дисков для такого массива - 3.
    "Программные" реализации RAID5, встроенные в южные мосты материнских плат, не отличаются высокой скоростью записи, поэтому годятся далеко не для всех применений.


    RAID 5EE
  • RAID 5EE - массив, аналогичный RAID5, однако кроме распределенного хранения кодов четности используется распределение резервных областей - фактически задействуется , который можно добавить в массив RAID5 в качестве запасного (такие массивы называют 5+ или 5+spare). В RAID 5 массиве резервный диск простаивает до тех пор, пока не выйдет из строя один из основных , в то время как в RAID 5EE массиве этот диск используется совместно с остальными HDD все время, что положительно сказывается на производительность массива. К примеру, массив RAID5EE из 5 HDD сможет выполнить на 25% больше операций ввода/вывода за секунду, чем RAID5 массив из 4 основных и одного резервного HDD. Минимальное количество дисков для такого массива - 4.


    RAID 6
  • RAID 6 - аналог RAID5 c большим уровнем избыточности - информация не теряется при отказе двух любых дисков, соответственно, общая ёмкость массива уменьшается на ёмкость двух дисков. Минимальное количество дисков, необходимое для создания массива такого уровня - 4. Скорость работы в общем случае примерно аналогична RAID5. Рекомендуется для применений, где важна максимально высокая надёжность.


    RAID 50
  • RAID 50 - объединение двух(или более, но это крайне редко применяется) массивов RAID5 в страйп, т.е. комбинация RAID5 и RAID0, частично исправляющая главный недостаток RAID5 - низкую скорость записи данных за счёт параллельного использования нескольких таких массивов. Общая ёмкость массива уменьшается на ёмкость двух , но, в отличие от RAID6, без потери данных такой массив переносит отказ лишь одного диска, а минимально необходимое число дисков для создания массива RAID50 равно 6. Наряду с RAID10, это наиболее рекомендуемый уровень RAID для использования в приложениях, где требуется высокая производительность в сочетании с приемлемой надёжностью.


    RAID 60
  • RAID 60 - объединение двух массивов RAID6 в страйп. Скорость записи повышается примерно в два раза, относительно скорости записи в RAID6. Минимальное количество дисков для создания такого массива - 8. Информация не теряется при отказе двух дисков из каждого RAID 6 массива.
  • Matrix RAID - технология, реализованная фирмой Intel в своих южных мостах, начиная с ICH6R, позволяющая организовать всего на двух дисках несколько массивов RAID0 и RAID1, одновременно создавая разделы как с повышенной скоростью работы, так и с повышенной надёжностью хранения данных.
  • JBOD (От английского "Just a Bunch Of Disks")- последовательное объединение нескольких физических в один логический, не влияющее на производительность (надёжность при этом падает аналогично RAID0), при этом могут иметь разные размеры. В настоящее время практически не применяется.
  • Здравствуйте. Сегодня мне попали в руки два новеньких жестких диска , долго думал что с ними можно сделать, чтобы оказать помощь моим читателям. Подумав, я всё-таки решил, что лучше рассказа о RAID 1, созданного самой операционной системой, я вряд ли смогу что-нибудь написать. Итак, что такое RAID 1?

    RAID 1 — это массив из двух дисковых носителей, информация на которых дублируется на обоих дисках. То есть вы имеете два диска, которые являются полными копиями друг друга. Для чего это делается? В первую очередь, для увлечения надежности хранения информации. Так как вероятность выхода из строя обоих дисков одновременно мала, в случае выхода из строя одного диска, у вас всегда останется копия всей информации на втором. На RAID 1 массиве можно хранить любую информацию как и на обычном жестком диске, что позволяет не волноваться о важном проекте, над которым вы работали очень долгое время.

    Сегодня же мы рассмотрим, как создается RAID массив средствами самой Windows при использовании двух пустых дисков (уверенно заявляю, что данная инструкция работает на Windows 7, 8 и 8.1). Если вас интересует создание RAID массива с использованием уже заполненного диска, то вам необходима на эту тему.

    И, собственно, инструкция к вашему ознакомлению:

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

    2) Открываем «Панель управления → Система и безопасность → Администрирование → Управление компьютером → Запоминающие устройства → Управления дисками». При первом включении утилита сообщит об установке новых дисковых устройств и предложит выбрать разметку для них. Если у вас диск 2,2Тб и более выбирайте GPT, если меньше — то MBR.

    3) В нижней части окна находим один из наших новых жестких дисков и нажимаем по нему правой клавишей. Выбираем «Создать зеркальный том»:

    4) Откроется мастер создания образа. Жмём далее.

    5) На этой странице вам нужно добавить диск, который будет дублировать выбранный до этого диск. Поэтому выбираем в левой части диск и жмём кнопку «Добавить»:



    Жмём далее.

    6) Выбираем букву, которой будет обозначен новый том. Я выбрал M (от англ. Mirror). Нажимаем далее.

    7) Задаем файловую систему, размер кластера и имя тома. Также рекомендую установить галочку напротив «Быстрое форматирование», пусть делает всё сразу. И снова далее.

    8) Проверяем что у нас получилось, если всё правильно жмём «Готово».

    Пословицу "Пока гром не грянет, мужик не перекрестится" знает почти каждый. Жизненная она: пока та или иная проблема не коснется юзера вплотную, тот о ней даже не задумается. Умер блок питания и прихватил с собой пару-тройку девайсов - пользователь бросается искать статьи соответствующей тематики о вкусном и здоровом питании. Сгорел или начал глючить от перегрева процессор - в "Избранном" появляется пара-тройка ссылок на развесистые ветки форумов, на которых обсуждают охлаждение CPU .

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

    На этом месте мы остановимся и сделаем краткий экскурс в историю и теорию RAID-массивов. Сама аббревиатура RAID расшифровывается как Redundant Array of Independent Disks (избыточный массив независимых дисков). Раньше вместо independent употребляли inexpensive (недорогой), но со временем это определение потеряло актуальность: недорогими стали почти все дисковые накопители.

    История RAID началась в 1987 году, когда появилась на свет статья "Корпус для избыточных массивов из дешевых дисков (RAID)", подписанная товарищами Петерсоном, Гибсоном и Катцем. В заметке была описана технология объединения нескольких обычных дисков в массив для получения более быстрого и надежного накопителя. Также авторы материала рассказывали читателям о нескольких типах массивов - от RAID-1 до RAID-5. Впоследствии к описанным почти двадцать лет назад массивам прибавился RAID-массив нулевого уровня, и он обрел популярность. Так что же представляют собой все эти RAID-x? В чем их суть? Почему они называются избыточными? В этом мы и постараемся разобраться.

    Если говорить очень простым языком, то RAID - это такая штука, которая позволяет операционной системе не знать, сколько дисков установлено в компьютере. Объединение хардов в RAID-массив - процесс, прямо противоположный разбиению единого пространства на логические диски: мы формирует один логический накопитель на основе нескольких физических. Для того чтобы сделать это, нам потребуется или соответствующий софт (об этом варианте мы даже говорить не будем - ненужная это вещь), или RAID-контроллер, встроенный в материнку, или отдельный, вставляемый в слот PCI либо PCI Express. Именно контроллер объединяет диски в массив, а операционная система работает уже не с HDD, а с контроллером, который ей ничего ненужного не сообщает. А вот вариантов объединения нескольких дисков в один существует великое множество, точнее, около десяти.

    Какими бывают RAID?

    Самый простой из них - JBOD (Just a Bunch of Disks). Два винчестера склеены в один последовательно, информация записывается сначала на один, а затем на другой диск без разбиения ее на куски и блоки. Из двух накопителей по 200 Гбайт мы делаем один на 400 Гбайт, работающий практически с той же, а в реальности с чуть меньшей скоростью, что и каждый из двух дисков.

    JBOD является частным случаем массива нулевого уровня, RAID-0. Встречается также другой вариант названия массивов этого уровня - stripe (полоска), полное наименование - Striped Disk Array without Fault Tolerance. Этот вариант тоже предполагает объединение n дисков в один с объемом, увеличенным в n раз, но диски объединяются не последовательно, а параллельно, и информация на них записывается блоками (объем блока задает пользователь при формировании RAID-массива).

    То есть в случае, если на два накопителя, входящие в массив RAID-0, нужно записать последовательность цифр 123456, контроллер разделит эту цепочку на две части - 123 и 456 - и первую запишет на один диск, а вторую - на другой. Каждый диск может передавать данные… ну, пусть со скоростью 50 Мбайт/с, а суммарная скорость двух дисков, данные с которых берутся параллельно, составляет 100 Мбайт/c. Таким образом, скорость работы с данными должна увеличиться в n раз (реально, конечно, рост скорости меньше, так как потери на поиск данных и на передачу их по шине никто не отменял). Но этот прирост дается не просто так: при поломке хотя бы одного диска информация со всего массива теряется.

    RAID-массив нулевого уровня. Данные разбиваются на блоки и раскидываются по дискам. Контроля четности и резервирования нет.

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

    Кстати, дополнительный минус stripe-массива заключается в его непереносимости. Я не имею в виду то, что он плохо переносит какие-то отдельные виды пищи или, к примеру, хозяев. На это ему наплевать, но перенести куда-то сам массив - это целая проблема. Даже если притащить к другу оба диска и драйверы контроллера в придачу, не факт, что они определятся как один массив и данными удастся воспользоваться. Более того, известны случаи, когда простое подключение (без записи чего-либо!) stripe-дисков к "неродному" (отличному от того, на котором формировался массив) контроллеру приводило к порче информации в массиве. Не знаем, насколько эта проблема актуальна сейчас, с появлением современных контроллеров, но все же советуем быть аккуратнее.


    RAID-массив первого уровня из четырех дисков. Диски разбиты на пары, на накопителях внутри пары хранятся одинаковые данные.

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

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

    Как видите, и у RAID-0, и у RAID-1 есть свои недостатки. А как бы от них избавиться? Если у вас есть минимум четыре винчестера, вы можете создать конфигурацию RAID 0+1. Для этого массивы RAID-1 объединяются в массив RAID-0. Или наоборот, иногда создают массив RAID-1 из нескольких массивов RAID-0 (на выходе получится RAID-10, единственное преимущество которого - меньшее время восстановления данных при выходе одного диска из строя).

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

    Однако главный недостаток RAID-10 - высокая стоимость дисков. Все-таки цену четырех (минимум!) винчестеров маленькой не назовешь, особенно если реально нам доступен объем лишь двух из них (о надежности и о том, сколько она стоит, как мы уже говорили, мало кто думает). Большая (100%-я) избыточность хранения данных дает о себе знать. Все это привело к тому, что в последнее время популярность приобрел вариант массива под названием RAID-5. Для его реализации необходимо три диска. Помимо самой информации, контроллер складирует на накопителях массива еще и блоки контроля четности.

    Не будем вдаваться в подробности работы алгоритма контроля четности, скажем только, что он позволяет в случае потери информации на одном из дисков восстановить ее, используя данные четности и живые данные с других дисков. Блок четности имеет объем одного физического диска и равномерно распределяется по всем винчестерам системы так, что потеря любого диска позволяет восстановить информацию с него с помощью блока четности, находящегося на другом диске массива. Информация же разбивается на большие блоки и записывается на диски поочередно, то есть по принципу 12-34-56 в случае с трехдисковым массивом.

    Соответственно, общий объем такого массива - это объем всех дисков минус емкость одного из них. Восстановление данных, разумеется, происходит не мгновенно, но зато такая система имеет высокую производительность и запас надежности при минимальной стоимости (для массива объемом 1000 Гбайт нужно шесть дисков по 200 Гбайт). Впрочем, производительность такого массива все равно будет ниже скорости stripe-системы: при каждой операции записи контроллеру нужно обновлять еще и индекс четности.

    RAID-0, RAID-1 и RAID 0+1, иногда еще RAID-5 - этими уровнями чаще всего исчерпываются возможности десктопных RAID-контроллеров. Более высокие уровни доступны лишь сложным системам, основой для которых служат SCSI-винчестеры. Однако счастливые обладатели SATA-контроллеров с поддержкой Matrix RAID (такие контроллеры встроены в южные мосты ICH6R и ICH7R от компании Intel) могут воспользоваться преимуществами массивов RAID-0 и RAID-1, имея всего два диска, а те, у кого есть плата с ICH7R, могут объединить RAID-5 и RAID-0, если у них есть четыре одинаковых накопителя.

    Как это реализуется на практике? Разберем более простой случай с RAID-0 и RAID-1. Допустим, вы купили два харда по 400 Гбайт. Вы разбиваете каждый из накопителей на логические диски объемом 100 Гбайт и 300 Гбайт. После этого с помощью зашитой в BIOS утилиты Intel Application Accelerator RAID Option ROM вы объединяете 100-гигабайтные разделы в stripe-массив (RAID-0), а 300-гигабайтные - в массив Mirror (RAID-1). Теперь на быстрый диск объемом 200 Гбайт можно складывать, скажем, игрушки, видеоматериал и другие данные, требующие высокой скорости дисковой подсистемы и притом не очень важные (то есть те, о потере которых вы не будете очень сильно жалеть), а на зеркалируемый 300-гигабайтный диск вы перемещаете рабочие документы, архив почты, служебный софт и другие жизненно необходимые файлы. При выходе из строя одного диска вы лишаетесь того, что было размещено на массиве stripe, но данные, размещенные вами на втором логическом диске, дублируются на оставшемся накопителе.

    Объединение уровней RAID-5 и RAID-0 подразумевает то, что часть объема четырех дисков отведена под быстрый stripe-массив, а другая часть (пусть это будут 300 Гбайт на каждом диске) приходится на блоки данных и блоки четности, то есть вы получаете один сверхбыстрый диск объемом 400 Гбайт (4 х 100 Гбайт) и один надежный, но менее быстрый массив объемом 900 Гбайт 4 х 300 Гбайт минус 300 Гбайт на блоки четности.

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

    Вот, пожалуй, и все виды RAID-массивов, которые применяются в домашних системах. Однако в жизни вам могут встретиться RAID-2, 3, 4, 6 и 7. Так что давайте все-таки посмотрим, что это за уровни такие.

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

    Структура массива RAID-3 такова: в массиве из n дисков данные разбиваются на блоки размером 1 байт и распределяются по n-1 дискам, а еще один диск используется для хранения блоков четности. В RAID-2 для этой цели стояло n-1 дисков, но большая часть информации на этих дисках использовалась только для коррекции ошибок на лету, а для простого восстановления в случае поломки диска достаточно меньшего ее количества, хватает и одного выделенного винчестера.


    RAID третьего уровня с отдельным диском для хранения информации о четности. Резервирования нет, но данные восстановить можно.

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


    Массив пятого уровня отличается от RAID-3 тем, что блоки четности равномерно разбросаны по всем дискам массива.

    RAID-4 похож на RAID-3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось "победить" проблему низкой скорости передачи данных небольшого объема. Запись же производится медленно из-за того, что четность для блока генерируется при записи и записывается на единственный диск. Используются массивы такого типа очень редко.

    RAID-6 - это тот же самый RAID-5, но теперь на каждом из дисков массива хранятся два блока четности. Таким образом, при выходе двух дисков из строя информация все еще может быть восстановлена. Разумеется, повышение надежности привело к уменьшению полезного объема дисков и к увеличению минимального их количества: теперь при наличии n дисков в массиве общий объем, доступный для записи данных, будет равен объему одного диска, умноженному на n-2. Необходимость вычисления сразу двух контрольных сумм определяет второй недостаток, унаследованный RAID-6 от RAID-5, - низкую скорость записи данных.

    RAID-7 - зарегистрированная марка компании Storage Computer Corporation. Структура массива такова: на n-1 дисках хранятся данные, один диск используется для складирования блоков четности. Но добавилось несколько важных деталей, призванных ликвидировать главный недостаток массивов такого типа: кэш данных и быстрый контроллер, заведующий обработкой запросов. Это позволило снизить количество обращений к дискам для вычисления контрольной суммы данных. В результате удалось значительно повысить скорость обработки данных (кое-где в пять и более раз).



    Массив уровня RAID 0+1, или конструкция из двух массивов RAID-1, объединенных в RAID-0. Надежно, быстро, дорого.

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

    Создание массива

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



    Matrix RAID в действии. Часть объема дисков используется массивом RAID-0, оставшуюся часть пространства забирает массив RAID-1.

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

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

    Пренебрежительное отношение к качественному питанию и температурному режиму дисков может существенно сократить срок жизни HDD, бывает, все диски массива выходят из строя, а все данные оказываются безвозвратно потерянными. В частности, современные винчестеры (в особенности IBM и Hitachi) очень чувствительны к каналу +12 В и не любят даже малейшего изменения напряжения на нем, так что перед закупкой всего оборудования, необходимого для построения массива, стоит проверить соответствующие напряжения и при необходимости включить новый БП в список покупок.

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

    Кроме того, RAID не отменяет необходимости регулярно изготавливать резервные копии данных. Зеркалирование зеркалированием, но если вы случайно испортите или сотрете файлы, второй диск вам никак не поможет. Так что делайте бэкап всякий раз, когда вы можете его делать. Это правило действует вне зависимости от наличия RAID-массивов внутри ПК.

    Так что, are you RAIDy? Да? Отлично! Только в погоне за объемом и скоростью не забудьте другую пословицу: "Заставь дурака Богу молиться, он и лоб расшибет". Крепких вам дисков и надежных контроллеров!

    Ценовая выгода шумного RAID

    RAID - это хорошо даже без оглядки на деньги. Но давайте посчитаем цену простейшего stripe-массива объемом 400 Гбайт. Два диска Seagate Barracuda SATA 7200.8 по 200 Гбайт каждый обойдутся вам примерно в $230. RAID-контроллеры встроены в большинство материнских плат, то бишь мы получаем их бесплатно.

    В то же время 400-гигабайтный диск той же модели стоит $280. Разница - $50, и на эти деньги можно приобрести мощный блок питания, который вам, несомненно, понадобится. Я уж не говорю о том, что производительность составного "диска" при более низкой цене будет почти вдвое выше производительности одного винчестера.

    Проведем теперь подсчет, ориентируясь на общий объем 250 Гбайт. Дисков по 125 Гбайт не существует, так что возьмем два винчестера по 120 Гбайт. Цена каждого диска - $90, цена одного 250-гигабайтного винчестера - $130. Что ж, при таких объемах за производительность приходится платить. А если взять 300-гигабайтный массив? Два диска по 160 Гбайт - примерно $200, один на 300 Гбайт - $170… Опять не то. Получается, что выгоден RAID только при использовании дисков очень большого объема.