Пословицу "Пока гром не грянет, мужик не перекрестится" знает почти каждый. Жизненная она: пока та или иная проблема не коснется юзера вплотную, тот о ней даже не задумается. Умер блок питания и прихватил с собой пару-тройку девайсов - пользователь бросается искать статьи соответствующей тематики о вкусном и здоровом питании. Сгорел или начал глючить от перегрева процессор - в "Избранном" появляется пара-тройка ссылок на развесистые ветки форумов, на которых обсуждают охлаждение 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 только при использовании дисков очень большого объема.

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

Вопрос повышения производительности дисковой подсистемы весьма сложен. Рост вычислительных мощностей современных процессоров привел к тому, что наблюдается явный дисбаланс между возможностями жестких дисков и потребностями процессоров. При этом не спасают ни дорогие SCSI-диски, ни уж тем более IDE-диски. Однако если не хватает возможностей одного диска, то, может быть, отчасти решить данную проблему позволит наличие нескольких дисков? Конечно, само по себе наличие двух или более жестких дисков на компьютере или на сервере дела не меняет - нужно заставить эти диски работать совместно (параллельно) друг с другом так, чтобы это позволило повысить производительность дисковой подсистемы на операциях записи/чтения. Кроме того, нельзя ли, используя несколько жестких дисков, добиться повышения не только производительности, но и надежности хранения данных, чтобы выход из строя одного из дисков не приводил к потере информации? Именно такой подход был предложен еще в 1987 году американскими исследователями Паттерсоном, Гибсоном и Катцом из Калифорнийского университета Беркли. В своей статье «A Case for Redundant Arrays of Inexpensive Discs, RAID» («избыточный массив недорогих дисков») они описали, каким образом можно объединить несколько дешевых жестких дисков в одно логическое устройство так, чтобы в результате повышались емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы.

С момента выхода статьи прошло уже 15 лет, но технология построения RAID-массивов не утратила актуальности и сегодня. Единственное, что изменилось с тех пор, - это расшифровка аббревиатуры RAID. Дело в том, что первоначально RAID-массивы строились вовсе не на дешевых дисках, поэтому слово Inexpensive (недорогие) поменяли на Independent (независимые), что больше соответствовало действительности.

Более того, именно сейчас технология RAID получила широкое распространение. Так, если еще несколько лет назад RAID-массивы использовались в дорогостоящих серверах масштаба предприятия с применением SCSI-дисков, то сегодня они стали своеобразным стандартом де-факто даже для серверов начального уровня. Кроме того, постепенно расширяется и рынок IDE RAID-контроллеров, то есть актуальность приобретает задача построения RAID-массивов на рабочих станциях с использованием дешевых IDE-дисков. Так, некоторые производители материнских плат (Abit, Gigabyte) уже начали интегрировать IDE RAID-контроллеры на сами платы.

Итак, RAID - это избыточный массив независимых дисков (Redundant Arrays of Independent Discs), на который возлагается задача обеспечения отказоустойчивости и повышения производительности. Отказоустойчивость достигается за счет избыточности. То есть часть емкости дискового пространства отводится для служебных целей, становясь недоступной для пользователя.

Повышение производительности дисковой подсистемы обеспечивается одновременной работой нескольких дисков, и в этом смысле чем больше дисков в массиве (до определенного предела), тем лучше.

Совместную работу дисков в массиве можно организовать с использованием либо параллельного, либо независимого доступа.

При параллельном доступе дисковое пространство разбивается на блоки (полоски) для записи данных. Аналогично информация, подлежащая записи на диск, разбивается на такие же блоки. При записи отдельные блоки записываются на различные диски (рис. 1), причем запись нескольких блоков на различные диски происходит одновременно, что и приводит к увеличению производительности в операциях записи. Нужная информация также считывается отдельными блоками одновременно с нескольких дисков (рис. 2), что также способствует росту производительности пропорционально количеству дисков в массиве.

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

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

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

Уровни RAID

В настоящее время существует несколько стандартизированных RAID-уровней: от RAID 0 до RAID 5. К тому же используются комбинации этих уровней, а также фирменные уровни (например, RAID 6, RAID 7). Наиболее распространенными являются уровни 0, 1, 3 и 5.

RAID 0

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

RAID 1 (Mirrored disk)

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

RAID 2

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

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

Естественно, что L при вычислении по указанной формуле округляется в большую сторону до ближайшего целого числа. Впрочем, чтобы не связываться с формулами, можно воспользоваться другим мнемоническим правилом: разрядность контрольного слова определяется количеством разрядов, необходимым для двоичного представления размера слова. Если, например, размер слова равен четырем (в двоичной записи 100), то, чтобы записать это число в двоичном виде, потребуется три разряда, значит, размер контрольного слова равен трем. Следовательно, если имеется четыре диска для хранения данных, то потребуется еще три диска для хранения контрольных данных. Аналогично при наличии семи дисков для данных (в двоичной записи 111) понадобится три диска для хранения контрольных слов. Если же под данные отводится восемь дисков (в двоичной записи 1000), то нужно уже четыре диска для контрольной информации.

Код Хэмминга, формирующий контрольное слово, основан на использовании поразрядной операции «исключающего ИЛИ» (XOR) (употребляется также название «неравнозначность»). Напомним, что логическая операция XOR дает единицу при несовпадении операндов (0 и 1) и нуль при их совпадении (0 и 0 или 1 и 1).

Само контрольное слово, полученное по алгоритму Хэмминга, - это инверсия результата поразрядной операции исключающего ИЛИ номеров тех информационных разрядов слова, значения которых равны 1. Для иллюстрации рассмотрим исходное слово 1101. В первом (001), третьем (011) и четвертом (100) разрядах этого слова стоит единица. Поэтому необходимо провести поразрядную операцию исключающего ИЛИ для этих номеров разрядов:

Само же контрольное слово (код Хэмминга) получается при поразрядном инвертировании полученного результата, то есть равно 001.

При считывании данных вновь рассчитывается код Хэмминга и сравнивается с исходным кодом. Для сравнения двух кодов используется поразрядная операция «исключающего ИЛИ». Если результат сравнения во всех разрядах равен нулю, то считывание верное, в противном случае его значение есть номер ошибочно принятого разряда основного кода. Пусть, к примеру, исходное слово равно 1100000. Поскольку единицы стоят в шестой (110) и седьмой (111) позициях, контрольное слово равно:

Если при считывании зафиксировано слово 1100100, то контрольное слово для него равно 101. Сравнивая исходное контрольное слово с полученным (поразрядная операция исключающего ИЛИ), имеем:

то есть ошибка при считывании в третьей позиции.

Соответственно, зная, какой именно бит является ошибочным, его легко исправить «на лету».

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

RAID 3

RAID уровня 3 - это отказоустойчивый массив с параллельным вводом-выводом и одним дополнительным диском, на который записывается контрольная информация (рис. 7). При записи поток данных разбивается на блоки на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива, кроме выделенного для хранения контрольной информации. Для вычисления контрольной информации (называемой также контрольной суммой) используется операция «исключающего ИЛИ» (XOR), применяемая к записываемым блокам данных. При выходе из строя любого диска данные на нем можно восстановить по контрольным данным и данным, оставшимся на исправных дисках.

Рассмотрим в качестве иллюстрации блоки размером по четыре бита. Пусть имеются четыре диска для хранения данных и один диск для записи контрольных сумм. Если имеется последовательность бит 1101 0011 1100 1011, разбитая на блоки по четыре бита, то для расчета контрольной суммы необходимо выполнить операцию:

Таким образом, контрольная сумма, записываемая на пятый диск, равна 1001.

Если один из дисков, например третий, вышел из строя, то блок 1100 окажется недоступным при считывании. Однако его значение легко восстановить по контрольной сумме и значениям остальных блоков, используя все ту же операцию «исключающего ИЛИ»:

Блок 3=Блок 1Блок 2Блок 4

Контрольная сумма.

В нашем примере получим:

Блок 3=1101001110111001= 1100.

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

RAID 4

RAID уровня 4 - это отказоустойчивый массив независимых дисков с одним диском для хранения контрольных сумм (рис. 8). RAID 4 во многом схож с RAID 3, но отличается от последнего прежде всего значительно большим размером блока записываемых данных (большим, чем размер записываемых данных). В этом и есть главное различие между RAID 3 и RAID 4. После записи группы блоков вычисляется контрольная сумма (точно так же, как и в случае RAID 3), которая записывается на выделенный для этого диск. Благодаря большему, чем у RAID 3, размеру блока возможно одновременное выполнение нескольких операций чтения (схема независимого доступа).

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

RAID 5

RAID уровня 5 - это отказоустойчивый массив независимых дисков с распределенным хранением контрольных сумм (рис. 9). Блоки данных и контрольные суммы, которые рассчитываются точно так же, как и в RAID 3, циклически записываются на все диски массива, то есть отсутствует выделенный диск для хранения информации о контрольных суммах.

В случае RAID 5 все диски массива имеют одинаковый размер, однако общая емкость дисковой подсистемы, доступной для записи, становится меньше ровно на один диск. Например, если пять дисков имеют размер 10 Гбайт, то фактический размер массива составляет 40 Гбайт, так как 10 Гбайт отводится на контрольную информацию.

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

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

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

Практическая реализация

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

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

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

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

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

Основной функцией RAID-массива является не увеличение емкости дисковой подсистемы (как видно из его устройства, такую же емкость можно получить и за меньшие деньги), а обеспечение надежности сохранности данных и повышение производительности. Для серверов, кроме того, выдвигается требование бесперебойности в работе, даже в случае отказа одного из накопителей. Бесперебойность в работе обеспечивается при помощи горячей замены, то есть извлечения неисправного SCSI-диска и установки нового без выключения питания. Поскольку при одном неисправном накопителе дисковая подсистема продолжает работать (кроме уровня 0), горячая замена обеспечивает восстановление, прозрачное для пользователей. Однако скорость передачи и скорость доступа при одном неработающем диске заметно снижается из-за того, что контроллер должен восстанавливать данные из избыточной информации. Правда, из этого правила есть исключение - RAID-системы уровней 2, 3, 4 при выходе из строя накопителя с избыточной информацией начинают работать быстрее! Это закономерно, поскольку в таком случае уровень «на лету» меняется на нулевой, который обладает великолепными скоростными характеристиками.

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


Сергей Пахомов

КомпьютерПресс 3"2002

RAID массив (Redundant Array of Independent Disks) – подключение нескольких устройств, для повышения производительности и\или надежности хранения данных, в переводе - избыточный массив независимых дисков.

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

Но вот простые жесткие диски (HDD) особо не продвинулись за последние 10 лет. Как была стандартной скорость 7200 об/мин, так она и осталась (не беря в расчет серверные HDD c оборотами 10.000 и более). На ноутбуках все еще встречаются медленные 5400 об/мин. Для большинства пользователей, чтобы повысить производительность своего компьютера будет удобнее купить SDD, но цена за 1 гигабайт такого носителя значительно больше, чем у простого HDD. «Как повысить производительность накопителей без сильной потери денег и объема? Как сохранить свои данные или повысить безопасность сохранности Ваших данных?» На эти вопросы есть ответ – RAID массив.

Виды RAID массивов

На данный момент существуют следующие типы RAID массивов:

RAID 0 или «Чередование» – массив из двух или более дисков для повышения общей производительности. Объем рейда будет общий (HDD 1 + HDD 2 = Общий объем), скорость считывания\записи будет выше (за счет разбиения записи на 2 устройства), но страдает надежность сохранности информации. Если одно из устройств выйдет из строя, то вся информация массива будет потеряна.

RAID 1 или «Зеркало» –несколько дисков копирующих друг друга для повышения надежности. Скорость записи остаётся на прежнем уровне, скорость считывания увеличивается, многократно повышается надежность (даже если одно устройство выйдет из строя, второе будет работать), но стоимость 1 Гигабайта информации увеличивается в 2 раза (если делать массив из двух hdd).

RAID 2 – массив, построенный на работе дисков для хранения информации и дисков коррекции ошибок. Расчет количества HDD для хранения информации выполняется по формуле «2^n-n-1», где n - количество HDD коррекции. Данный тип используется при большом количестве HDD, минимальное приемлемое число – 7, где 4 для хранения информации, а 3 для хранения ошибок. Плюсом этого вида будет повышенная производительность, по сравнению с одним диском.

RAID 3 – состоит из «n-1» дисков, где n – диск хранения блоков четности, остальные устройства для хранения информации. Информацию делится на куски меньше объема сектора (разбиваются на байты), хорошо подходит для работы с большими файлами, скорость чтения файлов малого объема очень мала. Характерен высокой производительностью, но малой надежностью и узкой специализацией.

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

RAID 5 и 6 – вместо отдельного диска для корреляции ошибок, как в прошлых вариантах, используются блоки, равномерно распределённые по всем устройствам. В этом случае повышается скорость чтения\записи информации за счет распараллеливания записи. Минусом данного типа является долговременное восстановление информации в случае выхода из строя одного из дисков. Во время восстановления идёт очень высокая нагрузка на другие устройства, что понижает надежность и повышает выход другого устройства из строя и потерю всех данных массива. Тип 6 повышает общую надежность, но понижает производительность.

Комбинированные виды RAID массивов:

RAID 01 (0+1) – Два Рейд 0 объединяются в Рейд 1.

RAID 10 (1+0) – дисковые массивы RAID 1, которые используются в архитектуре 0 типа. Считается самым надежным вариантом хранения данных, объединяя в себе высокую надежность и производительность.

Также можно создать массив из SSD накопителей . Согласно тестированию 3DNews, такое комбинирование не даёт существенного прироста. Лучше приобрести накопитель с более производительным интерфейсом PCI или eSATA

Рейд массив: как создать

Создается путем подключения через специальный RAID контроллер. На данный момент есть 3 вида контроллеров:

  1. Программный – программными средствами эмулируется массив, все вычисления производятся за счет ЦП.
  2. Интегрированный – в основном распространено на материнских платах (не серверного сегмента). Небольшой чип на мат. плате, отвечающий за эмуляцию массива, вычисления производятся через ЦП.
  3. Аппаратный – плата расширения (для стационарных компьютеров), обычно с PCI интерфейсом, обладает собственной памятью и вычислительным процессором.

RAID массив hdd: Как сделать из 2 дисков через IRST


Восстановление данных

Некоторые варианты восстановления данных:

  1. В случае сбоя Рейд 0 или 5 может помочь утилита RAID Reconstructor , которая соберет доступную информацию накопителей и перезапишет на другое устройство или носитель в виде образа прошлого массива. Данный вариант поможет, если диски исправны и ошибка программная.
  2. Для Linux систем используется mdadm восстановление (утилита для управления программными Рейд-массивами).
  3. Аппаратное восстановление должно выполняться через специализированные сервисы, потому что без знания методики работы контроллера можно потерять все данные и вернуть их будет очень сложно или вообще невозможно.

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

Отличного Вам дня!

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

Не вдаваясь в детали терминологии, Raid массив — это некий комплекс, построенный из нескольких жестких дисков, который позволяет более грамотно распределять между ними функции. Как обычно мы размещаем жесткие диски в компе? Подключаем к Sata один жесткий диск, потом другой, третий. И появляются в нашей операционке диски D, E, F и так далее. Мы можем поместить на них какие-то файлы или установить Windows, но по сути это будут отдельные диски — вынув один из них мы ровным счетом ничего не заметим (если на нем не была установлена ОС) кроме того, что нам не будут доступны записанные на них файлы. Но есть другой путь — объединить эти диски в систему, задать им определенный алгоритм совместной работы, в результате которого значительно повысится надежность хранения информации или скорость их работы.

Но прежде, чем мы сможем создать эту систему, нужно знать, поддерживает ли материнская плата работу с дисковыми массивами Raid. Во многих современных материнках уже имеется встроенный Raid-контроллер, который-то и позволяет объединить жесткие диски. Поддерживаемые схемы массивов имеются в описаниях к материнской плате. Например, возьмем первую попавшуюся мне на глаза в Яндекс Маркете плату ASRock P45R2000-WiFi.

Здесь описание поддерживаемых Raid массивов отображается в разделе «Дисковые контроллеры Sata».


В данном примере мы видим, что Sata контроллер поддерживает создание массивов Raid: 0, 1, 5, 10. Что означают эти цифры? Это обозначение различных типов массивов, в которых диски взаимодействуют между собой по разным схемам, которые призваны, как я уже говорил, либо ускорять их работу, либо увеличивают надежность от потери данных.

Если же системная плата компьютера не поддерживает Raid, то можно приобрести отдельный Raid-контроллер в виде PCI платы, которая вставляется в PCI слот на материнке и дает ей возможность создавать массивы из дисков. Для работы контроллера после его установки нужно будет также установить raid драйвер, который либо идет на диске с данной моделью, либо можно просто скачать из интернета. Лучше всего на данном устройстве не экономить и купить от какого-то известного производителя, например Asus, и с чипсетами Intel.


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

Массив RAID 1

Массив Raid 1 — один из самых распространенных и бюджетных вариантов, который использует 2 жестких диска. Этот массив призван обеспечить максимальную защиту данных пользователя, потому что все файлы будут одновременно копироваться сразу на 2 жестких диска. Для того, чтобы его создать, берем два одинаковых по объему харда, например по 500 Гб и делаем соответствующие настройки в BIOS для создания массива. После этого в вашей системе будет виден один жесткий диск размеров не 1 Тб, а 500 Гб, хотя физически работают два жестких диска — формула расчета приведена чуть ниже. И все файлы одновременно будут писаться на два диска, то есть второй будет полной резервной копией первого. Как вы понимаете, при выходе из строя одного из дисков вы не потеряете ни частички своей информации, так как у вас будет вторая копия этого диска.

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

Объем диска, который будет видеть система, рассчитывается здесь по формуле:


V = 1 x Vmin, где V — это общий объем, а Vmin — объем памяти самого маленького жесткого диска.

Массив RAID 0

Еще одна популярная схема, которая призвана повысить не надежность хранения, а наоборот, скорость работы. Также состоит из двух HDD, однако в этом случае ОС видим уже полный суммарный объем двух дисков, т.е. если объединить в Raid 0 диски по 500 Гб, то система увидит один диск размером 1 Тб. Скорость чтения и записи повышается за счет того, что блоки файлов пишутся поочередно на два диска — но при этом отказоустойчивость данной системы минимальная — при выходе из строя одного из дисков почти все файлы будут повреждены и вы потеряете часть данных — ту, которая была записана на сломавшийся диск. Восстанавливать информацию после этого придется уже в сервисном центре.

Формула расчета общего объема диска, видимого Windows, выглядит так:

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

Массив Raid 10 (0+1)

Как следует уже из самого названия, этот тип массива объединяет в себе свойства двух предыдущих — это как бы два массива Raid 0, объединенных в Raid 1. Используются четыре жестких диска, на два из них информация записывается блоками поочередно, как это было в Raid 0, а на два других — создаются полные копии двух первых. Система очень надежная и при этом достаточно скоростная, однако весьма дорогая в организации. Для создания нужно 4 HDD, при этом система будет видеть общий объем по формуле:

То есть, если возьмем 4 диска по 500 Гб, то система увидит 1 диск размером 1 Тб.

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

Массив RAID 5

Массив Raid 5 — оптимальное сочетание цены, скорости и надежности. В данном массиве минимально могут быть задействованы 3 HDD, объем рассчитывается из более сложной формулы:

V = N x Vmin — 1 x Vmin, где N — количество жестких дисков.

Итак, допустим у нас 3 диска по 500 Гб. Объем, видимый ОС, будет равен 1 Тб.

Схема работы массива выглядит следующим образом: на первые два диска (или три, в зависимости от их количества) записываются блоки разделенных файлов, а на третий (или четвертый) — контрольная сумма первых двух (или трех). Таким образом, при отказе одного из дисков, его содержимое легко восстановить за счет имеющейся на последнем диске контрольной суммы. Производительность такого массива ниже, чем у Raid 0, но такая же надежная, как Raid 1 или Raid 10 и при этом дешевле последнего, т.к. можно сэкономить на четвертом харде.

На схеме ниже представлена схема Raid 5 из четырех HDD.

Есть также другие режимы — Raid 2,3, 4, 6, 30 и т.д., но они являются по большому счету производными от перечисленных выше.

Как установить Raid массив дисков на Windows?

С теорией, надеюсь, разобрались. Теперь посмотрим на практику — вставить в слот PCI Raid контроллер и установить драйвера, думаю, опытным пользователям ПК труда не составит.

Как же теперь создать в операционной системе Windows Raid массив из подключенных жестких дисков?

Лучше всего, конечно, это делать, когда вы только-только приобрели и подключили чистенькие винчестеры без установленной ОС. Сначала перезагружаем компьютер и заходим в настройки BIOS — здесь нужно найти SATA контроллеры, к которым подключены наши жесткие диски, и выставить их в режим RAID.

После этого сохраняем настройки и перезагружаем ПК. На черном экране появится информация о том, что у вас включен режим Raid и о клавише, с помощью которой можно попасть в его настройку. В примере ниже предложено нажать клавишу «TAB».

В зависимости от модели Raid-контроллера она может быть другой. Например, «CNTRL+F»

Заходим в утилиту настройки и нажимаем в меню что-то типа «Create array» или «Create Raid» — надписи могут отличаться. Также если контроллер поддерживает несколько типов Raid, то будет предложено выбрать, какой именно нужно создать. В моем примере доступен только Raid 0.

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

Вот собственно и все — RAID настроен и теперь компьютер будет воспринимать ваши диски как один. Вот так, например, будет виден Raid при установке Windows.

Думаю, что вы уже поняли преимущества использования Raid. Напоследок приведу сравнительную таблицу замеров скорости записи и чтения диска отдельно или в составе режимов Raid — результат, как говорится, на лицо.

RAID 0, RAID 1, RAID 5, RAID 10 или что такое уровни RAID?

Посетители форума задают нам вопрос: «Какой уровень RAID самый надежный?» Все знают, что наиболее распространенным является уровень RAID5, однако он отнюдь не лишен серьезных недостатков, которые неочевидны для неспециалистов.

RAID 0, RAID 1, RAID 5, RAID 10 или что такое уровни RAID?
В своей статье я попытаюсь охарактеризовать самые популярные уровни RAID, а затем сформулирую рекомендации по использованию этих уровней. Для иллюстрации статьи я построил диаграмму, на которой поместил эти уровни в трехмерном пространстве надежности, производительности и ценовой эффективности.
JBOD (Just a Bunch of Disks) - это простое объединение (spanning) жестких дисков, которое уровнем RAID формально не является. Томом JBOD может быть массив из одного диска или объединение нескольких дисков. Контроллеру RAID для работы с таким томом не требуется проведение каких-либо вычислений. На нашей диаграмме диск JBOD служит в качестве «ординара» или отправной точки – его значения надежности, производительности и стоимости совпадают с соответствующими показателями единичного жесткого диска.

RAID 0 (“Striping”) избыточности не имеет, а информацию распределяет сразу по всем входящим в массив дискам в виде небольших блоков («страйпов»). За счет этого существенно повышается производительность, но страдает надежность. Как и в случае JBOD, за свои деньги мы получаем 100% емкости диска.

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

Хороший уровень – RAID 1 (“Mirroring”, «зеркало»). Он имеет защиту от выхода из строя половины имеющихся аппаратных средств (в общем случае – одного из двух жестких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счет распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жестких дисков, получая полезный объем одного жесткого диска.

Изначально предполагается, что жесткий диск – вещь надежная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, т.е. ниже на порядки! К сожалению, реальная жизнь – не теория! Два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры – вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare. Достоинство такого подхода – поддержание постоянной надежности. Недостаток – еще большие издержки (т.е. стоимость 3-х винчестеров для хранения объема одного диска).

Зеркало на многих дисках – это уровень RAID 10. При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объем полученного тома может превосходить емкость одного жесткого диска. Достоинства и недостатки – такие же, как и у уровня RAID1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва HotSpare из расчета один резервный на пять рабочих.

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

Недостатки RAID5 проявляются при выходе из строя одного из дисков – весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Если срочно не принять меры – можно потерять весь том. Поэтому, (см. выше) с томом RAID5 следует обязательно использовать диск Hot Spare.

Помимо базовых уровней RAID0 - RAID5, описанных в стандарте, существуют комбинированные уровни RAID10, RAID30, RAID50, RAID15, которые различные производители интерпретируют каждый по-своему.

Суть таких комбинаций вкратце заключается в следующем. RAID10 – это сочетание единички и нолика (см. выше). RAID50 – это объединение по “0” томов 5-го уровня. RAID15 – «зеркало» «пятерок». И так далее.

Таким образом, комбинированные уровни наследуют преимущества (и недостатки) своих «родителей». Так, появление «нолика» в уровне RAID 50 нисколько не добавляет ему надежности, но зато положительно отражается на производительности. Уровень RAID 15, наверное, очень надежный, но он не самый быстрый и, к тому же, крайне неэкономичный (полезная емкость тома составляет меньше половины объема исходного дискового массива).

RAID 6 отличается от RAID 5 тем, что в каждом ряду данных (по-английски stripe) имеет не один, а два блока контрольных сумм. Контрольные суммы – «многомерные», т.е. независимые друг от друга, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Вычисление контрольных сумм по методу Рида-Соломона требует более интенсивных по сравнению с RAID5 вычислений, поэтому раньше шестой уровень практически не использовался. Сейчас он поддерживается многими продуктами, так как в них стали устанавливать специализированные микросхемы, выполняющие все необходимые математические операции.

Согласно некоторым исследованиям, восстановление целостности после отказа одного диска на томе RAID5, составленном из дисков SATA большого объема (400 и 500 гигабайт), в 5% случаев заканчивается утратой данных. Другими словами, в одном случае из двадцати во время регенерации массива RAID5 на диск резерва Hot Spare возможен выход из строя второго диска... Отсюда рекомендации лучших RAIDоводов: 1) всегда делайте резервные копии; 2) используйте RAID6!

Недавно появились новые уровни RAID1E, RAID5E, RAID5EE. Буква “Е” в названии означает Enhanced.

RAID level-1 Enhanced (RAID level-1E) комбинирует mirroring и data striping. Эта смесь уровней 0 и 1 устроена следующим образом. Данные в ряду распределяются точь-в-точь так, как в RAID 0. То есть ряд данных не имеет никакой избыточности. Следующий ряд блоков данных копирует предыдущий со сдвигом на один блок. Таким образом как и в стандартном режиме RAID 1 каждый блок данных имеет зеркальную копию на одном из дисков, поэтому полезный объем массива равен половине суммарного объема входящих в массив жестких дисков. Для работы RAID 1E требуется объединение трех или более дисков.

Мне очень нравится уровень RAID1E. Для мощной графической рабочей станции или даже для домашнего компьютера – оптимальный выбор! Он обладает всеми достоинствами нулевого и первого уровней – отличная скорость и высокая надежность.

Перейдем теперь к уровню RAID level-5 Enhanced (RAID level-5E). Это то же самое что и RAID5, только со встроенным в массив резервным диском spare drive. Это встраивание производится следующим образом: на всех дисках массива оставляется свободным 1/N часть пространства, которая при отказе одного из дисков используется в качестве горячего резерва. За счет этого RAID5E демонстрирует наряду с надежностью лучшую производительность, так как чтение/запись производится параллельно с бОльшего числа накопителей одновременно и spare drive не простаивает, как в RAID5. Очевидно, что входящий в том резервный диск нельзя делить с другими томами (dedicated vs. shared). Том RAID 5E строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

RAID level-5E Enhanced (RAID level-5EE) подобен уровню RAID level-5E, но он имеет более эффективное распределение spare drive и, как следствие, – более быстрое время восстановления. Как и уровень RAID5E, этот уровень RAID распределяет в рядах блоки данных и контрольных сумм. Но он также распределяет и свободные блоки spare drive, а не просто оставляет под эти цели часть объема диска. Это позволяет уменьшить время, необходимое на реконструкцию целостности тома RAID5EE. Входящий в том резервный диск нельзя делить с другими томами – как и в предыдущем случае. Том RAID 5EE строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

Как ни странно, никаких упоминаний об уровне RAID 6E на просторах Интернета я не нашел - пока такой уровень никем из производителей не предлагается и даже не анонсируется. А ведь уровень RAID6E (или RAID6EE?) можно предложить по тому же принципу, что и предыдущий. Диск HotSpare обязательно должен сопровождать любой том RAID, в том числе и RAID 6. Конечно, мы не потеряем информацию при выходе из строя одного или двух дисков, но начать регенерацию целостности массива крайне важно как можно раньше, чтобы скорее вывести систему из «критического» режима. Поскольку необходимость диска Hot Spare для нас не подлежит сомнению, логичным было бы последовать дальше и «размазать» его по тому так, как это сделано в RAID 5EE, чтобы получить преимущества от использования бОльшего количества дисков (лучшая скорость на чтении-записи и более быстрое восстановление целостности).

Уровень
~~~~~~~ Избы- точ-ность Исполь-зование емкости дисков Произво-дитель-ность чтения Произво-дитель-ность записи Встроен-ный диск резерва Мин. кол-во дисков Макс. кол-во дисков
RAID 0 нет 100% Отл Отл нет 1 16
RAID 1 + 50% Хор + Хор + нет 2 2
RAID 10 + 50% Хор + Хор + нет 4 16
RAID 1E + 50% Хор + Хор + нет 3 16
RAID 5 + 67-94% Отл Хор нет 3 16
RAID 5E + 50-88% Отл Хор + 4 16
RAID 5EE + 50-88% Отл Хор + 4 16
RAID 6 + 50-88% Отл Хор нет 4 16
RAID 00 нет 100% Отл Отл нет 2 60
RAID 1E0 + 50% Хор + Хор + нет 6 60
RAID 50 + 67-94% Отл Хор нет 6 60
RAID 15 + 33-48% Отл Хор нет 6 60

Все «зеркальные» уровни – RAID 1, 1+0, 10, 1E, 1E0.

Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?

RAID 1.
Это – классическое «зеркало». Два (и только два!) жестких диска работают как один, являясь полной копией друг друга. Выход из строя любого из этих двух дисков не приводит к потере ваших данных, так как контроллер продолжает работу с оставшимся диском. RAID1 в цифрах: двукратная избыточность, двукратная надежность, двукратная стоимость. Производительность на запись эквивалентна производительности одного жесткого диска. Производительность чтения выше, так как контроллер может распределять операции чтения между двумя дисками.

RAID 10.
Суть этого уровня в том, что диски массива объединяются парами в «зеркала» (RAID 1), а затем все эти зеркальные пары в свою очередь объединяются в общий массив с чередованием (RAID 0). Именно поэтому его иногда обозначают как RAID 1+0. Важный момент – в RAID 10 можно объединить только четное количество дисков (минимум – 4, максимум – 16). Достоинства: от "зеркала" наследуется надежность, от «нуля» – производительность как на чтение, так и на запись.

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

RAID 1Е0.
Этот уровень реализуется так: мы создаем "нулевой" массив из массивов RAID1E. Следовательно, общее количество дисков должно быть кратно трем: минимум три и максимум – шестьдесят! Преимущество в скорости при этом мы вряд ли получим, а сложность реализации может неблагоприятно отразиться на надежности. Главное достоинство – возможность объединить в один массив очень большое (до 60) количество дисков.

Сходство всех уровней RAID 1X заключается в их показателях избыточности: ради реализации надежности жертвуется ровно 50% суммарной емкости дисков массива.