RAID-системы с IDE-дисками
Для чего используются RAID-системы
Достоинства и недостатки RAID-системы на IDE-дисках
Общеизвестно, что жесткие диски совершенствуются гораздо медленнее, чем процессоры, память и другие компьютерные компоненты. Производительность современных компьютеров увеличилась столь радикально, что дисковая подсистема превратилась в самое узкое место системы. Поэтому сегодня RAID-массивы в равной степени являются и устройством для надежного хранения информации, и средством повышения быстродействия дисковой системы. RAID-технология в случае организации параллельного доступа может увеличить скорость записи и чтения пропорционально количеству дисков, объединенных в RAID-массив. Технология RAID в настоящее время завоевала самое широкое признание; RAID-контроллеры стоят недорого и ими оснащаются даже многие современные материнские платы. Особого внимания заслуживает возможность сделать RAID-массив на IDE-дисках, что позволит достичь превосходной производительности по относительно низкой цене.
ак известно, изначально RAID ассоциировался с интерфейсом SCSI. Традиционно для серьезных приложений (например, в серверах) RAID обычно состоит из многоканального RAID-контроллера и жестких дисков SCSI. Однако SCSI-диски намного дороже своих IDE-собратьев. Да и сам профессиональный RAID-контроллер стоит недешево. Поэтому даже в серверах начального уровня RAID-массивы до 1-го уровня («зеркала») часто формировались программно, средствами операционной системы. Так почему бы не сделать RAID-систему более дешевой, используя жесткие диски с интерфейсом IDE и недорогим IDE RAID-контроллером?
Что такое RAID-системы
ермин «RAID» впервые появился в 1987 году в статье «A Case for Redundant Arrays of Inexpensive Discs (RAID)» американских исследователей Паттерсона, Гибсона и Катца из Калифорнийского университета Беркли. В статье описывалось, каким образом можно объединить несколько недорогих жестких дисков в одно логическое устройство так, чтобы в результате объединения повысились емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы.
За эту возможность быстро ухватились многие компьютерщики, однако широкого распространения подобные системы не получили. Это было связано с тем, что с самого начала вышла промашка с «дешевизной». Стоимость полных RAID-систем не снижалась столь быстро, как цены на базовые диски, из-за всевозможных «накладных расходов»: контроллеров, коннекторов, специализированного программного обеспечения и т.п.
Реально возможность строить недорогие RAID-системы появилась относительно недавно. Однако покупателям по-прежнему приходится определять приоритеты и искать компромиссы между функциональностью и ценой, между производительностью и объемом дисковой памяти и т.д.
Возможность одновременной работы с несколькими дисками можно реализовать двумя способами: посредством параллельного доступа (parallel-access array) или независимого доступа (independent-access array).
Для организации параллельного доступа рабочее пространство дисков размечается на блоки определенного размера и каждый блок записывается на отдельный диск. При поступлении запроса на чтение необходимая информация собирается из нескольких блоков с разных дисков. Понятно, что в этом случае скорость записи и чтения увеличивается пропорционально количеству дисков, объединенных в RAID.
Для организации независимого доступа рабочее пространство дисков также размечается на блоки, но в этом случае каждый запрос на запись или на чтение обслуживается только одним диском, а быстродействие системы повышается за счет того, что каждый диск может обслуживать свой запрос независимо, то есть в каждый момент времени может одновременно обслуживаться несколько запросов. Естественно, что в этом случае скорость записи будет не выше, чем при работе с одним диском.
Для стандартизации RAID-продуктов в 1992 году был организован промышленный консорциум Комиссия советников по RAID (RAID Advisory Board: RAB, http://www.raidadvisory.org/), который стандартизовал к настоящему времени восемь различных вариантов (уровней) объединения дисков в массивы: от RAID-0 до RAID-7. Номера уровней не связаны с характеристиками дисковых массивов и определяются в том порядке, в котором они были изначально предложены.
Кроме того, иногда применяются комбинированные уровни, например уровень 0+1, что означает, что RAID уровня 0 был получен объединением не одиночных дисков, а нескольких «зеркальных» массивов.
Для широкого пользователя более интересен RAID-0 (иногда он еще называется Stripe), который, строго говоря, вообще не является избыточным RAID-массивом (это просто несколько физических дисков, объединенных в один общий массив), но, тем не менее, данный термин широко применяется. Такие массивы позволяют увеличивать производительность дисковой подсистемы с сохранением общей емкости.
Для чего используются RAID-системы
бычно RAID-массивы используются для следующих целей:
- Увеличение надежности дисковой подсистемы путем дублирования дисков с одинаковой информацией (RAID-1, или Mirror «зеркало»). В этом случае создается массив дисков, информация на которых полностью дублируется в системе. Таким образом, при отказе одного диска система продолжит работу с другими, где имеется полная копия данных, которые содержал этот диск. Полезный объем при этом составляет половину суммарной емкости, то есть емкость приносится в жертву надежности.
- Повышение производительности дисковой подсистемы (RAID-0, или Stripе). Емкость всех дисков при таком способе организации складывается в одно логическое устройство (то есть потери емкости не происходит), но за счет распараллеливания процессов записи и чтения дисковые операции выполняются ощутимо быстрее одиночного накопителя (повышение скорости зависит от подбора размеров блоков и для больших массивов данных близко к удвоению). Однако для повышения эффективности таких массивов рекомендуется использовать диски с одинаковой «геометрией» (лучше одинаковые), а надежность такого массива значительно снижается при отказе одного из дисков становится недоступен весь массив данных.
- Создание дисков большого объема (Spanning). Подобная организация дискового пространства используется для объединения нескольких физических устройств в одно логическое суммарной емкости. Такой массив может потребоваться, если вы работаете с файлами большого объема, которые не помещаются на отдельный диск, или просто в том случае, когда вам не хочется работать с большим количеством разнообразных дисков, скопившихся в вашем компьютере. RAID-контроллер в этом случае последовательно объединяет диски, и ни о каком приросте производительности, как в случае с RAID-0, речи здесь не идет (дисковые операции не распараллеливаются). Однако реализация такого массива более проста; в случае потери одного из дисков информация на остальных сохраняется и никаких особых требований к дискам не предъявляется.
- Увеличение надежности хранения при экономии дискового пространства (RAID-5). Такие массивы представляют собой оптимальное сочетание быстродействия, емкости и отказоустойчивости. Данные записываются поблочно на разные диски, но для блоков данных вычисляется так называемая информация о четности (parity data), которая наравне с самими данными равномерно распределяется по всем дискам массива и занимает объем, примерно равный емкости одного диска. При отказе любого накопителя его данные могут быть восстановлены с использованием parity data, хранящихся на других членах массива. Таким образом, производительность при чтении достаточно высока (на уровне Stripe-массива), но при записи обычно оказывается ниже по сравнению с одиночным диском вследствие дополнительных расходов на поддержание контроля четности. Однако эти затраты вполне компенсирует обеспечиваемая при этом отказоустойчивость.
Достоинства и недостатки RAID-системы на IDE-дисках
ринципиальных противопоказаний сделать RAID на жестких дисках IDE не существует. Имеющиеся на рынке контроллеры IDE RAID можно условно разделить на четыре класса:
- карты расширения с интерфейсом PCI и IDE-портами (так называемые контроллеры PCI-to-IDE). В продаже есть недорогие IDE-контроллеры на 2-8 дисков (до 100 долл.);
- RAID-контроллеры, интегрированные на материнские платы (обычно это два дополнительных разъема IDE на 4 диска);
- специализированные дисковые подсистемы «карманы» под диски, рассчитанные на два устройства и аппаратно реализующие единственный тип RAID-массива «зеркало», или RAID-1. Например, Accusys ACS-7500 (компания выпускает также RAID-контроллеры PCI-to-IDE и SCSI-to-IDE) или 3Ware RAID Drive Cage (RDC-300), которые подключаются как обычные жесткие диски и не требуют ни драйверов, ни дополнительного ПО. Такие устройства, относящиеся к классу IDE-to-IDE RAID, обычно поддерживают функцию горячей замены, нестандартную для IDE-дисков;
- внешние RAID-системы с интерфейсом SCSI (SCSI-to-IDE). Например, фирма Sailing Strong International Co., Ltd (http://www.ssi.com.tw/) выпускает RAID Server SI-1300R, а компания Medea производит семейство устройств VideoRaid. Речь идет об отдельных устройствах, в которые может быть установлено несколько жестких дисков с интерфейсом IDE. Каждый из этих дисков подключается к отдельному каналу, благодаря чему они могут участвовать в обмене данными одновременно. Такие устройства устанавливаются в системе как один большой SCSI-диск с единичным SCSI ID. Они предоставляют возможность горячего подключения дисков, отдельный блок питания и внутренний RAID-контроллер.
Дешевые контроллеры для RAID-систем (в том числе и интегрированные на материнские платы) имеют, как правило, два канала IDE, что позволяет подключать до четырех жестких дисков, и конфигурируются из собственного BIOS Setup. Интерфейс достаточно удобен, но создаются массивы только RAID-0, 1 и 0+1, а также Spare Pool, то есть резервные диски для RAID-0 и 0+1. В частности, фирма Promise (http://www.promise.com/) и ее IDE RAID-контроллеры FastTRAK у нас широко известны.
Более серьезные (и дорогие) контроллеры для RAID-систем на IDE-дисках выпускают компании Adaptec (AAA-UDMA) и 3Ware (Escalade). Они уже поддерживают RAID-0, 1, 0+1, 5, позволяют наращивать кэш и выглядят весьма внушительно как «настоящие» RAID-контроллеры.
Итак, сегодня имеются широкие возможности запустить RAID-массив на IDE-дисках. Достоинства этого выбора очевидны возможность достижения превосходной производительности на недорогих дисках.
Что же упоминают в качестве возможных недостатков?
- Качество дисков и стабильность их работы. Считается, что IDE-устройства традиционно более низкого качества, чем SCSI-диски. Однако говорить о том, что IDE-диски плохо сделаны, сегодня нельзя. Как правило, у ведущих производителей используются одинаковые механические части для обоих типов устройств: и SCSI и IDE.
- Надежность и целостность данных. У старых IDE-дисков не имелось надежной гарантии, что данные, посланные по IDE-шине, без потерь запишутся на физическую поверхность диска. У первых IDE-интерфейсов не хватало проверки четности, контрольных сумм и т.д. Но уже с появлением стандарта Ultra-DMA IDE-интерфейс не обходится без таких проверок, и возможность искажения данных при записи давно отошла в прошлое.
- Отказоустойчивость. Базовой функцией большинства SCSI RAID-систем является поддержка горячей замены. Однако обычная SCSI-аппаратура этой поддержки не имеет. Конечно, это может работать, однако на обычной SCSI-шине нельзя отключать устройства, пока система включена. Раньше IDE-устройства совсем не работали с горячей заменой. Однако новый последовательный интерфейс Serial ATA позволяет осуществлять замену накопителей в горячем режиме. Так что и это отличие постепенно отходит в прошлое.
- Производительность. Ранее считалось, что SCSI-устройства работают быстрее. Но это мнение основывалось на том, что IDE-шина создает большую нагрузку на процессор, чем SCSI. Кого же это волнует теперь, когда быстродействие процессоров так сильно возросло? Современные IDE-устройства быстрые и ни в чем не уступают SCSI (советуем посмотреть хотя бы многочисленные тестирования в нашем журнале). Возможно, для повышения производительности следует использовать только один IDE-диск на каждом IDE-шлейфе. Причем два диска на одном канале могут не только снизить производительность, но и привести к отказу шины (отказ одного диска приводит к отказу всех устройств на этой шине).
У IDE-дисков, при применении их в больших массивах, существует небольшая проблема с кабелями. Стандартные IDE-кабели короткие, и даже если у вас достаточно PCI-слотов, то трудно разместить систему с более чем восемью дисками в одном корпусе и запустить ее без искажений данных при передаче из-за слишком длинных IDE-кабелей. Однако с распространением Serial ATA и эта проблема будет решена.
В нынешнем году ожидается появление устройств уже второй версии стандарта Serial ATA. Они предназначаются в первую очередь для систем хранения данных и мощных серверов, содержат ряд новых функций и позволяют добиться роста скорости передачи данных. Особенно важно, что при этом сохраняется обратная совместимость с Serial ATA первой версии. Напомним, что стандарт Serial ATA предназначен для замены существующих в настоящее время стандартов подключения дисковых накопителей к компьютеру. Как следует из названия, в Serial ATA вместо передачи данных в параллельном режиме по многожильному кабелю используется принцип последовательной передачи данных. Кроме того, Serial ATA позволяет осуществлять горячую замену накопителей и достичь скорости передачи данных до 1,5 Гбит/с. Для сравнения: «параллельная» спецификация ATA100 обеспечивает скорость в 800 Мбит/с. Первые диски Maxtor и Seagate с интерфейсом Serial ATA уже появились в продаже, а первые RAID-контроллеры для таких дисков уже выпускаются компаниями Adaptec и 3Ware. Основную конкуренцию Serial ATA, по-видимому, составят новые версии параллельных интерфейсов, такие как ATA133. Например, поддержка этого стандарта уже реализована в чипсете VIA KT333, а компания Maxtor выпускает диски ATA133.