Сообщение рэйд. Что такое «RAID»? Построение массива дисков — от теории к практике

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

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

Решить эти и некоторые другие проблемы может создание на Вашем компьютере RAID системы.

Что такое «RAID»?

В 1987 году Паттерсон (Patterson), Гибсон (Gibson) и Катц (Katz) из калифорнийского университета Беркли опубликовали статью «Корпус для избыточных массивов из дешевых дисководов (RAID)» (A Case for Redundant Arrays of Inexpensive Disks (RAID)). В этой статье описывались разные типы дисковых массивов, обозначаемых сокращением RAID - Redundant Array of Independent (или Inexpensive) Disks (избыточный массив независимых (или недорогих) дисководов). В основу RAID положена следующая идея: объединяя в массив несколько небольших и/или дешевых дисководов, можно получить систему, превосходящую по объему, скорости работы и надежности самые дорогие дисководы. Вдобавок ко всему такая система с точки зрения компьютера выглядит как один единственный дисковод.

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

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

Какие существуют уровни RAID и какой из них выбрать?

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

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

Область применения: аудио- и видео приложения требующие высокую скорость непрерывной передачи данных, которую не может обеспечить одиночный дисковод. Например, исследования, проведенные фирмой Mylex , с целью определить оптимальную конфигурацию дисковой системы для станции нелинейного видео монтажа показывают, что, по сравнению с одним дисководом, массив RAID-0 из двух дисководов дает прирост скорости записи/чтения на 96%, из трех дисководов - на 143% (по данным теста Miro VIDEO EXPERT Benchmark).

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

Дисковод 0 Дисковод 1

Запись производиться на оба дисковода в каждой паре. Тем не менее, дисководы, входящие в пару, могут совершать одновременные операции чтения. Таким образом «зеркалирование» может удваивать скорость чтения, но скорость записи остается неизменной. RAID-1 обладает 100% избыточностью и авария одного дисковода не приводит к аварии всего массива - контроллер просто переключает операции чтения/записи на оставшийся дисковод.

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

Минимальное количество дисководов в массиве - 2.

Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID-1 можно, в свою очередь, объединить в RAID-0. Такая конфигурация называется «двухуровневый» RAID или RAID-10 (RAID 0+1)

Минимальное количество дисководов в массиве -4.

Область применения: дешевые массивы, в которых главное - надежность хранения данных.

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

RAID-3. Как и в случае с RAID-2 данные распределяются по страйпам размером в один сектор, а один из дисководов массива отводится для хранения информации о четности:

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

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

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

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

Область применения: надежные массивы большого объема. Реализация требует значительных затрат.

Минимальное количество дисководов в массиве -3.

RAID-1 или RAID-5?

RAID-5 по сравнению с RAID-1 более экономно использует дисковое пространство, так как в нем для избыточности хранится не «копия» информации, а контрольное число. В результате в RAID-5 можно объединить любое количество дисководов, из которых только один будет содержать избыточную информацию.

Но более высокая эффективность использования дискового пространства достигается за счет более низкой скорости обмена информацией. Во время записи информации в RAID-5 надо каждый раз обновлять информацию о четности. Для этого надо определить, какие именно биты четности изменились. Сначала считывается подлежащая обновлению старая информация. Затем эта информация перемножается по XOR с новой информацией. Результат этой операции – битовая маска, в которой каждый бит =1 означает, что в информации о четности в соответствующей позиции надо заменить значение. Затем обновленная информация о четности записывается на соответствующее место. Следовательно, на каждое требование программы записать информацию, RAID-5 совершает два чтения, две записи и две операции XOR.

За то, что более эффективно используется дисковое пространство (вместо копии данных хранится блок четности) приходится платить: на генерацию и запись информации о четности уходит добавочное время. Это означает, что скорость записи на RAID-5 ниже, чем на RAID-1 в соотношении 3:5 или даже 1:3 (т.е. скорость записи на RAID-5 составляет от 3/5 до 1/3 от скорости записи RAID-1). Из-за этого RAID-5 бессмысленно создавать в программном варианте. Их также нельзя рекомендовать в тех случаях, когда именно скорость записи имеет решающее значение.

Какой выбрать способ реализации RAID – программный или аппаратный?

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

Действительно, существует возможность программной реализации RAID. Примером может служить ОС Microsoft Windows NT 4.0 Server, в которой возможна программная реализация RAID-0, -1 и даже RAID-5. Однако данное решение следует рассматривать, как крайне упрощенное, не позволяющее полностью реализовать возможности RAID массива. Достаточно отметить, что при программной реализации RAID вся нагрузка по размещению информации на дисководах, вычислению контрольных кодов и т.д. ложиться на центральный процессор, что естественно, не увеличивает производительности и надежности системы. По тем же причинам, здесь практически отсутствуют какие-либо сервисные функции и все операции по замене неисправного дисковода, добавления нового дисковода, изменения уровня RAID и т. п. производятся с полной потерей данных и при полном запрете выполнения каких-либо других операций. Единственное достоинство программной реализации RAID – минимальная стоимость.

Гораздо больше возможностей дает аппаратная реализация RAID при помощи специальных RAID контроллеров:

  • специализированный контроллер значительно разгружает центральный процессор от операций с RAID, причем эффективность контроллера тем более заметна, чем выше уровень сложности RAID;
  • контроллеры, как правило, снабжены драйверами, позволяющими создать RAID практически для любой популярной ОС;
  • встроенный BIOS контроллера и прилагаемые программы управления позволяют администратору системы легко подключать, отключать или заменять дисководы, входящие в RAID, создавать несколько RAID массивов, причем даже разных уровней, контролировать состояние дискового массива и т.д. У «продвинутых» контроллеров эти операции можно производить «на лету», т.е. не выключая системный блок. Многие операции могут быть выполнены в «фоновом режиме», т.е. не прерывая текущую работу и даже дистанционно, т.е. с любого (конечно при наличии доступа) рабочего места;
  • контроллеры могут оснащаться буферной памятью («кэш»), в которой запоминаются несколько последних блоков данных, что, при частом обращении к одним и тем же файлам, позволяет значительно увеличить быстродействие дисковой системы.

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

Краткий обзор технологии RAID

В этом документе описываются базовые элементы технологии RAID и приводится краткий обзор различных уровней RAID.

  • RAID 2, 3

    RAID 4, 5

    Таблица: преимущества и недостатки основных уровней RAID

RAID - это акроним от Redundant Array of Independent Disks .

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

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

Уровни RAID

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

RAID уровня 0

Технология RAID 0 также известна как распределение данных (data striping ). С применение этой технологии, информация разбивается на куски (фиксированные объемы данных, обычно именуемы блоками); и эти куски записываются на диски и считываются с них в параллель. С точки зрения производительности это означает два основных преимущества :

    повышается пропускная способность последовательного ввода/вывода за счет одновременной загрузки нескольких интерфейсов.

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

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

Контроллер Массива

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

рис. 1. Схема работы массива и распределение данных по дискам для RAID 0. Примечание: сегмент - это 2 дисковых блока по 512 байт.

RAID уровня 1

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

Время записи может оказаться несколько больше , чем для одного диска, в зависимости от стратегии записи: запись на два диска может производится либо в параллель (для скорости), либо строго последовательно (для надежности).

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

Диск 1 (данные)

Диск 2 (копия диска 1)

Диск 3 (данные)

Диск 4 (копия диска 3)

Диск 5 (свободный)

Сегмент 1

Сегмент 1

Сегмент 2

Сегмент 2

Сегмент 3

Сегмент 3

Сегмент 4

Сегмент 4

рис. 2. Распределение данных по дискам для RAID 1.

RAID уровней 2 и 3

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

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

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

Диск 1 (данные)

Диск 2 (данные)

Диск 3 (данные)

Диск 4 (данные)

Диск 5 (информация четности)

Байт четности

Байт четности

рис. 3. Распределение данных по дискам для RAID 3.

RAID уровней 4 и 5

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

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

Данная технология хорошо подходит для приложений, которые работают с небольшими объемами данных, например, для систем обработки транзакций.

Диск 1

Диск 2

Диск 3

Диск 4

Диск 5

Сегмент четности

Сегмент 1

Сегмент 2

Сегмент 3

Сегмент 4

Сегмент 5

Сегмент четности

Сегмент 6

Сегмент 7

Сегмент 8

Сегмент 9

Сегмент 10

Сегмент четности

Сегмент 11

Сегмент 12

рис. 4. Распределение данных по дискам для RAID 5.

Преимущества и недостатки основных уровней RAID

Уровень RAID

Механизм обеспечения надежности

Эффективная емкость массива

Производительность

Область применения

приложения без существенных требований к надежности

зеркалирование

высокая или средняя

приложения без существенных требований к стоимости

четность

приложения, работающие с большими объемами данных (графика, CAD/CAM и пр.)

четность

приложения, работающие с небольшими объемами данных (обработка транзакций)

RAID-массив. Что это? Зачем? И как создать?

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

Пока же наиболее распространенным средством хранения информации в персональном компьютере уже продолжительное время остаются жесткие диски. Иначе их могут называть НЖМД (накопители на жестких магнитных дисках), винчестерами, хард-дисками, но суть от изменения названия не меняется - это накопители с пакетом магнитных дисков в едином корпусе.

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


Выгрузка первого жесткого диска IBM 350 с самолета

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


Эволюция винчестеров на фоне дюймовой линейки (фото из " Википедии " )

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

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

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

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

Что такое RAID

В Интернете и даже современной компьютерной литературе нередко можно встретить термин "RAID-массив", что фактически является тавтологией, так как аббревиатура RAID (redundant array of independent disks) уже расшифровывается как "избыточный массив независимых дисков".

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

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

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

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

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

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

Общий объем RAID 1 равен объему меньшего из входящих в массив жестких дисков.

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

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

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

Основным достоинством RAID 2 является возможность коррекции возникающих ошибок "на лету" без снижения скорости обмена данными между дисковым массивом и центральным процессором.

RAID 3 и RAID 4

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

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

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

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

Минимальное число жестких дисков для построения RAID 5 - три.

Массивы, построенные по схеме RAID 5, имеют весьма существенный недостаток. При выходе из строя любого диска после его замены необходимо несколько часов на полное восстановление информации. В это время неповрежденные жесткие диски массива работают в сверхинтенсивном режиме, что существенно повышает вероятность выхода из строя второго диска и полной потери информации. Хоть и редко, но подобное происходит. Кроме того, во время восстановления целостности RAID 5 массив почти полностью занят этим процессом и текущие операции записи/чтения выполняются с большими задержками. Если для большинства обычных пользователей это не критично, то в корпоративном секторе такие задержки могут привести к определенным финансовым потерям.

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

Достоинства RAID 6 - высокая степень защищенности информации и меньшее, чем в RAID 5, падение производительности в процессе восстановления данных при замене поврежденного диска.

Недостаток RAID 6 - снижение общей скорости обмена данными примерно на 10% из-за увеличения объема необходимых вычислений контрольных сумм, а также из-за роста объема записываемой/считываемой информации.

Комбинированные типы RAID

Помимо рассмотренных выше основных типов широко применяются различные их комбинации, которые компенсируют те или иные недостатки простых RAID. В частности, широко распространено использование схем RAID 10 и RAID 0+1. В первом случае пару зеркальных массивов объединяют в RAID 0, во втором наоборот - два RAID 0, объединяют в зеркало. И в том и в другом случае к защищенности информации RAID 1 добавляется повышенная производительность RAID 0.

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

Построение массива дисков - от теории к практике

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

Внешний RAID-контроллер c четырьмя портами SATA

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

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

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

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

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

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

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

Что нужно для создания рейд? Как минимум наличие двух винчестеров. В зависимости от уровня массива варьируется количество используемых устройств хранения.

Какие бывают массивы raid

Существуют базовые, комбинированные массивы RAID. Институт в Беркли штат Калифорния предложил разделять рейд на уровни спецификации :

  • Базовые :
    • RAID1 ;
    • RAID2 ;
    • RAID3 ;
    • RAID4 ;
    • RAID5 ;
    • RAID6 .
  • Комбинированные :
    • RAID10 ;
    • RAID01 ;
    • RAID50 ;
    • RAID05 ;
    • RAID60 ;
    • RAID06 .

Рассмотрим наиболее часто используемые.

Рейд 0

RAID 0 предназначен для увеличения скорости и записи. Он не увеличивает надежность хранения, в связи с этим не является избыточным. Еще его зовут страйп (striping - «чередование» ). Обычно используется от 2 до 4 дисков.

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

Рейд 1

RAID 1 обеспечивает зеркальное хранение данных на аппаратном уровне. Называют также массив Mirror , что значит «зеркало » . То есть данные дисков в этом случае дублируются. Можно использовать при количестве устройств хранения от 2 до 4.

Скорость записи/чтения при этом практически не меняется, что можно отнести к преимуществам . Массив работает, если хоть один диск рейда находится в работе, но объем системы при этом равен объему одного диска. На практике при выходе из строя одного из винчестеров Вам нужно будет как можно быстрее принять меры к его замене.

Рейд 2

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

Быстрота чтения/записи в этом случае в сравнении с использованием одного диска повышается . Минусом является большое количество дисков, при котором его рационально применять, чтобы не было избыточности данных, обычно это 7 и больше .

RAID 3 – в массиве данные разбиваются на все диске кроме одного, в котором хранятся байты четности. Устойчив к отказам системы . Если один из дисков выходит из строя . То его информацию легко «поднять», используя данные контрольных сумм четности.

В сравнении с RAID 2 нет возможности коррекции ошибок на лету. Этот массив отличается высокой производительностью и возможностью использовать от 3 дисков и больше.

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

Рейд 4

В целом RAID 4 аналогичен RAID 3 с той разницей , что данные четности хранятся в блоках, а не в байтах, что позволило увеличить скорость передачи данных малого объема.

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

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

Рейд 5

RAID от 2 до 4 имеют недостатки, связанные с невозможностью распараллеливания операций записи. RAID 5 устраняет этот недостаток. Блоки четности записываются одновременно на все дисковые устройства массива, нет асинхронности в распределении данных, а значит, четность является распределенной.

Число используемых винчестеров от 3. Массив очень распространён благодаря своей универсальности и экономичности , чем большее число дисков будет использоваться, тем экономнее будет затрачиваться дисковое пространство. Скорость при этом высокая за счет распараллеливания данных, но производительность снижается в сравнении с RAID 10, за счет большого числа операций. Если выходит из строя один диск, то надежность снижается до уровня RAID 0. Требуется много времени на восстановление.

Рейд 6

Технология RAID 6 схожа с RAID 5, но повышается надежностью за счет увеличения количества дисков четности.

Однако, дисков уже требуется минимум 5 и более мощный процессор для обработки возросшего числа операций, причем количество дисков обязательно должно быть равно простому числу 5,7,11 и так далее.

Рейд 10, 50, 60

Далее идут комбинации указанных ранее рейдов. Например, RAID 10 это RAID 0 + RAID 1.

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

Создание рейд массива на домашнем ПК

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

Для этих целей Вам понадобится рейд-контроллер , обладающий собственной BIOS и своими настройками. В современных системных платах рейд-контроллер может быть интегрирован в южный мост чипсета. Но даже в таких плата посредством подключения к PCI или PCI-E разъему можно подключить еще один контроллер. Примерами могут быть устройства фирм Silicon Image и JMicron.

Каждый контроллер может иметь свою утилиту для настройки.

Рассмотрим создание рейд с помощью Intel Matrix Storage Manager Option ROM.

Перенесите все данные с Ваших дисков, иначе в процессе создания массива они будут очищены .

Зайдите в BIOS Setup Вашей материнской платы и включите режим работы RAID для вашего sata винчестера.

Чтобы запустить утилиту перезагрузите ПК, нажмите ctrl+i во время процедуры POST . В окне программы Вы увидите список доступных дисков. Нажмите Create Massive , Далее выберите необходимый уровень массива .

В дальнейшем следуя интуитивно понятному интерфейсу введите размер массива и подтвердите его создание.

RAID – аббревиатура, расшифровываемая как Redundant Array of Independent Disks – “отказоустойчивый массив из независимых дисков” (раньше иногда вместо Independent использовалось слово Inexpensive). Концепция структуры, состоящей из нескольких дисков, объединенных в группу, обеспечивающую отказоустойчивость родилась в 1987 году в основополагающей работе Паттерсона, Гибсона и Катца.

Исходные типы RAID-массивов

RAID-0
Если мы считаем, что RAID это “отказоустойчивость”(Redundant…), то RAID-0 это “нулевая отказоустойчивость”, отсутствие ее. Структура RAID-0 это “массив дисков с чередованием”. Блоки данных поочередно записываются на все входящие в массив диски, по порядку. Это повышает быстродействие, в идеале во столько раз, сколько дисков входит в массив, так как запись распараллеливается между несколькими устройствами.
Однако во столько же раз снижается надежность, поскольку данные будут потеряны при выходе из строя любого из входящих в массив дисков.

RAID-1
Это так называемое “зеркало”. Операции записи производятся на два диска параллельно. Надежность такого массива выше, чем у одиночного диска, однако быстродействие повышается незначительно (или не повышается вовсе).

RAID-10
Попытка объединить достоинства двух типов RAID и лишить их присущих им недостатков. Если взять группу RAID-0 с повышенной производительностью, и придать каждому из них (или массиву целиком) “зеркальные” диски для защиты данных от потери в результате выхода из строя, мы получим отказоустойчивый массив с повышенным, в результате использования чередования, быстродействием.
На сегодняшний день “в живой природе” это один из наиболее популярных типов RAID.
Минусы – мы платим за все вышеперечисленные достоинства половиной суммарной емкости входящих в массив дисков.

RAID-2
Остался полностью теоретическим вариантом. Это массив, в котором данные кодируются помехоустойчивым кодом Хэмминга, позволяющим восстанавливать отдельные сбойные фрагменты за счет его избыточности. Кстати различные модификации кода Хэмминга, а также его наследников, используются в процессе считывания данных с магнитных головок жестких дисков и оптических считывателей CD/DVD.

RAID-3 и 4
“Творческое развитие” идеи защиты данных избыточным кодом. Код Хэмминга незаменим в случае “постоянно недостоверного” потока, насыщенного непрерывными слабопредсказуемыми ошибками, такого, например, как зашумленный эфирный канал связи. Однако в случае жестких дисков основная проблема не в ошибках считывания (мы считаем, что данные выдаются жесткими дисками в том виде, в каком мы их записали, если уж он работает), а в выходе из строя целиком диска.
Для таких условий можно скомбинировать схему с чередованием (RAID-0) и для защиты от выхода из строя одного из дисков дополнить записываемую информацию избыточностью, которая позволит восстановить данные при потере какой-то ее части, выделив под это дополнительный диск.
При потере любого из дисков данных мы можем восстановить хранившиеся на нем данные путем несложных математических операций над данными избыточности, в случае выходя из строя диска с данными избыточности мы все равно имеем данные, считываемые с дискового массива типа RAID-0.
Варианты RAID-3 и RAID-4 отличаются тем, что в первом случае чередуются отдельные байты, а во втором – группы байт, “блоки”.
Основным недостатком этих двух схем является крайне низкая скорость записи на массив, поскольку каждая операция записи вызывает обновление “контрольной суммы”, блока избыточности для записанной информации. Очевидно, что, несмотря на структуру с чередованием, производительность массива RAID-3 и RAID-4 ограничена производительностью одного диска, того, на котором лежит “блок избыточности”.

RAID-5
Попытка обойти это ограничение породила следующий тип RAID, в настоящее время он получил, наряду с RAID-10, наибольшее распространение. Если запись на диск “блока избыточности” ограничивает весь массив, давайте его тоже размажем по дискам массива, сделаем для этой информации невыделенный диск, тем самым операции обновления избыточности окажутся распределенными по всем дискам массива. То есть мы также как и в случае RAID-3(4) берем дисков для хранения N информации в количестве N + 1 диск, но в отличие от Type 3 и 4 этот диск также используется для хранения данных вперемешку с данными избыточности, как и остальные N.
Недостатки? А как же без них. Проблема с медленной записью отчасти была решена, но все же не полностью. Запись на массив RAID-5 осуществляется, тем не менее, медленнее, чем на массив RAID-10. Зато RAID-5 более “экономически эффективен”. Для RAID-10 мы платим за отказоустойчивость ровно половиной дисков, а в случае RAID-5 это всего один диск.

Однако скорость записи снижается пропорционально увеличению количества дисков в массиве (в отличие от RAID-0, где она только растет). Это связано с тем, что при записи блока данных массиву нужно заново рассчитать блок избыточности, для чего прочитать остальные “горизонтальные” блоки и пересчитать в соответствии с их даными блок избыточности. То есть на одну операцию записи массив из 8 дисков (7 дисков данных + 1 дополнительный) будет делать 6 операций чтения в кэш (остальные блоки данных со всех дисков, чтобы рассчитать блок избыточности), вычислять из этих блоков блок избыточности, и делать 2 записи (запись блока записываемых данных и перезапись блока избыточности). В современных системах частично острота снимается за счет кэширования, но тем не менее удлиннение группы RAID-5 хотя и вызывает пропорциональное увеличение скорости чтения, но также и соответственное ему снижение скорости записи.
Ситуация со снижением производительности при записи на RAID-5 иногда порождает любопытный экстремизм, например, http://www.baarf.com/ ;)

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

RAID-6
Дальнейшее развитие идеи RAID-5. Если мы рассчитаем дополнительную избыточность по иному нежели применяемому в RAID-5 закону, то мы сможем сохранить доступ к данным при отказе двух дисков массива.
Платой за это является дополнительный диск под данные второго “блока избыточности”. То есть для хранения данных равных объему N дисков нам нужно будет взять N + 2 диска.Усложняется “математика” вычисления блоков избыточности, что вызывает еще большее снижение скорости записи по сравнению с RAID-5, зато повышается надежность. Причем в ряде случаев она даже превышает уровень надежности RAID-10. Нетрудно увидеть, что RAID-10 тоже выдерживает выход из строя двух дисков в массиве, однако в том случае, если эти диски принадлежат одному “зеркалу” или разным, но при этом не двум зеркальным дискам. А вероятность именно такой ситуации никак нельзя сбрасывать со счета.

Дальнейшее увеличение номеров типов RAID происходит за счет “гибридизации”, так появляются RAID-0+1 ставший уже рассмотренным RAID-10, или всяческие химерические RAID-51 и так далее.
В живой природе к счастью не встречаются, обычно оставаясь “сном разума” (ну, кроме уже описанного выше RAID-10).