Существует несколько различных способов по увеличению производительности компьютера. Можно, например, "разогнать" центральный процессор или видеокарту. А можно построить систему на базе RAID-массива.
Что нужно для построения RAID-массива? Прежде всего, RAID-контроллер и, как минимум, два жестких диска (в зависимости от уровня — например, для массива RAID 5 требуется не менее трех HDD).
До недавнего времени RAID-технологии были прерогативой серверного сегмента рынка. Но ситуация начала потихоньку меняться после того как производители стали интегрировать RAID-контроллеры на несерверные материнские платы. А ведь и правда — почему бы не использовать то, что достается практически даром.
И вот пользователь уже практически созрел, уже почти решился на то, чтобы установить-таки на своем родном ПК этот манящий "шаровой" RAID. И тут же натыкается на проблему выбора. При малых затратах, то есть при использовании двух жестких дисков, нужно выбирать между производительностью и надежностью хранения информации — использовать RAID 0 или RAID 1. А если пользователь хочет получить и скорость и надежность, придется раскошеливаться на четыре накопителя. Мало кто согласится на такие расходы для домашней системы, да и не каждый корпус сможет разместить четыре винчестера.
Эту проблему попыталась решить компания Intel в своих чипсетах нового поколения — i915 и i925. В южный мост ICH6R встроена уникальная технология Intel Matrix Storage Technology, которая позволяет на базе двух жестких дисков построить два разных RAID-массива ("нулевого" и "первого" уровней).
Впрочем, не будем слишком углубляться в технологии. Начнем лучше с азов — проведем небольшой ликбез по RAID.
Что такое RAID?
Сразу стоит заметить, что RAID это не средство от насекомых (как кто-то мог подумать), которое "убивает тараканов насмерть". На самом деле эта аббревиатура расшифровывается как Redundant Array of Independent Disks — избыточный массив независимых дисков. Изначально RAID расшифровывался как Redundant Array of Inexpensive Disks — избыточный массив недорогих дисков. Под недорогими подразумевались диски, предназначенные для использования в ПК,— в противовес дорогим дискам для мэйнфреймов. Но так как в RAID-массивах стали использовать SCSI-винчестеры, которые были существенно дороже применяемых в большинстве компьютеров дисков IDE, слово "недорогой" было заменено на "независимый".
Принцип функционирования RAID-системы заключается в следующем: из набора дисковых накопителей создается массив, который управляется специальным контроллером и определяется компьютером как единый логический диск большой емкости. За счет параллельного выполнения операций ввода-вывода обеспечивается высокое быстродействие системы, а повышенная надежность хранения информации достигается дублированием данных или вычислением контрольных сумм. Следует отметить, что применение RAID-массивов защищает от потерь данных только в случае физического отказа жестких дисков.
Различают несколько основных уровней RAID-массивов: RAID 0, 1, 2, 3, 4, 5, 6, 7. Также существуют комбинированные уровни, такие как RAID 10, 0+1, 30, 50, 53 и т.п. Рассмотрим вкратце принципы функционирования, достоинства и недостатки основных уровней.
RAID 0
Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance)
Дисковый массив без избыточного хранения данных. Информация разбивается на блоки, которые одновременно записываются на отдельные диски, что обеспечивает повышение производительности. Такой способ хранения информации ненадежен, поскольку поломка одного диска приводит к потере всей информации, поэтому уровнем RAID как таковым не является.
RAID 0 – дешевый и производительный, но ненадежный
За счет возможности одновременного ввода/вывода с нескольких дисков массива RAID 0 обеспечивает максимальную скорость передачи данных и максимальную эффективность использования дискового пространства, так как не требуется места для хранения контрольных сумм. Реализация этого уровня очень проста. RAID 0, как правило, применяется в тех областях, где требуется быстрая передача большого объема данных. Для реализации массива требуется не меньше двух винчестеров.
Преимущества:
- наивысшая производительность в приложениях, требующих интенсивной обработки запросов ввода/вывода и данных большого объема;
- простота реализации;
- низкая стоимость;
- максимальная эффективность использования дискового пространства — 100%.
Недостатки:
- не является "настоящим" RAID`ом, поскольку не поддерживает отказоустойчивость;
- отказ одного диска влечет за собой потерю всех данных массива.
RAID 1
Дисковый массив с зеркалированием (Mirroring & Duplexing)
Дисковый массив с дублированием информации (зеркалированием данных). В простейшем случае два накопителя содержат одинаковую информацию и являются одним логическим диском. При выходе из строя одного диска его функции выполняет другой. Для реализации массива требуется не меньше двух винчестеров.
RAID 1 – простейший отказоустойчивый массив
Преимущества:
- простота реализации;
- простота восстановления массива в случае отказа (копирование).
Недостатки:
- высокая стоимость — 100-процентная избыточность;
- невысокая скорость передачи данных.
RAID 2
Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC)
Схема резервирования данных с использованием кода Хэмминга (Hamming code) для коррекции ошибок. Поток данных разбивается на слова — причем размер слова соответствует количеству дисков для записи данных. Для каждого слова вычисляется код коррекции ошибок, который записывается на диски, выделенные для хранения контрольной информации. Их число равно количеству бит в слове контрольной суммы.
RAID 2 не получил коммерческого применения
Если слово состоит из четырех бит, то под контрольную информацию отводится три диска. RAID 2 — один из немногих уровней, позволяющих обнаруживать двойные ошибки и исправлять "на лету" одиночные. При этом он является самым избыточным среди всех уровней с контролем четности. Эта схема хранения данных не получила коммерческого применения, поскольку плохо справляется с большим количеством запросов.
Преимущества:
- достаточно простая реализация;
- коррекция ошибок "на лету";
- очень высокая скорость передачи данных;
- при увеличении количества дисков накладные расходы уменьшаются.
Недостатки:
- низкая скорость обработки запросов;
- высокая стоимость;
- большая избыточность.
RAID 3
Отказоустойчивый дисковый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity)
Отказоустойчивый массив с параллельным вводом/выводом данных и диском контроля четности. Поток данных разбивается на порции на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива, кроме одного. Один диск предназначен для хранения контрольных сумм, вычисляемых при записи данных. Поломка любого из дисков массива не приведет к потере информации.
В RAID 3 информация разбивается на порции одинакового размера
Этот уровень имеет намного меньшую избыточность, чем RAID 2. Во втором рэйде большинство дисков, хранящих контрольную информацию, нужны для определения неисправного разряда. Как правило, RAID-контроллеры могут получить данные об ошибке с помощью механизмов отслеживания случайных сбоев. За счет разбиения данных на порции RAID 3 имеет высокую производительность. Поскольку при каждой операции ввода/вывода производится обращение практически ко всем дискам массива, то одновременная обработка нескольких запросов невозможна.
Этот уровень подходит для приложений с файлами большого объема и малой частотой обращений (в основном это сфера мультимедиа). Использование только одного диска для хранения контрольной информации объясняет тот факт, что коэффициент использования дискового пространства достаточно высок (как следствие этого — относительно низкая стоимость). Для реализации массива требуется не меньше трех винчестеров.
Преимущества:
- отказ диска мало влияет на скорость работы массива;
- высокая скорость передачи данных;
- высокий коэффициент использования дискового пространства.
Недостатки:
- сложность реализации;
- низкая производительность при большой интенсивности запросов данных небольшого объема.
RAID 4
Отказоустойчивый массив независимых дисков с общим диском четности (Independent Data Disks with Shared Parity Disk)
Этот массив очень похож на уровень RAID 3. Поток данных разделяется не на уровне байтов, а на уровне блоков информации, каждый из которых записывается на отдельный диск. После записи группы блоков вычисляется контрольная сумма, которая записывается на выделенный для этого диск.
В RAID 4 поток данных разделяется на блоки
У RAID 4 возможно одновременное выполнение нескольких операций чтения. Этот массив повышает производительность передачи файлов малого объема (за счет распараллеливания операции считывания). Но поскольку при записи должна изменяться контрольная сумма на выделенном диске, одновременное выполнение операций невозможно (налицо асимметричность операций ввода и вывода). Этот уровень имеет почти все недостатки RAID 3 и не обеспечивает преимущества в скорости при передаче данных большого объема. Схема хранения разрабатывалась для приложений, в которых данные изначально разбиты на небольшие блоки, поэтому нет необходимости разбивать их дополнительно. Эта схема хранения данных имеет невысокую стоимость, но ее реализация достаточно сложна, как и восстановление данных при сбое.
Преимущества:
- высокая скорость передачи данных;
- отказ диска мало влияет на скорость работы массива;
- высокий коэффициент использования дискового пространства.
Недостатки:
- достаточно сложная реализация;
- очень низкая производительность при записи данных;
- сложное восстановление данных.
RAID 5
Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data Disks with Distributed Parity Blocks)
Самый распространенный уровень. Блоки данных и контрольные суммы циклически записываются на все диски массива, отсутствует выделенный диск для хранения информации о четности, нет асимметричности конфигурации дисков.
В случае RAID 5 все диски массива имеют одинаковый размер — но один из них невидим для операционной системы. Например, если массив состоит из пяти дисков емкостью 10 Гб каждый, то фактически размер массива будет равен 40 Гб — 10 Гб отводится на контрольные суммы. В общем случае полезная емкость массива из N дисков равна суммарной емкости N–1 диска.
В RAID 5 отсутствует выделенный диск для хранения информации о четности
Самый большой недостаток уровней RAID от 2-го до 4-го — это наличие отдельного диска (или дисков), хранящего информацию о четности. Скорость выполнения операций считывания достаточно высока, так как не требует обращения к этому диску. Но при каждой операции записи на нем изменяется информация, поэтому схемы RAID 2-4 не позволяют проводить параллельные операции записи. RAID 5 не имеет этого недостатка, так как контрольные суммы записываются на все диски массива, что делает возможным выполнение нескольких операций чтения или записи одновременно. RAID 5 имеет достаточно высокую скорость записи/чтения и малую избыточность.
Преимущества:
- высокая скорость записи данных;
- достаточно высокая скорость чтения данных;
- высокая производительность при большой интенсивности запросов чтения/записи данных;
- высокий коэффициент использования дискового пространства.
Недостатки:
- низкая скорость чтения/записи данных малого объема при единичных запросах;
- достаточно сложная реализация;
- сложное восстановление данных.
RAID 6
Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data Disks with Two Independent Distributed Parity Schemes)
RAID 6 — это отказоустойчивый массив независимых дисков с распределением контрольных сумм, вычисленных двумя независимыми способами. Этот уровень во многом схож с RAID 5. Только в нем используется не одна, а две независимые схемы контроля четности, что позволяет сохранять работоспособность системы при одновременном выходе из строя двух накопителей. Для вычисления контрольных сумм в RAID 6 используется алгоритм, построенный на основе кода Рида-Соломона (Reed-Solomon).
RAID 6 использует две независимые схемы контроля четности
Этот уровень имеет очень высокую отказоустойчивость, большую скорость считывания (данные хранятся блоками, нет выделенных дисков для хранения контрольных сумм). В то же время из-за большого объема контрольной информации RAID 6 имеет низкую скорость записи. Он очень сложен в реализации, характеризуется низким коэффициентом использования дискового пространства: для массива из пяти дисков он составляет всего 60%, но с ростом числа дисков ситуация исправляется.
RAID 6 по многим характеристикам проигрывает другим уровням, поэтому на сегодня не получил коммерческого применения.
Преимущества:
- высокая отказоустойчивость;
- достаточно высокая скорость обработки запросов;
Недостатки:
- низкая скорость чтения/записи данных малого объема при единичных запросах;
- очень сложная реализация;
- сложное восстановление данных;
- низкая скорость записи данных.
RAID 7
Отказоустойчивый массив, оптимизированный для повышения производительности (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates)
В отличие от других уровней, RAID 7 не является открытым индустриальным стандартом — это зарегистрированная торговая марка компании Storage Computer Corporation. Массив основывается на концепциях, использованных в третьем и четвертом уровнях. Добавилась возможность кэширования данных. В состав RAID 7 входит контроллер со встроенным микропроцессором под управлением операционной системы реального времени (real-time OS). Она позволяет обрабатывать все запросы на передачу данных асинхронно и независимо.
RAID 7 – зарегистрированная торговая марка компании Storage Computer Corporation
Блок вычисления контрольных сумм интегрирован с блоком буферизации; для хранения информации о четности используется отдельный диск, который может быть размещен на любом канале. RAID 7 имеет высокую скорость передачи данных и обработки запросов, хорошую масштабируемость. Самым большим недостатком этого уровня является стоимость его реализации.
Преимущества:
- очень высокая скорость передачи данных и высокая скорость обработки запросов (в 1,5…6 раз выше других стандартных уровней RAID);
- хорошая масштабируемость;
- значительно возросшая (благодаря наличию кэша) скорость чтения данных небольшого объема;
- отсутствие необходимости в дополнительной передаче данных для вычисления четности.
Недостатки:
- собственность одной компании;
- сложность реализации;
- очень высокая стоимость на единицу объема;
- не может обслуживаться пользователем;
- необходимость использования блока бесперебойного питания для предотвращения потери данных из кэш-памяти;
- короткий гарантийный срок.
Тестирование
С теорией немного разобрались — перейдем к практике.
В качестве основы тестовой системы мы использовали материнскую плату Intel D925XCV, в южный мост которой встроена поддержка Intel Matrix Storage Technology.
Конфигурация стенда включала также:
- процессор Intel P4 3,6 ГГц;
- оперативную память Micron DDR2-533 512 Мб;
- видеоадаптер ATI Radeon X300 128 Мб.
Эффективность RAID-массива тестировали на двух разных парах винчестеров:
- Seagate Barracuda 7200.7 SATA NCQ емкостью 160 Гб (ST3160827AS);
- WD Caviar SE Serial ATA емкостью 120 Гб (WD1200JD).
Тестирование проводилось под операционной системой MS Windows XP Professional ENG SP1.
Как уже упоминалось выше, встроенная технология Intel Matrix Storage Technology позволяет создавать RAID-массивы "нулевого" и "первого" уровней. Причем всего на двух винчестерах можно построить RAID 0 и RAID 1. Для этого на обоих накопителях симметрично выделяется часть пространства под один массив, а часть — под другой.
Понятно, что для измерения производительности мы тестировали системы, построенные на основе RAID-массива "нулевого" уровня. Но также создавали и два массива. На таких конструкциях проводились испытания отказоустойчивости RAID 1, построенного с использованием технологии Intel Matrix Storage Technology. Испытания прошли успешно. При имитации выхода из строя одного HDD (винчестер просто отключался от системы) информация сохранялась на "уцелевшем" накопителе. А после подсоединения другого исправного винчестера можно легко восстановить исходное состояние RAID-массива "первого" уровня.
Но сейчас нас больше интересует RAID 0. Для установки и настройки этого RAID`а существует два пути.
Первый: создать массив с помощью RAID BIOS`а и установить ОС на него. При этом важно не пропустить при инсталляции системы момент, когда со специальной дискеты нужно установить драйвер RAID-контроллера, без которого установщик Windows просто не увидит винчестеры.
Для пользователей, которые привыкли к более удобному "дружественному" графическому интерфейсу, больше подойдет второй способ. Система устанавливается как обычно. Потом в BIOS`е включается поддержка RAID, после чего под Windows устанавливается специальная утилита Intel Storage Utility. С ее помощью можно легко и просто создать RAID-массив, не потеряв при этом существующие данные.
Intel Storage Utility
Подготовка к созданию массива и настройка параметров производится с помощью понятного "визарда" и проходит в шесть шагов.
Шаг 1
Приветствие. Описание того места, куда вы попали, и того, что вам здесь предлагают сделать. Указывается, что на превращение ваших дисков в RAID-массив понадобится до двух часов — в зависимости от размера винчестеров. Пользователь также извещается о том, что процесс будет проходить в фоновом режиме, то есть во время превращения можно продолжать работать с компьютером.
Шаг 2
Здесь нужно указать имя тома (как именно RAID-массив будет отображаться в системе). Выбор уровня — 0 или 1. Для "нулевого" уровня выбирается размер блока (strip size). На этот этап нужно обратить особое внимание, поскольку производительность RAID 0 сильно зависит от выбранного размера блока. Для выбора оптимального показателя, мы тестировали массив с разными значениями strip size.
Шаг 3
Выбор источника данных, то есть винчестера, на котором установлена система. С этого накопителя информация будет дублироваться (RAID 1) или частично копироваться (распределятся между HDD — для RAID 0).
Шаг 4
Выбор второго участника массива. На этот HDD будет копироваться информация с источника. (Предупреждение! все данные на выбранном винчестере будут удалены.)
Шаг 5
Выбор размера массива. При создании двух RAID`ов на двух дисках (0 и 1) первым обязательно должен быть "нулевой" уровень — и никак не наоборот: при установке сначала RAID 1 используется сразу все дисковое пространство и на RAID 0 ничего не остается. Размер массива "нулевого" уровня должен составлять не менее 50% общего дискового пространства.
Шаг 6
Завершение подготовки и начало миграции данных с источника на второй диск.
После выполнение всех шести шагов на экране появляется окно состояния прогресса. Во время преобразования действительно можно работать с другими приложениями — процесс создания массива практически не сказывается на работе системы.
Результаты тестирования
Сначала измерялись теоретические параметры системы — как построенной на одиночном винчестере, так и на RAID-массиве "нулевого" уровня. Как и предполагалось, RAID почти вдвое превосходит "простой" накопитель.
Протестировав системы программой Aida32, мы получили вполне логичные результаты. Скорость чтения у винчестера производства WD равна приблизительно 50 Мб/с, а у "нулевого" RAID-массива, построенного на двух таких накопителях, этот параметр составляет около 97 Мб/с. Похожие результаты показал и представитель Seagate: 46 Мб/с для одиночного варианта и 90 Мб/с в случае с RAID’ом.
Но это все теория, а как оно будет на практике? Для реального тестирования мы использовали пакет WorldBench 5, в состав которого входит множество популярных приложений. Однако, хотя программ в состав пакета входит действительно много, не у всех быстродействие реально зависит от дисковой системы.
ACD Systems ACDSee PowerPack 5.0
В этом тесте находится и открывается каталог, который содержит 155 файлов формата JPG. Затем все файлы конвертируются в формат PCX. Процедура повторяется несколько раз, причем каждый раз меняется тип формата, в который преобразуются JPG-файлы: GIF, BMP, TIFF, TGA, PNG.
Для винчестера производства Seagate прирост производительности в этом приложении при использовании RAID-массива составил около 5%. Причем показатели всех RAID’ов почти не отличаются — вне зависимости от значения strip size.
Совсем другая картина наблюдается с представителем WD. Во-первых, отчетливо видна разница в производительности у RAID-массивов с разными значениями strip size. Худший результат у массива с размером блока 128 Кб. При переходе на 64 Кб производительность возрастает на 2%, а для блока размером 16 Кб прирост равен почти 5%.
Что же касается сравнения одиночного диска с RAID-массивом, то здесь разница еще более существенна: дисковая подсистема с 16-килобайтным блоком обогнала безрэйдовый вариант более чем на 10% — а это уже можно назвать хорошим приростом.
Adobe Premiere 6.5
В ходе тестирования открывается демонстрационный проект Z-TOUR, который содержит аудиоклип и различные видеоклипы. Выполняется рендеринг проекта. Затем проект экспортируется в форматы DVAVI, FLC и FLM, после чего пролистывается приблизительно на 500 кадров вперед, а затем назад. Последняя операция (пролистывание) выполняется дважды. Наконец, проект с измененными настройками (широкий экран) экспортируется в формат DVAVI.
Среди RAID-массивов лучшее время показала система с размером блока 16 Кб. В этом тесте преимущество системы с RAID’ом над системой с одиночным диском оказалось не таким значительным, как в предыдущем тестировании. Для винчестеров Seagate прирост составил чуть меньше 3%, а для накопителей производства WD производительность возросла на 3,5%.
Ahead Software Nero Express 6.0.0.3
В ходе данного теста создается проект, состоящий из файлов общим объемом около 538 Мб, и записывается восемь изображений (image) этого проекта в формате ISO.
Вот это уже действительно похоже на реальный прирост производительности. У систем, построенных на винчестерах производства WD, разница составила почти 16%. Зато RAID-массив, составленный из накопителей Seagate, обогнал одиночный винчестер того же производителя почти на 22%, что, согласитесь, довольно солидно.
WinZip Computing WinZip 8.1
В этом тесте создается пять ZIP-архивов (приблизительно по 538 Мб каждый). Здесь мы наблюдаем, хотя и не столь значительный, как предыдущем тестировании, но все же вполне ощутимый прирост производительности. Для систем построенных на винчестерах WD разница составила почти 6%. У RAID-массива на основе накопителей Seagate прирост равен 8,5%.
Итоги
Как видно из результатов, прирост производительности в реальных приложениях оказался не столь значительным, как в теоретических тестах. Понятно, что мы протестировали лишь некоторые программы из широчайшего спектра ПО. Можно предположить, что существенный прирост производительности будет наблюдаться, например, при использовании RAID-массива для обработки больших объемов аудио- или видеофайлов.
Не будем забывать также, что мы тестировали не просто RAID, а дисковый массив, построенный при помощи технологии Intel Matrix Storage Technology. При использовании этой технологии, помимо прироста производительности, мы получаем еще и другие преимущества. Во-первых, дешевый (почти даровой) RAID-контроллер, встроенный в материнскую плату. Во-вторых, возможность построения на двух HDD двух массивов: RAID 0 для повышения производительности системы и RAID 1 для надежности хранения информации. В-третьих, имеем утилиту Intel Storage Utility, с помощью которой можно легко и просто создать RAID-массив на основе уже работающего винчестера, не потеряв при этом существующие данные.
И в заключение отметим, что Intel Matrix Storage Technology — это интересная и перспективная технология, которая найдет свое применение как в домашних рабочих станциях, так и в серверах начального уровня.