RAID в тылу технологий. Практическая оценка полезности RAID массива
Современный ассортимент материнских плат по самым скромным оценкам насчитывает несколько сот моделей. Большинство из них имеют различную степень интеграции полезных и не очень полезных устройств. Но если к интегрированному в материнскую плату звуку все уже давно привыкли, то непонятное слово RAID, указанное в спецификации, все еще сбивает многих с толку. В данной статье мы расскажем вам о том, что представляет собой эта технология, каковы ее плюсы и минусы, и вообще выясним ее практическую полезность для рядового пользователя.
Что такое RAID, и зачем он нужен Сама аббревиатура RAID
расшифровывается как RedundantArrayofIndependent (или Inexpensive) Disks (избыточный массив независимых (или недорогих) дисков). В массивы можно укладывать только диски одинаковой емкости — и очень желательно, чтобы они были одной модели. Вся суть в том, чтобы при помощи специального контроллера объединить несколько жестких дисков в массив, видимый системой как один диск. Это позволяет повысить такие эксплуатационные характеристики дисковой подсистемы компьютера, как скорость, надежность или и то, и другое вместе взятое. RAID контроллеры могут быть как интегрированы непосредственно на материнскую плату, так и приобретены отдельно в виде внешней PCI карты. Существует шесть уровней реализации RAID массива: RAID 0, RAID 1,
RAID0+1, RAID 3, RAID 4 и RAID 5. В этой статье мы рассмотрим только RAID 0, RAID 1 и RAID 0+1, ибо встроенные в материнские платы RAID контроллеры в большинстве случаев реализуют либо только первые два уровня, либо первые три. Чаще всего интеграции "подвергаются" контроллеры производства компаний Promise и HighPoint. Контроллеры Promise, как правило, поддерживают RAID 0 и RAID 1 (например, весьма популярная у производителей материнских плат модель FastTrax100 поддерживает только эти два уровня RAID), тогда как контроллеры HighPoint часто имеют поддержку еще и RAID 0+1. Оставшиеся уровни являются уделом дорогих профессиональных станций и нам не интересны.
RAID 0 Данный уровень реализации (его еще называют Striping)позволяет объединить несколько жестких дисков (минимум два) в высокоскоростной массив. При
этом скорость работы дисковой подсистемы (в теории) возрастает практически кратно числу дисков в массиве. Сразу оговорюсь, что возрастает только скорость чтения/записи, время поиска данных при этом не оптимизируется. В процессе записи данных в такой массив контроллер разделяет информацию на равные блоки, затем каждый блок пишется на свой диск. Очевидно, что N блоков данных пишутся на N дисков массива одновременно, что теоретически позволяет увеличить скорость записи в N раз. Чтение данных происходит по той же схеме, то есть блоки информации читаются одновременно со всех дисков массива. Это единственный режим работы массивов, не являющийся избыточным. Под этой мудреной фразой следует понимать, что при выходе из строя хотя бы одного из дисков массива все ваши данные отправляются прямиком коту под хвост, так как, по сути, будет безвозвратно утеряна 1/N частьвсей информации, где N — число дисков, составляющих массив. Этот режим работы наиболее интересен нам в практическом плане, так как именно он позволяет повысить быстродействие всей системы. Говоря о производительности системы, мы исходим из той простой аксиомы, что жесткий диск на данный момент является самым "тормознутым" устройством внутрисистемной передачи данных, и увеличивая его скорость, мы тем самым ускоряем всю систему в целом.
RAID 1 и RAID 0+1 Этот уровень реализации более известен как Mirroring или "зеркалирование"
(минимальное количество дисков — 2 штуки). Суть его состоит в том, что два диска, работая в паре и видимые системой как один логический диск, несут на себе, по сути, одни и те же данные. То есть один блок информации пишется сразу на два диска. Очевидно, что скорость записи при этом ни на йоту не возрастает (но и не падает, так как запись производится параллельно), однако такой подход
обеспечивает в два раза большую надежность. Массив уровня RAID 1 полностью избыточен, то есть при выходе из строя одного из дисков контроллер просто переключает все операции чтения/записи данных на второй оставшийся, и потери информации не происходит. Интересной особенностью RAID 1 является то, что считывание данных происходит сразу с двух дисков, то есть, по сути, операция чтения в массиве RAID 1 выполняется с той же скоростью, что и в массиве RAID 0. Недостатком RAID 1 массивов является крайне неэффективное использование дискового пространства, принесенное в жертву ради надежности. Например, объединив два 40-гигабайтных винчестера в RAID 1 массив, вы получите эффективную емкость в те же самые 40 Гб, а объединив их в RAID 0 массив, вы удвоите емкость до 80 Гб и повысите скорость, однако проиграете в надежности (ибо раздельное хранение данных на двух независимых дисках "без RAID", согласитесь, все же надежнее). Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID 1 можно объединить в RAID 0. Такая конфигурация называется двухуровневым RAID или RAID0+1. Минимальное количество дисков в таком массиве — 4 штуки. Добавим также, что это оптимальный способ организации дискового массива, однако финансовые затраты на него несколько чрезмерны.
Как мы тестировали Для тестирования RAID массивов нашей лабораторией
была выбрана следующая конфигурация: Процессор: Intel Pentium 4 1700 МГц (ядро Willamette, 256 кб L2 cache, 400 МГц system bus) Материнская плата: Jetway i401R (i845, RAID) Оперативная память: 512 Мб DIMM SDRAM Жесткие диски: Western Digital WD1200BB (120 Гб, 1 штука) и WD600BB (60 Гб, 2 штуки). Скорость вращения шпинделя 7200 об/мин Видеокарта: Gainward GeForce4 PowerPack! Ultra/650XP (GeForce4 Ti4200, 128 Мб DDR) Операционная система: Windows XP Professional RUS Проясню суть данного тестирования. Красной нитью на протяжении всего тестирования будет идти противостояние RAID 0 массива (режим Striping) объемом 120 Гб, состоящего
из двух 60-гигабайтных винчестеров, и обычного 120-гигабайтного жесткого диска. Также, ради, так сказать, спортивного интереса, нами будет оттестирован RAID 1 массив (режим Mirroring) объемом 60 Гб, состоящий из все тех же двух 60-гигабайтных винчестеров. Быстродействие этого массива, естественно, будет сравниваться с обычным диском объемом 60 Гб. Для тестов нами были выбраны следующие программные продукты: Синтетические тестовые пакеты: SISoft SANDRA 2002 SP1;
MadOnion PCMark 2002 Pro. Реальные игровые приложения: Serious Sam: The Second Encounter; DroneZmarK. Также мы провели несколько "самопальных тестов", а именно: копирование файла объемом 691 Мб из одной директории в другую; копирование большого числа мелких файлов (8251 файл общим объемом 100 Мб). Жесткие диски разбивались на два раздела. Один из них делался системным (на него отводилось 3 Гб), другой принимал на себя бремя основного (на него отводилось все оставшееся на диске место). На системный диск, как нетрудно догадаться, устанавливалась операционная система, на основном же проводилось само тестирование. Также в ходе тестирования мы пытались выяснить, как наиболее выгодно (с точки зрения производительности, естественно) подключать RAID массивы к контроллеру. Дело в том, что массив из двух дисков можно подключить как одним шлейфом (заняв, таким образом, один канал контроллера), так и двумя, заняв уже два канала. Очевидно, что при
подключении массива, состоящего из двух дисков, при помощи двух шлейфов, каждый диск висит на своем собственном канале, не мешая работать своей "второй половинке". Однако всегда ли это дает выигрыш в производительности, мы ответим чуть позже. SISoft SANDRA 2002 SP1 Данный программный пакет содержит
Чем больше, тем лучше множество различных тестов практически для всех подсистем компьютера. Кроме того, он способен дать практически полную информацию касательно комплектующих, на основе которых построена ваша машина, а также провести стресс-тесты для основных систем компьютера. Однако нас интересует лишь тест жесткого диска, обозванный создателями Filesystem Benchmark (см. диаграмму 1). Первое, что бросается в глаза — явное преимущество RAID 0 массива. Причем мы сразу же можем уверенно заявить, что при использовании RAID 0 массивов наиболее выгодно сажать диски на разные каналы контроллера, то есть использовать два шлейфа. Прирост производительности при использовании двух шлейфов составляет порядка 16%, а общий отрыв RAID 0 массива от обычного диска той же эффективной емкости равняется примерно 56%! То есть в данном бенчмарке RAID 0 массив более чем в полтора раза быстрее конкурирующего 120-гигабайтного диска! Что касается RAID 1 массива и его битвы с 60-гигабайтным хардом, то здесь все не так однозначно. Во-первых, данный массив гораздо быстрее работает на одном канале контроллера (читай — на одном шлейфе), нежели на двух. Потеря скорости при переходе на двухканальный режим работы составляет порядка 20%. Во-вторых, такой массив, по сути, работает немного медленнее, нежели обычный 60-гигабайтный жесткий диск. Отставание составляет около 4%. Так сказать, "цена надежности". MadOnion PCMark 2002 Pro Еще один синтетический тестовый пакет, разработанный всемирно известной (во многом благодаря своим 3D Mark'ам) компанией MadOnion. Пакет позиционируется разработчиками
Чем больше, тем лучше в качестве "Home and office benchmark" и содержит в себе несколько тестов, измеряющих производительность дисковой подсистемы компьютера. Результаты смотрите на диаграмме 2. Тут мы снова можем наблюдать 10% прироста производительности при использовании сразу двух каналов контроллера с RAID 0 массивом. Обычный же диск отстает от своего 120-гигабайтного RAID-конкурента на 47%, что, согласитесь, весьма и весьма немало. Ситуация с RAID 1 массивом полностью повторяется. Обычный хард все равно чуточку быстрее, точнее, на целых 2%. Ситуация с более высоким быстродействием при работе на одном канале RAID контроллера, нежели на двух, сохраняется. Разница составляет порядка 16%. DroneZmarK
Чем меньше, тем лучше Созданный на основе движка игры DroneZ, которая в свое время стала первой игрой, поддерживающей все возможности видеокарт на базе GeForce3, этот тест унаследовал гигантские объемы загружаемых в память данных. Мы провели замеры времени загрузки теста при выставленных на максимум настройках. Результаты можно увидеть на диаграмме 3. Очевидно, что чем меньше время, тем лучше. При использовании двух каналов контроллера с RAID 0 массивом скорость на 17% выше, нежели при использовании одного канала (читай — одного шлейфа). Отрыв по производительности от конкурирующего 120-гигабайтного винчестера составил те же самые 17%. Это не так много, как в синтетических тестовых пакетах, однако вполне серьезно. Еще более интересная ситуация с RAID 1 массивом. В данном тесте массив,
Чем меньше, тем лучше работающий на одном шлейфе, оказывается на 5% быстрее, нежели двухканальный массив (то есть использующий сразу два канала контроллера). Более того, сам по себе массив выигрывает у обычного 60-гигабайтного жесткого диска около 8%. Еще одно подтверждение тому, что скорость считывания данных в RAID 1 массивах все же выше, нежели в обычных жестких дисках. Serious Sam: The Second Encounter Еще одно "реальное игровое приложение". Думаю,
Чем меньше, тем лучше в представлении "Серьезный Сэм" не нуждается. Мы замеряли время загрузки демки The Grand Cathedral при максимальных настройках качества. То, что получилось — наблюдайте на диаграмме 4. Мы снова видим, что RAID 0 массив оказывается быстрее. На этот раз всего лишь на 5 с небольшим процентов. Все выводы, сделанные выше, остаются справедливыми и здесь, за исключением того, что производительность RAID 1 массива равна производительности обычного жесткого диска, конкурирующего с ним. Копирование файлов А теперь перейдем к "самопальным тестам". На примере диаграммы 5 посмотрим, как покажут себя участники тестирования при выполнении обычной рутинной работы.
Чем меньше, тем лучше RAID 0 массив справился с копированием файла объемом691 Мб на 33% быстрее своего однодискового конкурента. Преимущество использования двух каналов контроллера при подключении каждого диска отдельным шлейфом уже не вызывает сомнений, поэтому упоминать о нем я более не намерен. RAID 1 массив в своем наиболее скоростном "одношлейфовом" варианте подключения проиграл аж 16% конкурирующему 60-гигабайтному харду. Это при копировании файла в особо крупных размерах. Тест на копирование большого количества мелких файлов выдал другие результаты (см. диаграмму 6). Впереди... ну вы сами уже знаете, кто. 120 Гб (2х60) RAID 0 массив выиграл у монолитного 120 Гб HDD с отрывом в 22%. RAID 1 массив оказался немного впереди обычного винчестера — на целых 6%.
Выводы На основании проведенных тестов можно сделать следующие выводы. При работе с RAID массивами пользователь всегда достигает той цели, ради которой, собственно, RAID и предполагалось использовать. Хотелось высокоскоростную систему — пожалуйста, делайте RAID 0 массив. Хочется застраховаться от потери данных — милости просим, вас ждет массив RAID 1. Однако не бывает бочки меда без ложки дегтя. За преимущества технологии RAID нам приходится расплачиваться как в прямом, так и в переносном смысле этого слова. Как бы нам ни хотелось, увеличения скорости в 2 раза не происходит. Причиной этому служит то, что RAID контроллер является устройством более интеллектуальным, нежели обычный IDE контроллер. Алгоритмы работы RAID более сложны и отнимают определенное время. Поэтому конечный результат в некоторых случаях может упереться не в скорость жестких дисков, а в быстродействие самого контроллера. Более подробную информацию можно получить, изучив резюмирующую все плюсы и минусы врезку. Благодарим компанию "Атлантик Компьютерс" (www.atlantic.ru, тел. (095)240-240-1) за предоставленный стенд и оборудование. RAID 0
Плюсы: + Реальный прирост производительности в пределах 5-60% (зависит от конкретного приложения) по сравнению с обычными HDD того же объема. + Оптимальное использование дискового пространства (суммарный объем всех дисков массива равен эффективному объему массива). Минусы: - Снижение общей надежности дисковой подсистемы (на наш взгляд, это совершенно незначительный минус, но
указать на него необходимо). - Высокая стоимость реализации из-за необходимости покупки как минимум двух винчестеров вместо одного и материнской платы с RAID контроллером либо отдельной платы контроллера. RAID 1 Плюсы: + В 2 раза более высокая надежность дисковой подсистемы. Практически нулевой шанс потери данных при выходе из строя одного из винчестеров. + Как правило, данные массивы работают немного быстрее, нежели обычные жесткие диски того же объема. Преимущество колеблется в районе 0-6%. Минусы: - Высокая стоимость реализации (по причинам, указанным выше). - Крайне неэффективное использование дискового пространства. - В некоторых тестах RAID 1 массив проигрывает 2-4% обычному HDD, а при копировании файлов большого объема отставание от обычного винчестера составляет порядка 16%.