RAID эконом-класса: тестирование контроллеров с интерфейсом EIDE
IDE RAID -- эта пара аббревиатур, вызывающая порой улыбку профессионалов, все чаще мелькает в спецификациях компьютерного "железа". "Компьютерное Обозрение" не раз обращалось к этой теме, и с некоторыми устройствами наши читатели частично знакомы. Но на рынке появляются новые продукты, и мы, пользуясь случаем, проводим тестирование, чтобы ответить на два основных вопроса касательно IDE RAID: а стоит ли и какой именно.
В принципе, ответ на этот вопрос относится к разряду "уж сколько раз твердили миру...", и сказать здесь что-то новое достаточно сложно. Поэтому мы лишь вспомним для полноты картины основы "практической теории RAID-массивов" применительно к недорогим решениям IDE RAID.
Как известно, RAID расшифровывается как Redundant Array of Inexpensive Disks -- избыточный массив недорогих дисков. Суть заключена в самом названии: поскольку "ничто не вечно под Луной", в том числе и жесткие диски с ценной информацией, они тем или иным способом объединяются в массив, в котором отказ одного накопителя (или даже нескольких) не вызывает краха всей системы хранения данных. На практике термин RAID применяется более широко, часто обозначая просто некий дисковый массив, не обязательно избыточный и отказоустойчивый. Обычно RAID используется для следующих целей:
1. Увеличение надежности дисковой подсистемы дублированием дисков (RAID 1, или Mirroring). В этом случае создается массив из двух дисков, информация на которых полностью дублируется (откуда и название Mirroring -- "зеркалирование"). При отказе одного диска система продолжит работу со вторым, где имеется полная копия данных. Полезный объем при этом составляет половину суммарной емкости, т. е. емкость одного из дисков приносится в жертву надежности.
2. Повышение производительности (RAID 0, или Stripping). Несколько дисков объединяются в один, а информация между ними распределяется поблочно. Таким образом, происходит распараллеливание процессов записи и чтения, что при удачном подборе размера блока позволяет выполнять дисковые операции ощутимо быстрее одиночного накопителя. В строгом смысле RAID 0 назвать RAID-массивом нельзя, поскольку избыточным (Redundant) он не является. Мало того, надежность такого массива даже снижена -- ведь при отказе одного из дисков "падает" весь массив целиком. Потерь емкости в RAID 0 не происходит, объем всех дисков используется под данные.
3. Создание дисков большого объема (Spanning). Задача часто возникает, когда необходимо хранить объем данных, не помещающийся на одном диске (например, цифровое видео). RAID-контроллер "последовательно" объединяет два или более дисков в один. Так, из четырех 20-гигабайтовых IDE-дисков можно создать массив объемом 80 GB (правда, не отказоустойчивый). В отличие от RAID 0, в случае Spanning дисковые операции не распараллеливаются. Например, при записи большого файла сначала заполняется до отказа один диск, после чего происходит переход на следующий. Теоретически производительность остается на том же уровне, что и у одиночного диска, однако реализация массива более проста, чем RAID 0 (Stripping).
4. Увеличение надежности при экономии дисков (RAID 5). Создается на дисках числом не менее трех и является наиболее оптимальным сочетанием отказоустойчивости и экономии дискового объема. Как и в случае RAID 1, данные также записываются поблочно. Однако при RAID 5 для блоков данных вычисляется так называемая информация о четности (parity data), которая наравне с самими данными равномерно распределяется по всем дискам массива и занимает объем, примерно равный емкости одного диска. При отказе любого накопителя его данные могут быть восстановлены с использованием parity data, хранящихся на других членах массива. Производительность при чтении достаточно высока (на уровне RAID 0), но при записи обычно оказывается ниже по сравнению с одиночным диском ввиду дополнительных расходов на поддержание массива. Однако это вполне компенсируется небольшими затратами на обеспечение отказоустойчивости.
Базовой функцией большинства RAID-систем является поддержка "горячего резервирования" (hot spare). К избыточному массиву добавляется один или несколько дисков, которые не участвуют в нормальной работе, но автоматически задействуются при отказе одного из накопителей. Перенос данных на запасной диск может происходить также автоматически, в результате чего пользователь вообще не заметит сбоев в работе системы хранения данных.
Как известно, изначально RAID ассоциировался с интерфейсом SCSI. Ведь еще недавно с учетом дороговизны компьютерной техники отказоустойчивость мог позволить себе только класс high-end, а там SCSI властвовал практически безраздельно. Однако принципиальных противопоказаний сделать RAID на жестких дисках IDE нет -- были бы диски, а на интерфейс управа найдется.
Имеющиеся на рынке контроллеры IDE RAID можно условно разделить на три класса. Первый -- это карты расширения с интерфейсом PCI и IDE-портами (так называемые контроллеры PCI-to-IDE). Второй (разновидность первого) -- RAID-контроллеры, интегрированные на материнские платы и обычно добавляющие два дополнительных разъема IDE. И третий -- специализированные "карманы", рассчитанные на два жестких диска и аппаратно реализующие единственный тип RAID-массива -- RAID 1, или "зеркало". Такие устройства, относящиеся к классу IDE-to-IDE RAID, обычно поддерживают функцию "горячей замены", не совсем стандартную для IDE-дисков.
Всего в нашей лаборатории собралось семь устройств, представляющих все три класса IDE RAID-контроллеров и весьма сильно отличающихся между собой как по функциям, так и по цене. Возможности продуктов подобрались на любой вкус, и мы начинаем знакомство с участниками этого тестирования.
Accusys ACS-7500. Устройство, уже известное нашим постоянным читателям, реализует "зеркало" из двух дисков -- RAID 1. Конструкция заключена в металлический корпус и рассчитана на установку в два смежных 5,25" отсека системного блока. Выдвижные "салазки" для двух винчестеров снабжены индикаторами состояния и замками. Диски подключаются к жестко закрепленному разъему интерфейса, в результате чего для накопителей Western Digital (у которых разъем несколько смещен относительно стандартного положения) требуются специальные "салазки". В задней части расположены один IDE-разъем, разъем питания, защищенный кожухом вентилятор и перемычка Master/Slave. Подключается устройство, как обычный жесткий диск, и определяется как Accusys IDE RAID. Работа ACS-7500 полностью прозрачна для операционной системы -- не требуется ни драйверов, ни дополнительного ПО.
Самой интересной особенностью Accusys ACS-7500, кроме полной прозрачности для ОС, является поддержка "горячей замены" дисков. Этот процесс выполняется безболезненно, работа устройства не прекращается. Таким образом, заменить отказавший диск можно и при включенной системе, после чего "зеркало" будет автоматически восстановлено. Состояние массива сохраняется и при выключенном питании благодаря наличию батареи. Единственное "но": узнать об отказе диска можно только по индикации на передней панели или по звуковому сигналу тревоги. И если сервер (ну хорошо, ма-аленький сервер) стоит в уединенном месте, его необходимо периодически проверять или хотя бы "прослушивать".
Кроме ACS-7500, компания выпускает также RAID-контроллеры PCI-to-IDE и SCSI-to-IDE.
Adaptec AAA-UDMA.Этот контроллер уникален во всех отношениях. Он единственный среди рассматриваемых поддерживает RAID 5, единственный позволяет наращивать кэш и единственный выглядит весьма внушительно, как "настоящий" RAID-контроллер. Кроме того, это первый IDE RAID-контроллер компании Adaptec, ранее известной в основном SCSI-решениями. AAA-UDMA -- полноразмерная PCI-плата (длина более 30 см) со множеством элементов, содержащая, кроме всего прочего, и разъем для DIMM-модуля (который работает кэш-буфером). Базовый объем кэша 2 MB можно увеличивать до 64 MB установкой более объемного EDO ECC DIMM.
Еще одна уникальная особенность Adaptec AAA-UDMA -- наличие четырех IDE-каналов вместо традиционных двух. Число поддерживаемых дисков при этом не увеличивается (все те же четыре), но отпадает необходимость в конфигурировании Master/Slave и "драке" между ними за канал передачи.
Контроллер оснащен BIOS Setup, который, однако, мало полезен. Конфигурирование массивов выполняется либо DOS-утилитой ArrayConfig (для чего в комплекте идет системная дискета с PC DOS), либо из среды Windows. Утилита Array Config достаточно удобна, работает в двух режимах -- Express и Custom. Поддерживаются RAID 0, 1, 0+1 и 5, может назначаться hot spare. Размер блока для RAID 0 и 5 варьируется в пределах от 8 до 128 KB. Как минус отметим очень длительное создание массива ввиду обязательной процедуры заполнения его нулями.
В среде Windows работой AAA-UDMA ведают драйвер и утилита Adaptec CI/O Management Software. Интерфейс очень удобен и функционален, обеспечивается полное управление контроллерами, дисками и массивами, в том числе и удаленно по сети. Для определенных событий настраивается пересылка сообщений по e-mail (которые, естественно, можно перенаправить на пейджер или мобильный телефон сисадмина). Странными кажутся необходимость ручного запуска утилиты, а также перезагрузка системы каждый раз после создания массива. В плане "непотопляемости" AAA-UDMA оказался чересчур "ОС-зависимым", т. е. восстанавливался после сбоя только при загрузке соответствующего ПО. Снова представив себе одиноко стоящий сервер с таким контроллером, приходишь к мысли о необходимости периодической "ручной" проверки или ручного запуска CI/O Management Software при каждом старте системы.
AMI HyperDisk. Контроллер от известного производителя RAID-систем имеет два канала IDE и конфигурируется из собственного BIOS Setup. Интерфейс достаточно удобен, создаются массивы 0, 1 и 0+1, а также Spare Pool, т. е. резервные диски для RAID 0 и 0+1.