Аппаратные RAID контроллеры. FAQ по практической реализации RAID.

💖 Нравится? Поделись с друзьями ссылкой

15.02.1996 Сергей Романчиков

Самыми слабыми по надежности местами в компьютере являются оперативная память и жесткие диски, которые представляют собой еще и одно из самых медленных звеньев в компьютере. Одним из вариантов организации работы дисковой системы являются RAID-матрицы, гарантию надежности и быстродействия работы которых обеспечивают современные RAID-контроллеры. Что такое RAID-контроллер Принятые на практике RAID-алгоритмы Конструкция RAID-контроллера Технология Hot Swap. Резервные диски RAID-системы и альтернативные варианты Программные и аппаратные реализации зеркалирования RAID 5-го уровня и зеркалирование, что выгоднее? С какими операционными системами работает RAID?

За последние несколько лет значительно повысилась мощность и быстродействие всех классов компьютеров - сегодня даже небольшая фирма может позволить себе иметь локальную сеть, один или несколько серверов, выход в Сеть. Большое количество программного и аппаратного обеспечения, множество вариантов готовых комплексных решений позволяют быстро развернуть и настроить работу офиса. Одна из серьезнейших задач, связанных с обеспечением этого процесса, - получение максимального быстродействия и надежности при минимуме затраченных средств. Как правило эти требования предъявляются, в первую очередь, к машинам, реализующим групповую работу: файловые серверы, серверы приложений, почтовые хосты, мультимедийные графические станции. Многие из этих компьютеров должны, не выключаясь годами, обеспечивать устойчивую работу на протяжении всего срока эксплуатации при 100% сохранности данных и минимальном времени восстановления - в идеале стремящемуся к нулю. Как известно, самыми слабыми по надежности местами в компьютере являются оперативная память и жесткие диски, которые представляют собой еще и одно из самых медленных звеньев в компьютере. Одним из вариантов организации работы дисковой системы являются RAID-матрицы, гарантию надежности и быстродействия работы которых обеспечивают современные RAID-контроллеры.

Если вы имеете в машине самый быстрый на сегодняшний день процессор, большое количество оперативной памяти и процессорного кэша, но если дисковая система компьютера будет работать медленно и нестабильно, то общая производительность вашей конфигурации окажется крайне низкой. Такую машину вряд ли захочется использовать в качестве сервера или графической станции - налицо неоправданные затраты средств на быстрые процессоры и память, которые являются мертвым капиталом, если заранее не позаботится о выборе соответствующей системы работы с жесткими дисками. Одним из вариантов организации работы дисковой системы являются RAID-матрицы, которые создаются из стандартных SCSI- или SSA-дисков с помощью специальных контроллеров. Эта технология, порожденная еще мэйнфреймами и мощными RISC-компьютерами, все больше и больше находит свое место и в ПК платформах. Низкая цена, стопроцентная совместимость с основными операционными системами, поддержка распространенного программного обеспечения и наличие вспомогательных утилит делают возможным создание на базе недорогих ПК, быстрых и надежных серверов масштаба среднего предприятия или подразделения крупной компании.

Сегодня решения, предполагающие использование RAID-контроллеров, предлагаются всеми известными поставщиками компьютерного оборудования, активно работающими и на отечественном рынке. Наибольшую популярность среди brand name производителей серверов получили модели контроллеров на процессоре i960, что объясняется его высокой производительностью, поддержкой технологии горячей замены и обеспечения большого количества сервисных функций. С такими моделями сейчас поставляются основные марки ПК серверов фирм IBM, HP, Compaq, Intel, Digital, ALR и др. Все они обычно поставляются в двух конфигурациях: с RAID-системами и без них. Хотя преимущества RAID очевидны, у заказчика не всегда хватает средств для приобретения варианта с RAID. К счастью, современные модели контроллеров дисковых массивов достаточно стандартны и универсальны. Но, с другой стороны, практически все модели brand name поставляются только с двухканальными вариантами RAID-контроллеров, что лишает администраторов сетей и технических специалистов возможности использовать потенциал различных моделей. Известны случаи, когда заказчики отказывались от RAID-матриц brand name по причине нехватки финансовых средств, хотя денег было достаточно для установки небольшого RAID-массива. Ведь сейчас на отечественном рынке минимальная матрица из одного RAID-контроллера на базе i960 и 2-х дисков 1 Гбайт SCSI имеет стоимость всего около 1.6 тыс. долл. Правда, если вы установили сервер без RAID, а потом нашли возможность приобрести и его, это легко осуществимо как с помощью фирмы производителя, так и самостоятельно. Этим пользуются многие организации, желающие приобрести хороший сервер немного дешевле.

В нашей практике приходилось ставить RAID-контроллеры фирмы Mylex практически на все модели серверов фирм IBM 320, Intel Altair, Xpress, Digital Prioris и др. Самая большая проблема, которую можно встретить на этом пути, - это замена оригинального BIOS-контроллера на разработанный под вашу конкретную модель. Тем не менее создавая свою собственную дисковую систему можно построить очень гибкую конфигурацию, сделав акцент на максимально быструю, или на максимально экономичную, или же на максимально надежную систему. Вы всегда сможете предусмотреть возможность расширения, резервирования и перестройки конфигурации. Современный российский компьютерный рынок всегда славился своими "умельцами", способными быстро и качественно собрать компьютеры почти и любой конфигурации. Сейчас это можно сказать и про мощные серверы, благодаря доступности RAID-технологии для конечных пользователей - единственный пока недостаток состоит в отсутствии информации о возможностях работы и способах создания RAID-матриц.

Что такое RAID-контроллер

Принятые на практике RAID-алгоритмы

На определенном этапе развития технологии средств вычислительной техники возникла необходимость создавать один или несколько виртуальных дисков большой емкости из совокупности недорогих и небольших устройств. Для реализации этой задачи были разработаны и стандартизованы алгоритмы объединения дисков, известных сейчас как RAID-алгоритмы. Общие принципы их работы были неоднократно описаны в российской прессе и приведены здесь вкратце.

Основная идея этих алгоритмов заключается в том, что входной поток информации делится на блоки, которые, в свою очередь, записываются на диски. При считывании происходит обратный процесс - блоки информации собираются с накопителей и преобразовываются в единый поток. Таким образом, программа работы с этой системой может и не подозревать, что вместо одного накопителя она взаимодействует с несколькими. На практике существуют много применений таких алгоритмов, но самое большое распространение в компьютерной области получили именно матрицы жестких дисков - RAID (Redundant Array of Inexpensive Disks). В зависимости от способа распределения блоков в дисковом массиве различают несколько уровней RAID, с нулевого по пятый. На практике получили распространение, в основном, 0,1 и 5 уровни. Сейчас можно встретить контроллеры с 6, 7 и т.д. уровнем RAID. Так как изначально были стандартизированны только пять алгоритмов, то все остальные способы реализации работы дисковых массивов являются продолжением развития RAID-технологии и могут отличаться у разных поставщиков. Для организации работы компьютера с матричной дисковой подсистемой достаточно знать 0,1 и 5 алгоритмы, которые, как правило, покрывают все необходимые проблемы, просты в использовании и достаточно эффективны.

RAID0 - алгоритм, при котором каждая порция информации входного потока делиться на N фиксированных блоков (где N - число дисков в матрице), а затем каждый блок последовательно записывается на свой диск. В связке контроллер - шина - диск самым медленным устройством является диск. Используя большое количество дисков, можно получить увеличение скорости записи/считывания системы до тех пор, пока позволяет пропускная способность интерфейсной шины. RAID0 не создает никакой избыточности и не обеспечивает стопроцентной сохранности данных при возникновении проблем с одним из дисков. Его назначение - сделать максимально быструю дисковую систему, скорость которой в идеале в N раз превышает быстродействие одного диска.

RAID1 или зеркалирование (mirroring) требует четного числа дисков и осуществляет попарное дублирование информации. Этот алгоритм уже дает стопроцентную гарантию сохранности данных при сбое любого из дисков и теоретическое увеличение скорости в N/2 раза, но стоимость дискового пространства увеличивается вдвое. Алгоритм применяется в системах, где необходима надежность сохранности данных и обьем дисковой матрицы незначителен. RAID5 представляет собой что-то среднее между 0 и 1 и наиболее популярен для организации серверных дисковых матриц. Порция информации из входного потока разделяется на N-1 блоков, а N-й блок вычисляется из N-1 первых и является контрольным. В случае безвозвратной потери одного из N блоков, информация однозначно восстанавливается из N-1 других. Контрольный блок каждый раз от цикла к циклу записывается на новый диск, совершая как бы "круговой обход". Таким образом все диски в матрицы являются равнозначными, подвержены одинаковому износу, и, в случае сбоя любого блока на диске или всего диска целиком, информация восстанавливается без потерь. Стоимость дискового пространства в N/(N-1) раз больше, чем одного диска - при увеличении числа дисков цена уменьшается, а теоретическая скорость записи/чтения тоже в N/(N-1) раз больше, чем одиночного.

Конструкция RAID-контроллера

RAID-контроллер представляет собой интеллектуальный SCSI- или SSA-контроллер, с помощью которого можно организовать алгоритмы RAID на дисковых матрицах. Современные модели имеют 1,2 или 3 SCSI-канала, к каждому из которых можно подключать от 1 до 7 SCSI-устройств в случае SCSI- шины и 127 в случае SSA. Наибольшее распространение на сегодняшний день имеют SCSI-устройства. Конструктивно, практически все современные SCSI RAID-контроллеры одинаковы и представляют собой плату слота расширения на шины PCI, EISA или внешнее устройство на шину SCSI. Подавляющее большинство RAID-контроллеров создано на базе RISC процессора Intel i960, и почти все они аппаратно одинаковы и различаются только версиями BIOS. Как и в других областях, в сфере RAID-контроллеров имеются законодатели рынка, предлагаемые решения которых обычно становятся стандартом де-факто. Сегодня основной OEM-поставщик и производитель этих устройств - фирма Mylex. На мировом рынке имеются ряд фирм, продающих эти устройства с небольшими конструктивными отличиями, например MegaRAID. Среди моделей хорошо представленных в России различия существуют у моделей, применяемых для серверов фирмы Intel и для IBM с шиной SSA. Различия не принципиальны и не могут влиять на совместимость их друг с другом.

Другой вариант организации RAID-контроллеров - на базе серии процессоров 68000/68020/ 68030 фирмы Motorola. Модели под различные шины (ISA, EISA, PCI) для стандарта SCSI известны под маркой фирмы DPT. Эти контроллеры известны во всем мире и также представлены на отечественном рынке, хотя менее популярны, чем построенные на базе чипа фирмы Intel. Типичная конструкция контроллеров на процессоре i960 представляет собой плату с впаянным полноразмерным или "облегченным" вариантом этого чипа (рис.1).

Рис. 1. Пример общей компоновки контроллера RAID 960

Как и для любого микропроцессорного устройства, контроллеру необходима оперативная память, минимальный размер которой в большинстве моделей составляет 2 Мбайт. При наличии памяти большей емкости контроллер использует ее для кэширования данных. Верхний предел ограничен объемом SIMM (32 - 64 Мбайт). Устройство имеет собственный заменяемый BIOS, выполненный по технологии FLASH или в виде съемной микросхемы ПЗУ. В зависимости от количества SCSI-каналов на плате располагаются соответственно 1,2 или 3 SCSI чипа - NCR53C720. На плате RAID-контроллера имеются перемычки для включения и выключения SCSI-каналов (JP1, JP2, JP3), необходимые для возможности его установки на конечном устройстве, и выводы индикации состояния шин и кэша (JP5). Индикация может быть подключена к обычным светодиодам на корпусе компьютера, отображая активность устройств или состояние "полный кэш". На внешней стороне платы обычно существуют один или два разъема под внешний SCSI-кабель. С помощью этих разъемов возможно подключение внешних SCSI-устройств или дисковых массивов.

Каждое устройство может комплектоваться или уже укомплектовано аккумулятором поддержки питания кэша и переходником WIDE FAST SCSI-2 на FAST SCSI-2, который необходим при использовании разных стандартов SCSI на плате и на дисках. В программе процессора контроллера имеется большое количество функций работы с дисками, которые настраиваются при помощи конфигурационной утилиты. Все операции управления логическими матрицами, алгоритмы RAID и управления кэш памятью, проводятся самим контроллером без обращения к центральному процессору и шине данных. Используя режимы Bus Mastering для шин EISA и PCI, устройство способно передавать данные со скоростью 33 Мбайт/с и 132 Мбайт/с.

Технология Hot Swap. Резервные диски.

Жесткие диски - один из немногих компонентов, в котором есть механическая часть, в первую очередь подверженная износу при долговременной работе. И какие бы хорошие и надежные диски не использовались, всегда имеется вероятность выхода их из строя, увеличивающаяся со временем эксплуатации. Хотя в случае применения, скажем, RAID5 выход из строя диска не повлечет за собой потерю данных, система останется без избыточности - это будет сигналом для администратора сети бить тревогу. Если организация работы сервера допускает его остановку, то замена неработающего диска не составит труда. Но, как правило, все компьютеры со статусом "сервер" не могут быть выключены в любой момент времени без ощутимых последствий. RAID-контроллеры позволяют решить эту проблему за счет поддержки функций горячей замены и технологии резервных дисков. В случае поломки диска или каких-либо других проблем, вследствие которых контроллер не может в дальнейшем его эксплуатировать, например превышение допустимого количества плохих блоков, диск помечается как "мертвый" (Kill Drive) и не участвует в дальнейшей работе. В этом случае оператор может вынуть этот диск из системы и заменить другим. После подключения и обнаружения RAID-контроллером нового диска произойдет его форматирование (если необходимо) и будет выполнена операция перестройки матрицы (Rebuild). Таким образом, система опять восстановит свой прежний вид.

Так может продолжаться пока в запасе имеются резервные диски или до тех пор, пока при режиме работы без избыточности не выйдет из строя еще один диск. Это может случиться, если плохой диск не заменили сразу. Как правило, не всегда бывает возможность немедленно заменить диск и время реакции может быть достаточно продолжительным (если нет круглосуточного поста квалифицированного оператора). Современные RAID-контроллеры позволяют решить эту проблему без участия человека - в матрицу заранее устанавливается диск или несколько дисков, которые при конфигурации RAID-матрицы помечаются как резервные (StandBy). В этом случае на резервные диски не подается команда раскрутки шпинделя, они никак не эксплуатируются, а значит, не изнашиваются. При возникновении "мертвого" диска, резервный из режима StandBy сразу же автоматически переводится в рабочий и осуществляется Rebuild. В таком режиме сервер будет работать до тех пор, пока не кончатся резервные диски. Замена "мертвого" на новый резервный может быть произведена в любое удобное время.

Применение технологии резервных дисков предпочтительней по ряду причин: во-первых, стоимость хороших конструктивов, обеспечивающих корректное и надежное размыкание и обратное подключение SCSI-шины, достаточно велика и, на данный момент, сравнима со стоимостью 1 Гбайт SCSI-диска; во-вторых, положение вещей на рынке жестких дисков за последние несколько лет таково, что, возможно, через год после приобретения накопителей вы не сможете найти точно такую же модель, по крайней мере за короткий срок. Использование же в матрице разных моделей жестких дисков может привести к большим проблемам вплоть до невозможности работать вместе.

RAID-системы и альтернативные варианты

Программные и аппаратные реализации зеркалирования

На сегодняшний день существует много способов организации дисковых систем помимо RAID-матриц. Наибольший интерес представляет организация RAID1 - зеркалирования. Этот способ может быть реализован как программно (в Novell NetWare, Windows NT), так и аппаратно (на SCSI контроллерах Adaptec, Tekram и т.д.). Хотя способы безусловно недорогие, они обладают рядом существенных недостатков. Программное зеркалирование сильно нагружает вычислительную мощность компьютера. Выполнение программ обслуживания дисков занимает какое-то время, что непосредственно сказывается на быстродействии дисковой системы. Кроме того, при программной реализации всегда существует вероятность потери данных при аварийном отказе операционной системы, случайной аппаратной перезагрузки или пропаже питания в компьютере. Такой вариант реализации зеркалирования, конечно, имеет место в современных решениях, но должен применяться только на надежных машинах и в условиях экономии финансовых средств.

Аппаратный RAID1 - более надежное решение. Возможно, это не плохой вариант реализации дисковой системы компьютера при небольших дисковых матрицах из 2 или 4 дисков. К тому же SCSI-контроллер, позволяющий сделать зеркалирование относительно недорогим. Основными недостатками этого решения является то, что при наращивании матрицы система становиться все дороже и дороже по сравнению с RAID5, а скорость общения с дисками остается низкой. При каком-то значении объема дисковой матрицы наступает переломный этап, когда RAID5 становиться выгодней. Таким образом, реализуя зеркалирование на одном из недорогих SCSI-контроллеров, вы лишаете себя возможности дополнительного недорогого расширения дисковой системы. К тому же опыт подсказывает, что, несмотря на аппаратное выполнение функций зеркалирования, возможна потеря производительности системы до 25% по сравнению с одиночным диском.

RAID 5-го уровня и зеркалирование, что выгоднее?

При проектировании дисковой системы немаловажным фактором является ее стоимость. Для того чтобы максимально эффективно использовать выделенные средства для реализации этой задачи, необходимо грамотно подойти к выбору типа дисковой матрицы. Приведем небольшой расчет для RAID5 и RAID1, помогающие это сделать. Оба алгоритма позволяют обеспечить работу со стопроцентной надежностью сохранения данных при сбое. Рассмотрим два альтернативных варианта. Первый - дисковая система на основе младшей модели RAID-контроллера, второй на одном из простых моделей SCSI-устройства. Для примера возьмем одни из самых популярных на нашем рынке контроллеров Adaptec 2940 для RAID1 (250 долл.) и Mylex DAC960PL-1 (1000 долл.) для RAID5. За основу матриц выберем некие условные диски (модель не имеет значения) емкостью 1 Гбайт (350 долл.). Для организации RAID5 необходимо минимум 3 диска, для зеркалирования - 2.

Как видно из графика зависимости стоимости от используемого дискового пространства, приведенного на рис. 2., при таких исходных данных реализация дисковой системы на RAID1 хороша при используемом дисковом пространстве 1 или 2 Гбайт. При большем объеме матрицы лучшим решением будет RAID5. Надо заметить, что всегда необходимо учитывать возможность расширения системы. Поэтому в случае объема 3 Гбайт в приведенном примере, лучше выбрать RAID5. В этих рассуждениях не учитывается еще тот факт, что при организации зеркалирования скорость доступа ко всем дискам меньше, чем к одному, а при организации RAID5 больше. К тому же следует принять во внимание тот факт, что функций у DAC960 значительно больше и среди них такие немаловажные, как горячая замена и возможность установки резервных дисков.

(1x1)

Рис. 2. Изменение стоимости дисковой системы в зависимости от объема пространства на дисках

Исходя из этих рассуждений можно сделать общий вывод для данного примера. При организации дискового массива объемом 1-3 Гбайт можно использовать разные, включая программные, алгоритмы создания дисковых серверных систем. При создании же матрицы большего объема нужно серьезно задуматься о применении контроллеров с RAID 5. Приведенные рекомендации носят, естественно, условный характер. Каждый конструктор должен сам оценить необходимость применения той или иной технологии в зависимости от конкретных условий.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

С какими операционными системами работает RAID? RAID-контроллеры, например фирмы Mylex, совместимы со стандартной ПК платформой и имеют сертификаты для работы с MS-DOS; Novell Netware; Windows NT и Advanced Server; IBM OS/2; SCO UNIX; UnixWare.

В стандартной поставке к контроллеру прилагаются драйверы для работы с этими ОС (DAC Software kit) вместе с описанием настройки и конфигурации. Созданы работающие модели серверов с RAID, эксплуатируемым в среде Solaris. Работа с Windows 95 возможна с RAID даже с драйверами под DOS. Вполне возможно, что список ОС этим не ограничен, здесь приведены только реально проверенные факты.

Какой необходимо иметь объем кэша контроллера? Конечно, чем больше, тем лучше - кэшем контроллер не испортишь. Но чтобы реально подойти к оптимальному выбору объема кэш-памяти, необходимо хотя бы приблизительно представлять себе, какой обьем оперативной информации постоянно работает с дисковой системой. Минимальный обьем 2 Мбайт используется для работы процессора контроллера. Четких рекомендаций здесь дать трудно, но по сложившемуся опыту работы лучше придерживаться следующих параметров: для матриц емкостью 5 Гбайт - 4-8 Мбайт кэша, для матриц 5-10 Гбайт - минимум 8 Мбайт кэша, для матриц 10-20 Гбайт - минимум 16 Мбайт. Кэш-память контроллера представляет собой обычный 72 pin SIMM и легко может быть заменена. При самостоятельном выборе кэша следует обратить внимание на то, чтобы SIMM был с реальной четностью и хорошими динамическими характеристиками. У нас бывали прецеденты, когда некоторые неизвестные модули памяти из материнской платы не работали в RAID.

Как правильно выбрать режим работы кэша? У кэша RAID-матрицы есть два режима работы: сквозная запись (Write Through) и отложенная запись (Write Back). При первом режиме контроллер не дает подтверждения записи, пока данные не попали на диски, при втором достаточно того, чтобы данные попали в кэш. Второй режим помогает значительно увеличить производительность RAID-системы. Особенно это сказывается при наличии большого кэша и режима записи/чтения маленьких объемов информации. Существенный недостаток его в том, что при потере питания на контроллере или аппаратной перезагрузки информация безвозвратно теряется, так и не попав на диски. Здесь возможны три варианта: отказ от дополнительного быстродействия RAID-системы в пользу надежности; пренебрежение возможностью потерять данные из кэша в пользу производительности; приобретение дополнительного аккумулятора (Battery BackUp) для поддержания питания SIMM при отсутствии питания на плате.

Возможно ли улучшить производительность чтения длинных файлов? Да. Жесткие диски показывают плохую производительность при чтении случайных секторов. Можно повысить этот показатель, если читать предполагаемый сектор заранее. Для этого в конфигурационной утилите контроллера существует опция "чтение вперед" (Read ahead). Если в данных имеются часто используемые длинные файлы необходимо установить параметр с состояние "активно".

Как определить состояние контроллера при зависании сервер?а? Какие бы не были надежные сервера и операционные системы, нельзя быть уверенным, что система не зависнет. Самое неприятное в этой ситуации - необходимость делать аппаратную перезагрузку, не представляя себе, что происходит с дисковой системой. Предотвратить эту ситуацию можно при аппаратной установке RAID. На плате контроллера имеется разъем для трех индикаторов: активность SCSI-шины, активность шины PCI (EISA), "полный кэш" (данные в кэше еще не попали на диск). Желательно последний из них вывести на светодиод корпуса сервера. По состоянию этих индикаторов можно определить активность контроллера. При "чистом" кэше можно смело делать перезагрузку, не опасаясь потери данных. По рекомендации производителя необходимо выждать не менее 15 сек. после зависания или не менее 3 сек. после выключения индикатора "полный кэш" прежде чем делать перезагрузку.

Чем отлич?аются модели MYLEX DAC960PL и MYLEX DAC960PD? Эти два контроллера для шины PCI стандарта WIDE FAST SCSI-2. Принципиальное различие в типе процессора I960. На модели PD имеется полноразмерный чип, на модели PL уменьшенный вариант той же микросхемы. Обе модели работают со стандартными SIMM любой емкости (2-64 Мбайт), но модель PD поддерживает еще EDRAM - память со статичными регистрами, позволяющую увеличить скорость доступа (не путать с EDO для chipset Triton). Общее различие: модель PD более производительная, PL - более экономичная. Когда собирается матрица небольшого объема (до 10 Гбайт) без большой нагрузки на диски целесообразней выбрать контроллер типа PL. Если же объем дискового пространства больше 20 Гбайт или нужна хорошая производительность, то для этого требуется модель PD.

Какими средствами можно конфигурировать RAI?D? С любым RAID-контроллером должна поставляться утилита конфигурации под MS-DOS (daccf.exe). После физической установки RAID-контроллера можно загрузиться с дискеты или дополнительного винчестера и запустить утилиту. После создания матрицы и системных дисков всю конфигурацию можно сохранить на дискете прямо из программы. После окончания работы и перезагрузки получаются готовые для работы системные диски. Для изменения конфигурации RAID необходимо останавливать сервер и запускать эту программу. Этого можно избежать, используя клиент-серверную утилиту Global Array Maneger под Novell NetWare. Серверная часть, в виде модуля nlm, загружается под NetWare и администратор со своей рабочей станции может наблюдать за работой дисков, вносить изменения вплоть до "убийства" диска (kill drive). Утилита Global Array Manager также входит в стандартную поставку RAID-контроллера.

Как правильно сделать RAID-систему

Планирование дисковой системы RAID должно начинаться задолго до приобретения контроллера с дисками или готового сервера с RAID. Администратор должен четко представлять характер задач, нагружающих дисковую систему, и способы увеличения быстродействия в соответствии с затратами. Немалую роль в этом играет выбор операционной системы и программного обеспечения. В случае самостоятельной установки RAID или полной сборки сервера необходимо иметь представление, какое оборудование и какая его организация позволит получить максимальную производительность при минимальных затратах. Трехлетний опыт работы в области RAID-серверов и дисковых подсистем предоставляет несколько рекомендаций для пользователей, желающих перейти на эту, пока еще относительно неизвестную, технологию.

Рекомендации будут строиться на следующих фактах: большое распространение в России получили RAID-контроллеры производства американской фирмы Mylex, а наиболее актуальными на сегодняшний момент RAID-контроллерами являются системы с каналами WIDE/FAST SCSI-2 на шины PCI и EISA.

Какие диски выбрать?

В первую очередь необходимо выбрать действительно надежные и качественные диски, способные бесперебойно работать продолжительное время. Среди прочих характеристик стоит обратить внимание на время наработки на отказ, которое в каталогах часто обозначается MTBF (hours). Желательно, чтобы этот показатель был не меньше 500000 часов. Помните, что вероятность отказа дисковой матрицы как целой системы увеличивается с увеличением количества дисков. Конструкция дисков условно делится на механическую и электронную часть - дисковый контроллер. Механическая часть полностью характеризуется тремя параметрами: скоростью вращения шпинделя (Spindle Speed), скоростью позиционирования головки (Track-to-Track Seek) и плотностью записи информации на один цилиндр. Современные модели жестких SCSI-дисков известных фирм производителей имеют скорость вращения шпинделя 5400 и 7200 оборотов с секунду (rps). Выбор таких дисков позволит сделать матрицу достаточно быстрой. Однако технология производства дисков на 7200 rps достаточно дорога и менее надежна. Несмотря на хорошие характеристики по каталогам диски на 7200 rps значительно дороже. Их реальная вероятность отказа в несколько раз выше, чем 5400 rps. Если первоочередная задача создания RAID-матрицы - скорость, то выбор этих дисков очевиден, если же требуется надежность и экономичность, то необходимы диски с 5400 rps.

Производительность дисковой матрицы зависит не только от производительности дисков, но и от их числа и правильной конфигурации. Контроллер диска в основном характеризуется интерфейсом (FAST SCSI-2, WIDE FAST SCSI-2 и др.) и размером кэша. Желательно чтобы объем кэша на диске был не менее 512 Кбайт. Этот, казалось бы, незначительный факт позволит увеличить производительность записи/чтения, особенно при частых и малых транзакциях - ведь в дисковой матрице этот кэш складывается и при 10 дисках, а в результате вы получите уже не менее 5 Мбайт. Кроме того, кэш значительно помогает работе с постоянно мультиплексируемой шиной SCSI. Выбор стандарта FAST SCSI-2 (8 бит данных) или WIDE FAST SCSI-2 (16 бит данных) обусловлен другими причинами. Стандартный FAST имеет пропускную способность до 10 Мбайт/с, и если принять среднюю скорость работы диска за 2Мбайт/с, то при наличии менее 5 устройств на шине, она не будет узким местом. При равном или большем количестве желательнее стандарт WIDE (20Мбайт/с). В ситуации, когда информация находится в кэше контроллеров дисков, WIDE-шина даст более быстрые результаты. При самостоятельной сборке RAID на шине WIDE можно столкнуться еще и с той проблемой, что кабели WIDE (68 pin) имеют другой шаг, и для изготовления собственного кабеля необходима точная обжимная аппаратура. Сделать его "в домашних условиях" не получится, а на российском рынке на данный момент представлены, в основном, стандартные кабели на 3 разъема. С покупкой или изготовлением по чертежу FAST (50pin) кабеля сейчас никаких проблем нет.

Важной задачей является выбор емкости жестких дисков. Например, при организации RAID5 с полезным объемом 8 Гбайт можно поставить 3 диска по 4 Гбайт, 5 дисков по 2 и 9 дисков по 1 Гбайт. В этом случае платить приходится за 12, 10 или 9Гбайт объема, соответственно. Большее количество дисков теоретически даст большую скорость работы матрицы. Ограничения здесь чисто конструктивные: количество посадочных мест в корпусе, вентиляция и мощность блока питания. При расчете необходимой мощности источника питания следует помнить, что диски потребляют максимум энергии при раскрутке. B RAID-контроллерах есть возможность устанавливать план раскрутки шпинделей дисков с целью распределения во времени максимальной нагрузки.

Немаловажную роль в дисковых системах играют и корпуса. Для непрерывной устойчивой работы дисков необходим корпус с хорошей вентиляцией и мощным блоком питания. Посадочные места под диски должны быть расположены таким образом, чтобы между ними было достаточно расстояния для прохода воздуха. Вентиляция должна быть проточной, а не замкнутой. Желательно если имеется возможность установить дополнительную вентиляционную панель. Сейчас на российском рынке появилось много недорогих корпусов для RAID и практически все они снабжены конструктивом горячей замены (Hot Swap). Приобретая такие корпуса для своей системы, важно обратить внимание - действительно ли эти модули позволяют корректно и безопасно разрывать и восстанавливать SCSI соединения при работающей машине. Всегда имеется возможность отказаться от Hot Swap модулей в пользу дополнительного диска (дисков), которые будут находиться в режиме горячего резерва. Если вам требуется действительно долгоработающий сервер, то настоятельно рекомендуется подумать о резервных дисках и не подвергать себя соблазну использовать их для увеличения объема матрицы. Практически наверняка через год или полтора вы уже не найдете эту модель диска на мировом рынке.

Какое количество SCSI каналов потребуется?

Современные модели RAID-контроллеров имеют обычно до 3 SCSI-каналов. Так как эти изделия достаточно сложны и дороги, следует правильно выбрать модель. Если задача пользователя создать максимально дешевую дисковую систему, то выбирается минимум каналов исходя из количества дисков, причем на один канал можно ставить не более 7 устройств. Если же задача состоит в получении максимальной надежности и быстродействия, то лучший вариант - это 3-х канальный контроллер. Если же необходим компромисс, то возможны варианты. Многоканальный RAID позволит увеличить быстродействие дисковой системы по той причине, что каналы работают независимо друг от друга. Обращение к дискам на разных каналах происходит параллельно, а обращение по одному SCSI-каналу - в мультиплексорном режиме. В случае работы RAID с кэшем контроллеров дисков скорость передачи информации ограничена только пропускной способностью SCSI-шины, и на многоканальном варианте RAID-контроллера этот показатель будет выше. Для создания матрицы дисков безразлично расположение устройств на SCSI шинах, главное, чтобы их количество было не меньше минимального для выбранного уровня RAID (рис. 1).

(1x1)

Рис. 1. Способы организации дисковых матриц

В идеале самая быстрая дисковая подсистема должна иметь 3-х канальный RAID-контроллер и один или два диска на каждый канал. Удобство многоканального RAID заключается и в том, что можно создать на каждом канале свою матрицу (Pack), определить каждую из них как системный диск и настроить работу пользователей таким образом, чтобы независимые группы общались с разными матрицами (рис. 2). При такой организации трафик одного системного диска практически не будет влиять на работу другого.

(1x1)

Рис. 2. Схема конфигурации матриц для различных групп пользователей

В масштабах локальной сети эффективность работы такого сервера может значительно увеличиться. Хотя RAID-контроллеры сами по себе надежны и почти не подвержены поломкам в процессе эксплуатации, при использование многоканального RAID существует дополнительная гарантия отказоустойчивости сервера, когда в случае выхода из строя одного из каналов, всегда есть возможность переставить диски на другие и продолжать работу. С технической точки зрения, установка одного или многоканального контроллера абсолютно одинакова. Многоканальный не требует дополнительных слотов расширения, дополнительного питания и т.д. Он использует те же утилиты для конфигурации и также полностью совместим со стандартной ПК платформой, а ограничения здесь только финансовые, например недорогая модель одноканального RAID-контроллера фирмы Mylex на сегодняшний день стоит около 1000 долл. Увеличение на один канал обойдется дополнительно где-то в 25%. В дополнение можно посоветовать будущим конструкторам RAID-систем не устанавливать на SCSI каналы RAID-контроллера медленные устройства типа CD или стримера. Хотя теоретических запретов на это нет, но практический опыт работы показывает, что эти устройства значительно замедляют работу матрицы, особенно если они подключены не на отдельный канал. Лучшее решение в этом случае - это поставить дополнительный недорогой SCSI-контроллер.

Выбор типа RAID-алгоритма

Для достижения максимальной производительности работы сервера необходимо правильно подойти к выбору RAID-алгоритма. Как известно, самый быстрый доступ к дисковой подсистеме обеспечивает RAID0. Этот алгоритм хорош для виртуальных дисков, используемых для промежуточного хранения информации в процессе работы программы или для организации файла подкачки. Возможно также использование этого алгоритма для хранения больших объемов информации, некритичных к возможной потере, копии которых всегда можно восстановить из архива. RAID0 не только самый быстрый, но и максимально использующий дисковое пространство алгоритм. RAID0 - лучшее решение для мощной графической станции, работающей с очень большими объемами мультимедиа-файлов в реальном времени, когда кэш уже не спасает. При такой организации нам удавалось достигать результатов записи/чтения файлов размером 200 и более Мбайт, когда использование кэша уже исключается, и получать производительность до 14 Мбайт/с. Пиковая скорость в этом случае при размерах файлов 15 Мбайт достигает 30 Мбайт/c (рис.3).

(1x1)

Рис. 3. Производительность чтения/записи RAID-системы в зависимости от длины файла

Алгоритмы RAID5 и RAID1 применяют для виртуальных дисков, главное требование к которым - надежность хранения данных. Это файлы данных, резервного копирования, инсталлированное и настроенное программное обеспечение, операционные системы, рабочие модули и данные серверов печати, почтовых серверов и т.д. Эти диски можно выделять для хранения особо важных архивов и для ценных файлов, которые могут потребоваться в любой момент. Эти уровни сокращают полезный объем дискового пространства, но позволяют быть уверенными в гарантированной сохранности данных. Важной особенностью является то, что возможно сделать некоторое количество виртуальных системных дисков с разным уровнем RAID на одной дисковой матрице. Организация этих дисков не зависит ни от количества SCSI-каналов, ни от числа, ни от расположения физических дисков. Перед конфигурацией виртуальных дисков нужно четко представлять, какой обьем для какого уровня RAID необходим. Нежелательно создавать диски с объемом, равным необходимому на сегодняшний момент. Всегда оставляйте как минимум запас в 25% на расширение. Это связано с тем, что переделка объема виртуальных дисков может повлечь для администратора много проблем: архивацию всех данных на стриммер, остановку сервера, переконфигурацию, восстановление данных и т.д. В худшем случае, это простое непредвидение ситуации может обойтись как минимум днем работы администратора. Если у пользователя имеется строгие, разграниченные по функциям группы пользователей, то для них полезно сделать разные виртуальные диски, пусть даже с одинаковым уровнем RAID. Это облегчит администрирование и, возможно, даст увеличение производительности. Хорошим решением является создание виртуальных системных дисков для различных групп пользователей на разных матрицах (pack). В этом случае к минимуму сводится количество конфликтующих транзакций, что может существенно повысить производительность сервера. В заключении следует также предостеречь администратора от создания большого количества мелких дисков - в этом случае он рискует попасть в ситуацию, когда не хватит места ни на одном из них для инсталляции программного обеспечения, хотя общий объем дискового пространства позволил бы сделать это.

Сергей Романчиков ([email protected]) - генеральный директор компании “Крон-студия ” (Москва).

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD - неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров - это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

RAID 0 часто используют для размещения временных файлов.

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 - это неверные действия при восстановлении (в качестве "целого" указан не тот диск).

Насчет производительности - по записи выигрыш 0, по чтению - возможно до 1.5 раз, т. к. чтение может производиться "параллельно" (поочередно с разных дисков) . Для баз данных ускорение мало, в то время как при параллельном обращении к разным (!) частям (файлам) диска ускорение будет абсолютно точно.

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

Эти RAID являются редкими, т. к. в них используются коды Хэмминга, либо разбиение байт на блоки + контрольные суммы и т. п., но общее резюме таково - эти RAID дают только надежность, при 0-вом увеличении производительности, и иногда даже ее ухудшении.

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID -

Жесткие диски в нашем компьютере играют очень важную роль. На них хранится вся информация. Не хочется терять все в одночасье из-за отказа харда. А они, как известно, тоже имеют свой лимит наработки на отказ. Наверняка, многие из вас слышали о неких RAID-массивах. Делают их для ускорения работы компьютера и для безопасности данных. Давайте поподробнее поговорим об этом.

Что такое RAID, и для чего он нужен

RAID - дисковый массив из нескольких жестких дисков. Практически RAID-массив представляет собой систему, насчитывающую от двух жестких дисков, подключенных к материнской плате, поддерживающей возможность создания массивов (или же к raid-контроллеру). Что такое RAID-контроллер? Устройство, управляющее вашим массивом и сопутствующими работе процессами. Обычно их используют на серверных машинах. Рядовым пользователям такая игрушка малополезна - недёшево и малоэффективно, учитывая объемы информации, обрабатываемые рядовым компьютером. При создании RAID-массива аппаратно начинка вашего компьютера не изменится. Программно вся работа с рейдом проводится в bios-е, то есть ничего трудоемкого.

SCSI RAID: отличие от классического массива

SCSI - это интерфейс, физический тип подключения устройства. Он отличается от привычных нам интерфейсов IDE или SATA, в первую очередь, другим алгоритмом работы, что обеспечивает более высокую скорость, и завышенной, относительно последних, ценой. Распространение получил на масштабных серверных машинах, среди рядовых компьютеров устанавливается редко.

Установка RAID-массива

  1. Находим материнскую плату с поддержкой рейд-массивов или SCSI RAID.
  2. Берем два абсолютно одинаковых диска, подключаем.
  3. Заходим в bios (зависит от модели мат. платы).
  4. Параметр SATA Configuration, выставляем RAID.
  5. В процессе загрузки компьютера нажимаем Ctrl + I.
  6. Настраиваем рейд.

Готово! Важно: при создании RAID-массивов вся информация с дисков удаляется!

Виды массивов

  • RAID 0 - дисковый массив для повышения производительности.
  • RAID 1 - "зеркальный" дисковый массив.
  • RAID 2 - массивы, которые используют код Хемминга.
  • RAID 3 и 4 - массивы дисков с чередованием и выделенным диском чётности.
  • RAID 5 - диски с чередованием и невыделенным диском чётности.
  • RAID 6 - диски с чередованием и 2-мя независимыми чётностями.
  • Существуют еще рейды 10, 50, 60. Но это слишком сложные конструкции.

Подробнее остановимся на двух самых популярных версия рейд-массивов. Это, соответственно, RAID 0 и RAID 1. Для чего нужен RAID 0? Все не так сложно. Принцип работы массива заключается в параллельной работе разных физических устройств, выдаваемых системе за одно. То есть, это напрямую повышает скорость работы системы, просто представьте: в вашем raid 0 массиве участвуют два диска. Вы записываете данные объемом 10 гигабайт. Если бы у вас не был создан массив, то пришлось бы записывать их на конкретный диск, второй же при этом обязательно простаивал. В случае с рейд 0 массивом ваши данные побайтово делятся на несколько потоков, и также записываются на носитель рандомно. То есть, один фильм может храниться на двух физических устройствах одновременно, причем на одном будет лишь 30% от его "веса". Минус RAID 0 в отсутствии отказоустойчивости. Более того, если из строя выходит один диск, то данные со второго вам тоже не удастся восстановить.

Теперь поговорим про RAID 1. В случае с этим массивом вам придется использовать несколько дополнительных дисков для "зеркального копирования". Если у вас участвует лишь два диска в массиве, то выглядит это так: вы работаете с диском номер 1, а компьютер дублирует все ваши действия для диска 2. В случае отказа устройства все ваши данные будут в целости и сохранности находиться на дублирующем диске. Безопасно, несомненно. Минусом рейд 1 можно назвать потерю производительности.

Для чего нужен RAID-массив, вы теперь знаете, осталось лишь определиться с тем, что вам больше подходит. Сохранность данных или прирост производительности? Личное дело каждого!

Дисковый массив с нотками ретро.

На плечах RAID-контроллеров лежит ответственная задача - управление дисковой подсистемой, то есть всей информацией, хранимой на сервере. Именно они отвечают за работу дисковых массивов, позволяя повысить производительность сервера или надёжность хранения данных. Поэтому давайте поговорим о RAID-контроллерах, установленных в серверы вендоров «большой тройки» , об их возможностях и особенностях.

Что такое RAID-контроллер?

Чаще всего задачи, выполняемые серверами, требуют высокой скорости чтения/записи данных и/или необходимость сохранить данные при выходе из строя самих накопителей. Поэтому установка в сервер единственного диска редко имеет смысл. Этот вариант можно рассматривать, если нагрузка будет совсем небольшой, а сохранность данных не волнует вовсе. Да и объёмы информации, которыми оперируют серверы, часто требуют куда больше пространства для хранения, чем может дать один диск. А чем больше накопителей, тем выше вероятность выхода из строя, особенно при высокой нагрузке.

Проблемы производительности и отказоустойчивости дисковой подсистемы решаются с помощью создания массивов: логических структур, в которые с помощью RAID-контроллера объединяется несколько накопителей - жёстких дисков и SSD. При этом массив выглядит для системы единым пространством для хранения данных.

Существует много видов массивов , отличающихся производительностью, надёжностью хранения данных и минимально необходимым количеством дисков. Выбор конкретного вида зависит от ваших задач и потребностей, а также от возможностей самого RAID-контроллера.

RAID-контроллеры делятся на:

  • Программные . Вся нагрузка по управлению массивом ложится на центральный процессор. Наименее производительное и отказоустойчивое решение.
  • Интегрированные . Встроены в материнскую плату. Отдельный чип выполняет часть задач по управлению, но всё же тоже задействует центральный процессор. Интегрированные контроллеры могут иметь собственную кэш-память. По сравнению с программными, поддерживают больше видов массивов, работают куда быстрее и надёжнее.
  • Аппаратные . Выполнены в виде плат расширения или отдельных устройств, размещаемых вне сервера (внешние, или мостовые контроллеры). Оснащены собственным процессором, выполняющим все необходимые вычисления, и, как правило, кэш-памятью. Модульные контроллеры могут иметь внешние и внутренние порты:
    • Внутренние - предназначены для подключения накопителей, установленных в сам сервер.
    • Внешние - используются для подключения внешних дисковых хранилищ.
Даже если ваш сервер оснащён интегрированным RAID-контроллером, то при необходимости можно будет установить и модульный, если имеющихся возможностей, скорости и надёжности вам будет недостаточно.

Если на борту RAID-контроллера есть кэш-память, то она может использоваться для промежуточного хранения записываемых или считываемых данных. Это позволяет эффективнее управлять операциями ввода/вывода.

Чтобы при сбое питания не потерять данные, находящиеся в кэше, используется два разных подхода:

  • контроллер оснащается собственной батарейкой (BBU - Battery Backup Unit), позволяющей хранить данные в памяти до 3 суток,
  • либо дополнительной флэш-памятью, питаемой от ёмкого конденсатора. При сбое питания в неё выгружает содержимое кэша. А поскольку флэш-память потребляет очень мало энергии, то и данные в ней сохраняются месяцами. Обратите внимание, что флэш-память используется только при сбое питания.
И как только сервер заработает, контроллер первым делом скидывает содержимое кэша на диск. При наличии батарейки можно активировать режим WriteBack: при записи на диск контроллер сообщит об успешном выполнении операции уже в тот момент, когда данные попадут в кэш, а затем в «фоновом» режиме скинет их на диски. Поэтому другие процессы проведут меньше времени в ожидании подтверждения.

Некоторые RAID-контроллеры позволяют увеличить объём кэш-памяти и установить батарейку, если они её не имеют. Чем больше размер кэша контроллера, тем выше производительность RAID-массивов.

RAID-контроллеры в серверах «большой тройки»

Чтобы не превращать статью в археологическое исследование, ограничимся только теми контроллерами, что используются в поколениях серверов начиная с 2009-2010:

HP : Gen7, Gen8, Gen9
Dell : Gen11, Gen12, Gen13
IBM : M3, M4, M5











Большинство RAID-контроллеров HP и Dell изначально поддерживают все основные виды массивов. У IBM таких моделей - по пальцам пересчитать, почти в каждом случае придётся устанавливать на контроллер 1-2 дополнительных модуля апгрейда, что не слишком удобно.

Другая интересная особенность RAID-контроллеров IBM - большинство из них применяются в серверах нескольких поколений. У HP и Dell другая склонность - с выпуском нового поколения серверов они обычно выпускают и новое поколение контроллеров.

Как выбрать подходящий контроллер?

Если вы решили апгрейдить сервер и озаботились выбором RAID-контроллера, то в первую очередь исходите из ваших потребностей.

Вам нужна хорошая производительность, но не волнует сохранность данных? Или хочется с небольшими усилиями повысить отказоустойчивость, поступившись скоростью? Понадобился простенький веб-сервер для нужд разработки? Достаточно выбрать недорогой контроллер и создать RAID 0 или 1. Можно даже без кэш-памяти.

При желании сэкономить на накопителях или выжать всю возможную ёмкость из имеющихся, рассмотрите вариант с RAID 5 или 50. Это вполне годное решение для создания архивов. Для таких задач достаточно взять контроллер с поддержкой нужного вида RAID и кэш-памятью среднего объёма.

При создании высокоскоростных и надёжных массивов под базы данных, или больших хранилищ под файловые серверы, нужны производительные контроллеры с большим объёмом кэш-памяти и высокой пропускной способностью. Это тот случай, когда экономия на одном устройстве может свести на нет все ваши усилия.

Метки: Добавить метки

Чтобы объединить несколько жестких дисков в RAID-массив, помимо наличия самих дисков потребуется еще и контроллер. RAID-контроллер — это своего рода прораб, управляющий бригадой HDD. Они делятся на три тина: программные, интегрированные и аппаратные. Для построения RAID-массивов высоких уровней с более чем 6-8 дисками лучше использовать аппаратные контроллеры, так как при высокой нагрузке они обеспечивают минимальную задержку в работе. Кроме того, громоздкие RAID-массивы, управляемые программно, создают серьезную нагрузку на процессор компьютера.

Несмотря на очевидные преимущества RAID-массивов, нужно помнить и о недостатках: высоком уровне шума (чем больше дисков, тем больше шум) и трудностях в случае переноса массива на другой компьютер. Даже при подключении того же самого контроллера на другом компьютере и дисков в том же порядке теми же кабелями нет гарантии, что на другом «железе» RAID заработает. Гарантированно он будет работать на запись и чтение только на том оборудовании, на котором был создан, а в случае малейшего изменения комплектующих могут возникнуть проблемы, требующие дополнительных настроек.

Программные RAID контроллеры

Под программными RAID-контроллерами, как правило, подразумеваются решения для организации RAID-массивов на уровне драйверов операционной системы. Mac OS X, многие Linux-дистрибутивы, а также некоторые профессиональные редакции Windows имеют встроенные средства для создания простейших дисковых массивов стандарта RAID 0,1,0+1 и, реже, RAID 5. Таким образом, имея парочку HDD, можно легко организовать массив средствами операционной системы. Правда, в этом случае ожидать высокой производительности не стоит: такой способ организации RAID полностью зависит от «железа- вашего компьютера, поскольку для координации работы дисков за действу ются ресурсы центрального процессора и памяти, что может привести к снижению производительности системы в целом. Кроме того, организовывать RAID-массивы для хранения важных данных на уровне операционных систем не рекомендуется — такие массивы крайне неустойчивы к сбоям и ошибкам, поэтому риск потерян, информацию при сбое операционной системы очень велик.

Интегрированные RAID контроллеры

Если раньше RAID-массивы интересовали лишь профессионалов, то сегодня интегрированные RAID-контроллеры с поддержкой базовых уровней (достаточных для удовлетворения нужд домашнего пользователя) можно встретить не только на серверных материнских платах, но и на обычных моделях, предназначенных для сугубо домашних ПК. Как правило, это все же «полуаппаратные» решения, то есть установлен шли па плате чип координирует работу, но для вычислений все равно обращается к ЦПУ, поскольку не имеет на борту своего собственного процессора. Тем не менее в отличие от полностью программных контроллеров такие решения работают гораздо стабильнее (RAID-массив «определяется* еще до загрузки ОС), так как аппаратная ‘Подмена» происходит па уровне прошивки материнской платы. С RAID-массивами в таких системах можно работать не только в ОС, но и в оболочках загрузочных дисков и дисковых менеджеров. Интегрированные контроллеры на современных материнских платах, как правило, поддерживают базовые уровни RAID 0,1.5 и 10 (обычно из расчета использования в системе не более 6-8 дисков) и обеспечивают очень высокую скорость работы в массивах из традиционных жестких дисков. Таким образом, для организации домашнего RAID-массива из небольшого количества жестких дисков возможностей интегрированного в материнскую плату контроллера зачастую более чем достаточно.

Аппаратные RAID контроллеры

Для создания высокопроизводительных RAID-массивов с большим количеством жестких дисков существуют контроллеры, выполненные в виде отдельных плат с интерфейсом PCI Express. Их стоимость варьируется в большом диапазоне, и топовые решения могут стоить в десятки раз больше, чем все «железо» современного десктопа вместе взятое. Дело в том. что такие платы, по сути, являются ^микрокомпьютерами» в компьютере, то есть имеют свой собственный вычислительный процессор и даже память для координации массивов из большего количества жестких дисков и делают все это с минимальными задержками и без лишних обращений к центральному процессору. Ввиду высокой стоимости использовать их в домашних системах вряд ли стоит, тем более что в простейших схемах RAID 0 или RAID 1 с двумя жесткими дисками прироста производительности по сравнению с хорошим интегрированным контроллером скорее всего не будет.

Аппаратные контроллеры могут дать больший прирост производительности по сравнению с интегрированными решениями при создании массивов из SSD-накопителей или при создании RAID-массивов высоких уровней из более чем шести традиционных дисков. Кроме того, дорогостоящие аппаратные RAID-контроллеры часто совместимы с профессиональными скоростными жесткими дисками с интерфейсом SAS (он обычно используется в серверах) и могут иметь дополнительные средства для повышения отказоустойчивости: собственную кэш-память на плате, возможность работы от аккумулятора для сохранения содержимого кэш-памяти в случае сбоя электропитания и средства аппаратной коррекции ошибок налету.

Разумеется, аппаратные контроллеры, в отличие от программных и интегрированных, поддерживают гораздо больше схем RAID, некоторые даже предоставляют возможность использовать нестандартные уровни, а также позволяют строить сложные гибридные массивы из разных уровней RAID с одновременным задействованием жестких и твердотельных дисков.



Рассказать друзьям