RAID-массивы: классификация, особенности, применение. RAID массив. Как испльзовать типы и уровни 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-0" - 2шт.

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

Запись производится на оба дисковода в каждой паре. Тем не менее, дисководы, входящие в пару, могут совершать одновременные операции чтения. Таким образом «зеркалирование» может удваивать скорость чтения, но скорость записи остается неизменной. RAID-1 обладает 100% избыточностью и авария одного дисковода не приводит к аварии всего массива - контроллер просто переключает операции чтения/записи на оставшийся дисковод.
RAID-1 обеспечивает наивысшую скорость работы среди всех типов избыточных массивов (RAID-1 - RAID-5), особенно в многопользовательском окружении, но наихудшее использование дискового пространства. Поскольку для RAID-1 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны.
Минимальное количество дисководов в массиве "RAID-1" - 2шт.
Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID-1 можно, в свою очередь, объединить в RAID-0. Такая конфигурация называется «двухуровневый» RAID или RAID-10 (RAID 0+1):


Минимальное количество дисководов в массиве "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-3" - 3шт.

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

Операции записи обращаются к одному дисководу с данными и к другому дисководу с информацией о четности. Так как информация о четности для разных страйпов хранится на разных дисководах выполнение нескольких одновременных операций записи невозможно только в тех редких случаях, когда либо страйпы с данными, либо страйпы с информацией о четности находятся на одном и том же дисководе. Чем больше дисководов в массиве, тем реже совпадает местоположение страйпов информации и четности.
Область применения: надежные массивы большого объема. Реализация требует значительных затрат.
Минимальное количество дисководов в массиве "RAID-5" - 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 (Microsoft Windows NT 4.0 Workstation обеспечивает только RAID-0 и RAID-1). Однако данное решение следует рассматривать, как крайне упрощенное, не позволяющее полностью реализовать возможности RAID-массива. Достаточно отметить, что при программной реализации RAID вся нагрузка по размещению информации на дисководах, вычислению контрольных кодов и т.д. ложится на центральный процессор, что естественно, не увеличивает производительности и надежности системы. По тем же причинам, здесь практически отсутствуют какие-либо сервисные функции и все операции по замене неисправного дисковода, добавления нового дисковода, изменения уровня RAID и т. п. производятся с полной потерей данных и при полном запрете выполнения каких-либо других операций. Единственное достоинство программной реализации RAID - минимальная стоимость.
- специализированный контроллер освобождает центральный процессор от основных операций с RAID, причем эффективность контроллера тем более заметна, чем выше уровень сложности RAID;
- контроллеры, как правило, снабжены драйверами, позволяющими создать RAID практически для любой популярной ОС;
- встроенный BIOS контроллера и прилагаемые к нему программы управления позволяют администратору системы легко подключать, отключать или заменять дисководы, входящие в RAID, создавать несколько RAID-массивов, причем даже разных уровней, контролировать состояние дискового массива и т.д. У «продвинутых» контроллеров эти операции можно производить «на лету», т.е. не выключая системный блок. Многие операции могут быть выполнены в «фоновом режиме», т.е. не прерывая текущую работу и даже дистанционно, т.е. с любого (конечно при наличии доступа) рабочего места;
- контроллеры могут оснащаться буферной памятью («кэш»), в которой запоминаются несколько последних блоков данных, что, при частом обращении к одним и тем же файлам, позволяет значительно увеличить быстродействие дисковой системы.
Недостатком аппаратной реализации RAID является относительно высокая стоимость RAID-контроллеров. Однако, с одной стороны, за все (надежность, быстродействие, сервис) надо платить. С другой стороны, в последнее время, с развитием микропроцессорной техники, стоимость RAID-контоллеров (особенно младших моделей) стала резко падать и стала сравнимой со стоимостью обыкновенных дисковых контроллеров, что позволяет устанавливать RAID-системы не только в дорогие мэйнфреймы, но и в сервера начального уровня и даже в рабочие станции.

Как выбрать модель RAID-контроллера?

Можно выделить несколько типов RAID-контроллеров в зависимости от их функциональных возможностей, конструктивному исполнению и стоимости:
1. Контроллеры дисковода с функциями RAID.
По сути, это обыкновенный дисковый контроллер, который благодаря специальной прошивке BIOS позволяет объединять дисководы в RAID-массив, как правило, уровня 0, 1 или 0+1.

Ultra (Ultra Wide) SCSI контроллер фирмы Mylex KT930RF (KT950RF).
Внешне данный контроллер ни чем не отличается от обыкновенного SCSI-контроллера. Вся "специализация" находится в BIOS, который как бы разделен на две части - «Конфигурация SCSI» / «Конфигурация RAID». Несмотря на невысокую стоимость (менее $200) данный контроллер обладает неплохим набором функций:

- объединение до 8-и дисководов в RAID 0, 1или 0+1;
- поддержка Hot Spare для замены "на лету" вышедшего из строя дисковода;
- возможность автоматической (без вмешательства оператора) замены неисправного дисковода;
- автоматический контроль целостности и идентичности (для RAID-1) данных;
- наличие пароля для доступа в BIOS;
- программа RAIDPlus представляющая информацию о состоянии дисководов в RAID;
- драйвера для DOS, Windows 95, NT 3.5x, 4.0

RAID (Redundant Array of Independent Disks) — избыточный массив независимых дисков, т.е. объединение физических жестких дисков в один логический для решения каких либо задач. Скорее всего, вы его будете использовать для отказоустойчивости. При выходе из строя одного из дисков система будет продолжать работать. В операционной системе массив будет выглядеть как обычный HDD. RAID – массивы зародились в сегменте серверных решений, но сейчас получили широкое распространение и уже используются дома. Для управления RAID-ом используется специальная микросхема с интеллектом, которая называется RAID-контроллер. Это либо чипсет на материнской плате, либо отдельная внешняя плата.

Типы RAID массивов

Аппаратный – это когда состоянием массива управляет специальная микросхема. На микросхеме есть свой CPU и все вычисления ложатся на него, освобождая CPU сервера от лишней нагрузки.

Программный – это когда состоянием массива управляет специальная программа в ОС. В этом случае будет создаваться дополнительная нагрузка на CPU сервера. Ведь все вычисления ложатся именно на него.

Однозначно сказать какой тип рейда лучше – нельзя. В случае программного рейда нам не нужно покупать дорогостоящий рейд-контроллер. Который обычно стоит от 250 у.е. (можно найти и за 70 у.е. но я бы не стал рисковать данными) Но все вычисления ложатся на CPU сервера. Программная

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

Уровни RAID-массивов

Их достаточно много. Это основные – 0, 1, 2, 3, 4, 5, 6, 7 и комбинированные – 10, 30, 50, 53… Мы рассмотрим только самые ходовые, которые используются в современной инфраструктуре предприятия. Буква D в схемах означает Data (данные), или блок данных.

RAID 0 (Striped Disk Array without Fault Tolerance)

Он же stripe. Это когда два или более физических дисков объединяются в один логический с целью объединения места. То есть берем два диска по 500 Гб, объединяем их в RAID 0 и в системе видим 1 HDD объемом в 1 Тб. Информация распределяется по всем дискам рейда равномерно в виде небольших блоков (страйпов).

Плюсы – Высокая производительность, простота реализации.

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

RAID 1 (Mirroring & Duplexing)

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

Плюсы – высокая скорость чтения/записи, простота реализации.

Минусы – высокая избыточность. В случае использования 2-х дисков это 100%.

RAID 1E

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

Наиболее простое в реализации из отказоустойчивых решений – это RAID 1 (mirroring), зеркальное отображение двух дисков. Высокая доступность данных гарантирована наличием двух полных копий. Такая избыточность структуры массива сказывается на его стоимости – ведь полезная емкость вдвое меньше используемой. Поскольку RAID 1 строится на двух HDD – этого явно мало современным, прожорливым до дискового пространства приложениям. В силу таких требований область применения RAID 1 обычно ограничивается служебными томами (OS, SWAP, LOG), для размещения пользовательских данных ими пользуются разве что в малобюджетных решениях.

RAID 1E – это комбинация распределения информации по дискам (striping) от RAID 0 и зеркалирования – от RAID 1. Одновременно с записью области данных на один накопитель создается их копия на следующем диске массива. Отличие от RAID 1 в том, что количество HDD может быть нечетным (минимум 3). Как и в случае с RAID 1, полезная емкость составляет 50% суммарной емкости дисков массива. Правда, если количество дисков четное, предпочтительней использовать RAID 10, который при той же утилизации емкости состоит из двух (или больше) «зеркал». При физическом отказе одного из дисков RAID 1E контроллер переключает запросы чтения и записи на оставшиеся диски массива.

Преимущества:

  • высокая защищенность данных;
  • неплохая производительность.

Недостатки:

  • как и в RAID 1, используется лишь 50% емкости дисков массива.

RAID 2

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

Недостаток массива RAID 2 в том, что для его функционирования нужна структура из почти двойного количества дисков, поэтому такой вид массива не получил распространения.

RAID 3

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

Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету и меньшая избыточность.

Достоинства:

  • высокая скорость чтения и записи данных;
  • минимальное количество дисков для создания массива равно трём.

Недостатки:

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

RAID 4

RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск. Из систем хранения широкого распространения RAID-4 применяется на устройствах хранения компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL.

RAID 5 (Independent Data Disks with Distributed Parity Blocks)

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

Плюсы – экономичное использование носителей, хорошая скорость чтения/записи. Разница в производительности по сравнению с RAID 1 не так сильно видна как экономия дискового пространства. В случае использования трех HDD избыточность составляет всего 33%.

Минусы – сложное восстановление данных и реализация.

RAID 5E

RAID 5E работает так. Из четырех физических дисков собирается массив, в нем создается логический диск. Распределенный резервный диск – это свободное пространство. Данные распределяются по накопителям, создавая блоки на логическом диске. Контрольные суммы также распределяются по дискам массива и записываются со сдвигом от диска к диску, как и в RAID 5. Резервный HDD остается пустым.

«Классический» RAID 5 много лет считается стандартом отказоустойчивости дисковых подсистем. В нем применяется распределение данных (striping) по HDD массива, для каждой из порций (stripe), определенной в нем, вычисляются и записываются контрольные суммы (четность, parity). Соответственно, скорость записи снижается из-за постоянного пересчета КС с поступлением новых данных. Для увеличения производительности записи КС распределяются по всем накопителям массива, чередуясь с данными. Под хранение КС расходуется емкость одного носителя, поэтому RAID 5 утилизирует на один диск меньше их общего количества в массиве. RAID 5 требует минимум трех (и максимум 16) НЖМД, его КПД использования дискового пространства находится в диапазоне 67–94% в зависимости от числа дисков. Очевидно, что это больше, чем у RAID 1, утилизирующего 50% доступной емкости.

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

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

RAID 5E – это RAID 5 с включенным в массив резервным диском (hot-spare) постоянного использования, емкость которого добавляется поровну к каждому элементу массива. Для RAID 5E требуется минимум четыре HDD. Как и у RAID 5, данные и контрольные суммы распределяются по дискам массива. Утилизация полезной емкости у RAID 5E несколько ниже, зато производительность выше, чем у RAID 5 c hot-spare.

Емкость логического тома RAID 5E меньше общей емкости на объем двух носителей (емкость одного уходит под контрольные суммы, второго – под hot-spare). Зато чтение и запись на четыре физических устройства RAID 5E быстрее операций с тремя физическими накопителями RAID 5 с классическим hot-spare (в то время как четвертый, hot-spare, участия в работе не принимает). Резервный диск в RAID 5E – полноправный постоянный член массива. Его невозможно назначить резервным двум разным массивам («слугой двух господ» – как это допускается в RAID 5).

При отказе одного из физических дисков данные со сбойного накопителя восстанавливаются. Массив подвергается сжатию, и распределенный резервный диск становится частью массива. Логический диск остается уровня RAID 5E. После замены сбойного диска на новый данные логического диска разворачиваются в исходное состояние схемы распределения по HDD. При использовании логического диска RAID 5E в отказоустойчивых кластерных схемах он не будет выполнять свои функции во время компрессии-декомпрессии данных.

Преимущества:

  • высокая защищенность данных;
  • утилизация полезной емкости выше, чем у RAID 1 или RAID 1E;
  • производительность выше, чем у RAID 5.

Недостатки:

  • производительность ниже, чем у RAID 1E;
  • не может делить резервный диск с другими массивами.

RAID 5EE

Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, емкость логического тома ограничивается емкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их емкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

Достоинства:

  • 100% защита данных
  • Большая емкость физических дисков по сравнению с RAID-1 или RAID -1E
  • Большая производительность по сравнению с RAID-5
  • Более быстрое восстановление RAID по сравнению с RAID-5Е

Недостатки:

  • Более низкая производительность, чем в RAID-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

RAID 6

RAID 6 - похож на RAID 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, по сравнению с аналогичными показателями RAID-5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также прочитывать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 7

RAID 7 — зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.

RAID 10 или RAID 1+0 (Very High Reliability with High Performance)

Сочетание зеркального рейда и рейда с чередованием дисков. В работе этого вида рейда диски объединяются парами в зеркальные рейды (RAID 1) а затем все эти зеркальные пары объединяются в массив с чередованием (RAID 0). В рейд можно объединить только четное количество дисков, минимум – 4, максимум – 16. От RAID 1 мы наследуем надежность, от RAID 0 — скорость.

Плюсы – высокая отказоустойчивость и производительность

Минусы – высокая стоимость

RAID 50 или RAID 5+0 (High I/O Rates & Data Transfer Performance)

Он же RAID 50, это сочетание RAID 5 и RAID 0. Массив объединяет в себе высокую производительность и отказоустойчивость.

Плюсы – высокая отказоустойчивость, скорость передачи данных и выполнение запросов

Минусы – высокая стоимость

RAID 60

RAID-массив уровня 60 объединены характеристики из уровней 6 и 0. RAID 60 массива объединяет прямой уровне блоков чередование RAID 0 с распределенной дважды паритет в RAID 6, а именно: массива RAID 0 распределяются среди RAID 6 элементов. RAID 60 виртуальный диск может выжить о потере двух жестких дисков в каждом из RAID 6 устанавливает без потери данных. Она является наиболее эффективной с данными, нужна высокая надежность, высокая запрос курсы, высокие передачу данных, и средних и крупных емкости. Минимальное количество дисков-8.

Линейный RAID

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

Главный вывод, который можно сделать – у каждого уровня рейда есть свои плюсы и минусы.

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

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

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

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

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

Все эти массивы находятся под своими номерами, скорее всего вы о них слышали - рейд 0, 1...10, то есть массивы разных уровней.

Разновидности RAID

Скоростной Рейд 0

Рейд 0 не имеет ничего схожего с надежностью, ведь он только повышает скорость. Вам необходимо как минимум 2 винчестера и в этом случае данные будут как бы «разрезаться» и записываться на оба диска одновременно. То есть вам будет доступен полностью объем этих дисков и теоретически это значит, что вы получаете в 2 раза более высокую скорость чтения/записи.

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

Рейд 1 или «зеркало»

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

Массив уровня RAID 1 не влияет на скорость, однако объем - тут в вашем распоряжении лишь половина от общего пространства дисков, которых, к слову, в рейд 1 может быть 2, 4 и т.д., то есть - четное количество. В общем, главной «фишкой» рейда первого уровня является надежность.

Рейд 10

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

Как результат - увеличение скорости доступа в 2 раза, но и объем только лишь двух из четырех дисков массива. Но вот если любые два диска сломаются - потери данных не произойдет.

Рейд 5

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

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

Рейд 6

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

Учтите, что без производительного рейд-контроллера такой массив (6) собрать вряд ли удастся. Если у вас в распоряжении всего 4 винчестера, лучше собрать RAID 1.

Как создать и настроить RAID массив

Контроллер RAID

Рейд массив можно сделать путем подключения нескольких HDD к материнской плате компьютера, поддерживающей данную технологию. Это означает, что у такой материнской платы есть интегрированный контроллер, который, как правило, встраивается в . Но, контроллер может быть и внешний, который подключается через PCI или PCI-E разъем. Каждый контроллер, как правило, имеет свое ПО для настройки.

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

Аппаратный

Как же сделать RAID массив? Для этого вам необходимо:

  1. Достать где-то с поддержкой рейда (в случае аппаратного RAID);
  2. Купить минимум два одинаковых винчестера. Лучше, чтобы они были идентичны не только по характеристикам, но и одного производителя и модели, и подключались к мат. плате при помощи одного .
  3. Перенесите все данные с ваших HDD на другие носители, иначе в процессе создания рейда они уничтожатся.
  4. Далее, в биосе потребуется включить поддержку RAID, как это сделать в случае с вашим компьютером - подсказать не могу, по причине того, что биосы у всех разные. Обычно этот параметр называется примерно так: «SATA Configuration или Configure SATA as RAID».
  5. Затем перезагрузите ПК и должна будет появиться таблица с более тонкими настройками рейда. Возможно, придется нажать комбинацию клавиш «ctrl+i» во время процедуры «POST», чтобы появилась эта таблица. Для тех, у кого внешний контроллер скорее всего надо будет нажать «F2». В самой таблице жмем «Create Massive» и выбираем необходимый уровень массива.

После создания raid массива в BIOS, необходимо зайти в «управление дисками» в ОС –10 и отформатировать не размеченную область - это и есть наш массив.

Программный

Для создания программного RAID ничего включать или отключать в BIOS не придется. Вам, по-сути, даже не нужна поддержка рейда материнской платой. Как уже было упомянуто выше, технология реализовывается за счет центрального процессора ПК и средств самой винды. Ага, вам даже не нужно ставить никакое стороннее ПО. Правда таким способом можно создать разве что RAID первого типа, который «зеркало».

Жмем правой кнопкой по «мой компьютер»-пункт «управление»-«управление дисками». Затем щелкаем по любому из жестких, предназначенных для рейда (диск1 или диск2) и выбираем «Создать зеркальный том». В следующем окне выбираем диск, который будет зеркалом другого винчестера, затем назначаем букву и форматируем итоговый раздел.

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

Если какой то винчестер выйдет из строя, появится ошибка «Отказавшая избыточность», при этом на втором разделе все останется в сохранности.

Подытожим

RAID 5 нужен для ограниченного круга задач, когда гораздо большее (чем 4 диска) количество HDD собрано в огромные массивы. Для большинства юзеров рейд 1 - лучший вариант. К примеру, если есть четыре диска емкостью 3 терабайта каждый - в RAID 1 в таком случае доступно 6 терабайт объема. RAID 5 в этом случае даст больше пространства, однако, скорость доступа сильно упадет. RAID 6 даст все те же 6 терабайт, но еще меньшую скорость доступа, да еще и потребует от вас дорогого контроллера.

Добавим еще RAID дисков и вы увидите, как все поменяется. Например, возьмем восемь дисков все той же емкости (3 терабайта). В RAID 1 для записи будет доступно всего 12 терабайт пространства, половина объема будет закрыта! RAID 5 в этом примере даст 21 терабайт дискового пространства + можно будет достать данные из любого одного поврежденного винчестера. RAID 6 даст 18 терабайт и данные можно достать с любых двух дисков.

В общем, RAID - штука не дешевая, но лично я бы хотел иметь в своем распоряжении RAID первого уровня из 3х-терабайтных дисков. Есть еще более изощренные методы, вроде RAID 6 0, или «рейд из рейд массивов», но это имеет смысл при большом количестве HDD, минимум 8, 16 или 30 - согласитесь, это уже далеко выходит за рамки обычного «бытового» использования и пользуется спросом по большей части в серверах.

Вот как-то так, оставляйте комментарии, добавляйте сайт в закладки (для удобства), будет еще много интересного и полезного, и до скорых встреч на страницах блога!

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

История создания

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

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

Принцип действия

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

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

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

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

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

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

Уровни RAID-массивов

В настоящее время существует несколько RAID-уровней, которые можно считать стандартизованными, - это RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 и RAID 6.

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

Отметим, что все современные RAID-контроллеры поддерживают функцию JBOD (Just a Bench Of Disks), которая не предназначена для создания массивов, - она обеспечивает возможность подключения к RAID-контроллеру отдельных дисков.

Нужно отметить, что интегрированные на материнские платы для домашних ПК RAID-контроллеры поддерживают далеко не все RAID-уровни. Двухпортовые RAID-контроллеры поддерживают только уровни 0 и 1, а RAID-контроллеры с большим количество портов (например, 6-портовый RAID-контроллер, интегрированный в южный мост чипсета ICH9R/ICH10R) - также уровни 10 и 5.

Кроме того, если говорить о материнских платах на чипсетах Intel, то в них тоже реализована функция Intel Matrix RAID, которая позволяет создать на нескольких жестких дисках одновременно RAID-матрицы нескольких уровней, выделив для каждой из них часть дискового пространства.

RAID 0

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

RAID 1 (Mirrored disk)

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

RAID 5

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

Предположим, что массив содержит n дисков, а размер страйпа d . Для каждой порции из n–1 страйпов рассчитывается контрольная сумма p .

Cтрайп d 1 записывается на первый диск, страйп d 2 - на второй и так далее вплоть до страйпа d n–1 , который записывается на (n –1)-й диск. Далее на n -й диск записывается контрольная сумма p n , и процесс циклически повторяется с первого диска, на который записывается страйп d n .

Процесс записи (n–1) страйпов и их контрольной суммы производится одновременно на все n дисков.

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

p n = d 1 d 2 ... d 1–1 .

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

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

1101 0011 1100 1011 = 1001.

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

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

d 4 = d 1 d 2 d 4 p 5 .

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

d 4 = (1101) (0011) (1100) (1011) = 1001.

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

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

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

RAID 10

Уровень RAID 10 представляет собой некое сочетание уровней 0 и 1. Минимально для этого уровня требуются четыре диска. В массиве RAID 10 из четырех дисков они попарно объединяются в массивы уровня 0, а оба этих массива как логические диски объединяются в массив уровня 1. Возможен и другой подход: первоначально диски объединяются в зеркальные массивы уровня 1, а затем логические диски на основе этих массивов - в массив уровня 0.

Intel Matrix RAID

Рассмотренные RAID-массивы уровней 5 и 1 редко используются в домашних условиях, что связано прежде всего с высокой стоимостью подобных решений. Наиболее часто для домашних ПК применяется именно массив уровня 0 на двух дисках. Как мы уже отмечали, RAID уровня 0 не обеспечивает безопасности хранения данных, а потому конечные пользователи сталкиваются с выбором: создавать быстрый, но не обеспечивающий надежности хранения данных RAID-массив уровня 0 или же, увеличивая стоимость дискового пространства в два раза, - RAID-массив уровня 1, который обеспечивает надежность хранения данных, однако не позволяет получить существенного выигрыша в производительности.

Для того чтобы разрешить эту нелегкую проблему, корпорация Intel разработала технологию Intel Matrix Storage, позволяющую объединить достоинства массивов уровней 0 и 1 всего на двух физических дисках. А для того, чтобы подчеркнуть, что речь в данном случае идет не просто о RAID-массиве, а о массиве, сочетающем в себе и физические и логические диски, в названии технологии вместо слова «массив» используется слово «матрица».

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

Рассмотрим простой пример RAID-матрицы из двух дисков по 120 Гбайт каждый. Любой из дисков можно разбить на два логических диска, например по 40 и 80 Гбайт. Далее два логических диска одного размера (например, по 40 Гбайт) можно объединить в RAID-матрицу уровня 1, а оставшиеся логические диски - в RAID-матрицу уровня 0.

В принципе, используя два физических диска, также можно создать всего одну или две RAID-матрицы уровня 0, но вот получить только матрицы уровня 1 невозможно. То есть если в системе имеются всего два диска, то технология Intel Matrix Storage позволяет создавать следующие типы RAID-матриц:

  • одна матрица уровня 0;
  • две матрицы уровня 0;
  • матрица уровня 0 и матрица уровня 1.

Если в системе установлены три жестких диска, то возможно создание следующих типов RAID-матриц:

  • одна матрица уровня 0;
  • одна матрица уровня 5;
  • две матрицы уровня 0;
  • две матрицы уровня 5;
  • матрица уровня 0 и матрица уровня 5.

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

От теории к практике

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

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

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

Для нашего сравнительного тестирования RAID-контроллеров мы использовали материнскую плату Gigabyte GA-EX58A-UD7. Эта плата основана на чипсете Intel X58 Express с южным мостом ICH10R, имеющим интегрированный RAID-контроллер на шесть портов SATA II, который поддерживает организацию RAID-массивов уровней 0, 1, 10 и 5 с функцией Intel Matrix RAID. Кроме того, на плате Gigabyte GA-EX58A-UD7 интегрирован RAID-контроллер GIGABYTE SATA2, на базе которого реализованы два порта SATA II c возможностью организации RAID-массивов уровней 0, 1 и JBOD.

Также на плате GA-EX58A-UD7 интегрирован SATA III-контроллер Marvell 9128, на базе которого реализованы два порта SATA III c возможностью организации RAID-массивов уровней 0, 1 и JBOD.

Таким образом, на плате Gigabyte GA-EX58A-UD7 имеются три отдельных RAID-контроллера, на базе которых можно создать RAID-массивы уровней 0 и 1 и сравнить их друг с другом. Напомним, что стандарт SATA III обратно совместим со стандартом SATA II, поэтому на базе контроллера Marvell 9128, поддерживающего диски с интерфейсом SATA III, можно также создавать RAID-массивы с использованием дисков с интерфейсом SATA II.

Стенд для тестирования имел следующую конфигурацию:

  • процессор - Intel Core i7-965 Extreme Edition;
  • материнская плата - Gigabyte GA-EX58A-UD7;
  • версия BIOS - F2a;
  • жесткие диски - два диска Western Digital WD1002FBYS, один диск Western Digital WD3200AAKS;
  • интегрированные RAID-контроллеры:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • память - DDR3-1066;
  • объем памяти - 3 Гбайт (три модуля по 1024 Мбайт);
  • режим работы памяти - DDR3-1333, трехканальный режим работы;
  • видеокарта - Gigabyte GeForce GTS295;
  • блок питания - Tagan 1300W.

Тестирование проводилось под управлением операционной системы Microsoft Windows 7 Ultimate (32-bit). Операционная система инсталлировалась на диск Western Digital WD3200AAKS, который подключался к порту контроллера SATA II, интегрированного в южный мост ICH10R. RAID-массив собирался на двух дисках WD1002FBYS с интерфейсом SATA II.

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

Утилита IOmeter

Поскольку мы задумывали эту статью как своеобразное руководство пользователя по созданию и тестированию RAID-массивов, логично будет начать с описания утилиты IOmeter (Input/Output meter), которая, как мы уже отметили, является своеобразным отраслевым стандартом для измерения производительности дисковых систем. Данная утилита бесплатна, и ее можно скачать с ресурса http://www.iometer.org.

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

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

  • размер запроса на передачу данных;
  • случайное/последовательное распределение (в %);
  • распределение операций чтения/записи (в %);
  • количество отдельных операций ввода-вывода, работающих параллельно.

Утилита IOmeter не требует инсталляции на компьютер и состоит из двух частей: собственно IOmeter и Dynamo.

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

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

Рис. 1. Главное окно программы IOmeter

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

Итак, при запуске программы IOmeter в левой части главного окна (в окне Topology) будет отображаться древовидная структура всех запущенных генераторов нагрузки (экземпляров Dynamo). Каждый запущенный экземпляр генератора нагрузки Dynamo называется менеджером (manager). Кроме того, программа IOmeter является многопотоковой и каждый отдельный запущенный поток экземпляра генератора нагрузки Dynamo называется Worker. Количество запущенных Worker’ов всегда соответствует количеству логических ядер процессора.

В нашем примере используется только один компьютер с четырехъядерным процессором, поддерживающим технологию Hyper-Threading, поэтому запускается лишь один менеджер (один экземпляр Dynamo) и восемь (по количеству логических ядер процессора) Worker’ов.

Собственно, для тестирования дисков в данном окне нет необходимости что-либо менять или добавлять.

Если выделить мышью название компьютера в древовидной структуре запущенных экземпляров Dynamo, то в окне Target на вкладке Disk Target отобразятся все диски, дисковые массивы и прочие накопители (включая сетевые), установленные в компьютере. Это те накопители, с которыми программа IOmeter может работать. Носители могут быть помечены желтым или голубым цветом. Желтым цветом отмечаются логические разделы носителей, а голубым - физические устройства без созданных на них логических разделов. Логический раздел может быть перечеркнут или не перечеркнут. Дело в том, что для работы программы с логическим разделом его нужно прежде подготовить, создав на нем специальный файл, равный по размеру емкости всего логического раздела. Если логический раздел перечеркнут, то это значит, что раздел еще не подготовлен для тестирования (он будет подготовлен автоматически на первом этапе тестирования), ну а если раздел не перечеркнут, то это означает, что на логическом разделе уже создан файл, полностью готовый для тестирования.

Отметим, что, несмотря на поддерживаемую возможность работы с логическими разделами, оптимально тестировать именно не разбитые на логические разделы диски. Удалить логический раздел диска можно очень просто - через оснастку Disk Management . Для доступа к ней достаточно щелкнуть правой кнопкой мыши на значке Computer на рабочем столе и в открывшемся меню выбрать пункт Manage . В открывшемся окне Computer Management в левой части необходимо выбрать пункт Storage , а в нем - Disk Management . После этого в правой части окна Computer Management отобразятся все подключенные диски. Щелкнув правой кнопкой по нужному диску и выбрав в открывшемся меню пункт Delete Volume …, можно удалить логический раздел на физическом диске. Напомним, что при удалении с диска логического раздела вся информация на нем удаляется без возможности восстановления.

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

Итак, вернемся к описанию утилиты IOmeter. В окне Target на вкладке Disk Target необходимо выбрать тот диск (или дисковый массив), который будет подвергаться тестированию. Далее необходимо открыть вкладку Access Specifications (рис. 2), на которой можно будет определить сценарий тестирования.

Рис. 2. Вкладка Access Specifications утилиты IOmeter

В окне Global Access Specifications имеется список предустановленных сценариев тестирования, которые можно присвоить менеджеру загрузки. Впрочем, эти сценарии нам не понадобятся, поэтому все их можно выделить и удалить (для этого предусмотрена кнопка Delete ). После этого нажмем на кнопку New , чтобы создать новый сценарий тестирования. В открывшемся окне Edit Access Specification можно определить сценарий загрузки диска или RAID-массива.

Предположим, мы хотим выяснить зависимость скорости последовательного (линейного) чтения и записи от размера блока запроса на передачу данных. Для этого нам нужно сформировать последовательность сценариев загрузки в режиме последовательного чтения при различных размерах блока, а затем последовательность сценариев загрузки в режиме последовательной записи при различных размерах блока. Обычно размеры блоков выбираются в виде ряда, каждый член которого вдвое больше предыдущего, а первый член этого ряда равен 512 байт. То есть размеры блоков составляют следующий ряд: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт. Делать размер блока больше 1 Мбайт при последовательных операциях нет смысла, поскольку при таких больших размерах блока данных скорость последовательных операций не изменяется.

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

В поле Name окна Edit Access Specification вводим название сценария загрузки. Например, Sequential_Read_512. Далее в поле Transfer Request Size задаем размер блока данных 512 байт. Ползунок Percent Random/Sequential Distribution (процентное соотношение между последовательными и выборочными операциями) сдвигаем до упора влево, чтобы все наши операции были только последовательными. Ну а ползунок , задающий процентное соотношение между операциями чтения и записи, сдвигаем до упора вправо, чтобы все наши операции были только чтением. Остальные параметры в окне Edit Access Specification менять не нужно (рис. 3).

Рис. 3. Окно Edit Access Specification для создания сценария загрузки последовательного чтения
при размере блока данных 512 байт

Нажимаем на кнопку Ok , и первый созданный нами сценарий отобразится в окне Global Access Specifications на вкладке Access Specifications утилиты IOmeter.

Аналогично нужно создать сценарии и для остальных блоков данных, однако, чтобы облегчить себе работу, проще не создавать сценарий каждый раз заново, нажимая для этого кнопку New , а, выбрав последний созданный сценарий, нажать кнопку Edit Copy (редактировать копию). После этого опять откроется окно Edit Access Specification с настройками нашего последнего созданного сценария. В нем достаточно будет поменять лишь название и размер блока. Проделав аналогичную процедуру для всех остальных размеров блоков, можно приступить к формированию сценариев для последовательной записи, что делается совершенно аналогично, за исключением того, что ползунок Percent Read/Write Distribution , задающий процентное соотношение между операциями чтения и записи, нужно сдвинуть до упора влево.

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

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

Для этого еще раз проверяем, что в окне Topology выделено название компьютера (то есть менеджер нагрузки на локальном ПК), а не отдельный Worker. Это гарантирует, что сценарии нагрузки будут присваиваться сразу всем Worker’ам. Далее в окне Global Access Specifications выделяем все созданные нами сценарии нагрузки и нажимаем кнопку Add . Все выделенные сценарии нагрузки добавятся в окно (рис. 4).

Рис. 4. Присвоение созданных сценариев нагрузки менеджеру нагрузки

После этого нужно перейти к вкладке Test Setup (рис. 5), на которой можно задать время выполнения каждого созданного нами сценария. Для этого в группе Run Time задаем время выполнения сценария нагрузки. Вполне достаточно будет задать время, равное 3 мин.

Рис. 5. Задание времени выполнения сценария нагрузки

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

После того как все необходимые настройки произведены, рекомендуется сохранить созданный тест, нажав на панели инструментов на кнопку с изображением дискеты. Тест сохраняется с расширением *.icf. Впоследствии можно будет воспользоваться созданным сценарием нагрузки, запустив не файл IOmeter.exe, а сохраненный файл с расширением *.icf.

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

В ходе тестирования промежуточные результаты можно наблюдать на вкладке Result Display , а определить, к какому сценарию нагрузки они относятся, можно на вкладке Access Specifications . В окне Assigned Access Specification исполняемый сценарий отображается зеленым, выполненные сценарии - красным, а еще не выполненные сценарии - синим цветом.

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

Создание RAID-массива на базе контроллера GIGABYTE SATA2

Итак, мы начинаем создание RAID-массива на базе двух дисков с использованием интегрированного на плате RAID-контроллера GIGABYTE SATA2. Конечно, сама компания Gigabyte не производит чипов, а потому под чипом GIGABYTE SATA2 скрывается перемаркированный чип другой фирмы. Как можно выяснить из INF-файла драйвера, речь идет о контроллере серии JMicron JMB36x.

Доступ в меню настройки контроллера возможен на этапе загрузки системы, для чего нужно нажать комбинацию клавиш Ctrl+G, когда появится соответствующая надпись на экране. Естественно, прежде в настройках BIOS нужно определить режим работы двух SATA-портов, относящихся к контроллеру GIGABYTE SATA2, как RAID (в противном случае доступ в меню конфигуратора RAID-массива будет невозможен).

Меню настройки RAID-контроллера GIGABYTE SATA2 довольно простое. Как мы уже отмечали, контроллер является двухпортовым и позволяет создавать RAID-массивы уровня 0 или 1. Через меню настройки контроллера можно удалить или создать RAID-массив. При создании RAID-массива имеется возможность указать его название, выбрать уровень массива (0 или 1), задать размер страйпа для RAID 0 (128, 84, 32, 16, 8 или 4K), а также определить размер массива.

Если массив создан, то какие-либо изменения в нем уже невозможны. То есть нельзя впоследствии для созданного массива изменить, например, его уровень или размер страйпа. Для этого прежде нужно удалить массив (с потерей данных), а потом создать его заново. Собственно, это свойственно не только контроллеру GIGABYTE SATA2. Невозможность изменения параметров созданных RAID-массивов - особенность всех контроллеров, которая вытекает из самого принципа реализации RAID-массива.

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

Создание RAID-массива на базе контроллера Marvell 9128

Конфигурирование RAID-контроллера Marvell 9128 возможно только через настройки BIOS платы Gigabyte GA-EX58A-UD7. Вообще, нужно сказать, что меню конфигуратора контроллера Marvell 9128 несколько сыровато и может ввести в заблуждение неискушенных пользователей. Впрочем, об этих незначительных недоработках мы расскажем чуть позже, а пока рассмотрим основные функциональные возможности контроллера Marvell 9128.

Итак, несмотря на то что этот контроллер поддерживает работу с дисками с интерфейсом SATA III, он также полностью совместим с дисками с интерфейсом SATA II.

Контроллер Marvell 9128 позволяет создать RAID-массив уровней 0 и 1 на базе двух дисков. Для массива уровня 0 можно задать размер страйпа 32 или 64 Кбайт, а также указать имя массива. Кроме того, имеется и такая опция, как Gigabyte Rounding, которая нуждается в пояснении. Несмотря на название, созвучное с именем компании-производителя, функция Gigabyte Rounding никакого отношения к ней не имеет. Более того, она никак не связана с RAID-массивом уровня 0, хотя в настройках контроллера ее можно определить именно для массива этого уровня. Собственно, это первая из тех недоработок конфигуратора контроллера Marvell 9128, о которых мы упоминали. Функция Gigabyte Rounding определена только для RAID-массива уровня 1. Она позволяет использовать для создания RAID-массива уровня 1 два диска (например, различных производителей или разные модели), емкость которых немного отличается друг от друга. Функция Gigabyte Rounding как раз и задает разницу в размерах двух дисков, применяемых для создания RAID-массива уровня 1. В контроллере Marvell 9128 функция Gigabyte Rounding позволяет установить разницу в размерах дисков 1 или 10 Гбайт.

Еще одна недоработка конфигуратора контроллера Marvell 9128 заключается в том, что при создании RAID-массива уровня 1 у пользователя имеется возможность выбора размера страйпа (32 или 64 Кбайт). Однако понятие страйпа вообще не определено для RAID-массива уровня 1.

Создание RAID-массива на базе контроллера, интегрированного в ICH10R

RAID-контроллер, интегрированный в южный мост ICH10R, является самым распространенным. Как уже отмечалось, данный RAID-контроллер 6-портовый и поддерживает не только создание массивов RAID 0 и RAID 1, но также RAID 5 и RAID 10.

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

Меню настройки RAID-контроллера достаточно простое. Через меню настройки контроллера можно удалить или создать RAID-массив. При создании RAID-массива можно указать его название, выбрать уровень массива (0, 1, 5 или 10), задать размер страйпа для RAID 0 (128, 84, 32, 16, 8 или 4K), а также определить размер массива.

Сравнение производительности RAID-массивов

Для тестирования RAID-массивов с помощью утилиты IOmeter мы создали сценарии нагрузки последовательного чтения, последовательной записи, выборочного чтения и выборочной записи. Размеры блоков данных в каждом сценарии нагрузки составляли следующую последовательность: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт.

На каждом из RAID-контроллеров создавался массив RAID 0 со всеми допустимыми размерами страйпов и массив RAID 1. Кроме того, дабы иметь возможность оценить прирост производительности, получаемый от использования RAID-массива, мы также протестировали на каждом из RAID-контроллеров одиночный диск.

Итак, обратимся к результатам нашего тестирования.

Контроллер GIGABYTE SATA2

Прежде всего рассмотрим результаты тестирования RAID-массивов на базе контроллера GIGABYTE SATA2 (рис. 6-13). В общем-то контроллер оказался в буквальном смысле загадочным, а его производительность просто разочаровала.

Рис. 6. Скорость последовательных
и выборочных операций для диска
Western Digital WD1002FBYS

Рис. 7. Скорость последовательных

c размером страйпа 128 Кбайт
(контроллер GIGABYTE SATA2)

Рис. 12. Скорость последовательных
и выборочных операций для RAID 0
c размером страйпа 4 Кбайт
(контроллер GIGABYTE SATA2)

Рис. 13. Скорость последовательных
и выборочных операций
для RAID 1 (контроллер GIGABYTE SATA2)

Если посмотреть на скоростные характеристики одного диска (без RAID-массива), то максимальная скорость последовательного чтения составляет 102 Мбайт/с, а максимальная скорость последовательной записи - 107 Мбайт/с.

При создании массива RAID 0 с размером страйпа 128 Кбайт максимальная скорость последовательного чтения и записи увеличивается до 125 Мбайт/с, то есть возрастает примерно на 22%.

При размере страйпа 64, 32 или 16 Кбайт максимальная скорость последовательного чтения составляет 130 Мбайт/с, а максимальная скорость последовательной записи - 141 Мбайт/с. То есть при указанных размерах страйпа максимальная скорость последовательного чтения возрастает на 27%, а максимальная скорость последовательной записи - на 31%.

Вообще-то это маловато для массива уровня 0, и хотелось бы, чтобы максимальная скорость последовательных операций была выше.

При размере страйпа 8 Кбайт максимальная скорость последовательных операций (чтения и записи) остается примерно такой же, как и при размере страйпа 64, 32 или 16 Кбайт, однако с выборочным чтением - явные проблемы. При увеличении размера блока данных вплоть до 128 Кбайт скорость выборочного чтения (как и должно быть) возрастает пропорционально размеру блока данных. Однако при размере блока данных более 128 Кбайт скорость выборочного чтения падает практически до нуля (примерно до 0,1 Мбайт/с).

При размере страйпа 4 Кбайт падает не только скорость выборочного чтения при размере блока более 128 Кбайт, но и скорость последовательного чтения при размере блока более 16 Кбайт.

Использование массива RAID 1 на контроллере GIGABYTE SATA2 практически не изменяет (в сравнении с одиночным диском) скорость последовательного чтения, однако максимальная скорость последовательной записи уменьшается до 75 Мбайт/с. Напомним, что для массива RAID 1 скорость чтения должна возрастать, а скорость записи не должна уменьшаться в сравнении со скоростью чтения и записи одиночного диска.

На основании результатов тестирования контроллера GIGABYTE SATA2 можно сделать только один вывод. Использовать данный контроллер для создания массивов RAID 0 и RAID 1 имеет смысл только в том случае, когда все остальные RAID-контроллеры (Marvell 9128, ICH10R) уже задействованы. Хотя представить себе подобную ситуацию довольно сложно.

Контроллер Marvell 9128

Контроллер Marvell 9128 продемонстрировал гораздо более высокие скоростные характеристики в сравнении с контроллером GIGABYTE SATA2 (рис. 14-17). Собственно, различия проявляются даже при работе контроллера с одним диском. Если для контроллера GIGABYTE SATA2 максимальная скорость последовательного чтения составляет 102 Мбайт/с и достигается при размере блока данных 128 Кбайт, то для контроллера Marvell 9128 максимальная скорость последовательного чтения составляет 107 Мбайт/с и достигается при размере блока данных 16 Кбайт.

При создании массива RAID 0 с размером страйпа 64 и 32 Кбайт максимальная скорость последовательного чтения увеличивается до 211 Мбайт/с, а последовательной записи - до 185 Мбайт/с. То есть при указанных размерах страйпа максимальная скорость последовательного чтения возрастает на 97%, а максимальная скорость последовательной записи - на 73%.

Существенной разницы по скоростным показателям массива RAID 0 с размером страйпа 32 и 64 Кбайт не наблюдается, однако применение страйпа 32 Кбайт более предпочтительно, поскольку в этом случае скорость последовательных операций при размере блока менее 128 Кбайт будет немного выше.

При создании массива RAID 1 на контроллере Marvell 9128 максимальная скорость последовательных операций практически не изменяется в сравнении с одиночным диском. Так, если для одиночного диска максимальная скорость последовательных операций составляет 107 Мбайт/с, то для RAID 1 она равна 105 Мбайт/с. Также заметим, что для RAID 1 скорость выборочного чтения немного ухудшается.

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

Контроллер ICH10R

RAID-контроллер, встроенный в ICH10R, оказался самым высокопроизводительным из всех протестированных нами (рис. 18-25). При работе с одиночным диском (без создания RAID-массива) его производительность фактически такая же, как и производительность контроллера Marvell 9128. Максимальная скорость последовательного чтения и записи составляет 107 Мбайт и достигается при размере блока данных 16 Кбайт.

Рис. 18. Скорость последовательных
и выборочных операций
для диска Western Digital WD1002FBYS (контроллер ICH10R)

Если говорить о массиве RAID 0 на контроллере ICH10R, то максимальная скорость последовательного чтения и записи не зависит от размера страйпа и составляет 212 Мбайт/с. От размера страйпа зависит лишь размер блока данных, при котором достигается максимальное значение скорости последовательного чтения и записи. Как показывают результаты тестирования, для RAID 0 на базе контроллера ICH10R оптимально использовать страйп размером 64 Кбайт. В этом случае максимальное значение скорости последовательного чтения и записи достигается при размере блока данных всего 16 Кбайт.

Итак, резюмируя, еще раз подчеркнем, что RAID-контроллер, встроенный в ICH10R, существенно превосходит по производительности все остальные интегрированные RAID-контроллеры. А учитывая, что он обладает и большей функциональностью, оптимально использовать именно этот контроллер и просто забыть о существовании всех остальных (если, конечно, в системе не применяются диски SATA III).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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