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

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

20.06.2019

Все современные материнские платы оснащены интегрированным 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-контроллеров одиночный диск.

Рис. 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 контроллер представляет собой элемент вычислительной системы, обеспечивающий отказоустойчивость в случае отказа дискового накопителя, а также увеличение быстродействия дисковой подсистемы. Почему это так важно, наверное, понимают все, но давайте все-таки рассмотрим некоторые аспекты этой проблемы.

Несмотря на то, что MTBF современных high-end дисков колоссально (более 100 лет), практика показывает, что они все-таки выходят из строя. Для этого есть ряд объективных причин — на жизнь дисков влияет нестабильность электропитания, вибрация и циклы включения-выключения, а также нарушение температурного режима. Кроме того, существует некоторая вероятность заводского брака. Так что, если вы хотите уберечь свои данные и избежать простоев, то без RAID системы вам не обойтись.

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

Существует три основных варианта реализации RAID систем:

  • программная (software-based);
  • аппаратная — шинно-ориентированная (bus-based);
  • аппаратная — автономная подсистема (subsystem-based).

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

Программно обычно реализуют простые уровни RAID — 0 и 1, так как они не требуют значительных вычислений, но иногда и RAID 5. Учитывая эти особенности, RAID системы с программной реализацией используются в серверах начального уровня. Но есть также более интересные программные реализации, например, Adaptive RAID, которая динамически меняет способ отображения данных в зависимости от их характера и динамики использования.

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

Рассмотрим основных поставщиков RAID контроллеров, которые доступны на рынке дистрибуции и ОЕМ.

Сильные мира сего

Среди наиболее сильных мира PCI-to-SCSI RAID контроллеров — Adaptec, AMI (American Megatrends), DPT (Distributed Processing Tchnology), Mylex. Есть еще, пожалуй, IFT (Infortrend Technology), более известная на рынке ОЕМ, чем на дистрибуторском рынке. Следует также отметить Compaq, который, на сегодня, является производителем RAID контроллеров №1 благодаря использованию своих контроллеров в своих же серверах, но только благодаря этому. К достаточно мощным производителям можно отнести Vortex, он занимает значительную долю Немецкого рынка RAID контроллеров, но за его пределами доля этого производителя ничтожно мала.

На мировом рынке дистрибуции и ОЕМ, как впрочем, и на территории СНГ наиболее распространены сегодня Mylex и AMI, причем первый доминирует со значительным отрывом (благодаря хорошо развитым каналам дистрибуции).

Немного другая ситуация с контроллерами SCSI-to-SCSI. Так как они ориентированы на более дорогие и менее распространенные внешние решения, то увидеть их в прайс-листах на комплектующие можно достаточно редко. Если же говорить о том, что можно встретить в системах хранения данных наиболее часто, то это Infortrend и Mylex. Достаточно сильные позиции у CMD Technology и Digi-Data. Именно Digi-Data долгое время являлась производителем наиболее быстродействующих контроллеров на массовом рынке.

Конечно, не следует забывать, что существуют очень сильные решения от поставщиков законченных решений хранения данных — Digital (теперь часть Compaq), Andataco, Hitachi, Storage Computer и других, но они представляют интерес как законченные системы, а это уже тема другой статьи.

Adaptec — законодатель моды SCSI и лидер в производстве SCSI адаптеров, но на рынке RAID контроллеров он таким не является. Несмотря на это, серия RAID upgrade контроллеров ARO — достаточно популярна, благодаря своей исключительно низкой цене.

Эта серия представлена карточками ARO-1130CA, ARO-1130SA. Они ориентированы на использование в материнских платах с интегрированными SCSI чипами Adaptec AIC-7880, AIC-7895 и ставятся в 32-bit PCI + RAIDport II коннектор. ARO-1130CA поддерживает уровни RAID 0 и 1, а ARO-1130SA — уровни RAID 0, 1 и 5. Недостатком использования этих решений является их сравнительно невысокое быстродействие (эти контроллеры не используют специализированных процессоров для обработки запросов ввода-вывода), низкое количество возможностей и небольшой набор драйверов (Windows и Netware). Еще одной проблемой этой серии является неполная совместимость BIOS с материнскими платами, которые их «поддерживают», поэтому, их лучше приобретать у производителей материнских плат, которые гарантируют совместимость продаваемых ими изделий.

Контроллеры серии AAA отличаются от серии ARO наличием SCSI чипов, соответственно они могут быть использованы в материнских платах без RAID port. Карты AAA-131, AAA-133 (различие в количестве каналов, соответственно один и три) поставляются Adaptec на дистрибуторский рынок, AAA-132 доступны только для OEM.

Недавно у Adaptec появились новые RAID контроллеры с поддержкой интерфейса Ultra 2 SCSI. Среди них старые серии AAA и ARO (ARO-1130U2 могут использоваться в материнских платах с интегрированным контроллером Adaptec Ultra 2 SCSI и RAIDport III, появилась также поддержка UnixWare). А также новые контроллеры AAC-364, — это 64-х битный RAID контроллер с интегрированным мощным микропроцессором StrongARM® 233 MHz и четырьмя Ultra 2 SCSI каналами (два внутренних коннектора и четыре внешних). В отличие от своих младших собратьев он поддерживает 128М ECC кэш память и Battery backup модуль. Но его недостатком все также остается поддержка драйверов только в системах Windows и Netware.

Adaptec также является производителем SCSI-to-SCSI контроллеров серии AEC-4312A и AEC-7312A, они, как и продукты линейки AAA достаточно просты и используются в entry level storage системах. Обе модели в качестве процессора ввода-вывода используют AMD 5X86 processor, 133 MHz и обслуживают по два дисковых канала Ultra SCSI. Модель AEC-4312A использует один хост канал с интерфейсом single ended или differential SCSI и протоколами Fast, или Ultra SCSI, а модель AEC-7312A использует одни хост канал Fibre Channel.

American Megatrends вышла на рынок RAID в средине 1995-го года. В 1996-м, благодаря своим характеристикам серия контроллеров AMI MegaRAID опередила своих конкурентов по всем критериям, а в начале 1997-го AMI стала ведущим поставщиком PCI SCSI RAID контроллеров для OEM. Ориентация на OEM для АМІ первоначальна, сегодня ее контроллеры используют более 80% ведущих мировых производителей, но два года назад она вышла на дистрибуторский рынок и ее продукты стали доступны через сеть ресселеров и дистрибуторов.

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

Сегодня доступны пять моделей PCI RAID контроллеров AMI MegaRAID — 762, 466, 428, 434, 438. MegaRAID Express 762-я серия — это Zero channel PCI RAID upgrade контроллеры для материнских плат с интегрированными SCSI контроллерами Symbios Logic (среди которых Intel T440BX, NA440BX, NC440BX, SC450NX, AMI MegaRUM, MegaRUM II). Он поддерживают уровни RAID 0, 1, 3, 5, 10, 30, 50, JBOD (это касается и других контроллеров MegaRAID) и может содержать до 128 Мбайт кэш памяти. В отличие от контроллеров Adaptec ARO серия Express может устанавливаться на платформы как с обычным Ultra SCSI, так и Ultra2 SCSI (LVD). Контроллер MegaRAID Express Plus 466-я серия отличается от контроллера 762-й серии тем, что, он может устанавливаться в любые материнские платы, так как имеет интегрированный SCSI чип Symbios Logic 53C895 (LVDS/SE). Обе серии имеют интегрированный специализированный процессор ввода-вывода i960.

К недостаткам моделей Express можно отнести невозможность подключить BBU и более низкое быстродействие по сравнению с полнофункциональными устройствами.

Серия MegaRAID 428 — это классический полнофункциональный RAID контроллер от AMI, который объединяет в себе высокую надежность, масштабируемость и поддержку кластеризации . Он выпускается в одно, двух и трех канальном исполнении, поддерживает до 128Мбайт кэш памяти, которая может устанавливаться в два слота. 428, 434 и 438 серии, имеют возможность подключения BBU.

Серия 434 отличается от 428-й более мощным процессором ввода/вывода и более новыми SCSI чипами от Symbios Logic и уже не имеет встроенных коннекторов для 50-pin кабеля. В отличие от 428-й серии, 434-я не имеет поддержки кластеризации, AMI решила реализовать ее в следующей серии — 438. MegaRAID Ultra2 LVD series 438 поставляется только в двух- и трехканальном вариантах и имеет ряд новшеств по сравнению со своим предшественником: Ultra2, I 2 O и поддержка кластеризации. Но при этом, в стандартной реализации, поддерживает только 64 Мбайт кэш памяти. Сегодня поставляется также версия 438-H, которая имеет более высокое быстродействие по сравнению с 438-м контроллером благодаря новому специализированному драйверу, который, к сожалению, разработан только под Windows NT (реально, кроме драйвера она ни чем не отличается от обычной 438-й серии).

Из достоверных источников недавно появилась информация, что AMI готовит к выпуску несколько новых продуктов. Очень скоро должны появится модели Express 300, Enterprise 1500, Enterprise 2000 и первый внешний Fiber-to-LVD RAID контроллер от AMI — Explorer 500. (Во время написания статьи AMI анонсировала Explorer 500 и Enterprise 1500). Все новые продукты объединяют в себе современные технологии, такие как Ultra2 SCSI, SDRAM и будут в несколько раз быстрее предыдущих моделей. Ниже приведена короткая сводка характеристик новых моделей MegaRAID:

Параметр Express 300 Enterprise 1500 Enterprise 2000 Explorer 500
Процессор i960RM 100MHz i960RN 100MHz RISC 250MHz * i960RN 100MHz
Кэш (SDRAM) до 128M, 66MHz до 128M, 66MHz до 128M, 100MHz до 128M, 66MHz
Host bus 32bit PCI 64bit PCI 64bit PCI 2 x Fiber Channel
Drive bus 1(+2) Ultra2 SCSI ** 4 Ultra2 SCSI 4 Ultra2 SCSI 2 Ultra2 SCSI
I 2 O Yes Yes - -
Clustering Yes Yes Yes Yes
Hot Plug PCI No No Yes -
BBU No Yes Yes Yes

* — 64bit 250MHz RISC Processor with AMI Companion Chip

** — один канал Ultra2 SCSI на контроллере + два канала на материнской плате

Благодаря сильной команде разработчиков софта AMI обеспечила поддержку своих контроллеров для всех основных операционных систем. В стандартный пакет входят Novell Netware, Windows NT, SCO Unix, SCO Open server, Unixware, Linux Redhat, Solaris, OS/2 Warp, MS DOS. По специальному запросу обеспечивается поддержка для практически любой специализированной системы, есть также реализации для Bynyan Vines и 64-bit Windows NT для процессоров ALPHA. Кроме того, драйвера под UNIX системы, в том числе Solaris и Linux являются наиболее производительными среди конкурентов.

Одной из проблем АМІ являются слабые производственные мощности, а также, достаточно высокая стоимость изделий, но следует отметить, что вся продукция этого производителя обеспечивается 5-летней гарантией и практически не имеет брака.

DPT RAID контроллеры известны своей модульностью, быстродействием и сильной поддержкой различных операционных систем. В списке поддерживаемых операционных систем практически все наиболее распространенные — Novell Netware, Windows NT, SCO Unix, SCO Open server, Unixware, Linux Redhat, OS/2 Warp, Win 95/98.

В этом году DPT начала поставки пятого поколения своих RAID контроллеров — SmartRAID V. Они представлены тремя различными сериями — Decade, Century и Millennium. В SmartRAID V реализована эксклюзивная технология DPT — P3 (Parallel Pipeline Processing), которая позволяет обрабатывать команды ввода/вывода параллельно и множество других особенностей, удобных для администрирования массива. Кроме того, DPT предлагает достаточно широкие возможности по использованию интерфейса Fiber Channel. Практически все модели нового поколения имеют вариант реализации с этим интерфейсом или же могут расширятся с помощью дополнительных плат поддерживающих интерфейс Fiber Channel.

Контроллеры DPT поддерживают уровни RAID 0, 1, 0+1, 5, 0+5 и являются одними из наиболее производительных устройств на рынке. За утверждением главы отдела продаж и маркетинга старшая модель Millennium опережают контроллеры предыдущего поколения по быстродействию в 4-ре раза, и находится впереди всех конкурентов.

Millennium позиционируется DPT как контроллер для серверов масштаба предприятия. Он имеет очень высокое быстродействие (центральный механизм реализован на i960HD-66MHz) и достаточно широкие возможности: поддерживает до 3-х Ultra2 SCSI каналов или 2-х Fiber channel, до 256 Мбайт кэш памяти, выпускается в варианте для 32bit и 64bit PCI и имеет возможность подключения Battery Backup модуля (только 64bit вариант).

Century — это контроллеры для среднего уровня производительности с конкурентной ценой. Эта модель поддерживает до 64Мбайт кэш памяти и выпускается для 32bit PCI в вариантах с 3-мя каналами Ultra2 SCSI или же одним Fiber channel и одним Ultra2 SCSI каналом. В отличие от Millennium, Century (а также Decade) не поддерживает BBU.

Модель Decade предназначена для использования в качестве Entry Level RAID контроллера, является более медленной, чем Century и выпускается только в одноканальном Ultra2 SCSI варианте. Она поддерживает 4 Мбайт кэш памяти, которая может быть расширена до 64 Мбайт при установке специальной платы расширения.

Что касается модульности, — это эксклюзивная особенность RAID контроллеров DPT, которая позволяет пользователю, покупая базовое решение, расширить его в будущем, используя специальные платы расширения. Они позволяют расширить возможности используемого контроллера путем добавления одного-двух Ultra2 SCSI или одного Fiber channel канала. Кроме RAID контроллеров DPT также производит линейку интеллектуальных SCSI контроллеров со встроенным процессором ввода/вывода i960. При подключении к ним платы RAID Accelerator Module такой контроллер становится RAID контроллером. Таким образом, пользователь экономит на том, что вкладывает свои деньги в технику по мере необходимости. Следует также отметить, что все RAID контроллеры SmartRAID V поддерживают технологию I 2 O.

Mylex является неоспоримым лидером по объемам продаж на рынке PCI SCSI RAID контроллеров. В прошлом году рыночная доля Mylex составила около 55%. Продажи ведутся как для ОЕМ, так и на дистрибуторском рынке. PCI SCSI RAID контроллеры Mylex достаточно часто занимают лидирующие позиции в TPC Top Ten List, доказывая свое высокое быстродействие.

Mylex подразделяет RAID контроллеры, которые он производит на три группы.

Low Cost RAID (недорогие RAID) — семейство недорогих PCI RAID контроллеров, для серверов нижнего уровня и высокопроизводительных рабочих станций. К ним относятся модели AcceleRAID 150, 200 и 250. Все они являются RAID upgrade контроллерами и могут использоваться в материнских платах с интегрированным Symbios Logic SCSI контроллером (аналогично серии AMI MegaRAID Express), но вместе с этим модели 150 и 250 имеют интегрированный SCSI чип и могут использоваться и в платформах без функций RAID port. Они поддерживают RAID уровней 0, 1, 0+1, 3, 5, 30, 50, JBOD, кэш память от 4-х до 64-х Мбайт (AcceleRAID 150 — максимум 4Мбайт) и 32bit Hot plug PCI.

High Performance RAID (высокоскоростные RAID) — интеллектуальные решения для организации ввода/вывода серверов среднего и высокого уровней с высокой отказоустойчивостью и удобным управлением. К ним относятся контроллеры eXtremeRAID 1100, DAC960PJ / DAC960PG. Они обладают достаточно большим количеством возможностей по администрированию RAID и обеспечивают быстродействие на уровне необходимом для серверов масштаба предприятия. Модели PJ и PG почти не отличаются, кроме того, что на первом интегрирован более мощный процессор — Intel i960RD в отличие от Intel i960RP, который интегрирован на PG. Модель eXtremeRAID 1100 является первой реализацией Mylex RAID контроллера для 64bit PCI (хотя внутренняя архитектура его остается 32-битной). На eXtremeRAID 1100 для обработки запросов ввода-вывода интегрирован процессор StrongArm SA 110, 233 MHz, что делает его одним из наиболее мощных PCI-to-SCSI контроллеров на сегодняшний день. Наряду с указанными преимуществами eXtremeRAID 1100 сертифицирован для работы в кластерных системах под управлением Windows NT Enterprise Edition.

Mylex обеспечила поддержку своих PCI-to-SCSI контроллеров для наиболее распространенных серверных операционных систем, таких как: Novell Netware, Windows NT, SCO Unix, SCO Openserver, Unixware, Linux Redhat, Win 95/98.

К недостаткам PCI-to-SCSI решений Mylex следует отнести относительно низкий MTBF — 200 тыс. часов, в то время как у большинства моделей конкурентов этот показатель колеблется от 350 до 500 тыс. часов.

External RAID (внешний RAID) от Mylex являют собой высокоскоростные и оптимально гибкие решения для наиболее требовательных систем уровня предприятия и серверных систем среднего уровня (mid-range server systems). Они прекрасно подходят для построения сетей хранения данных (Storage Area Network) и кластеризации серверных систем.

Линейка внешних RAID контроллеров Mylex включает в себя 5 основных моделей (модель SU мы рассматривать не будем, как устаревшую).

Параметр DAC960SX DAC960SF DAC960FL DAC960FF
CPU (i960) RD 33MHz 2 x RD 66MHz 2 x RD 66MHz RN 100MHz
Кэш, до 128Mb 128Mb 256Mb 256Mb
Host bus * 1(2) Ultra SCSI 2 x FC 2 x FC 2 x FС
Drive bus ** 2(5) Ultra SCSI 4(6) Ultra SCSI 4 x Ultra2 SCSI 4 x FС
Burst IO *** 1"800 4"100 4"100 5"800
Transfer **** 30 MB/s 52 MB/s 52 MB/s 190 MB/s
Disks ***** 75 90 60 500

* — минимальное и максимальное (в скобках) количество хост каналов для модели.

** — минимальное и максимальное (в скобках) количество дисковых каналов для модели.

*** — Максимальное быстродействие обработки операций ввода-вывода

**** — Sustained disk transfer rate (непрерывный трансфер), фактически является максимально доступным значением непрерывной передачи данных, в то время как пиковый показатель может достигать максимально возможного значения для суммарной пропускной способности хост каналов.

***** — Максимальное количество дисков, подключаемых к одному контроллеру.

IFT (Infortrend technology) — работает на рынке RAID с 1992 года. Она была организована как компания по разработке и производству высоконадежных и высокопроизводительных контроллеров. Благодаря интересным идеям и невысоким ценам она смогла завоевать достаточно большую долю OEM рынка. К ее заказчикам относятся такие компании как Amaquest и ASUStek, а также много других.

IFT производит единственную модель PCI-to-SCSI контроллеров 2101UA/B (A — 1 channel, B — 2 channels), которая недавно пополнилась реализацией, поддерживающей Ultra 2 (которая также использует более мощный процессор). Они использует для ввода-вывода процессоры серии x86 (2101U — 486DX4 100MHz; 2101U2 — AMD 5×86 133MHz), что делает их достаточно привлекательными для систем начального уровня, в связи с хорошим соотношением цена/производительность. PCI-to-SCSI контроллеры IFT имеют очень хорошую драйверную поддержку, для них написаны драйверы под Novell Netware, Windows NT, Win95/98, OS/2 Warp, SCO Unix, SCO Openserver, Unixware, Linux, SUN Solaris.

Что касается subsystem-based RAID контроллеров, то здесь у IFT дела обстоят намного лучше. Линейка SCSI-to-SCSI у Infortrend включает большое количество моделей от простых 2-канальных реализаций в 3.5″ форм-факторе до 9-канальных моделей с оптоволоконными хост каналами. Хотя RAID контроллеры IFT не являются эталонами быстродействия, они объединяют в себе высокую надежность с прекрасным соотношением цена/производительность, чем завоевали себе прочное место в entry level и mid-range системах.

Модели серии 3101 (3.5″, entry level) являются достаточно простыми, имеют по несколько каналов (от 2-х до 4-х) и как все внешние контроллеры этого производителя являются Multihost. Модели серии 3102 (5.25″, mid-range) надежнее и удобнее в интеграции, по словам самого производителя, а также имеют более широкие возможности по расширению.

Контроллеры IFT являются модульными. Серия 3102 включает четыре модели 3102U и 3102UG, а также более новые 3102U2 и 3102U2G. Все эти модели в базовом варианте используют SCSI каналы и являются Multihost контроллерами (в отличие от классической реализации Multihost предполагает, что любой канал может быть использован для хост соединения, или же для подключения дисков).

Параметр 3101U2G 3102U 3102UG 3102U2 3102U2G
CPU 5×86 133MHz 486 100MHz 486 100MHz 5x86 133MHz 5x86 133MHz
Кэш, до 128Mb 128Mb 128Mb 128Mb 128Mb
Interface * Ultra2 SCSI Ultra SCSI Ultra SCSI Ultra2 SCSI Ultra2 SCSI
Channels ** 2 channels 3 channels 4 channels 3 channels 4 channels
Expandable *** 4 channels 8 channels 9 channels 6 channels 8 channels
BBU No Yes Yes Yes Yes
HotSwap Yes No Yes No Yes

* — интерфейс каналов базового модуля;

** — каждый канал может быть использован для связи с хостом или подсоединения дисков;

*** — максимальное количество каналов после наращивания.

Каждая модель может быть расширена с использованием дочерних плат. Набор таких плат для каждой модели одной серии очень похож. Для примера рассмотрим варианты расширения наиболее современной модели 3102U2G.

IFT-9174: 4 × 68-pin Ultra2 Wide SCSI (с терминацией)

IFT-9174-N: 4 × 68-pin Ultra2 Wide SCSI (без терминации)

IFT-9174U2D: 2 × 68-pin Ultra2 Wide SCSI и 2 × 68-pin Ultra Wide differential (с терминацией)

IFT-9174U2D-N: 2 × 68-pin Ultra2 Wide SCSI и 2 × 68-pin Ultra Wide differential (без терминации)

IFT-9174U2F: 2 × 68-pin Ultra Wide, single ended & 2 × single loop Fibre channels * (с терминацией)

IFT-9174U2F-N: 2 × 68-pin Ultra2 Wide SCSI и 2 × single loop Fibre channels (без терминации)

* — два single loop оптоволоконных канала могут использоваться как один dual loop канал.

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

CMD Technology в отличие от рассмотренных выше компаний, производит RAID контроллеры только в виде автономных подсистем (SCSI-to-SCSI RAID). Этот американский производитель длительное время являлся поставщиком внешних RAID контроллеров для систем хранения данных фирмы Digital, что, несомненно, характеризует ее как производителя высококачественных, надежных и быстродействующих устройств.

Линейка продуктов CMD включает модели ориентированные на использование OEM, ресселерами и системными интеграторами в системах хранения данных начального, среднего и высокого уровней. Мы коротко рассмотрим модели, спроектированные для использования ресселерами и системными интеграторами (в том числе небольшими ОЕМ).

Серия Viper II включает модели CRD-5440, CRD-5500 и CRD-564X. Она поддерживает уровни RAID 0, 1, 0+1, 4, 5. Модель CRD-5440 ориентирована на использование интеграторами и ресселерами в entry level и mid range системах. Контроллеры CRD-5440 используют четыре канала SCSI (итерфейсы: Ultra SCSI Low Voltage Differential (LVD), Single Ended (SE) или High Voltage Differential (HVD)), которые могут быть использованы как для хост соединения, так и для подключения дисков. Для обработки команд ввода-вывода используется процессор 32-bit RISC 40 Mhz LR33310 (MIPS R3000 core) с внутренним коэффициентом передачи 80Mb/s и поддерживает кэш память до 256 Mb.

Модель CRD-5500 ориентирована на использование в высокоскоростных, высоконадежных и отказоустойчивых системах хранения данных. Архитектура CRD-5500 организована как Active/Active отказоустойчивый модульный контроллер на основе того же процессора что и CRD-5400, но в отличие от конкурентов, построена таким образом, что в Active/Active конфигурации коэффициент передачи данных имеет достаточно высокий уровень и составляет приблизительно 1.7 от номинального. CRD-5500 является модульным контроллером и может быть сконфигурирован на 4 хост-каналов и 8 каналов для подключения дисков и поддерживает кэш память до 512 Mb.

Модель CRD-564X спроектирована для того, что бы обеспечить максимальный уровень целостности данных и их доступности в системах начального и среднего уровня. CRD-564X является готовым отказоустойчивым RAID контроллером архитектуры Viper II. Как и все другие устройства этой серии CRD-564X использует для ввода-вывода процессоры 40 Mhz LR33310 и поддерживает уровни RAID 0, 1, 0+1, 4, 5, и поддерживает 4 Ultra SCSI канала. Важной особенностью является поддержка технологии CMD AutoRebuild. В случае отказа одного контроллера (CRD-564X состоит из двух контроллеров, подключенных один к одному в одном корпусе) и его замены эта технология автоматически возвращает отказоустойчивый контроллер (имеется в виду весь блок CRD-564X) в состояние, в котором он находился до отказа, без участия пользователя. Кроме того, каждая часть контроллера является hot pluggable устройством (поддерживает горячую замену).

Titan (CRA-7280) — новейшая серия RAID контроллеров. Архитектура Titan объединяет в себе Fibre Channel и LVD Ultra2 SCSI технологий. Эта серия ориентирована на использование в RAID системах при построении сетей хранения данных (Storage Area Network). CRA-7280 представляет собой высокоскоростное, высоконадежное и отказоустойчивое (redundant controller) решение для систем среднего и высокого уровня, он поддерживает технологию CMD AutoRebuild и исполнен в виде 3U 19″ Rackmount корпусе для удобства интеграции в 19″ стойку. Архитектура контроллеров Titan построена на базе процессора 233 MHz SA-110 StrongARM RISC CPU с внутренними 32-bit и 64-bit шинами данных и поддержкой SDRAM. CRA-7280 использует два хост интерфейса Fibre Channel Arbitrated Loops (FCAL) в copper, single-mode или multi-mode fiber реализациях и поддерживает до 1Gb кэш памяти.

Digi-Data — американский производитель SCSI-to-SCSI RAID контроллеров, которые длительное время являлись самыми быстрыми среди устройств своего класса. Digi-Data работает на рынке систем хранения данных с 1960 года. Производить RAID контроллеры компания начала с 1992 года, и с тех пор завоевала репутацию производителя высококачественных надежных устройств.

Сегодня линейка контроллеров Digi-Data включает серии:

  • Z-9100 — Ultra SCSI RAID контроллеры,
  • Z-9200 — Ultra2 SCSI RAID контроллеры,
  • Z-9500 — Fibre Channel RAID контроллеры.

Контроллеры Digi-Data прекрасно подходят для обработки больших массивов информации и непрерывных потоков данных для таких приложений как видео или регистрация потоков данных со спутника.

Серия Z-9100 включает четыре модели: Z-9100, Z-9102, Z-9150, Z-9152. Все они используют шесть дисковых каналов (четыре для данных, один для parity, один для spare дисков) и поддерживают уровни RAID 0, 1 и 3. Модели отличаются наличием одного или двух (в конце номера модели цифра 2) хост интерфейсов и поддержкой 5-го уровня RAID (в моделях с предпоследней цифрой 5).

Серия Z-9200 состоит из двух моделей: Z-9200, Z-9250. Они отличаются только поддержкой 5-го уровня RAID. Следует также отметить, что серия Z-9200 имеет значительно более высокое быстродействие чем Z-9100. На количестве всего пять дисков типа Seagate Cheetah 9LP достигается более 50 Мб/с непрерывного трансфера (при использовании большего количества дисков до 60 Мб/с).

Серия Z-9500 отличается от Z-9100 тем, что для связи с хост машинами вместо Ultra SCSI интерфейсов используется Fiber Channel, а также повышенным быстродействием. Следует также отметить, что все модели RAID контроллеров Digi-Data поддерживают до 256 Мб кэш памяти.

В продуктах Digi-Data реализовано ряд собственных технологий для обеспечения высокого быстродействия и отказоустойчивости. Среди самых интересных и полезных:

Full-Speed Active-Active with FASTCORE — технология, которая обеспечивает увеличение производительности двух RAID контролеров объединенных в конфигурации Active/Active. Благодаря этой технологии и использования специального дополнительного устройства — репитера, достигается в двое выше производительность, чем при использовании одного контроллера.

Self Calibrating Automatic Tier Striping (SCATS) — программная технология, которая реализует двух пространственное разделение потоков данных с оптимизацией размера подблоков.

UVS (Uninterruptible Video Streaming) — технология, которая обеспечивает непрерывную передачу данных в случае возникновения сбоев (многие RAID контроллеры этого не делают, в случае сбоя диска или кластера обычно возникает запинка).

Guaranteed RAID Sustained Data Transfer Rate — Digi-Data гарантирует высокий уровень передачи данных для всех поддерживаемых уровней и для различных операций (как чтения, так и записи).

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

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

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

Итак разобьём статью на три раздела:

  1. Уровни RAID (рассмотрим только наиболее популярные 0,1,10,5,6)
  2. Типы RAID контроллеров (Аппаратный Raid, Программный Raid, Полуаппаратный Raid так же известный как Fake raid)
  3. Заключение

01. Уровни RAID

Существует несколько уровней RAID, одни из них отказоустойчивые т.е. если ломается некоторое кол-во жестких дисков в массиве, то данные не теряются, и не отказоустойчивые - если умирает жёсткий диск вместе с ним умирает и информация которая на нём хранилась. Мы рассмотрим только наиболее популярные уровни массивов и не будет останавливаться сильно на их принципе работы, это уровни: 0, 1, 10, 5 и 6.

RAID 0 (STRIPE)

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

Основное назначение этого уровня - повышение скорости, для организации такого рэйда нужно минимум 2 диска. Система видит эти два диска как один, за счёт этого происходит и прирост производительности, контроллер может записывать к примеру крупный файл сразу на два диска, в результате чисто теоритически скорость чтения и записи может увеличиваться вдвое, но и надёжность также ниже чем у обычного диска. Объём жестких дисков складывается т.е. если у вас есть четыре диска по 1Tb то объединив их в массив вы получите 4Tb

RAID 1 (MIRROR)

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

RAID 10 (1+0)

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

RAID 5

Этот тип массива устроен не так как первые три, при операции записи и чтения контроллер производит операцию xor (не будет подробно рассматривать что это такое) которая некоторым образом напрягает контроллер. Массив отказоустойчив т.е. допускает выход из строя некоторого кол-ва дисков, по надёжности я считаю этот масив менее надёжен чем 10ый. Минимальное кол-во дисков - 3. Скорость в среднем выше чем у одиночного диска, но ниже чем у 0 и 10 рэйдов. Объём, от доступного кол-ва дисков отимаете один, т.е. на нашем примере из 4х дисков по 1Tb вы получаете 3Tb.

RAID 6

Это самый надёжный на мой взгляд тип массива, но и самый медленный (исключая разве что зеркало). Здесь так же как и в RAID 5 контроллер должен производить некоторые расчёты, но если в случае с 5м рэйдом контроллер производит только одну операцию xor, то 6ой рэйд производит два различных расчёта. Минимальное кол-во дисков - 4. Что касается объёма то здесь от доступных дисков надо отнять два, в нашем примере из 4х дисков по 1Tb, мы получаем 2Tb доступного объёма.

Здесь важно понимать несмотря на то что при 4х дисках доступный объём как у 10го рэйда, с ростом кол-ва дисков у 6 рэйда доступный объём в % от общего объёма будет расти, а у 10го так и останется половина.

Независимо от уровня RAID, чем больше задействовано дисков в масиве тем выше его скорость.

02. Типы RAID контроллеров

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

АППАРАТНЫЙ RAID (HARDWARE RAID)

Это самая надёжная реализация RAID контроллера, но также и самая дорогая (от 300$), чаще всего это отдельная плата которая вставляется в ваш ПК или сервер, имеет различные интерфейсы подключения PCI, PCIe, PCI-X итп.

На таких контроллерах есть свой процеcсор, своя оперативная память, а так же обычно либо батарейка либо место для неё. Насколько мне известно 6 рэйд можно поднять только на аппаратном контроллере. Такие типы контроллеров обладают самым богатым функционалом, т.е. поддерживает обычно: горячую замену дисков (hot swap), кэширование записи (wite back cache), миграцию массиво, расширение массива, изменение уровня массива ну и тому подобные фишки. Такой рэйд представляет операционной системе ваши диски как один, т.е. ОС впринципе не будет знать что у вас там к примеру четыре диска фирмы например samsung. По скорости такие контроллеры обычно самые быстрые, хотя иногда проигрывают полуаппаратным контроллерам. Все расчеты по операциям с жёсткими дисками производит сам контроллер, поэтому CPU ПК не нагружается.

ПРОГРАММНЫЙ RAID (SOFT RAID)

Самый ненадёжный на мой взгляд тип контроллера, при сбое операционной системы вы рискуете потерять все данные. Так же это самый медленный тип контроллера. Такой рэйд можно создать даже в Windows XP либо используя другое ПО, для Linux например это mdam. Не поддерживает грубо говоря ничего, ни горячей замены ни кэша, минимальный набор. Обычно поддерживает уровни RAID вплоть до 5го. Все операции обсчитываются на CPU ПК, что крайне негативно влияет на общую производительсность, в некоторых случаях обычные файловые операции способны положить вам одно ядро процессора в сотку (загрузка на 100%) и если проц однопроцссеорный машина будет жутко тупить, если же ядер несколько то просто уменьшится производительность. В Любом случае софтовый рэйд больше всех влияет на производительность ПК.

ПОЛУАППАРАТНЫЙ RAID (HOST RAID, FAKE RAID)

Если у аппратного контроллера все операции по обработке данных производит сам контроллер, а программном только ОС или ПО, то тут всё немного сложнее, часть задач по обработке данных берёт на себе контроллер, часть задач выполняет драйвер ОС. Такой тип контроллера немного надёжнее программного, но возможность сбоя остаётся, такой контроллер отвечает за создание рэйда но основная обработка операций по обсчёту ложится на плечи CPU (гораздо меньше нагрузка чем при софт рэйде), за счёт этого скорость может быть больше чем у аппратного контроллера, но не всегда. Так же частично поддерживает миграцию\изменение уровня массива, но можно сказать что не поддерживает увеличение массива, т.е. если вы будете добавлять другие диски к уже созданному массиву врядли у вас получится воспользоваться объёмом новых дисков. В теории должен поддерживать быструю замену (hot swap). Такой контроллер сейчас присутствует почти на каждой материнской плате (Nvidia Raid, Silicon Image, ICH9r, Matrix Storage, AMD Raid), поэтому докупать обычно ничего не надо. Производители называют этот тип контроллера Host RAID, линуксоиды предпочитают название Fake RAID. Обычно поддерживает уровни RAID вплоть до 5го. Несмотря на возможность включения кэша записи, делать этого не рекомендую, потому что не один из таких контроллеров не обладает возможностью установки батарейки, и в случае сбоя ОС или выключения света данные которые хранятся в кэше будут потеряны безвозвратно.

03. Заключение

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

Уровень RAID Плюсы Минусы
Raid 0 (stripe)
  • Один из самых быстрых
  • Самый большой доступный объём
  • Отсутствует отказоусточивость
Raid 1 (mirror)
  • Отказоустойчив
  • Поддерживается всеми типами контроллеров
Raid 10 (1+0)
  • Отказоустойчив
  • Один из самых быстрых
  • Самый маленький доступный объём
Raid 5
  • Отказоустойчив
  • Скорость выше чем у одиночного диска
  • Теряется всего один диск от объёма
  • работать крайне медленно
Raid 6
  • Отказоустойчив
  • Теряется всего два диска от объёма
  • Самый надёжный массив
  • Самая низкая скорость из всех массивов
  • При выходе из строя одного диска массив будет
  • работать крайне медленно
  • Поддерживается малым количеством контроллеров

и табличка по типам контроллеров

Тип Плюсы Минусы
Аппаратный
  • Самый надёжный
  • Возможность использовать кеш
  • Поддержка большинства уровней RAID
  • Поддержка аппаратных фишек
  • Миграция\Расширение и т.п.
  • Дорогой
  • Может иметь проблемы совместимости
Программный
  • Универсальный
  • Самый дешёвый
  • Поддержка вплоть до RAID 5
  • Самый ненадёжный
  • Никаких аппаратных фишек
  • Самый медленный
Host, Fake
  • Недорогой
  • Поддержка некоторых аппаратных фишек
  • Поддержка вплоть до RAID 5
  • Драйвера есть не под все ОС
  • Не самый надёжный

Эта статья в первую очередь расчитана на новичков! В данной статье не ставились вопросы углублённо изучить RAID и всё что с ним связано, за подробной информацией лучше обратиться к поисковым системам! Но если есть какие-то вопросы или пожелания може

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD - неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров - это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

RAID 0 часто используют для размещения временных файлов.

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 - это неверные действия при восстановлении (в качестве "целого" указан не тот диск).

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

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

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

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID -



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows