Так как выбор среди различных марок винчестеров небольшой, то пользователю зачастую не остаётся ничего, как покупать эти самые новые, большие винчестеры, даже если окажется, что они проработают не больше чем полгода. Резервное копирование данных не всегда может помочь, так как сохранить сотни гигабайт сегодня могут, разве что, ленточные накопители, являющиеся почти что экзотикой. Выход есть - RAID массивы, которые не только увеличивают производительность дисковой подсистемы компьютера, но и повышают её надёжность.
Конечно же, SCSI диски по сравнению с IDE дисками имеют намного большую производительность и надёжность, но даже сегодня SCSI устройства остаются слишком дорогими не только для обычных пользователей, но и для компаний, желающих собрать недорогие серверы. К сожалению, стоимость одного мегабайта SCSI винчестеров несравнимо выше стоимости мегабайта IDE HDD. Про диски с Serial ATA говорить ещё рано: на сегодняшний день этот стандарт ещё очень слабо распространён - материнские платы только обзаводятся встроенными контроллерами Serial ATA, а винчестеры с поддержкой этого стандарта отличаются от IDE-винчестеров, разве что электроникой, так что говорить о каком-либо увеличении надёжности так же не приходится.
Поэтому, де-факто, сегодня RAID массивы на IDE винчестерах являются отличным выбором для тех, кому нужна большая производительность, чем та, которую готов дать обычный винчестер и большая надёжность. На рынке присутствуют десятки моделей IDE винчестеров, все они могут использоваться в RAID массивах, да и с контроллерами недостатка в ассортименте нет: многие материнские платы среднего уровня и почти все материнские платы для компьютерных энтузиастов имеют встроенные ATA-133 RAID контроллеры, и в случае необходимости можно приобрести отдельную плату-контроллер от известных производителей и использовать её для создания RAID массива.
В этой статье мы рассмотрим преимущества, которые представляют нам RAID массивы и сравним четыре IDE RAID контроллера от таких производителей, как 3ware, Adaptec, HighPoint и Promise.
Ликбез по RAID
Прежде всего, что же такое RAID? Эта ставшая уже нарицательным аббревиатура, расшифровывается как Redundat Array of Inexpensive Disks или как Redundant Array of Independent Disks (Избыточный Массив Недорогих Дисков или Избыточный Массив Независимых Дисков). Как расшифровывать это сокращение - выбирать вам, поскольку пользователь может построить RAID-массив как из недорогих винчестеров с частотой вращения шпинделя 5400 оборотов в минуту, так и из дорогих высокопроизводительных SCSI дисков с частотой вращения шпинделя 15 000 оборотов в минуту. В RAID массив объединяются несколько физических дисков, в результате чего эти диски управляются одним контроллером и рассматриваются системой как один массив, то есть, как один диск. В результате увеличивается либо производительность массива, либо надёжность по сравнению с одним диском, либо и то и другое. При объединении винчестеров в RAID массив, возможны различные конфигурации построения массива, в зависимости от того, по каким принципам контроллер будет работать с каждым винчестером. Различают несколько уровней RAID массивов:
RAID 1 - Предназначен для тех, кому крайне важна информация на жёстком диске, а динамическое её изменение делает невозможным постоянное резервное копирование. RAID первого уровня, использует зеркалирование, то есть, контроллер дублирует содержимое одного винчестера на другой, чтобы в случае выхода из строя одного из носителей, на втором осталась точная копия содержимого первого, то есть, такой вот бэкап, который создаётся в реальном времени. К сожалению, RAID 1 не может защитить от поражения информации вирусами, или другой потери информации по вине операционной системы или программного обеспечения. RAID 1 увеличивает ресурс дисковой подсистемы, её время наработки на отказ. Едва ли два винчестера выйдут из строя одновременно (если им не помочь), а если сломается один из них, то его стоит просто заменить на новый и RAID контроллер восстановит функционирование массива.
Схема RAID 1
RAID 1
При установке двух винчестеров в RAID 1, операционная система видит лишь один логический диск, так как данные на двух винчестерах дублируются. И ёмкость RAID массива первого уровня будет равна ёмкости одного из винчестеров в составе массива.
RAID 0 - Можно сказать, что RAID 0 является противоположностью RAID 1. В случае установки винчестеров в RAID массив нулевого уровня, контроллер так же использует несколько физических дисков как один логический, распределяя записываемую информацию по каждому из них. RAID 0 так же принято называть "Stripping", потому что контроллер как бы разбрасывает записываемую информацию сразу на несколько винчестеров, но не дублирует её, как в случае с зеркалированием. В результате объём дисковой подсистемы возрастает вместе с риском потери информации, так как выход из строя одного любого винчестера а RAID массиве нулевого уровня приводит к потере данных всего массива. То есть, RAID 0 массив из двух винчестеров будет в два раза ненадёжнее, чем любой из этих винчестеров и в четыре раза ненадёжнее чем RAID 1 массив из тех же двух винчестеров.
RAID 0
RAID 0
Но преимущества RAID 0 в том, что объём дискового массива нулевого уровня будет складываться из объёмов всех винчестеров, входящих в массив. Это немаловажно, если вы работаете с огромными файлами (базы данных или видеофайлы), которые просто не могут уместиться на одном физическом диске, но отлично разместятся на одном логическом, собранном RAID-контроллером из двух.
RAID 10/0+1 - RAID массив 10 уровня и RAID 0+1 схожи в том, что использование этих массивов приводит к увеличению производительности и надёжности, так как эти массивы комбинируют в себе возможности RAID 0 и RAID 1, хотя делают это по разному. RAID 10 распределяет информацию по зеркалированным дискам, а RAID 0+1 является массивом, состоящим как бы из из двух зеркалированных друг относительно друга RAID 0 массивов. В случае RAID 10 мы имеем дело с распределением по зеркалам, а в случае с RAID 0+1 - с зеркалированием распределённой информации. Хм... это не одно и то же...
RAID 10
RAID 10
В случае с RAID 0+1 и RAID 10 объём массива будет равняться половине суммы объёмов всех входящих в массив носителей. Каждый из винчестеров будет иметь свою "зеркальную пару", на которой будет храниться та же информация, что и на нём, так что логически работа будет производиться только с половиной винчестеров, хотя физически будут использоваться все.
RAID 0+1
RAID 0+1
Ну а что же по надёжности? В случае выхода из строя одного винчестера в RAID 0+1 массиве состоящем из четырёх винчестеров, будут потеряны сразу два винчестера и в работе останется лишь половина RAID 0+1, то есть, RAID 0 массив, распределённый по двум дискам, а он, как известно, имеет в два раза меньшую надёжность, чем один винчестер. Так что лучше поскорее заменить вышедший из строя диск. В этом плане RAID 10 намного надёжнее, так как позволяет выходить из строя нескольким дискам в разных зеркалах. Правда, если в RAID 10 выйдут из строя два винчестера, являющиеся зеркалами друг друга, то массив перестанет функционировать.
RAID 5 - Этот тип массива распределяет информацию по нескольким винчестерам, как и в RAID 0, но при этом учитывает чётность. Индекс чётности хранится на каждом диске, входящем в массив. Проверка чётности немного снижает производительность RAID 5 массива в целом, но значительно увеличивает надёжность по сравнению с другими уровнями RAID. Если в массиве пятого уровня один из дисков выходит из строя, контроллер восстанавливает массив, используя индексы чётности, читаемые с других физических дисков.
RAID 5
RAID 5
Объём массива RAID пятого уровня зависит от числа физических дисков, объединённых в логические. Объём индекса чётности в RAID 5 равен объёму одного из физических дисков. Чем больше винчестеров в массиве, тем меньше будет процентное соотношение объёма индексных файлов по отношению к объёму всего массива. При использовании четырёх винчестеров, объединённых в RAID 5, объём массива будет равен сумме объёмов трёх из них, так как на каждом из винчестеров 25% будет занято индексом чётности.
Таким образом, мы видим, что RAID 0 даёт пользователю наибольшую производительность, за которую приходится платить наименьшей надёжностью массива, даже меньшей, чем надёжность одного диска. И чем больше винчестеров будет объединено в массив, тем меньше будет его надёжность. RAID 1 наоборот увеличивает надёжность, но не даёт прироста в производительности и объём массива будет в два раза ниже, чем суммарный объём всех винчестеров, входящих в его состав. RAID 10 и RAID 0+1 так же позволяют использовать лишь половину объёма всех винчестеров, но повышают при этом производительность и надёжность дисковой подсистемы. RAID 5 является как бы универсальным способом по надёжности и использованию объёма входящих в состав винчестеров, но использование этого способа снижает производительность дисковой подсистемы.
Какой уровень RAID выбрать, зависит лишь от степеней задач, решаемых сервером и той суммы, которую вы готовы заплатить за сервер в целом. Для обеспечения большей надёжности требуется большее число винчестеров и более мощный RAID контроллер, а это приводит к использованию больших по размерам серверных корпусов с более мощными блоками питания. Однако, затраты на всё это оборудование могут показаться ничтожными по сравнению с убытками, понесёнными в результате выхода из строя одного из винчестеров, что приведёт к потере всего массива. Вот почему сегодня RAID-массивы являются непременным атрибутом всех серверов, всех рабочих станций и уже значительной части домашних компьютеров.
RAID-контроллеры
Все RAID-контроллеры, используемые нами в тестах, рассчитаны на работу в операционных средах Windows NT, Windows 2000 и Windows XP. Конечно же, некоторые из них будут работать и в Windows 98 и Windows ME, но эти операционные системы не рассчитаны на работу с RAID массивами. Рассматриваемые нами карты поддерживают несколько RAID массивов на одном контроллере и даже организацию RAID массивов из самих RAID массивов, то есть, можно сделать два RAID 0 массива из двух винчестеров каждый и объединить их в RAID 1. Так же рассматриваемые нами контроллеры поддерживают горячую замену винчестеров, чтобы была возможность заменить вышедший из строя носитель без остановки работы сервера.
Посмотрим на сравнительные характеристики используемых контроллеров
Поддержка уровней RAID Число каналов PCI шина Интерфейс
Поддержка альтернативных операционных систем
Цена
Read Write Linux BSD
Другие
3ware Escalade 7500 0,1,10,5, JBOD 4 64-бит
33МГц ATA133 Red Hat, SuSE, open source driver FreeBSD Нет $252
Adaptec 2400A 0,1,0+1,5, JBOD 4 32-бит
33МГц ATA100 SCO FreeBSD Novell Netware $323
HighPoint RocketRAID133 0,1,0+1, JBOD 2 32-бит
66МГц ATA133 Caldera, Red Hat, SuSE, Turbo, open source driver FreeBSD Нет $80
Promise FastTrak SX4000 0,1,0+1,5 4 32-бит
66МГц ATA100 ATA133 Red Hat, SuSE, Turbo None Нет $183
При выборе контроллера, важно знать, какие уровни RAID он поддерживает. И здесь есть некоторые моменты, на которые надо обратить внимание. Единственная плата, поддерживающая RAID 10 в нашем обзоре - это 3ware Escalade 7500. Дешёвый контроллер HighPoint RocketRAID 133 не поддерживает RAID 5, а Promise FastTrak SX4000 не поддерживает JBOD (Just a Bunch of Disks, простой пучок дисков).
HighPoint PocketRAID - единственная двухканальная плата, чем так же и объясняется её низкая стоимость. Двухканальный контроллер поддерживает до четырёх дисков в конфигурации Master/Slave. Все прочие карты поддерживают не более чем по одному винчестеру на каждый канал и так же могут работать лишь не более чем с четырьмя винчестерами. И только контроллер от Adaptec использует 64-битную 33-Мегагерцовую шину PCI, а ведь при работе с быстрыми винчестерами, пропускной способности шины PCI (133 Мб/с) может уже и не хватить, так что использование 64-битной шины вполне оправдано.
Что касается поддержки операционных систем, то 3ware и HighPoint предоставляют открытые драйвера для Linux, операционной системы, весьма распространённой в серверах и рабочих станциях. 3ware так же предлагает драйвер под FreeBSD от сторонних производителей, что так же неплохо, ведь FreeBSD часто используется в вебсерверах.
Не всегда более дорогой RAID контроллер является лучшим. Более того - зачастую к дорогому RAID контроллеру придётся докупить ещё и память SDRAM, используемую для кэширования им информации. А в таких контроллерах используется SDR SDRAM ECC память, которая на сегодня уже является редкостью и производители контроллеров уже подумывают об использовании более распространённой DDR SDRAM в качестве кэш-памяти. Прежде, чем покупать IDE RAID контроллер, надо выбрать конфигурацию сервера, число используемых винчестеров и в какой массив они будут объединены. Потому что если вы используете два винчестера в RAID массиве, то естественно, нет смысла покупать четырёхканальный RAID контроллер с поддержкой RAID пятого уровня.
Тестирование
Как мы уже говорили, производительность RAID-массива зависит от его уровня и от числа винчестеров, входящих в массив. Сравним производительность RAID 1, RAID 0 с двумя винчестерами, RAID 0 с четырьмя винчестерами и RAID 5. Для тестирования использовалась следующая тестовая конфигурация:
Процессор Intel Pentium 4 2.26 ГГц
Шина 533 МГц
Материнская плата Abit BD7II-RAID
Чипсет Intel 845E
Северный мост Intel 82845E (MCH)
Южный мост Intel 82801DB (ICH4)
Драйверы чипсета Intel 4.00.1013
Intel Application Accelerator 2.2.2
Память 512 Мб (2 DIMM модуля)
Тип памяти CAS 2.5 PC2700 DDR SDRAM
Видеокарта GeForce4 Ti 4200 128 Мб
Драйвер видеокарты NVIDIA Detonator 30.82
Винчестеры
Maxtor 740X-6L 40GB 7200RPM ATA/133
ОС Windows XP Professional SP1
Во всех тестах использовалась файловая система NTFS с размером кластера 4 Кб. Для RAID 0+1, RAID 10 и RAID 5 использовались четыре винчестера. Рассмотрим производительность RAID массивов в WinBench 99.
WinBench 99 HighEnd WinMark
WinBench 99 Business WinMark
Ну что же, первые тесты показывают, что не всегда чем дороже, тем лучше: 80-долларовая плата начального уровня HighPoint RocketRAID 133 выигрывает у дорогих контроллеров RAID. К сожалению, RocketRAID 133 не поддерживает RAID массивы пятого уровня, поэтому нельзя предположить, как бы повёл себя контроллер при распределении индексов чётности по винчестерам. Но High-End Winmark и Business WinMark показывают лишь обобщённые очки, набранные контроллерами. Рассмотрим результаты синтетических тестов. Следующий тест - WinBench 99 Data Transfer Rate.
WinBench 99 Disk Transfer Rate Beginning
WinBench 99 Disk Transfer Rate End
В тестах Data Transfer Rate выигрывают контроллеры от Promise и 3ware, однако, в начале и конце диска показатели разные. С точки зрения оптимального соотношения производительности и надёжности, нас интересуют режимы RAID 10 и RAID 0+1. Здесь, безусловно, и в начале и в конце диска выигрывает контроллер 3Ware. Обратите внимание, что при работе в RAID 1 с четырьмя дисками скорость передачи данных переваливает через 100 Мб/с. Но до преимуществ 64-битной шины PCI, которые раскрывает контроллер 3ware Escalade 7500, ещё далеко. Теоретически, все контроллеры способны передавать до 133 Мб/с и чтобы достигнуть этого предела, потребуется установить в RAID 0 четыре винчестера со скоростью чтения выше 33 Мб/с.
WinBench 99 Disk Access Time
Время доступа к диску меняется у разных контроллеров и в зависимости от типа массива. Наименьшее влияние типа массива на время доступа к диску у контроллера HighPoint Rocket RAID 133. Наибольшее - у Adaptec 2400 A; это единственный контроллер, у которого в режиме RAID 0+1 время доступа увеличивается по сравнению с RAID 0 и у этого контроллера самое большое время доступа к диску в режиме RAID 1.
Winbench 99 CPU Utilization
Загруженность процессора - очень важный фактор выбора контроллера и типа массива как в сервере, так и в рабочей станции. Практически все контроллеры показывают одинаковые значения, рознящиеся в зависимости от типа массива. Самая высокая загрузка процессора, как и ожидалось, проявляется в режиме RAID 5, здесь почти все ресурсы 2.4 ГГц процессора Pentium 4 уходят на работу с дисковой подсистемой. Немногим меньше расходуется в режиме RAID 0 с четырьмя винчестерами. Ну а RAID 1, RAID 0 с двумя дисками, RAID 10 и RAID 0+1 являются наиболее щадящими в вопросе загрузки CPU.
Следующий тест - WinStone 2001: как влияет уровень RAID массива на производительность в реальных приложениях.
WinStone 2001
Content Creation Windstone 2001
Ситуация повторяется: наиболее производительным является RAID массив нулевого уровня с четырьмя винчестерами, и в этих двух тестах наибольшую производительность показывают контроллеры на чипах HighPoint и 3ware. Следующий тест - время загрузки операционной системы Windows XP.
Время загрузки Windows XP
Чем ниже проходит кривая на графике, тем результаты выше. Как видно, здесь снова выигрывают HighPoint и 3ware. Причём, у платы 3Ware Escalade 7500, как и у Promise FastTrack SX4000, время загрузки WinXP практически не зависит от уровня RAID массива. Вообще, как видно из диаграммы, почти на всех RAID массивах, кроме тех, что созданы платой 3ware Escalade 7500, время загрузки выше, чем у простого диска, подключенного к ATA интерфейсу. Причина этого в том, что операционная система вынуждена загружать драйверы для RAID контроллера, а это требует времени. Ну и напоследок посмотрим, как влияет RAID массив на производительность в играх на примере игры Jedi Knight II.
Время загрузки уровня Jedi Knight II
Jedi Knight II TimeDemo
Как видно из диаграмм, уровень RAID в большой степени влияет на время загрузки уровня игры. Понятное дело, что здесь, в отличие от загрузки Windows XP, драйверы каждый раз не грузятся. И весьма интересно выглядят результаты Promise FastTrak с RAID массивом 0+1: время загрузки уровня значительно меньше, чем у конкурентов, но и скорость в игре так же значительно меньше. Это тем более странно, что судя по WinBench 99, загрузка процессора при работе с массивом у этого контроллера весьма и весьма низкая. Если учитывать, что даже разница во времени загрузки уровня в Jedi Knight II у различных контроллеров не высокая (не считая Promise FastTrak SX4000), то можно сказать, что для игр RAID не имеет практически никакого значения.
Выводы
Трудно представить современный сервер или рабочую станцию, не использующую RAID массив. Где-то используются винчестеры с интерфейсом SCSI, где-то Serial ATA, а где-то ATA100/133. Выбор интерфейса зависит, прежде всего, от денежной суммы, на которую рассчитывает заказчик сервера. Интерфейс SCSI имеет преимущества при частых обращениях к файловой системе, поэтому крупные серверы на больших предприятиях имеют ATA100/133 винчестер для загрузки операционной системы и SCSI RAID массив для хранения информации, к которой будет осуществляться доступ клиентов. Как правило, такие серверы имеют очень высокую стоимость и их использование не всегда оправдано. Для серверов начального уровня или для компьютеров, используемых для обработки медиа-файлов, наиболее выгодно использовать RAID массивы из ATA100/133 винчестеров с частотой вращения шпинделя 7200 оборотов в минуту. С одной стороны, они имеют высокую скорость передачи, сравнимую со SCSI винчестерами, приемлемую стоимость за мегабайт, да и IDE RAID контроллеры стоят намного дешевле, чем SCSI RAID платы. При использовании четырёх винчестеров оптимальным является выбор RAID массива десятого уровня, поскольку он имеет чуть меньшую производительность, чем четыре винчестера в RAID 0, но при этом его надёжность даже выше, чем у RAID 1 и RAID 0+1. Можно сказать, что недостатком RAID 10 является использование лишь половины объёма всех винчестеров в массиве, но при наличии в продаже 160-200 Гб винчестеров, этот вопрос можно снимать с рассмотрения, поскольку 400 Гб хватит для большинства современных задач. А там, где идёт работа с большими объёмами данных, обычно устанавливаются серверы совсем другого уровня.
Ну а если в компьютере установлены лишь два жёстких диска, отведённых под RAID массив? Тогда надо чётко понимать, как будет использоваться их дисковое пространство. Если под временные файлы или файл подкачки, то имеет смысл установить их в RAID 0, так как стоимость информации на них будет ниже, чем стоимость времени, которое позволит выиграть более быстрый массив. Ну а если на этих винчестерах будет храниться важная информация, то имеет смысл ставить лишь RAID 1 (зеркалирование). Поскольку надёжность такого массива будет даже ниже, чем надёжность одного винчестера и в случае выхода из строя оного, восстановить данные будет невозможно. А в наше время информация стоит дороже, чем носитель, на котором она хранится.
В заключении хочу напомнить, что производители IDE винчестеров всегда заявляют ресурс наработки на отказ, MTBF, измеряющийся в тысячах часов. Приятно видеть, что ресурс винчестера составляет, скажем 60 000 часов (почти 7 лет беспрерывной работы), но это значение - усреднённое и к сожалению, зачастую винчестеры не вырабатывают и половину заявленного ресурса. Так что при выборе RAID массива лучше принять за истину, что все IDE винчестеры ненадёжны и надо быть готовым к тому, что любой винчестер может выйти из строя на второй день после установки - излишняя предосторожность не помешает. И не забывайте делать резервные копии!
Мы благодарим компанию "X-FORM Computers" за помощь, оказанную при подготовке материала. По вопросам консультаций обращайтесь по телефонам в Москве: (095) 261-00-88, 231-20-81.
LIKE OFF
16/04.2003